第1章 C语言概述及C程序的实现 1
1.1 计算机及计算机编程语言 1
1.1.1 机器语言 1
1.1.2 汇编语言 2
1.1.3 高级语言 2
1.1.4 高级语言及软件的发展 3
1.2 C语言概述 3
1.2.1 C语言的特点 4
1.2.2 C语言标识符与关键字 4
1.2.3 C程序的结构 5
1.3 C程序举例 7
1.4 运行C程序的过程 8
1.5 C语言程序上机运行步骤 9
习题1 11
第2章 数据类型、运算符与表达式 12
2.1 C语言的数据类型 12
2.2 常量与变量 13
2.2.1 常量和符号常量 13
2.2.2 变量 14
2.3 整型数据 15
2.3.1 整型常量 15
2.3.2 整型变量 16
2.4 实型数据 16
2.4.1 实型常量 16
2.4.2 实型变量 16
2.5 字符型数据 17
2.5.1 字符型常量 17
2.5.2 字符型变量 18
2.5.3 字符串常量 19
2.6 基本输入/输出函数 19
2.6.1 格式输出函数printf() 20
2.6.2 格式输入函数scanf() 23
2.6.3 字符输出函数putchar() 26
2.6.4 字符输入函数getchar() 26
2.7 运算符和表达式 27
2.7.1 算术运算符和算术表达式 29
2.7.2 赋值运算符和赋值表达式 31
2.7.3 不同类型数据间的混合运算 33
2.7.4 关系运算符和关系表达式 35
2.7.5 逻辑运算符和逻辑表达式 36
2.7.6 条件运算符和条件表达式 37
2.7.7 逗号运算符和逗号表达式 37
2.7.8 求字节数运算符 38
2.7.9 位运算符和位运算 38
习题2 40
第3章 简单程序设计 42
3.1 程序设计初步 42
3.1.1 利用计算机求解实际问题的步骤 42
3.1.2 算法及表示方法 45
3.1.3 C语言的语句 48
3.2 顺序结构程序设计举例 49
习题3 52
第4章 选择结构程序设计 54
4.1 if语句 54
4.1.1 双分支结构 54
4.1.2 双分支结构的特例:单分支结构 56
4.1.3 if语句的嵌套结构 58
4.1.4 使用条件表达式实现简单的选择语句 61
4.2 switch语句 62
4.3 选择结构程序设计举例 64
习题4 66
第5章 循环结构程序设计 69
5.1 while循环 69
5.2 do-while循环 72
5.3 for循环 74
5.4 break语句与continue语句 77
5.4.1 break语句 77
5.4.2 continue语句 78
5.5 goto语句 79
5.6 循环的嵌套 80
5.7 循环结构程序设计举例 82
习题5 87
第6章 数组 89
6.1 一维数组 89
6.1.1 一维数组的定义 89
6.1.2 一维数组的引用 90
6.1.3 一维数组的初始化 91
6.1.4 一维数组程序举例 92
6.2 二维数组 96
6.2.1 二维数组的定义 97
6.2.2 二维数组的引用 97
6.2.3 二维数组的初始化 98
6.2.4 二维数组的程序举例 98
6.3 字符数组 102
6.3.1 字符数组的定义 102
6.3.2 字符数组的初始化 102
6.3.3 字符数组的引用 103
6.3.4 字符串的处理函数 104
习题6 108
第7章 函数与编译预处理 110
7.1 函数的概述 110
7.1.1 函数的分类 111
7.1.2 函数的定义 111
7.2 函数的调用 112
7.2.1 函数调用的一般形式 113
7.2.2 函数的调用方式 113
7.2.3 对被调函数的说明 113
7.2.4 函数的返回值 114
7.2.5 函数的参数传递方式 116
7.3 函数的嵌套调用和递归调用 119
7.3.1 函数的嵌套调用 119
7.3.2 函数的递归调用 120
7.4 变量的作用域和存储类别 123
7.4.1 变量的作用域 123
7.4.2 变量的存储类别 125
7.5 内部函数和外部函数 129
7.5.1 内部函数 129
7.5.2 外部函数 129
7.6 编译预处理 130
7.6.1 宏定义 130
7.6.2 不带参数宏定义 130
7.6.3 带参数宏定义 131
7.6.4 文件包含 134
7.6.5 条件编译 135
习题7 136
第8章 指针 139
8.1 变量的地址和指针 139
8.2 指向变量的指针变量 140
8.2.1 指针变量的定义 140
8.2.2 指针运算符 140
8.2.3 指针变量的赋值 141
8.2.4 指针变量的引用 141
8.2.5 指针变量作为函数参数 142
8.3 数组和指针 144
8.3.1 一维数组和指针 144
8.3.2 二维数组和指针 147
8.3.3 指针数组 150
8.4 字符串和指针 151
8.5 指向指针的指针 154
8.6 函数的指针和指向函数的指针变量 155
8.7 返回指针的函数 155
习题8 156
第9章 结构体与共用体 158
9.1 结构体类型与结构体类型变量 158
9.1.1 结构体类型的定义 158
9.1.2 结构体类型变量的定义和初始化 159
9.1.3 结构体变量的引用 161
9.2 结构体数组 164
9.3 指向结构体类型数据的指针 166
9.4 单向链表 169
9.4.1 单向链表的数据结构 169
9.4.2 动态分配和释放空间函数 170
9.4.3 单向链表的基本操作 170
9.5 共用体 182
9.6 枚举类型 185
9.7 用typedef定义类型 187
习题9 188
第10章 文件 189
10.1 C文件概述 189
10.1.1 文件系统概述 189
10.1.2 文件类型指针 190
10.2 文件的打开与关闭 190
10.2.1 文件的打开 191
10.2.2 文件的关闭 192
10.3 常用的文件读写函数 193
10.3.1 字符读写函数 193
10.3.2 字符串读写函数 195
10.3.3 格式化读写函数 196
10.3.4 数据块读写函数 199
10.4 文件的定位函数 200
10.5 出错检验 201
习题10 201
参考文献 204
附录 205
附录1 常用字符与ASCII码对照表 205
附录2 C常用库函数 206
附录3 习题参考答案 211