第1章 C语言初步介绍 1
1.1 几个例子 1
1.2 C语言的字符集与词汇 4
1.2.1 C语言的字符集 4
1.2.2 词汇 4
1.3 C程序的上机操作 5
1.3.1 启动Visual C+++ 6.0 6
1.3.2 集成开发环境介绍 7
1.3.3 一个程序的上机操作过程 8
1.4 习题 14
第2章 程序设计过程 17
2.1 程序设计概述 17
2.1.1 结构化程序设计 17
2.1.2 模块化程序设计的方法 18
2.1.3 面向对象的程序设计 18
2.2 程序设计语言 19
2.2.1 程序设计的基本步骤 19
2.2.2 算法及其表示 20
2.2.3 程序设计语言 21
2.3 程序的基本控制结构 23
2.3.1 顺序结构 23
2.3.2 选择结构 23
2.3.3 循环结构 23
2.3.4 子程序调用 23
2.4 应用举例 24
2.5 习题 25
第3章 数据类型、运算符及表达式 27
3.1 数据和数据类型 27
3.2 常量 28
3.2.1 整型常量 28
3.2.2 实型常量 28
3.2.3 字符常量 29
3.2.4 字符串常量 29
3.2.5 符号常量 30
3.3 变量 30
3.3.1 整型变量 30
3.3.2 实型变量 31
3.3.3 字符型变量 31
3.4 赋值运算与算术运算 32
3.4.1 赋值运算 32
3.4.2 二元算术运算 33
3.4.3 自加、自减运算 34
3.4.4 复合赋值运算 35
3.5 变量赋初始值 35
3.6 类型转换 36
3.6.1 自动类型转换 36
3.6.2 强制类型转换 37
3.7 表达式 37
3.7.1 表达式求值 37
3.7.2 表达式语句 39
3.8 位运算 39
3.8.1 按位与运算 40
3.8.2 按位或运算 40
3.8.3 按位异或运算 41
3.8.4 按位取反运算 41
3.8.5 左移运算 42
3.8.6 右移运算 42
3.9 习题 42
第4章 顺序结构程序设计 45
4.1 编译预处理 45
4.1.1 宏定义 45
4.1.2 文件包含 46
4.2 字符输入输出函数 47
4.2.1 字符输入函数getchar 48
4.2.2 字符输出函数putchar 48
4.3 格式输入输出函数 49
4.3.1 格式输入函数scanf 49
4.3.2 格式输出函数printf 51
4.4 顺序结构程序设计 56
4.4.1 空语句和表达式语句 56
4.4.2 复合语句 56
4.5 应用举例 57
4.6 习题 59
第5章 选择结构程序设计 61
5.1 关系运算和逻辑运算 61
5.1.1 关系运算 61
5.1.2 逻辑运算 62
5.2 if语句 63
5.2.1 if语句的3种形式 63
5.2.2 条件运算 67
5.3 switch语句 68
5.4 应用举例 70
5.5 习题 72
第6章 循环程序设计 75
6.1 while循环语句 75
6.2 do-while循环语句 76
6.3 for循环语句 77
6.4 循环的退出 81
6.4.1 break语句 81
6.4.2 continue语句 82
6.4.3 goto语句 82
6.5 应用举例 84
6.6 习题 87
第7章 数组 91
7.1 一维数组 91
7.1.1 一维数组的定义 91
7.1.2 一维数组的使用 92
7.1.3 一维数组的初始化 93
7.2 二维数组 95
7.2.1 二维数组的定义 95
7.2.2 二维数组的初始化 95
7.2.3 二维数组的引用 96
7.3 字符数组和字符串 98
7.3.1 字符数组的定义 98
7.3.2 字符串 99
7.4 应用举例 102
7.5 习题 105
第8章 函数 107
8.1 C程序与函数 107
8.2 函数的定义和说明 109
8.2.1 函数的定义 109
8.2.2 函数的说明 112
8.3 函数的调用 113
8.3.1 函数调用的格式 113
8.3.2 参数的传递 114
8.4 应用举例1 117
8.5 函数的嵌套调用与递归调用 119
8.5.1 函数的嵌套调用 119
8.5.2 函数的递归调用 121
8.6 作用域与存储类 123
8.6.1 作用域 123
8.6.2 存储类 125
8.6.3 内部函数与外部函数 128
8.7 应用举例2 129
8.8 习题 132
第9章 指针 135
9.1 指针概述 135
9.1.1 什么是指针 135
9.1.2 指针变量的定义 136
9.1.3 指针的运算 136
9.2 指针与函数参数 139
9.3 指针与数组 141
9.3.1 一维数组的指针 141
9.3.2 多维数组的指针 146
9.3.3 字符指针与字符串 148
9.4 应用举例 151
9.5 习题 153
第10章 结构、联合和枚举 155
10.1 结构的概念 155
10.1.1 结构类型的定义 155
10.1.2 结构变量的说明 156
10.1.3 结构变量的引用 157
10.1.4 结构变量的初始化 158
10.2 结构数组 160
10.3 指向结构的指针 161
10.3.1 指向结构的指针 161
10.3.2 结构指针作函数参数 164
10.4 动态数据结构 165
10.4.1 内存的动态分配和释放函数 166
10.4.2 链表 166
10.5 联合 174
10.5.1 联合的定义 174
10.5.2 联合变量的说明与引用 175
10.6 枚举 176
10.7 类型定义 178
10.7.1 基本数据类型的重新命名 179
10.7.2 用新类型名代替构造类型名 179
10.7.3 用新类型名定义数组和字符串 180
10.8 应用举例 180
10.9 习题 184
第11章 文件 187
11.1 C文件的概念 187
11.1.1 C语言文件的特点 187
11.1.2 二进制流和字符流 188
11.1.3 缓冲文件系统和非缓冲文件系统 188
11.2 文件指针 189
11.3 文件的打开与关闭 190
11.3.1 文件的打开——fopen函数 190
11.3.2 文件的关闭——fclose函数 191
11.4 文件的读写 192
11.4.1 字符读写函数——fputc和fgetc 192
11.4.2 字符串读写函数——fputs和fgets 194
11.4.3 数据块读写函数——fread和fwrite 196
11.4.4 格式化读写函数——fscanf和fprintf 198
11.5 文件的定位 199
11.5.1 rewind函数 199
11.5.2 ftell函数 200
11.5.3 fseek函数 200
11.6 输入输出重定向 201
11.7 应用举例 203
11.8 习题 204
第12章 上机实验 205
实验1 Visual C++系统与顺序结构程序设计 205
实验2 选择结构程序设计 206
实验3 循环结构程序设计 207
实验4 程序调试 208
实验5 数组 215
实验6 函数 216
实验7 指针 218
实验8 结构和枚举 219
实验9 链表 220
实验10 文件操作 220
附录A 题参考答案 223
附录B 运算符的优先级及其结合性 251
附录C 标准ASCII字符集 253
附录D 常用的C语言库函数 257
参考文献 260