第1章 C语言概述与简单的C程序 1
1.1 C语言简介 1
1.2 C语言符号集与词汇 3
1.3简单的C程序 6
1.4 C语言的编程风格 7
1.5 C语言上机环境与上机调试 11
1.6习题 17
第2章 数据类型与运算规则 18
2.1数据与数据类型 18
2.1.1什么是数据和数据类型 18
2.1.2 C语言中的数据类型 19
2.2 C语言的基本数据类型及其表示 20
2.2.1常量与变量 20
2.2.2整型数据及其表示 23
2.2.3实型数据及其表示 26
2.2.4字符型数据及其表示 29
2.2.5变量的初始化 31
2.3算术运算与赋值运算 32
2.3.1 C语言中的运算规则 32
2.3.2算术运算符与算术表达式 34
2.3.3自增、自减运算 35
2.3.4赋值运算符和赋值表达式 36
2.3.5组合赋值运算和组合赋值表达式 37
2.4关系运算与逻辑运算 38
2.4.1关系运算符与关系表达式 38
2.4.2逻辑运算符与逻辑表达式 39
2.4.3条件运算符与条件表达式 41
2.5其他运算 42
2.5.1逗号运算符 42
2.5.2“()”和“[]”运算符 42
2.5.3“*”和“&”运算符 42
2.5.4 (type)运算符 43
2.5.5 sizeof运算符 43
2.6混合运算及数据类型转换 43
2.6.1混合运算 44
2.6.2数据类型转换 44
2.7应用示例 45
小结 46
2.8习题 46
第3章 顺序程序设计 48
3.1 C语句概述 48
3.1.1声明语句 49
3.1.2表达式语句 49
3.1.3复合语句 49
3.1.4控制流程语句 50
3.1.5空语句 52
3.2赋值语句 52
3.3数据的输入和输出 53
3.3.1标准格式化输出函数——printf()函数 54
3.3.2标准格式化输入函数——scanf()函数 58
3.3.3字符输入/输出函数 60
3.4返回语句 61
3.5综合示例 63
3.6习题 64
第4章 分支结构的程序设计 66
4.1关系运算符和关系表达式 70
4.2逻辑运算符和逻辑表达式 71
4.3条件运算符和条件表达式 72
4.4 if语句 73
4.4.1 if语句的基本形式 74
4.4.2 if语句的if-else形式 74
4.4.3 if语句的if-else-if形式 74
4.4.4 if语句的嵌套 75
4.5多分支语句 77
4.6综合示例 79
4.7习题 81
第5章 循环结构程序设计 83
5.1 while循环 83
5.2 do-while循环 85
5.3 for循环 85
5.4循环嵌套 87
5.5改变循环执行的状态 89
5.5.1用break语句提前终止循环 89
5.5.2用continue语句提前结束本次循环 89
5.5.3 break语句和continue语句的区别 91
5.6综合示例 92
5.7习题 93
第6章 函数 94
6.1函数的分类 94
6.2函数的定义 96
6.3函数的调用 97
6.3.1函数调用约定 97
6.3.2函数原型声明 97
6.3.3函数调用的语法形式 99
6.3.4参数传递 101
6.3.5函数的返回值 103
6.4函数的嵌套与递归调用 106
6.4.1函数的嵌套调用 106
6.4.2函数的递归调用 107
6.5变量的作用域和存储类别 110
6.5.1变量的作用域 110
6.5.2变量的存储类别 112
6.6内部函数与外部函数 113
6.6.1内部函数 113
6.6.2外部函数 113
6.7 main()函数 113
小结 114
6.8习题 114
第7章 数组 116
7.1问题引入 116
7.2一维数组的定义和引用 118
7.2.1一维数组的定义 118
7.2.2一维数组的引用 119
7.2.3一维数组的初始化 120
7.2.4一维数组的应用举例 120
7.2.5能力提升 121
7.3二维数组的定义和引用 122
7.3.1二维数组的定义 122
7.3.2二维数组的引用 122
7.3.3二维数组的初始化 123
7.3.4二维数组的应用举例 124
7.3.5能力提升 125
7.4字符数组的定义和引用 125
7.4.1字符数组的定义 125
7.4.2字符数组的初始化与引用 126
7.4.3字符串和字符串结束标志 127
7.4.4字符数组的输入/输出 127
7.4.5字符数组的应用举例 128
7.4.6能力提升 129
7.5数组作为函数参数 129
7.5.1数组元素作为函数参数 129
7.5.2数组名作为函数参数 131
7.5.3数组作为函数参数的应用举例 132
7.5.4能力提升 133
7.6综合示例 134
7.7习题 136
第8章 指针 138
8.1问题引入 138
8.2地址和指针的基本概念 139
8.3变量的指针和指向变量的指针变量 140
8.3.1指针变量的定义 141
8.3.2指针变量的初始化 141
8.3.3指针变量的应用举例 143
8.4数组与指针 144
8.4.1指向数组元素的指针 144
8.4.2通过指针引用数据元素 145
8.4.3数组指针的应用举例 145
8.4.4能力提升 146
8.5函数与指针 146
8.5.1指针变量作为函数参数 146
8.5.2函数指针变量 148
8.5.3指针型函数 148
8.5.4函数指针的应用举例 149
8.5.5能力提升 150
8.6指针运算小结 150
8.7综合示例 151
8.8习题 153
第9章 结构体与共用体 155
9.1问题引入 155
9.2结构体类型的定义 157
9.3结构体类型变量的定义 158
9.4结构体变量的引用 159
9.5结构体变量的初始化 160
9.6共用体 161
9.7枚举类型 162
9.8用typedef定义类型 163
9.9综合示例 163
9.10习题 164
第10章 文件 166
10.1文件基础知识 167
10.1.1文件分类 167
10.1.2文件指针 167
10.2文件的打开和关闭 167
10.2.1文件打开 168
10.2.2文件关闭 169
10.3文件的读写 170
10.3.1字符读写 170
10.3.2字符串读写 171
10.3.3数据块读写 172
10.3.4格式化读写 174
10.3.5随机读写 174
10.4文件检测 175
10.5习题 176
附录1 ASCII码表完整版 177
附录2 C语言常用库函数 178
附录3 运算符及其结合性 186