c语言如何多组输入 c语言输出格式符

I/O的定义I/O是计算机系统一个重要的组成部分 。计算机系统接受Input(输入数据) 。经过cpu运算处理之后 。Output(输出数据) 。
所以 。I/O是一个很重要的概念 。现在刚刚开始学习C语言编程 。由浅入深 。上面刚刚讲解到终端的一个I/O操作 。编写一个程序 。可以从终端接收用户输入数据 。然后 。再输出到终端 。
scanf函数C语言提供了scanf函数 。用于给程序输入数据 。用户可以通过键盘 。给指定的变量输入数据 。printf函数是给终端输出数据 。scanf函数是从终端接收(获取)用户的输入数据 。
scanf函数的格式如下:
int scanf (const char* format_str, addr list);
函数分析:
(1) 参数 format_str 是控制格式输入字符串;
(2) 参数 addr list 是变量地址列表 。是需要获取用户输入数据的变量地址列表;
(3) 函数的返回值是int类型 。如果调用成功 。则返回addr list指定的参数个数 。如果调用失败 。返回-1值 。如下是程序测试例子:

c语言如何多组输入 c语言输出格式符

文章插图

c语言如何多组输入 c语言输出格式符

文章插图
程序运行结果如下:
c语言如何多组输入 c语言输出格式符

文章插图

c语言如何多组输入 c语言输出格式符

文章插图
可以看到 。对应输入格式:
scanf(“%d,%d,%d”, &a, &b, &c);
在%d与%d之间 。是使用逗号“,”分隔开 。所以 。在输入数据的时候 。使用逗号“,”分隔 。同理 。对于:
scanf(“%d;%d;%d”, &a, &b, &c);
在输入数据的时候 。使用分号“;”分隔开 。
3.1 float和double输入的区别在printf函数中 。输出float和double类型的数据 。使用%f格式输出 。但是 。在scanf函数中 。读取输入float和double类型的数据时 。需要注意:
(1) float类型数据 。使用 %f 格式输入;
【c语言如何多组输入 c语言输出格式符】(2) double类型数据 。使用 %lf格式输入;在%和f之间添加字母“l”;
程序测试例子如下:
c语言如何多组输入 c语言输出格式符

文章插图

c语言如何多组输入 c语言输出格式符

文章插图
程序运行结果如下:
c语言如何多组输入 c语言输出格式符

文章插图

c语言如何多组输入 c语言输出格式符

文章插图
可以看到 。在编译的时候 。就已经提示“warning 警告”:第12行代码 。即:
scanf(“%f”, &b);
第二个参数b是double类型 。但是 。格式控制输入字符串使用‘%f’表示float类型 。所以 。提示警告 。输入数据的时候 。float类型 。使用%f格式输入 。double类型 。应该使用%lf格式输入 。
那么 。我们在输入数据的时候 。也可以看到 。在第二次输入时 。输入1.2 。输出0.000000 。运行出错了 。所以 。给double类型变量输入数据的时候 。必须使用%lf格式 。输出的时候 。可以使用%f格式 。
putchar函数和getchar函数C语言提供putchar函数 。用于给终端输出一个字符;getchar函数 。可以从终端接收用户输入的一个字符 。函数的定义如下:
void putchar(char c);
函数说明:把字符c输出到终端屏幕中 。
int getchar(void);
函数说明:从终端接收用户的输入 。获取一个字符 。通过函数的返回值返回 。
程序测试例子如下:
c语言如何多组输入 c语言输出格式符

文章插图

c语言如何多组输入 c语言输出格式符

文章插图
程序运行结果如下:
c语言如何多组输入 c语言输出格式符

文章插图

c语言如何多组输入 c语言输出格式符

文章插图
可以看到 。通过putchar函数 。可以输出一个字符常量和字符变量 。
当我们想让程序从终端接收用户输入一个字符时 。可以使用scanf函数;也可以使用getchar函数 。程序测试例子如下:
c语言如何多组输入 c语言输出格式符

文章插图

c语言如何多组输入 c语言输出格式符

文章插图
程序运行结果如下:
c语言如何多组输入 c语言输出格式符

文章插图

c语言如何多组输入 c语言输出格式符

文章插图

推荐阅读