C语言 人机交互(输入&输出)

C编程提供了一组内置函数来读取给定的输入,并根据需要将其输入到程序中。

getchar()和putchar()函数

int getchar(void) - 函数从屏幕读取下一个可用字符,并将其作为整数返回。
int putchar(int c) - 函数将传递的字符放在屏幕上,并返回相同的字符。

#include <stdio.h>
int main( ) {

   int c;

   printf( "Enter a value :");
   c=getchar( );

   printf( "\nYou entered: ");
   putchar( c );

   return 0;
}

编译并执行上述代码后,它等待您输入一些文本,当您输入文本并按回车键时,程序将继续并仅读取单个字符并将其显示如下-

$./a.out
Enter a value : this is test
You entered: t

gets()和puts()函数

char gets(char s) - 函数从 stdin 中读取一行到 s 指向的缓冲区中,直到终止换行符或EOF (文件末尾)。
int puts(const char * s) - 函数将字符串’s’和’a’尾随换行符写入 stdout 。

注意:尽管已不建议使用gets()函数,但要使用fgets。

#include <stdio.h>
int main( ) {

   char str[100];

   printf( "Enter a value :");
   gets( str );

   printf( "\nYou entered: ");
   puts( str );

   return 0;
}

编译并执行上述代码后,它等待您输入一些文本,当您输入文本并按回车时,程序将继续读取整行直到结束,并显示如下:

$./a.out
Enter a value : this is test
You entered: this is test

scanf()和printf()函数

  • int scanf(const char * format,...) - 函数从标准输入流stdin 中读取输入,并根据 format 扫描该输入。
  • int printf(const char * format,...) - 函数将输出写入标准输出流 stdout 并根据提供的格式生成输出。

format 可以是简单的常量字符串,但是您可以指定%s,%d,%c,%f等来分别打印或读取字符串,整数,字符或浮点数。

#include <stdio.h>
int main( ) {

   char str[100];
   int i;

   printf( "Enter a value :");
   scanf("%s %d", str, &i);

   printf( "\nYou entered: %s %d ", str, i);

   return 0;
}

编译并执行上述代码后,它等待您输入一些文本,当您输入文本并按回车键时,程序将继续并读取输入并将其显示如下-

$./a.out
Enter a value : seven 7
You entered: seven 7