字符串简介
字符串:一个或多个字符的序列。
- char数组的最后一个位置显示字符\0,这个字符就是空字符。C用它来标记字符的结束。
- scanf()遇到空白字符空格、制表符或者换行符处停止读取。
strlen()函数以字符为单位给出字符串的长度。(在string.h头文件中)
常量和C预处理器
编译时代入法:#define NAME value 这样定义的常量被称为明显常量。
不常用的命名规则:在名字前面加上前缀c_或者k_来表示常量。
const修饰符:把变量声明转换成常量声明。
研究和利用printf()和scanf()
printf()和scanf():输入/输出函数,也称I/O函数。
*修饰符: printf()中:如%*d 表示参数列表中包含一个*值和一个d值。*表示字段宽度。
scanf()中:*在%和d之间,使函数跳过相应的输入项目。
printf()修饰符
digit(s) 字段宽度的最小值。 如"%4d"
.digit(s) 精度 。 如"%5.2f"
h 和整数转换说明符一起使用,表示一个short或unsigned short 类型数值。如 "%hu"
hh 和整数转换说明符一起使用,表示一个char或unsigned char 类型数值。如 "%hhu"
j 和整数转换说明符一起使用,表示一个intmax_t或uintmax_t 值。如 "%jd"
l 和整数转换说明符一起使用,表示一个long或unsigned long 类型数值。如 "%8lu"
ll 和整数转换说明符一起使用,表示一个long long或unsigned long long类型数值。如 "%8llu"
L 和浮点转换说明符一起使用,表示一个long double 值。如 "%Lf"
t 和整数转换说明符一起使用,表示一个ptrdiff_t值(与两指针之间的差相对应的类型)。如 "%td"
z 和整数转换说明符一起使用,表示一个size_t值(sizeof返回的类型)。如 "%zd"
标志 五种标志(+、-、空格、#和0)
+ 有符号的值若为正,则显示带加号的符号;若为负,则显示带减号的符号
- 项目是左对齐的,会把项目打印在字段的左侧开始处。
空格 有符号的值若为正,则显示时带前导空格(但是不显示符号);若为负,则显示带减号的符号
# 使用转换说明的可选形式
0 对于所有的数字格式,用前导零而不是用前导空格填充字段宽度。
scanf()修饰符
%c 把输入解释成一个字符
%d 把输入解释成一个有符号的十进制整数
%e%f%g%a 把输入解释成一个浮点数
%E%F%G%A 把输入解释成一个浮点数
%i 把输入解释成一个有符号的十进制整数
%o 把输入解释成一个有符号的八进制整数
%p 把输入解释成一个指针
%s 把输入解释成一个字符串
%u 把输入解释成一个无符号的十进制整数
%x%X 把输入解释成一个有符号十六进制整数