第1篇 教学篇 2
第1章 C语言基础 2
1.1 C语言的历史和特点 2
1.1.1 程序和程序设计语言概念 2
1.1.2 C语言的历史与发展经历 2
1.1.3 C语言的特点 4
1.2 几个简单的C语言程序 6
1.3 C语言的词汇 11
1.4 算法简介 12
1.4.1 算法的概念 12
1.4.2 简单算法举例 12
1.4.3 算法的特性 14
1.4.4 怎样表示一个算法 14
1.4.5 N-S流程图表示算法 15
1.5 程序开发环境基础知识 17
1.6 本章小结 18
习题 18
第2章 基本数据类型及运算 19
2.1 基本数据类型 19
2.1.1 整型数据 20
2.1.2 浮点型数据 21
2.1.3 字符型数据 21
2.2 数据运算 22
2.2.1 赋值运算 22
2.2.2 算术运算 23
2.2.3 关系运算和逻辑运算 24
2.2.4 条件运算 25
2.2.5 其他运算 26
2.2.6 运算符优先级及其结合性 26
2.3 表达式 26
2.3.1 表达式分类 26
2.3.2 表达式的类型转换 27
2.4 本章小结 28
习题 29
第3章 结构化程序设计 30
3.1 基本概念 30
3.2 C语言程序的语句 30
3.2.1 基本语句 30
3.2.2 赋值语句 31
3.3 数据输入/输出 32
3.3.1 printf函数 32
3.3.2 字符输出函数putchar 38
3.3.3 scanf函数 39
3.3.4 键盘输入函数getchar 41
3.4 顺序结构程序设计 42
3.5 分支结构程序 43
3.5.1 关系运算符和表达式 43
3.5.2 逻辑运算符和表达式 44
3.5.3 if语句 45
3.5.4 条件运算符和条件表达式 48
3.5.5 switch语句 48
3.6 循环结构程序 50
3.6.1 while语句(当型循环语句) 50
3.6.2 do...while语句(直到型循环) 51
3.6.3 for语句 52
3.6.4 转移语句 54
3.7 本章小结 56
习题 56
第4章 数组 58
4.1 数组的引入 58
4.2 数组的定义与应用 59
4.2.1 数组的定义形式 59
4.2.2 数组元素的名称 60
4.2.3 数组在内存中的表示 60
4.2.4 访问数组元素 61
4.2.5 数组的初始化 61
4.2.6 数组应用举例 63
4.3 二维数组的定义与使用 67
4.3.1 二维数组的引入 67
4.3.2 二维数组的定义 68
4.3.3 二维数组的初始化 69
4.3.4 二维数组的使用 70
4.3.5 应用举例 71
4.3.6 多维数组 73
4.4 字符数组与字符串 73
4.4.1 字符数组的概念 73
4.4.2 字符数组的初始化 73
4.4.3 字符串的输入和输出 75
4.4.4 字符数组的应用举例 76
4.5 本章小结 77
习题 77
第5章 函数 79
5.1 函数的基本概念 79
5.2 函数的定义 80
5.3 函数的调用 82
5.3.1 形式参数和实际参数 82
5.3.2 函数的调用 83
5.3.3 函数的声明 84
5.3.4 函数的返回值 85
5.4 函数的嵌套调用 87
5.5 函数的递归调用 89
5.6 变量的存储类别和作用域 92
5.6.1 局部变量和全局变量 92
5.6.2 变量的存储类别 95
5.7 编译预处理简介 98
5.7.1 宏定义 98
5.7.2 无参宏定义 98
5.7.3 有参宏定义 100
5.7.4 文件包含 102
5.8 本章小结 103
习题 103
第6章 指针 105
6.1 指针的基本概念 105
6.2 指针变量的类型声明 106
6.3 指针变量的引用 106
6.3.1 指针与变量的关系 106
6.3.2 指针变量的运算 107
6.3.3 直接访问与间接访问 109
6.4 指向数组的指针变量 110
6.4.1 指针和数组的关系 110
6.4.2 指向数组指针的引用 111
6.4.3 关于指向数组的指针的说明 111
6.5 指向字符串的指针 112
6.5.1 字符串的表示形式 113
6.5.2 字符串指针作为函数参数 113
6.6 指针形参 114
6.7 指向多维数组的指针变量 115
6.8 本章小结 119
习题 119
第7章 结构体 120
7.1 结构体概念 120
7.1.1 结构体类型的声明 120
7.1.2 结构体类型变量的定义 121
7.1.3 结构体变量成员的引用 123
7.1.4 结构体变量的赋值 123
7.1.5 指向结构体类型变量的指针 124
7.2 结构体数组 124
7.3 结构体和函数 126
7.4 链表 128
7.5 联合 136
7.6 位域 137
7.6.1 位域的声明 138
7.6.2 位域的使用 139
7.7 枚举 139
7.8 类型定义符TYPEDEF 140
7.9 本章小结 141
习题 141
第8章 文件处理基础 142
8.1 文件概述 142
8.2 文件的打开与关闭 142
8.2.1 文件指针 142
8.2.2 文件的打开 143
8.2.3 文件的关闭 144
8.3 文件读/写基础 144
8.3.1 字符读/写函数fgetc和fputc 144
8.3.2 格式化读/写函数fscanf和fprintf 145
8.3.3 文件的随机读/写 146
8.4 本章小结 146
第2篇 实验篇 148
第1部分 实验指导 148
第2部分 习题 175
第3部分 Visual C++ 6.0使用简介 202
附录A ASCII码表 206
附录B 运算符的优先级与结合性 208
附录C 库函数 209
参考文献 216