================第一章=================
C的优点:设计特性、高效性、可移植性、强大的功能和灵活性、面向编程人员
缺点:表达的自由是程序的风险增加,自由的代价是永远的警惕
使用C的七个步骤:定义程序目标、设计程序、编写代码、编译、运行程序、测试和调试程序、维护和修改程序、注释
C语言的编程机制:编译器将源代码转换成为目标执行文件(是一个包含机器代码的不完成程序),链接器将预编译库代码、系统的标准启动代码和目标代码结合在一起,转换成为可执行文件,此文件包含可以运行的机器代码。
C语言的标准:ANSI/ISO C标准 → C90标准 → C99标准
================第二章=================
C程序的解释
#include <stdio.h>
这是一个预处理器指令
stdio.h 代表输入输出头文件 standard input/output header
编译器的另一个常见的额毛病是发现的错误位置比真正的错误要滞后一行
调试代码要尽量忠于实际代码去执行
================第三章=================
C语言的数据类型图
整数类型
包括 (unsigned)long long int 、(unsigned) long int、 (unsigned) int、(unsigned) short int、(unsigned) char
系统处理int类型的数据最快,其他依照存储空间的大小处理速度依次减慢
用单引号引起的内容表示 字符,用双引号引起的内容表示 字符串
同一个系统中:long long int (8字节) > long int (4字节) > int (2 ~ 4字节 ) > short (2字节) > char (1字节)
可以用LL、L、LU、LLU 作为数字的后缀分别标识不同的数据类型`
整数数据类型的溢出是一个值得研究的问题,包括以下几个方面:
1、不同数据类型的相互转换发生的溢出
2、有符号和无符号数据类型转换发生的溢出
浮点数类型
float (4字节,有效数字至少6位) > double (8字节,有效数字至少10位) > long double (至少8字节,有效数字至少10位)
浮点数数据类型的上溢和下溢是值得研究的问题,包括以下几个方面:
1、数据上溢
2、数据下溢
复数和虚数类型 complex.h
_Complex _Imaginary
可移植类型:inttypes.h
intmax_t、uintmax_t、
_Bool类型
1代表 true, 2代表 false
转义序列
================第四章=================
字符串会被存储在字符数组中,每个单元是一个字符,最终以 \0 (空字符)结束。
scanf()开始读取输入以后,会在遇到的第一个空白字符空格(blank)、制表符(tab)或者换行符(newline)处停止读取。sizeof 和 strlen()的区别
sizeof以字节为单位给出数据的大小,strlen()函数以字符为单位给出字符串的长度,具体例子如下: