第1章C语言概述 1
1.1一个C语言程序 2
1.2程序和程序设计语言 2
1.3计算机求解问题的步骤 3
1.4 C语言简介 5
1.5程序的灵魂——算法 9
1.5.1算法的概念 9
1.5.2算法的特性 11
1.5.3算法的表示 11
本章小结 15
习题 15
上机实验 16
第2章 简单C语言程序 17
2.1在屏幕上显示信息 18
2.2数值计算 19
2.3程序解析 20
2.3.1简单数据类型 20
2.3.2算术表达式 30
2.3.3输入/输出函数 36
2.4计算银行存款利息 45
2.5其他运算符 46
本章小结 48
习题 48
上机实验 52
第3章 分支结构 55
3.1关系运算符与关系表达式 56
3.2逻辑运算符与逻辑表达式 57
3.3基本if语句 58
3.4嵌套的if语句和switch语句 62
3.5分支结构程序举例 64
本章小结 65
习题 66
上机实验 71
第4章 循环结构程序设计 73
4.1累加求和问题 74
4.1.1求自然数的和 74
4.1.2计算圆周率 75
4.2 while语句 76
4.2.1 while语句的一般形式 76
4.2.2统计输入的一批学生的平均成绩 77
4.3 do-while语句 78
4.3.1 do-while语句的一般形式 78
4.3.2最大公约数问题 79
4.4 for语句 80
4.4.1 for语句的一般形式 80
4.4.2 Fibonacci数列 83
4.5九九乘法表与搬砖问题 83
4.5.1九九乘法表 83
4.5.2搬砖问题 85
4.6 break语句与continue语句 86
4.6.1 break语句 86
4.6.2 continue语句 86
4.7循环结构程序应用举例 88
本章小结 91
习题 91
上机实验 98
第5章 数组 99
5.1排序问题 100
5.1.1程序解析 100
5.1.2一维数组的定义和引用 101
5.1.3一维数组的初始化 102
5.1.4使用一维数组编程 102
5.2找出矩阵中最大值所在的位置 103
5.2.1程序解析 103
5.2.2二维数组的定义和引用 104
5.2.3二维数组的初始化 105
5.2.4使用二维数组编程 105
5.3字符数组与字符串 106
5.3.1字符数组 106
5.3.2统计字符个数 108
5.3.3字符串处理函数及应用 109
5.4进位制转换 112
5.4.1十进制转换为八(二、十六)进制 112
5.4.2输出进位制转换表 114
本章小结 116
习题 116
上机实验 121
第6章 模块化程序设计 123
6.1计算圆的周长和面积 124
6.2使用函数编写程序 125
6.2.1函数定义的一般形式 125
6.2.2函数的参数 128
6.2.3函数的返回值和类型 128
6.3变量与函数 129
6.3.1局部变量和全局变量 129
6.3.2变量生命周期和静态局部变量 132
6.4函数的调用 136
6.4.1函数调用的一般形式 136
6.4.2函数的调用的方式 136
6.4.3函数与数组 137
6.4.4函数的嵌套调用 138
6.5递归问题求解 141
6.6编译预处理 145
6.6.1概述 145
6.6.2宏定义 146
6.6.3文件包含 149
6.6.4 C语言库函数简介 150
本章小结 150
习题 151
上机实验 158
第7章 指针 159
7.1寻找保险箱密码 160
7.1.1寻找保险箱密码解析 160
7.1.2地址与指针 161
7.1.3指针变量及其定义 162
7.1.4指针变量的基本运算 163
7.1.5指针变量的初始化 165
7.2狸猫换太子 166
7.2.1问题解析 166
7.2.2指针作为函数的参数 167
7.3排序算法 170
7.3.1冒泡排序 170
7.3.2指针、数组和地址间的关系 172
7.3.3通过指针引用数组元素 172
7.3.4数组名作为函数的参数 175
7.4字符串加密 177
7.4.1加密问题 177
7.4.2字符串和字符指针 178
7.5指针数组和指向指针的指针 181
7.5.1指针数组的概念 181
7.5.2指向指针的指针 182
7.5.3指针数组作为main函数的形参 183
7.6任意个整数的存储 185
7.6.1任意个整数的存储问题 185
7.6.2用指针实现内存动态分配 186
本章小结 187
习题 187
上机实验 195
第8章 结构体 196
8.1构建学生基本信息 197
8.2结构体变量 198
8.2.1结构体变量定义 198
8.2.2结构体变量的引用 200
8.2.3结构体变量的初始化 202
8.3结构体数组 202
8.3.1结构体数组的定义 202
8.3.2结构体数组的初始化 203
8.3.3应用举例 203
8.4指针和结构体 204
8.4.1指向结构体变量的指针 204
8.4.2指向结构体数组的指针 205
8.4.3结构指针参数 206
8.5结构体综合应用 206
本章小结 213
习题 214
上机实验 221
第9章 文件 223
9.1将“Beijng2008!”写入文件 224
9.2读取学生信息文件 231
9.3文件复制 232
本章小结 235
习题 235
上机实验 238
第10章用C语言开发软件实例 239
10.1问题描述 240
10.2需求分析 240
10.3模块设计 240
10.4程序编码 241
10.5程序调试运行 246
本章小结 249
上机实验 249
附录A ASCII码表 251
附录B C99关键字 253
附录C常用库函数 254
附录D常见出错信息 259
参考文献 263