第1章 计算机程序设计的含义 1
1.1 计算机系统及其工作原理 1
1.1.1 计算机系统组成简述 1
1.1.2 计算机的工作原理 3
1.2 程序设计概述 4
1.2.1 程序设计的含义 4
1.2.2 程序设计语言 5
1.2.3 C语言的特点 6
1.3 程序设计 8
1.3.1 程序设计的基本术语 8
1.3.2 程序设计的四部曲 9
1.3.3 程序设计必备的工具——程序设计三剑客 10
1.4 本章小结 11
第2章 C语言程序的基本结构 12
2.1 认知C语言程序 12
2.2 C语言程序基本结构 13
2.2.1 C语言的注释符号“/* */” 15
2.2.2 程序头部 15
2.2.3 main函数 16
2.2.4 变量的定义部分 16
2.2.5 其他部分 17
2.2.6 示例 17
2.3 本章要点 18
第3章 C语言的基本数据类型与简单I/O 19
3.1 C语言的基本数据类型 19
3.2 C语言的标识符、常量与变量 22
3.2.1 标识符 22
3.2.2 常量 23
3.2.3 变量 25
3.3 C语言的基本I/O操作 30
3.3.1 printf函数 30
3.3.2 scanf函数 32
3.3.3 getch,getche,gets函数系列 34
3.3.4 putch,puts函数系列 34
3.4 本章小结 35
3.5 复习练习题 35
第4章 C语言的语句特征 36
4.1 语句结构概述 36
4.1.1 语句 36
4.1.2 流程及流程图 38
4.1.3 表达式 39
4.2 C 语言程序的三种基本结构及其语句 45
4.2.1 顺序结构 45
4.2.2 选择结构 45
4.2.3 循环结构 49
4.3 复习练习题 58
第5章 函数 60
5.1 库函数 60
5.2 自定义函数 61
5.2.1 认知C语言函数的结构 61
5.2.2 自定义函数的过程 63
5.3 函数的调用 68
5.3.1 调用条件与方式 69
5.3.2 形参与实参 69
5.4 main函数的参数 75
5.5 复习练习题 76
第6章 变量的存储属性 78
6.1 变量性质概述 78
6.1.1 变量的属性 78
6.1.2 程序在内存的分段存储模式 80
6.2 各类变量的存储属性分析 80
6.2.1 局部变量 80
6.2.2 全局变量 84
6.2.3 动态、静态、全局、局部变量的综合关系 85
6.3 复习练习题 87
第7章 编译预处理与工程 89
7.1 文件包含与条件编译 89
7.1.1 文件包含 89
7.1.2 条件编译 90
7.2 宏 91
7.2.1 常量宏 91
7.2.2 变量宏及其展开 92
7.2.3 宏定义的注意事项 93
7.2.4 宏与函数的比较 93
7.3 工程与工程文件 94
7.3.1 工程的概念 94
7.3.2 建立工程文件的方法 95
7.3.3 开发工程时的注意事项 95
7.4 复习练习题 96
第8章 C语言的数组及其应用 97
8.1 数组的概念与基本属性 97
8.1.1 数组的概念 97
8.1.2 一维数组的定义 97
8.1.3 一维数组的初始化 98
8.1.4 一维数组的操作 99
8.1.5 数组名字与数组的指针 100
8.1.6 一维数组的指针及其下标运算 100
8.1.7 数组作为函数的形参 101
8.1.8 数组的存储属性 102
8.2 数组的引用 102
8.2.1 一维数组作为函数参数的特点 103
8.2.2 使用数组的注意事项 104
8.3 二维数组简介 106
8.3.1 二维数组的定义 106
8.3.2 二维数组的初始化 107
8.3.3 二维数组的引用 108
8.4 字符数组与字符串 110
8.4.1 字符数组的定义 110
8.4.2 字符数组的初始化 110
8.4.3 字符’\0’的特殊意义 111
8.5 复习练习题 114
第9章 指针变量及其属性 116
9.1 指针变量及其性质的回顾 116
9.1.1 指针的概念 116
9.1.2 首地址 116
9.1.3 指针变量 117
9.1.4 指针变量容易产生的误区 117
9.2 指针变量的引用规律 118
9.2.1 一般引用 118
9.2.2 指针类型的参数 120
9.2.3 用指针作函数参数的优点 121
9.3 指针与数组 123
9.3.1 用指针变量访问数组元素 123
9.3.2 用char型指针变量访问字符串 124
9.3.3 指针、数组、字符串的关系 128
9.4 与指针相关的其他问题 130
9.4.1 返回指针的函数 130
9.4.2 指针数组 132
9.4.3 指向函数的指针变量 135
9.4.4 指向指针的指针变量——双重指针 137
9.5 复习练习题 137
第10章 结构体、共用体数据及其应用 141
10.1 结构体数据类型 141
10.1.1 结构体的构造与特点 141
10.1.2 结构体类型变量的定义 142
10.1.3 结构体变量的初始化 143
10.1.4 类型与变量 143
10.1.5 不同定义方法的比较 144
10.1.6 结构体变量的存储属性 144
10.2 结构体变量的引用规律 145
10.2.1 一般引用 145
10.2.2 作为函数参数的引用 146
10.3 结构数组、指针及函数 148
10.3.1 结构数组的定义与调用 148
10.3.2 结构指针的定义与引用 149
10.3.3 结构体类型的函数 152
10.3.4 链表及其应用 153
10.4 共用体 157
10.4.1 共用体的概念与特点 157
10.4.2 共用体变量的引用规律 159
10.5 复习练习题 162
第11章 C语言的文件I/O及其应用 167
11.1 C语言文件及其属性 167
11.2 缓冲文件的操作 168
11.2.1 缓冲文件的打开与关闭 169
11.2.2 文件的顺序读写 171
11.2.3 文件的随机读写 175
11.2.4 文件结束符 177
11.2.5 缓冲文件的其他操作 178
11.3 非缓冲文件及其操作 179
11.3.1 非缓冲文件的基本操作 179
11.3.2 非缓冲文件的应用 180
11.4 复习练习题 180
第12章 C语言的位运算与低级操作 182
12.1 位运算 182
12.1.1 位运算的概念 182
12.1.2 C语言的位操作运算 183
12.1.3 按位操作的一些简单应用技巧 183
12.2 位运算的应用 185
12.3 C语言的低级操作 188
12.3.1 int86 189
12.3.2 bdos 191
12.3.3 intdos 193
12.4 复习练习题 194
附录 196
附录A C语言综合测试题 196
附录B Turbo C常用库函数简介 233
附录C 常用库函数简介 234
附录D 美国信息交换标准码ASCII码表 273
参考文献 280