数据的输入与输出
目录
- 字符数据的输入与输出
- 格式化输出和输入函数
1、字符数据的输入与输出
(1)putchar()函数
见名知义,putchar,put、char,意思就是将字符输出。其调用的一般形式为:
putchar(ch);
其中,ch可以是一个字符常量,或者字符变量。调用这个函数可以向显示器输出一个字符ch。
例如:
putchar(‘y’); 注意:程序中的符号都必须是英文模式。
(2)getchar()函数
这个函数和上面函数调用的形式有些不同:
ch=getchar();
类比上面的putchar()函数,显而易见,这个函数就是从键盘上接收一个字符,然后将该字符赋给字符变量ch。
注意:该函数没有参数,但是括号不可以省略(上面函数也是)。
例如:
#include <stdio.h>
int main(void){
char ch;
ch=getchar();
putchar(ch);
return 0;
}
2、格式化输出和输入函数
scanf()和printf()函数是c语言编程中用的最频繁的两个函数。
scanf()函数接收从键盘上输入的数据,printf()函数输出程序中的数据。
两者结合起来,就可以实现人机交互,编程语言的目的就是为了实现人机交互。
(1)printf()函数调用的一般形式为:
printf(格式字符串,输出项表);
功能:按照格式字符串中的格式依次输出“输出项表”中的各个数据。
说明:格式字符串用于说明输出项表中的各输出项的输出格式。输出项表要输出的项(变量、常量、表达式),输出项可以没有,也可以有多个。多个需要用逗号隔开。
格式字符串中有两类字符:
1)非格式字符,这类字符一律原样输出。
例如:
printf("a=%d,b=%f\n",a,b);
上面的“a=”、“,”、“b=”,都是非格式字符,按原样输出。
2)格式字符,用于指定格式输出。
一般形式为:
%[附加格式说明符]格式符
常用格式符:
格式符 | 功能 |
---|---|
c (只能用小写) | 输出单个字符 |
s(只能用小写) | 输出一串字符 |
d(只能用小写) | 输出十进制整数 |
f (只能用小写) | 输出实数(6位小数) |
e或者E | 以指数形式输出实数 |
x或X | 输出十六进制整数 |
o(只能用小写) | 输出八进制整数 |
常用附加格式符:
附加格式说明符 | 功能 |
---|---|
m | 数据输出长度为m,数据长度<m,左补空格,否则按实际输出 |
n | 对于实数,n是输出的小数位数;对于字符串,n表示输出前n个字符 |
-(减号) | 使数据左对齐输出,不写的时候,默认右对齐输出 |
注意:
1)如果输出字符串中包含%,需要连续用两个%,例如:
printf("a=%d%%",10);//输出a=10%
2)格式符和输出项个数应相同,而且按照对应的先后顺序输出。
(2)格式输入函数scanf()
与格式输入函数printf()对应的是格式输入函数scanf().
scanf()函数调用的一般形式为:
scanf(格式字符串,地址列表);
功能:按格式字符串中规定的格式,从键盘读取输入的数据,并依次赋给指定地址。
说明:“格式字符串”与printf()函数中的“格式字符串”大部分相同,但不能显示格式说明符之外的字符,即不能显示提示信息,格式说明符之外的字符要原样输入。
“地址列表”是要接受输入值的各种变量地址,变量地址由“&”后变量名组成,&是取址运算符,例如&a表示变量a的地址。
注意:
1)输入double类型数据时必须用%lf或者%le,但是在printf函数中输出double类型数据可以用%f或者%e。
2)格式字符串中不包含普通字符,输入数据时可以用空格、回车或者TAB键作为数据的分隔符。
3)用%c输入字符时,空格、TAB键和回车键等有效字符也作为有效字符被接受。
4)输入数据时,赋值规则是:遇到空格、TAB键、回车键、宽度结束(即宽度限制)、非法输入时认为输入结束。