数据的输入与输出
输出
字符输出函数putchar
-
头文件:stdio.h
-
函数原型:int putchar(int c)
-
返回值:输出的字符
-
功能:在标准输出上显示一个字符
-
#include <stdio.h> main() { int c; char a; c=65; a='B'; putchar(c); putchar('\n'); putchar(a); } 运算结果为:A B
格式化输出函数printf
-
头文件:stdio.h
-
函数原型:int printtf(const char *format,…) format指定输出格式,后面跟输出的变量,用“…”代表。
-
返回值:成功返回输出的字节数,失败返回-1
-
功能:格式化字符串输出
-
格式符 作用 i, d 十进制整数 x,X 十六进制无符号整数 o 八进制无符号整数 u 无符号十进制整数 c 单一字符 s 字符串 e,E 指数形式浮点小数 f 小数形式浮点小数 g e和f中较短一种 %% 百分号本身 -
格式符的修饰符
修饰符 功能 m 输出数据域宽,数据长度<m,左补空格;否则按实际输出 .n 对实数,指定小数点后位数(四舍五入) 对字符串,指定实际输出位数 - 输出数据在域内左对齐(缺省右对齐) + 指定在有符号数的正数前显示正号(+) 0 输出数值时指定左面不使用的空位置自动填0 # 在八进制和十六进制数前显示前导0,0x l 在d, o, x, u前,指定输出精度为long型 l 在e, f, g前,指定输出精度为double型 - 可以在参数format中加入转义字符:\b \n \t等等
输入
字符输入函数getchar
-
头文件:stdio.h
-
函数原型:int getchar(void)
-
返回值:成功返回读到的字符,失败或读到结束符返回-1
-
功能:在键盘上读一个字符
-
#include <stdio.h> int main() { int c; printf("Enter a character:"); c=getchar(); printf("%c--%d->hex%x\n", c, c, c); } 运行结果: Enter a character:A A--65->hex41
格式输入函数scanf
-
头文件:stdio.h
-
函数原型:int scanf (const char *format,…)
-
函数参数:format指输入格式,后面跟地址,用“…”代表。
-
格式符同printf
-
格式符的修饰符
修饰符 功能 h 用于d, o, x前,指定输入为short型整数 l 用于d, o, x前,指定输入为long型整数 用于e, f前,指定输入为double型实数 m 指定输入数据宽度,遇空格或不可转换字符结束 * 抑制符,指定输入项读入后不赋给变量 -
输入多个变量时,需要用到输入分隔符:空格,TAB,回车键
-
注意事项
-
用“%c”格式符时,空格和转义字符作为有效字符输入
-
输入数据时遇到以下情况认为输入结束:
- 1.空格,TAB,回车
- 宽度结束
- 非法输入:如需要输入一个数,用户输入一个字母
-
遇到非法输入时,返回值会小于实际输入的变量的个数
-
使用输入函数会留下垃圾
#include <stdio.h> int main() { int a; char ch; scanf("%d",&a); printf("%d\n",a); //在这里使用getchar();清除垃圾字符 scanf("%c",&ch); //scanf(" %c");和scanf("%*c");“吃掉”垃圾字符 printf("ch=%c %d\n",ch,ch); return 0; } 程序结果: 9 9 ch= 10
-