#include
用数组name储存字符串,name数组有40个字节,每个字节储存一个字符值。
在scanf()函数中,输入字符串name没有&前缀。
C预处理器把字符常量DENSITY定义为62.4。
strlen()获取字符串长度。
1. 字符串
1.1. char类型数组
双引号标记字符串,单引号标记单个字符。
字符串储存在char类型的数组中,最后用空字符0标记字符串的结束,为非打印字符。 所以数组容量至少要比字符数多1。空格和标点符号也算一个字符。
数组是同类型数据元素的有序序列。
char name[40];
scanf()函数只读取第一个单词,遇到空格就停止。
1.2. strlen()函数
sizeof运算符,以字节为单位给出对象大小。
size = sizeof name;
strlen()给出字符串中的字符长度。但建议平时sizeof加上括号,sizeof(name)。
letters = strlen(name);
所以,sizeof为40,而strlen为9(strlen()不将0空字符计入字符长度)。
strlen()包含在string.h头文件中。
2. 常量和C预处理器
#define DENSITY 62.4
编译时替换
DENSITY被称为明示常量
用大写来表示符号常量
还可以定义字符或字符串常量
#define BEEP ‘T’
#1.2f:浮点数输出两位小数
3. printf()
3.1. 转换说明:
3.2. 转换说明修饰符:
字段宽度是燃待打印数字所需的位数和小数点后打印6位数字。
#include
#include
3.3. Printf()的返回值
#include
rv = printf();把printf()的返回值赋予rv,printf()的返回值为打印的字符数(包括空格和换行符)。
4. scanf()
4.1. scanf()的使用
int
scanf()读取基本变量类型的值,在其前加&。
scanf()把字符串读入字符数组时,不要&。
scanf
用户需输入:88,121
scanf(“%c”,&ch);从输入中的第1个字符开始读取。
scanf(“ %c”,&ch);从第1个非空白字符开始读取。
4.2. *修饰符
4.2.1. *在printf()
#include
%*.*f:第1个*是字段宽度,第2个*是小数点后面3位数。
4.2.2. *在scanf()
#include
%*d使scanf()跳过相应的输入项。