第1章 C语言程序设计入门 1
1.1 C语言简介 1
1.2 简单的C程序举例 2
1.3 程序设计基本过程 5
1.3.1 问题分析 5
1.3.2 算法设计 6
1.3.3 程序编码 8
1.3.4 分析调试 9
1.3.5 运行维护 9
1.4 C语言编程平台——Visual C++6.0简介 9
1.4.1 Visual C++6.0界面介绍 10
1.4.2 编辑、编译和运行程序 11
1.4.3 程序调试 14
1.5 小结 15
第2章 数据类型与表达式 16
2.1 常量 16
2.1.1 整型常量 16
2.1.2 实型常量 17
2.1.3 字符常量 17
2.1.4 字符串常量 18
2.1.5 符号常量 18
2.2 变量 19
2.2.1 变量的定义 19
2.2.2 变量的类型 20
2.2.3 变量赋初值 24
2.3 运算符和表达式 25
2.3.1 算术运算符和算术表达式 25
2.3.2 赋值运算符和赋值表达式 27
2.3.3 关系运算符和关系表达式 28
2.3.4 逻辑运算符和逻辑表达式 29
2.3.5 条件运算符和条件表达式 31
2.3.6 逗号运算符和逗号表达式 33
2.3.7 求字节数运算符(sizeof) 33
2.4 数据类型的转换 34
2.4.1 自动转换 35
2.4.2 强制类型转换 36
2.5 小结 36
第3章 C语言的基本控制结构 38
3.1 顺序结构 38
3.1.1 C语句 38
3.1.2 数据的输入输出 40
3.1.3 顺序结构程序举例 48
3.2 选择结构 50
3.2.1 简单if语句 50
3.2.2 if-else语句 52
3.2.3 if语句的嵌套 54
3.2.4 多分支选择结构——switch语句 58
3.2.5 选择结构程序举例 60
3.3 循环结构 64
3.3.1 while语句 65
3.3.2 do-while语句 68
3.3.3 for语句 71
3.3.4 循环的嵌套 75
3.3.5 break和continue语句 77
3.3.6 循环结构程序举例 79
3.4 小结 85
第4章 数组 87
4.1 一维数组 87
4.1.1 一维数组的定义 87
4.1.2 一维数组的引用 88
4.1.3 一维数组的初始化 89
4.1.4 一维数组的应用 90
4.2 二维数组 95
4.2.1 二维数组的定义和引用 95
4.2.2 二维数组的初始化 97
4.2.3 二维数组的应用 99
4.3 字符数组和字符串 104
4.3.1 字符数组的定义和引用 104
4.3.2 字符串 105
4.3.3 常用字符串函数 107
4.3.4 字符数组的应用 111
4.4 小结 114
第5章 函数与模块化设计 115
5.1 概述 115
5.2 函数的定义与调用 117
5.2.1 函数的定义 117
5.2.2 函数的调用 119
5.2.3 函数的声明 121
5.3 参数的传递 122
5.3.1 普通变量作为函数参数 122
5.3.2 数组元素作为函数参数 124
5.3.3 数组名作为函数参数 126
5.4 函数的嵌套与递归调用 130
5.4.1 函数的嵌套调用 130
5.4.2 函数的递归调用 133
5.5 全局变量与局部变量 137
5.6 变量的存储方式 140
5.6.1 自动(auto)变量 141
5.6.2 静态(static)变量 141
5.6.3 寄存器(register)变量 144
5.6.4 外部(extern)变量 145
5.7 典型例题 147
5.7.1 最大公约数问题 147
5.7.2 100以内的素数判定问题 148
5.7.3 偶数分解问题 149
5.7.4 勾股定理问题 150
5.8 小结 152
第6章 指针 153
6.1 指针初探 153
6.1.1 指针变量的定义 154
6.1.2 指针变量的引用 155
6.1.3 指针变量作为函数参数 157
6.2 指针与数组 163
6.2.1 指向一维数组的指针 163
6.2.2 指向多维数组的指针 167
6.2.3 指向数组的指针作函数参数 170
6.3 指针与字符串 177
6.4 指向函数的指针和返回指针的函数 180
6.4.1 指向函数的指针 180
6.4.2 返回指针的函数 183
6.5 指针数组与多级指针 185
6.5.1 指针数组的定义和引用 185
6.5.2 多级指针 192
6.5.3 main函数的参数 193
6.6 内存的使用 194
6.6.1 动态内存分配 195
6.6.2 释放动态分配的内存 196
6.6.3 重新分配内存 196
6.7 小结 198
第7章 结构体与链表 199
7.1 结构体 199
7.1.1 结构体类型声明 199
7.1.2 定义结构体类型变量 200
7.1.3 结构体成员的访问 201
7.1.4 结构体变量的初始化 203
7.1.5 结构体数组 204
7.1.6 指向结构体的指针 205
7.1.7 结构体与函数 208
7.2 类型定义符typedef 212
7.3 链表 213
7.4 共用体 222
7.5 枚举类型 224
7.6 小结 226
第8章 文件 228
8.1 文件概述 228
8.2 文件结构体FILE 229
8.3 文件的打开与关闭 230
8.4 文件的读写 231
8.4.1 fputc函数和fgetc函数 232
8.4.2 fread()和fwrite()函数 236
8.4.3 fscanf函数与fprintf函数 239
8.4.4 fgets函数与fputs函数 241
8.5 文件的定位与随机读写 242
8.6 小结 244
第9章 综合程序设计 246
9.1 通过菜单选择趣味程序 246
9.1.1 设计要求 246
9.1.2 程序设计中的主要知识点 246
9.1.3 总体设计 246
9.1.4 具体实现 249
9.1.5 程序运行结果 254
9.2 集合的基本运算 255
9.2.1 设计要求 255
9.2.2 程序设计中的主要知识点 256
9.2.3 总体设计 256
9.2.4 具体实现 259
9.2.5 程序运行结果 271
9.3 n皇后问题 273
9.3.1 设计要求 273
9.3.2 程序设计中的主要知识点 273
9.3.3 总体设计 274
9.4 学生成绩管理系统 277
9.4.1 设计要求 277
9.4.2 程序设计中的主要知识点 277
9.4.3 总体设计 278
9.4.4 具体实现 279
9.4.5 程序运行结果 286