第三天 《明解C语言中级篇》1-5章
今天学习的内容为《明解C语言中级篇》1-5章节,第一本书《明解C语言入门篇》多为基础知识的讲解,这本书基本都是实战编程的演练,在此过程中讲解要注意的要点知识,以及一些要注意的编程规范。要注意的要点如下:
1、因为rand()函数的默认种子是常量1,所以在调用rand()函数生成随机数之前,要先调用srand(time(NULL))设定一个和时间相关的种子,才能保证生成的数字是随机的。
2、C语言规定0以外的值为真,0为假。
3、在函数外定义和在函数内加上static定义的整形数组为静态存储期数组,未初始化时会被默认初始化为0。
4、fflush(stdout)具有清空缓存区的作用。
5、printf函数在输出成功时返回输出的字符数,输出失败时则返回负值。
6、atoi、atol、atof函数的规格比较模棱两可,在成功时返回转换后的值,失败了则作未定义处理没有严格规定在无法转换时要返回什么值。所以在将字符串转化成数值失败时必须使用strtoul、strtol、strtod函数以区分是转换失败了,还是转换前为字符串“0”。
7、整数值与数字字符之间的转换,数字字符减去’0’可以得到对应的整数值,整数值加上’0’可以得到对应的数字字符。
8、字符类别判断函数:iscntrl–控制字符 isspace–空白字符 isprint–显示字符 isdigit–十进制字符
isxdigit–十六进制字符 isgraph–除空白之外的显示字符 isupper–大写英文字符
islower–小写英文字符 isalpha–英文字符 isalnum–英文或数字字符
ispunct–除空白字符、数字字符、英文字符以外的显示字符
以上函数只要判断成立就会返回除0以外的值,不成立就会返回0。
9、动态存储器期分配存储空间,分配的空间为堆
10、