第一章 C语言的来源与简介 1
1.1关于C语言 3
1.2C语言的发展 3
1.3程序语言概述 3
1.4C语言的结构 4
1.5编译一个C程序 4
1.6编译器和解释器 6
1.7通过伪代码建立逻辑 6
1.8一个简单的C程序 7
1.9C语言中用到的字符集 8
1.10C语言中的关键字 9
1.11运算符的优先级 9
1.12应该做的与不应该做的 10
复习题 10
第二章 数据类型和运算符 13
2.1基本的数据类型 15
2.2各种基本数据类型的限定符 16
2.3C语言中的变量 16
2.4类型声明 17
2.5输出函数 18
2.6输入函数及格式限定符 18
2.7算术运算符 19
2.8一元运算符 20
2.9关系和逻辑运算符 21
2.10C语言中的常量 22
2.11一个C程序 23
2.12应该做的与不应该做的 24
复习题 25
第三章 C语言中的控制语句 27
3.1为什么要控制语句 29
3.2if语句 30
3.3ifelse语句 31
3.4for语句 34
3.5while循环语句 35
3.6dowhile语句 36
3.7break语句 37
3.8continue语句 38
3.9switch语句 38
3.10goto语句 40
3.11三目运算符 41
3.12应该做的与不应该做的 42
复习题 42
第四章 数组 45
4.1数组简介 47
4.2数组的优势 47
4.3数组的类型 48
4.4数组声明 48
4.5数组初始化 48
4.6从数组中获取数据 50
4.7使用数组的简单例子 51
4.8数组的存储方式 52
4.9多维数组 52
4.10字符数组 55
4.11数组溢出 57
4.12应该做的与不应该做的 57
复习题 58
第五章 C语言中的函数 59
5.1函数介绍 61
5.2函数的优势 61
5.3声明函数 61
5.4调用函数 63
5.5变量 63
5.6向函数中传递参数 64
5.7使用函数的简单程序 67
5.8函数嵌套 68
5.9向函数中传递数组 68
5.10递归函数 70
5.11传值调用与传址调用 71
5.12应该做的与不应该做的 73
复习题 74
第六章 指针 75
6.1指针简介 77
6.2初识指针 77
6.3指针操作 78
6.4动态存储分配 80
6.5指针和数组 81
6.6指向指针的指针 82
6.7指向函数的指针 83
6.8返回指针的函数 84
6.9指针和二维数组 85
6.10指针数组 86
6.11对于指针声明的补充说明 86
6.12应该做的与不应该做的 87
复习题 87
第七章 字符串 89
7.1字符串简介 91
7.2字符串 91
7.3字符串的内部表示形式 92
7.4更多内容 93
7.5strlen() 94
7.6strcpy() 95
7.7strcat() 96
7.8strcmp() 97
7.9向函数中传递字符串 97
7.10二维字符数组 98
7.11指针数组 100
7.12应该做的与不应该做的 101
复习题 101
第八章 数据结构-Ⅱ 103
8.1结构体介绍 105
8.2基础结构体 105
8.3声明并访问结构体 105
8.4结构体的内部表示 107
8.5结构体数组 108
8.6向函数传递结构体 109
8.7结构体中的指针 110
8.8嵌套结构体 111
8.9共用体 112
8.10枚举数据类型 112
8.11typedef声明 113
8.12应该做的与不应该做的 114
复习题 114
第九章 数据结构-Ⅱ 117
9.1简介 119
9.2单链表 119
9.3双链表 122
9.4循环链表 124
9.5栈 126
9.6队列 127
9.7二叉树 128
9.8排序技术-I 131
9.9排序技术-Ⅱ 134
9.10.检索技术 138
9.11哈希表 139
9.12应该做的与不应该做的 140
复习题 140
案例学习 141
第十章 C语言中的文件处理 147
10.1文件处理简介 149
10.2文件的打开 149
10.3文件的读取 150
10.4文件的关闭 150
10.5错误检测 151
10.6文件的打开方式 151
10.7文件的写入 152
10.8argc和argv 153
10.9字符串输入 154
10.10格式化的磁盘1/0 155
10.11错误检测函数 155
10.12应该做的与不应该做的 156
复习题 157
第十一章 存储类型和预处理程序 159
11.1简介 161
11.2自动存储类型 161
11.3寄存器存储类型 162
11.4静态存储类型 163
11.5外部存储类型 164
11.6宏 165
11.7带参数的宏 166
11.8#include指令 166
11.9#if和#elif指令 167
11.10#undef和#pragma指令 168
11.11类型转换 169
11.12应该做的与不应该做的 170
复习题 170
第十二章 位运算符 173
12.1简介 175
12.2位逻辑运算符 175
12.3反码 176
12.4右移运算符 177
12.5左移运算符 177
12.6按位与运算符 178
12.7按位或运算符 179
12.8异或运算符 180
12.9文件包含 181
12.10C-ISAM 181
12.11位段 182
12.12应该做的与不应该做的 183
复习题 184
术语表 185
附录 191
附录AASCII码表 191
附录B标准库函数 192
附录C控制语句表 196
附录DCOMP-U-LEARN证书样本 198
词汇表 199