C语言|第四章学习记录
C语言|第四章学习记录
Zehua- C语言中的字符串:字符串是以空字符(\0)结束的字符数组,使用%s转换说明来输入和输出。字符串的长度可以用strlen()函数获取,数组的容量必须比字符串的字符数多1。
- C语言中的数组:数组是同类型数据元素的有序序列,使用方括号来声明和访问。例如,
char name[40]
表示一个包含40个字符元素的数组,name是数组名,char是元素类型。 - C语言中的预处理器:预处理器可以用来定义符号常量和宏。符号常量用#define指令定义,一般用大写字母表示,例如
#define TAXRATE 0.015
。宏可以用来定义字符和字符串常量,使用单引号和双引号分别表示,例如#define BEEP '\a'
和#define MSG "Hello"
。 - C语言中的const关键字:const关键字可以用来限定一个变量为只读,表示其值不可更改。例如,
const int MONTHS = 12;
表示一个只读整型变量MONTHS,其值为12。 - C语言中的scanf()和printf()函数:scanf()和printf()函数可以用来输入和输出基本变量类型的值,使用%和转换字符来指定格式。
在scanf()中,变量名前要加上&符号,表示取地址;在printf()中,不需要加&符号。对于double类型,要使用l修饰符,例如%lf。
scanf()和printf()函数都可以使用*修饰符来指定字段宽度,例如printf("%*d", width, number);
表示按照width指定的宽度输出number。在scanf()中,*修饰符还可以用来跳过相应的输出项,例如scanf("%*d %d", &n);
表示跳过第一个整数,只读取第二个整数赋给n。 - printf()函数和scanf()函数的返回值:printf()函数返回打印字符的个数。例如,如果你写了这样一条语句:
int n = printf("Hello, world!\n");
那么变量n的值就是13,因为”Hello, world!\n”这个字符串一共有13个字符,包括空格和换行符。printf()函数的返回值可以用来检查输出是否成功或者统计输出的字符数。如果输出发生错误,printf()函数会返回一个负数。
scanf()函数返回成功读取的项数。如果没有读取任何项,且需要读取一个数字而用户却输入一个非数值字符串,scanf()便返回0。当scanf()检测到“文件结尾”时,会返回EOF - C语言中的字符串长度和大小:string.h中的strlen()函数可以给出字符串的字符长度。sizeof运算符可以给出数组或变量占用的字节数。两者可能不相等,因为字符串长度不包括空字符,而sizeof运算符包括。在输出sizeof运算符的返回值时,要使用%zd转换说明。
- C语言中的符号常量命名:大写表示符号常量是C语言一贯的传统。这样,在程序中看到全大写的名称就立刻明白这是一个符号常量,而非变量。不常用的命名约定是在名称前带c_或k_前缀来表示常量(如c_level或k_line)。
- C语言中的浮点数输出:%1.2f表明结果被四舍五入为两位小数输出。如果想输出更多位小数,可以增加小数点后面的数字,如%1.4f表示四位小数。
- C语言中的printf()函数返回值:printf()函数返回一个整型值,表示输出的字符数(不包括空字符)。可以用一个变量接收这个返回值,并输出或使用。例如
rv = printf(...);
把printf()的返回值赋给rv。