第1讲 C语言概论 1
第1课 C语言概论 1
一、C语言的由来 1
二、C语言的特点 1
第2课 简单的C语言程序 2
一、简单例子 3
二、C语言程序的格式 4
三、建立与运行C程序的过程 5
四、用MS Visual C++ 6.0运行C/C++程序的上机步骤 6
习题一 10
第2讲 数据 11
第1课 标识符、常量及变量 11
一、标识符 11
二、常量及变量 12
第2课 简单数据类型 14
一、整型数据 14
二、实型数据 15
三、字符型数据 16
四、不同数据类型间的转换 17
第3课 运算符和表达式 18
一、运算符的优先级别和结合规则 19
二、运算符和表达式 19
习题二 26
第3讲 语句与程序的流程结构 28
第1课 C语言程序的语句 28
一、表达式语句 28
二、函数调用语句 28
三、控制语句 29
四、复合语句 29
五、空语句 29
第2课 顺序结构 30
一、赋值语句 30
二、数据输出语句 31
三、数据输入语句 36
第3课 判断选取结构 40
一、if语句 40
二、switch语句 45
第4课 循环控制结构 48
一、while语句 48
二、do-while语句 50
三、for语句 50
四、转移语句 54
习题三 56
第4讲 数组 60
第1课 一维数组的定义及引用 60
一、一维数组的定义 60
二、一维数组的初始化 61
三、一维数组的引用 61
第2课 二维数组的定义及引用 63
一、二维数组的定义 63
二、二维数组的初始化 63
三、二维数组的引用 64
第3课 字符数组与字符串 65
一、字符数组的定义 65
二、字符数组的初始化 66
三、字符数组的引用 66
四、字符串和字符串结束标志 66
五、字符数组的输入输出 67
六、字符串处理函数 68
习题四 71
第5讲 函数 73
第1课 函数的定义和声明 73
一、函数概述 73
二、函数的定义 75
三、函数参数和函数的值 76
四、函数的声明 80
第2课 函数的调用 81
一、函数的调用 81
二、函数的嵌套调用 82
三、函数的递归调用 82
四、数组作为函数参数 83
第3课 传值方式 87
第4课 变量的作用域和存储类别 90
一、变量的作用域 90
二、存储类别 92
第5课 外部函数和内部函数 97
一、内部函数 97
二、外部函数 97
习题五 99
第6讲 编译预处理 100
第1课 宏定义 100
一、不带参数的宏定义 100
二、带参数的宏定义 102
三、宏定义和函数 104
第2课 文件包含 104
第3课 条件编译 106
习题六 108
第7讲 指针 110
第1课 指针概论 110
一、指针的概念 110
二、变量的指针和指针变量 111
第2课 指针与数组 115
一、指向数组的指针 115
二、指针与字符数组 119
三、指针与多维数组 122
第3课 指针与函数 126
一、指针作为函数的参数 126
二、函数的返回值为指针 131
三、指向函数的指针 132
第4课 指针数组和指针的指针 134
一、指针数组 134
二、指针的指针 136
三、命令行参数 137
习题七 139
第8讲 结构体、共用体及位操作 143
第1课 结构体 143
一、结构体的定义 143
二、结构体类型变量的说明 145
三、结构体变量成员的表示方法 147
四、结构体变量的赋值 147
五、结构体变量的初始化 148
六、结构体数组 149
七、结构体指针变量 154
第2课 共用体 172
一、共用体的定义 172
二、共用体变量的说明 173
三、共用体变量的赋值和使用 174
第3课 枚举类型与位运算 176
一、枚举类型 176
二、类型定义符typedef 178
三、位运算 180
习题八 186
第9讲 文件 189
第1课 文件概论 189
一、C语言文件的概念 189
二、文件的指针 190
三、文件的打开与关闭 190
第2课 文件的读写 192
一、读字符函数fgetc 192
二、写字符函数fputc 194
三、读字符串函数fgets 195
四、写字符串函数fputs 196
五、数据块读写函数fread和fwrite 197
六、格式化读写函数fscanf和fprintf 198
七、rewind函数和fseek函数 200
八、告诉位置指针当前位置的函数ftell 202
九、文件检测函数 202
习题九 205
第10讲 由C迈向C++ 206
第1课 C与C++ 206
一、C++概述 206
二、由C到C++的转变 208
三、C++的新特性 210
第2课 从面向过程到面向对象 223
习题十 226
第11讲 类与对象 228
第1课 类的定义 228
一、从结构体到类 228
二、类的成员 236
第2课 对象 238
一、对象的声明 238
二、构造函数和析构函数 238
三、静态类成员 245
四、对象行为和性能控制 249
五、对象组织 253
习题十一 255
第12讲 继承与多态性 258
第1课 派生类 258
一、派生类的声明 258
二、多基派生 262
三、派生类的构造和析构函数 262
四、虚基类 265
第2课 虚函数 266
一、多态性与虚函数 266
二、纯虚函数与抽象类 272
三、多态性和虚函数的归纳 275
第3课 运算符重载与转换 275
一、运算符重载 275
二、转换 280
习题十二 283
读者意见反馈表 287