1.在C语言中,有多个函数可以从键盘获得用户输入:
- scanf():和 printf() 类似,scanf() 可以输入多种类型的数据。格式:scanf("%d”,&a)注意变量前面加个&地址符。
- getchar()、getche()、getch():这三个函数用于输入单个字符。getche(),getch()没有缓冲区,输入立即读取,不用按回车键,getch()在输入密码时很有必要,他们都在头文件conio.h。
- gets():获取一行数据,并作为字符串处理。get能读取含空格的字符串,而scanf不能。
2.printf 比 puts ,putchar更加强大,不仅可以输出字符串,还可以输出整数、小数、单个字符等,并且输出格式也可以自己定义,我们一般就用前者较多。好处例如:
- 以十进制、八进制、十六进制形式输出;
- 要求输出的数字占 n 个字符的位置;
- 控制小数的位数。
3.%d
称为格式控制符,它指明了以何种形式输出数据。格式控制符均以%
开头,后跟其他字符。%d 表示以十进制形式输出一个整数。除了 %d,printf 支持更多的格式控制,例如:
- %c:输出一个字符。c 是 character 的简写。
- %s:输出一个字符串。s 是 string 的简写。
- %f:输出一个小数。f 是 float 的简写。
4.puts 输出完成后会自动换行,而 printf 不会,要自己添加换行符,这是 puts 和 printf 在输出字符串时的一个区别。
5.C语言允许我们这样做,如果不希望设置符号位,可以在数据类型前面加上 unsigned 关键字 ,这样能表示的数值范围更大(大一倍)。注意一个小细节,如果是unsigned int
类型,那么可以省略 int ,只写 unsigned。
6.C语言中常用的小数有两种类型,分别是 float 或 double;float 称为单精度浮点型,double 称为双精度浮点型。不像整数,小数没有那么多幺蛾子,小数的长度是固定的,float 始终占用4个字节,double 始终占用8个字节。
7. 小数的输出
小数也可以使用 printf 函数输出,包括十进制形式和指数形式,它们对应的格式控制符分别是:
- %f 以十进制形式输出 float 类型;
- %lf 以十进制形式输出 double 类型;
- %e 以指数形式输出 float 类型,输出结果中的 e 小写;
- %E 以指数形式输出 float 类型,输出结果中的 E 大写;
- %le 以指数形式输出 double 类型,输出结果中的 e 小写;
- %lE 以指数形式输出 double 类型,输出结果中的 E 大写。
说明:
1) %f 和 %lf 默认保留六位小数,不足六位以 0 补齐,超过六位按四舍五入截断。
2) 将整数赋值给 float 变量时会变成小数。
3) 以指数形式输出小数时,输出结果为科学计数法;也就是说,尾数部分的取值为:0 ≤ 尾数 < 10。
8.字符的输出
输出 char 类型的字符有两种方法,分别是:
- 使用专门的字符输出函数 putchar;
- 使用通用的格式化输出函数 printf,char 对应的格式控制符是
%c
。
9.转义字符
\n
和\t
是最常用的两个转义字符:
\n
用来换行,让文本从下一行的开头输出,前面的章节中已经多次使用;\t
用来占位,一般相当于四个空格,或者 tab 键的功能。