出版说明 1
前言 1
第1章C语言概述 1
1.1 C语言的发展简史和特点 1
1.1.1 C语言的发展简史 1
1.1.2 C语言的特点 1
目 录 1
1.2 C语言程序的结构与书写规则 2
1.3 C语言的语句和关键字 4
1.3.1 C语言的语句 4
1.3.2 C语言的关键字 5
1.4 C语言程序的编辑与运行 5
1.4.1 C语言程序的上机环境 5
1.4.2 C语言程序的上机步骤 7
1.4.4程序调试方法 8
1.4.3高级语言程序的执行过程 8
1.5习题 9
第2章数据类型、运算符与表达式 11
2.1常量和变量 11
2.1.1常量 11
2.1.2变量 12
2.2 C语言的数据类型 13
2.3整型数据 14
2.3.1整型常量 14
2.3.2整型变量 14
2.4实型数据 15
2.4.1实型常量 15
2.4.2实型变量 16
2.5.2字符型变量 17
2.5字符型数据 17
2.5.1字符型常量 17
2.5.3字符串常量 18
2.6算术运算与算术表达式 19
2.6.1算术运算符 19
2.6.2算术表达式 19
2.7赋值运算与赋值表达式 20
2.7.1赋值运算符 20
2.7.2复合赋值运算符 20
2.7.3赋值语句与赋值表达式 21
2.7.4数据的类型转换 21
2.8 C语言特有的运算和运算符 22
2.9实训 25
2.10习题 28
3.1.1 printf函数的格式 30
第3章顺序结构程序设计 30
3.1格式化输出——printf函数 30
3.1.2 printf函数的格式说明项 31
3.2格式化输入——scanf函数 32
3.2.1 scanf函数的格式 32
3.2.2 scanf函数的格式说明字符 33
3.3单个字符输入输出——getchar()函数和putchar()函数 34
3.3.1字符输入函数getchar() 34
3.3.2字符输出函数putchar() 34
3.4顺序结构设计举例 34
3.5实训 37
3.6习题 39
4.1.2关系表达式 42
4.1.1关系运算符 42
第4章选择结构程序设计 42
4.1关系运算及其表达式 42
4.2逻辑运算及其表达式 43
4.2.1逻辑运算符 43
4.2.2逻辑表达式 43
4.3 if语句和条件运算符 44
4.3.1 if语句的三种形式 44
4.3.2 if语句的嵌套 47
4.3.3条件运算符 47
4.4 switch语句 48
4.5选择结构程序设计举例 49
4.6实训 53
4.7习题 54
5.2 for语句和while语句 56
5.2.1 for语句 56
第5章循环结构程序设计 56
5.1循环语句概述 56
5.2.2 while语句 58
5.2.3 goto语句 59
5.3直到型循环语句do-while 59
5.3.1 do-while语句 59
5.3.2几种循环语句的比较 60
5.4 break语句和continue语句 60
5.4.1 break语句 60
5.4.2 continue语句 61
5.5循环结构程序设计举例 61
5.6实训 64
5.7习题 65
第6章数组 68
6.1一维数组的定义和引用 68
6.1.1一维数组的定义 68
6.1.2一维数组的引用 69
6.1.3一维数组的初始化 70
6.1.4一维数组的应用举例 71
6.2二维数组的定义和引用 73
6.2.1二维数组的定义 73
6.2.2二维数组的引用 74
6.2.3二维数组的初始化 75
6.2.4二维数组的应用举例 76
6.3字符数组与字符串 79
6.3.1字符数组 79
6.3.2字符串 81
6.4实训 83
6.5习题 84
第7章函数 86
7.1函数的定义与调用 86
7.1.1函数的概念与分类 86
7.1.2函数的定义 87
7.1.3函数的调用 89
7.2函数的嵌套调用和递归调用 92
7.2.1函数的嵌套调用 92
7.2.2函数的递归调用 93
7.3数组作为函数参数 95
7.3.1数组元素作为函数参数 95
7.3.2数组名作为函数参数 96
7.4.1局部变量 98
7.4局部变量与全局变量 98
7.4.2全局变量 99
7.5变量的存储类别 101
7.6内部函数和外部函数 105
7.7实训 106
7.8习题 106
第8章编译预处理 107
8.1宏定义 107
8.1.1不带参数的宏定义 107
8.1.2带参数的宏定义 109
8.2文件包含 111
8.3条件编译 112
8.3.1 #ifdef语句 112
8.3.2#if语句 113
8.3.3#undef语句 114
8.4实训 114
8.5习题 115
第9章指针 116
9.1指针和指针变量的概念 116
9.2指针变量的定义与运算 117
9.2.1指针变量的定义 117
9.2.2指针变量的运算 117
9.2.3指针变量作为函数参数 120
9.3数组的指针和指向数组的 123
指针变量 123
9.3.1数组指针变量的声明 123
作函数参数 124
9.3.3数组名和数组指针变量 124
9.3.2数组指针变量的使用 124
9.4字符串的指针和指向字符串的指针变量 125
9.5返回指针值的函数 127
9.6指针数组和main()函数的参数 128
9.6.1指针数组 128
9.6.2主函数main()的形参 130
9.7函数的指针和指向函数的 131
指针变量简介 131
9.8实训 132
9.9习题 133
第10章结构体与链表 137
10.1 结构类型定义和结构变量说明 137
10.1.1结构类型的定义 137
10.1.2结构类型变量的定义 138
10.2结构体变量的引用与初始化 139
10.2.1结构变量的引用 139
10.2.2结构变量的初始化 140
10.3结构体数组 141
10.3.1结构体数组的定义 141
10.3.2结构体数组的应用 141
10.4指向结构类型数据的指针 142
10.4.1结构指针变量的说明和使用 142
10.4.2结构数组指针变量 143
10.4.3结构指针变量作函数参数 144
10.5链表——结构指针的应用 145
10.5.1动态分配内存 145
10.5.2链表 146
10.6共用体和枚举简介 150
10.8实训 154
10.7定义已有类型的别名 154
10.9习题 155
第11章位运算 156
11.1位运算和位运算符 156
11.1.1“按位与”运算符( ) 156
11.1.2“按位或”运算符(|) 157
11.1.3“异或”运算符(^) 158
11.1.4“取反”运算符(~) 159
11.1.5“左移”运算符(<<) 160
11.1.6“右移”运算符(>>) 160
11.1.7复合赋值运算符 161
11.1.8不同长度的数据进行位运算 161
11.2位运算举例 161
11.3位段 163
11.4习题 165
第12章文件 167
12.1 C语言文件概述 167
12.1.1文件的分类及存储方式 167
12.1.2文件指针 168
12.2文件的打开与关闭 168
12.2.1文件的打开 168
12.2.2文件的关闭 170
12.3文件的读写操作 170
12.3.1读写一个字符 170
12.3.2读写一个字符串 172
12.3.3读写数据字段 173
12.3.4文件的格式化读写 174
12.4位置指针与文件定位 175
12.5实训 176
12.6习题 177
第13章C++与面向对象程序设计 180
13.1面向对象程序设计 180
13.1.1对象、类、消息 180
13.1.2封装性、继承性和多态性 182
13.2 C++的特点 183
13.2.1 C++的面向对象特征 183
和风格 183
13.2.2 C++语言对C语言在非 184
面向对象方面的增强 184
13.3 C++中的输入和输出 185
13.3.1用cout进行输出 185
13.3.2用cin进行输入 186
13.4.1构造函数 187
13.4构造函数和析构函数简介 187
13.4.2析构函数 190
13.5继承与派生简介 191
13.5.1继承 191
13.5.2基类与派生类的说明 192
13.5.3派生类的继承权与访问域 192
13.6实训 194
13.7习题 194
综合测试 196
选择题答案 231
附录 232
附录A运算符的优先级及其 232
结合性 232
附录B标准ASCII字符集 233
附录C C语言函数库 234