C语言第四章重要知识总结
第四章 键盘输入和屏幕输出
单个字符的输入/输出
4.1
● 字符\n代表一个字符
● ASCII码值小写英文字母比大写英文字母值大32
● 函数getchar()没有参数,函数的返回值就是从终端键盘读入的字符
函数printf()的格式转换说明
- %d有符号,%u %o %x %X无符号
- %d %u以十进制格式输出,%o以八进制格式输出,%x %X以十六进制格式输出
- %o %x %X不输出前导符
- 单精度的有效位数一般为7位,双精度的有效位数一般为16位
- %f适合输出像3.14这样小数位少的,使实数输出的宽度较小
-
%e适合于输出像1.0e+10这样小数位较多的实数,可以使实数输出的宽度较小
● \n在双引号内语句输出一个字符串,在单引号内语句输出一个字符
● 域宽:存放输出数据的宽度
● 显示精度越高,测量误差越小,测量越准确
● 若域宽小于被打印数据的宽度,数据通常会在域内右对齐。若大于,域宽自动增长
● 小数点也占一个字符,如P50例4.3
4.3
scanf格式转换说明
● 空白字符也作为有效字符输入(包括回车、空格、制表符)
● 输入字符串,遇到空白字符时,系统认为读入结束(但在开始读之前遇到的空白字符会被系统跳过)
● 如果函数scanf()的格式控制字符串中存在除格式说明符以外的其他字符,那么这些字符必须在输入数据时由用户从键盘原样输入
● P52例4.4(5)中函数printf()格式控制字符串中的字符’\”’是转义字符,代表双引号字符
4.4
● scanf()函数的%c格式符存在问题的解决方法:1.用函数getchar()将数据输入时存入缓冲区中的回车符读入,以避免被后面的字符变量作为有效字符读入 2.在%c前面加一个空格,忽略前面数据输入时存入缓冲区中的回车符,避免被后面的字符型变量作为有效字符读入