第1章 C语言概述 1
1.1 程序设计语言概述 1
1.1.1 程序设计语言的发展 1
1.1.2 C语言简史及特点 2
1.2 简单的C程序介绍 3
1.2.1 源程序的书写格式 3
1.2.2 C程序结构 4
1.2.3 C语言中的标识符 5
1.3 C程序的编辑、编译、连接和运行 6
1.3.1 C程序的运行步骤 6
1.3.2 Dev-C++多国语言版开发环境简介 6
习题 9
第2章 数据类型、运算符与表达式 11
2.1 C语言的数据类型 11
2.2 常量 12
2.3 变量 15
2.4 变量的初始值 15
2.5 数值型数据间的运算 16
2.6 运算符、表达式及常用数学函数 19
2.6.1 算术运算符及算数表达式 20
2.6.2 常用数学函数 21
2.6.3 赋值运算符及其表达式 22
2.6.4 其他运算符 23
习题 24
第3章 顺序结构设计 27
3.1 结构化程序概述 27
3.2 C语言语句 27
3.3 字符的输入与输出 28
3.3.1 字符输出 28
3.3.2 字符输入 29
3.4 格式数据的输入与输出 29
3.4.1 格式输出 29
3.4.2 格式输入 31
3.5 程序举例 33
习题 35
第4章 选择结构程序设计 39
4.1 关系运算符及其表达式 39
4.2 逻辑运算符及其表达式 40
4.3 if语句 41
4.4 switch语句 46
4.5 综合应用举例 48
习题 49
第5章 循环结构程序设计 53
5.1 while语句 53
5.2 do-while语句 57
5.3 for语句 58
5.4 break和continue语句 60
5.5 多重循环 61
5.6 综合应用举例 63
习题 66
第6章 数组 71
6.1 数组概述 71
6.2 一维数组 72
6.2.1 一维数组的定义 72
6.2.2 一维数组的引用 72
6.2.3 一维数组的初始化 73
6.2.4 一维数组的程序举例 73
6.3 二维数组 75
6.3.1 二维数组的定义 75
6.3.2 二维数组的引用 75
6.3.3 二维数组的初始化 76
6.3.4 二维数组的程序举例 77
6.4 字符数组和字符串 78
6.4.1 字符数组与字符串的关系 78
6.4.2 字符数组的输入与输出 79
6.4.3 字符串处理函数 80
6.4.4 字符数组的程序举例 82
6.4.5 字符串数组 83
6.5 综合应用举例 84
习题 88
第7章 函数 92
7.1 函数定义 92
7.2 函数参数和函数返回值 93
7.2.1 形式参数和实际参数 93
7.2.2 函数返回值 94
7.3 函数调用 95
7.3.1 函数调用的一般形式 95
7.3.2 函数调用的方式 95
7.3.3 对被调函数的声明 96
7.3.4 函数的嵌套调用 97
7.4 递归函数 98
7.5 数组作函数参数 100
7.5.1 数组元素作函数的实参 100
7.5.2 数组名作函数参数 101
7.6 变量的存储属性 103
7.6.1 动态变量 103
7.6.2 静态变量 104
7.6.3 外部变量 105
7.6.4 内部函数和外部函数 107
7.7 预处理 107
7.7.1 宏定义 107
7.7.2 文件包含 109
7.7.3 条件编译 110
习题 111
第8章 指针 118
8.1 指针的概念、定义和引用 118
8.1.1 指针的概念 118
8.1.2 指针变量的定义 119
8.1.3 指针变量的引用 119
8.2 指针与函数 121
8.2.1 指针变量作函数参数 121
8.2.2 返回值为指针的函数 121
8.2.3 通过指针调用函数 122
8.3 指针与数组 123
8.3.1 指针与数组的关系 123
8.3.2 数组名作函数参数的指针解释 126
8.3.3 指针数组 127
8.3.4 多级指针 128
8.4 指针与字符串 129
8.4.1 字符串的表示形式 129
8.4.2 字符串指针作函数参数 130
8.4.3 返回字符串的函数 132
8.4.4 字符指针数组 132
8.4.5 字符指针与字符数组的讨论 133
8.5 指针数据类型小结 135
8.5.1 各种指针定义小结 135
8.5.2 指针运算小结 135
8.5.3 void类型指针 136
习题 137
第9章 结构体与联合体 141
9.1 结构体定义 141
9.1.1 结构体定义格式 141
9.1.2 结构体变量 143
9.2 结构体数组 145
9.3 结构体与指针 146
9.3.1 结构体指针 146
9.3.2 结构体数组指针 147
9.4 结构体与函数 147
9.4.1 参数为结构体类型 147
9.4.2 函数的返回值为结构体类型 149
9.5 动态内存管理 151
9.5.1 常用动态内存管理函数 151
9.5.2 链表 153
9.6 联合体 156
9.7 枚举类型 157
9.8 用typedef定义新类型名 159
习题 160
第10章 文件 165
10.1 文件概述 165
10.2 内部文件和外部文件 166
10.3 文件的打开与关闭 166
10.3.1 文件的打开 166
10.3.2 文件的关闭 168
10.4 文件的读/写 168
10.4.1 读/写单个字符 168
10.4.2 读/写字符串 170
10.4.3 文件的格式化读/写 172
10.4.4 块读/写 173
10.5 文件的定位 175
10.5.1 回绕 175
10.5.2 随机定位 176
习题 177
附录A 常用字符与ASCⅡ代码对照表 180
附录B 常用C语言库函数 181
参考文献 184