第1章 C语言概述 1
1.1 程序设计语言和程序 1
1.1.1 程序设计语言和程序的概念 1
1.1.2 程序设计语言的分类 1
1.2 C语言的产生和发展 2
1.3 C语言的特点 3
1.4 C程序 3
1.4.1 第一个C语言程序 3
1.4.2 C语言程序的构成及书写格式 4
1.4.3 C语言程序的开发步骤 4
1.5 Visual C++6.0集成开发环境简介 5
1.5.1 VC++6.0的安装 5
1.5.2 VC++6.0的启动、退出 8
1.5.3 VC++6.0集成开发环境介绍 9
第2章 基本数据类型、运算符及表达式 13
2.1 C语言数据类型 13
2.2 常量、变量和标识符 13
2.2.1 标识符 14
2.2.2 关键字 14
2.2.3 常量和符号常量 16
2.2.4 变量 16
2.3 整型数据 17
2.3.1 整型常量就是整常数 17
2.3.2 整型变量 18
2.4 实型数据 19
2.5 字符型数据 20
2.6 不同数据类型之间的转换 21
2.7 算术运算符和算术表达式 23
2.8 赋值运算符和赋值表达式 24
2.9 自增、自减运算符 26
2.10 逗号运算符和逗号表达式 27
第3章 C语言编程语句 30
3.1 结构化程序的三种语句 30
3.2 C语句概述 31
3.3 顺序结构程序设计 32
3.3.1 赋值语句 32
3.3.2 变量赋初值 32
3.3.3 输入/输出的实现 33
3.3.4 顺序结构程序设计举例 38
3.4 选择结构程序设计 38
3.4.1 if语句 39
3.4.2 switch语句 46
3.5 循环结构程序设计 48
3.5.1 当型循环while语句 48
3.5.2 直到型循环do…while语句 49
3.5.3 for型循环与for语句 51
3.5.4 几种循环结构的比较 54
3.5.5 循环嵌套 55
3.5.6 循环过程控制语句 56
3.6 程序设计基本结构小结 58
第4章 数组 66
4.1 数组的基本概念 66
4.2 一维数组 66
4.2.1 一维数组的定义 66
4.2.2 一维数组的引用 68
4.2.3 一维数组的初始化 69
4.2.4 一维数组应用举例 70
4.3 二维数组 74
4.3.1 二维数组的定义 74
4.3.2 二维数组的引用 76
4.3.3 二维数组的初始化 77
4.3.4 二维数组应用举例 78
4.4 字符数组 81
4.4.1 字符数组的定义 81
4.4.2 字符数组的引用 81
4.4.3 字符数组的初始化 82
4.4.4 字符数组的输入输出 83
4.4.5 字符串处理函数 85
4.4.6 字符数组应用举例 89
第5章 函数 94
5.1 函数概述 94
5.2 函数的定义 96
5.3 函数参数与函数的值 97
5.3.1 形式参数与实际参数 97
5.3.2 函数的返回值 98
5.4 函数的调用 100
5.4.1 函数的调用方式 100
5.4.2 函数调用的参数传递 102
5.5 函数的声明与函数原型 110
5.6 函数的递归调用 113
第6章 指针 118
6.1 指针概述 118
6.1.1 指针与指针变量 118
6.1.2 指针变量的定义与初始化 119
6.1.3 指针变量的赋值和引用 120
6.1.4 指针变量的运算 125
6.1.5 指向指针的指针变量 128
6.2 指针与数组 129
6.2.1 指针与一维数组 129
6.2.2 指针与二维数组 133
6.2.3 指针数组 137
6.3 指针与字符串 137
6.3.1 字符指针变量 137
6.3.2 关于字符指针变量与字符数组的讨论 141
6.3.3 用指针数组处理多个字符串 143
6.4 指针与函数 146
6.4.1 指针变量作为函数的参数 146
6.4.2 返回指针值的函数 159
6.4.3 指向函数的指针变量 160
6.4.4 带参数的主函数 165
第7章 变量作用域及存储类别 170
7.1 变量作用域 170
7.1.1 局部变量 170
7.1.2 全局变量 171
7.2 变量的存储类型 173
7.2.1 局部变量的存储类型 174
7.2.2 全局变量的存储类型 179
7.2.3 关于变量的声明和定义 182
7.3 内部函数和外部函数 183
7.3.1 内部函数 183
7.3.2 外部函数 183
第8章 结构体与共用体 188
8.1 结构体类型 188
8.1.1 结构体类型的定义 188
8.1.2 结构类型变量的定义 189
8.1.3 结构体变量的引用 192
8.1.4 结构体变量的初始化 192
8.2 结构体数组及指向结构体的指针 193
8.2.1 结构体数组 193
8.2.2 指向结构体变量的指针 196
8.2.3 指向结构体数组的指针 199
8.2.4 结构体变量作函数参数 201
8.3 链表 205
8.3.1 指向自身结构的指针 205
8.3.2 动态存储分配函数 205
8.3.3 链表的概念 207
8.3.4 链表的基本操作 208
8.4 共用体类型 216
8.4.1 共用体类型与共用体类型变量 216
8.4.2 共用体变量的引用 218
8.4.3 共用体变量的赋值及使用 218
8.5 类型定义 221
8.5.1 枚举类型 221
8.5.2 类型定义符typedef 223
第9章 位运算 225
9.1 位运算的概念 225
9.1.1 位的概念 225
9.1.2 数的补码表示 225
9.2 位运算符 226
9.2.1 取反(~)运算符 226
9.2.2 左移位(<<)运算符 227
9.2.3 右移位(>>)运算符 227
9.2.4 按位与(&)运算符 227
9.2.5 按位异或(∧)运算符 228
9.2.6 按位或(|)运算符 229
9.2.7 位赋值运算符 230
第10章 文件 232
10.1 C语言文件的概念 232
10.1.1 文件的概念 232
10.1.2 文件的分类 232
10.1.3 缓冲文件系统 233
10.1.4 文件指针 233
10.1.5 文件打开 234
10.1.6 文件关闭 236
10.2 文件的顺序读写 237
10.2.1 字符方式的文件读写 237
10.2.2 字符串方式的文件读写 241
10.2.3 格式化方式的文件读写 243
10.2.4 数据块的读写 244
10.3 文件定位与随机读写 247
10.3.1 fseek函数 247
10.3.2 ftell函数 248
10.3.3 rewind函数 248
10.3.4 相关函数 249
第11章 编译预处理 252
11.1 文件包含 252
11.2 宏定义 255
11.2.1 不带参数的宏 255
11.2.2 带参数的宏 258
11.3 条件编译 263
二级C语言程序设计模拟试题 267
二级C语言程序设计模拟试题(一) 267
二级C语言程序设计模拟试题(二) 278
二级C语言程序设计模拟试题(三) 289
二级C语言程序设计模拟试题(四) 302
二级C语言程序设计模拟试题(五) 313
二级C语言程序设计模拟试题(六) 322
二级C语言程序设计模拟试题(七) 333
二级C语言程序设计模拟试题(八) 343
全国计算机等级考试二级公共基础知识 353
第1章 数据结构与算法 353
第2章 程序设计基础 361
第3章 软件工程基础 363
第4章 数据库设计基础 368
附录A 373
附录B 375