第4章 字符串和格式化输入/输出
4.1 一个例子
4.2 字符串简介
字符串是双引号括起的一串字符,如"zi fu chuang"
C语言没有专门存储字符串的变量类型,字符串存储在char类型数组中。
在数组末尾有一个空字符 \0 标记字符串结束。
tip: ‘x' 和"x“ 是不同的,单引号的是字符;双引号的是字符串,实际上是两个字符x和\0组成的。
strlen()函数 求字符串字符长度 它的声明包含在string.h中。
4.3 常量和C预处理器
定义常量
#define NAME value
例如:define PI 3.1415
const 限定符
const int MONTHS = 12;
4.4 printf()和scanf()
输出 和 输入函数, 比较重要的一个地方。
printf()的格式是
printf(格式字符串,待打印项1,待打印项2,...);
例子:printf("My age is %d, my weight is %g kg", 18,66.5);
Tip:printf()函数也有返回值,它返回打印的字符数,如果输出错误,则返回负数。
输出长字符串的3种方式
scanf()
格式和printf()类似,用来输入
例子:scanf("%d%d",&a,&b);
scanf()返回值是成功读取的项数,而读入失败时,返回0,对文件读写来说,读到文件末尾返回EOF
4.4.6 * 修饰符
如果想通过程序指定字段宽度,可以使用*代替字段宽度
unsigned width, precision;
int numberf = 256;double weight = 242.5;
scanf("%d", &width);printf("number = %*d\n",width,number); //!-指定宽度
scanf("%d%d",&width,&precision);
printf("weight = %*.*f\n",width,precision, weight);//!*指定宽度和精度