如何让学生在短时间内掌握C语言程序设计的方法,是本书的编写目的。本书共分10章:第1~3章介绍了C语言的基本知识及程序设计结构;第4、5章着重讲解了数组和函数的概念;第6章简要介绍C语言的预编译处理;第7章介绍了结构体和共用体;第8章讲解了文件的相关内容;第9章概要介绍了C++;第10章综合所学知识,进行一个实用的项目设计。本书体系合理,内容实用,通俗易读,可作为高等院校应用型本科、高职高专C语言课程的教材,也适合培训和自学之用。
苏传芳,安徽电子信息职业技术学院副教授,安徽省教学名师。主要著作:《C语言程序设计》获教育部教指委“2011年度高职高专IT类专业优秀教材奖”。获“安徽省‘十一五’规划教材”称号;安徽省“优秀教学成果三等奖”;安徽省“电子信息职业技术学院优秀教学成果一等奖”称号。
第1章 C语言概述 1
1.1 C语言产生的背景 1
1.2 C语言的特点 2
1.3 C语言的程序结构 3
1.3.1 C程序的基本结构 3
1.3.2 C函数的格式 3
1.3.3 关键字 5
1.3.4 小结 5
1.4 C程序上机步骤 6
1.4.1 运行一个C语言程序的一般
过程 6
1.4.2 常用的操作命令 7
实训1 认识C语言程序 13
本章小结 14
习题1 14
第2章 数据类型、运算符与表达式 16
2.1 C语言的数据类型 16
2.2 常量与变量 17
2.2.1 直接常量和符号常量 17
2.2.2 变量 19
2.3 整型数据 20
2.3.1 整型常量 20
2.3.2 整型变量 20
实训2 使用整型数据 23
2.4 实型数据 25
2.4.1 实型常量的表示方法 25
2.4.2 实型变量 25
实训3 使用实型数据 27
2.5 字符型数据 27
2.5.1 字符常量 27
2.5.2 字符变量 29
2.5.3 字符串常量 31
实训4 使用字符型数据 31
2.6 算术运算符和算术表达式 32
2.7 赋值运算符和赋值表达式 35
2.8 关系运算符和关系表达式 39
2.9 逻辑运算符和逻辑表达式 40
2.10 逗号运算符和逗号表达式 42
2.11 位运算 43
2.11.1 位逻辑运算符 44
2.11.2 移位运算符 45
2.11.3 位赋值运算符 46
2.11.4 不同长度的数据进行位运算 47
实训5 使用运算符和表达式 47
2.12 变量的地址和指向变量的指针 49
2.12.1 变量的地址 49
2.12.2 变量的指针和指向变量的
指针变量 50
2.12.3 指针运算符和取地址运算符 50
实训6 指针的初步应用 52
本章小结 53
习题2 53
第3章 基本程序结构 57
3.1 程序的3种基本结构 57
3.1.1 结构化程序设计 57
3.1.2 C语言的语句 59
3.2 赋值语句 60
3.3 数据的输入和输出 60
3.3.1 字符数据的输入/输出函数
――putchar()函数
和getchar()函数 61
3.3.2 格式输入/输出函数:
printf函数和 scanf函数 62
实训7 使用输入/输出函数 69
3.4 顺序结构程序设计 72
3.5 选择结构程序设计 73
3.5.1 if语句 73
3.5.2 switch语句 78
实训8 if语句和switch语句的
使用 80
3.6 循环结构程序设计 85
3.6.1 goto语句及goto语句构成的
循环 85
3.6.2 while语句 / do-while语句
/ for 语句 86
实训9 while语句、do-while语句
和for语句的使用 93
课程设计1 模拟ATM取款机
界面 101
本章小结 104
习题3 105
第4章 数组 110
4.1 一维数组 110
4.1.1 一维数组的定义、引用和
初始化 111
4.1.2 数组与指针 114
实训10 一维数组的应用 117
4.2 二维数组 120
4.2.1 二维数组的定义 121
4.2.2 二维数组元素的引用 121
4.2.3 二维数组的初始化 123
4.2.4 二维数组与指针 123
实训11 二维数组的应用 125
4.3 字符数组 127
4.3.1 字符数组的定义、引用和
初始化 128
4.3.2 字符串的使用 129
4.3.3 字符串处理函数 130
实训12 英文打字练习程序 133
4.4 指针数组和指向指针的指针 136
4.4.1 指针数组的概念 137
4.4.2 指向指针的指针 138
4.4.3 指针数组作为main函数的
形参 139
实训13 指针的应用 140
课程设计2 用高斯消去法解线性
方程组 141
本章小结 144
习题4 144
第5章 函数 146
5.1 函数定义 146
实训14 建立和使用函数 149
5.2 函数参数与返回值 150
5.2.1 形式参数与实际参数 150
5.2.2 参数的值传递方式和指针
(地址)传递方式 151
实训15 参数的值传递方式和
地址传递方式 153
5.2.3 参数类型 155
实训16 函数参数传递的形式 157
5.2.4 函数的返回值 158
实训17 函数的返回值 159
5.3 函数调用 160
5.3.1 函数调用的基本问题 160
5.3.2 函数嵌套调用 163
5.3.3 函数递归调用 164
实训18 嵌套与递归调用的实现 166
5.4 函数与指针 168
5.4.1 返回指针值的函数 168
5.4.2 指向函数的指针 169
5.5 变量作用域和存储类别 171
5.5.1 局部变量 171
5.5.2 全局变量 173
5.5.3 变量存储类别 174
实训19 局部变量和全局变量的
使用 177
5.6 外部函数和内部函数 178
本章小结 180
习题5 181
第6章 编译预处理 184
6.1 预处理命令概述 184
6.2 宏定义 185
6.2.1 不带参数的宏定义 185
6.2.2 带参数的宏定义 187
6.3 文件包含处理 190
6.4 条件编译 192
实训20 定义宏和使用宏 194
本章小结 197
习题6 197
第7章 结构体和链表 201
7.1 结构体 201
7.1.1 结构体定义、引用和
初始化 202
7.1.2 结构体数组和结构体指针 207
7.1.3 结构体与函数 210
实训21 结构体的应用 213
7.2 链表 214
7.2.1 链表的概念 214
7.2.2 链表的实现 215
7.2.3 链表的操作 219
7.3 共用体和枚举类型 222
7.3.1 共用体定义、使用和
初始化 222
7.3.2 枚举类型定义、使用和
初始化 224
7.4 类型定义 226
课程设计3 简单学生管理程序 227
本章小结 232
习题7 232
第8章 文件 236
8.1 文件类型指针 238
8.2 文件的打开与关闭 239
8.3 文件的读/写操作 241
实训22 文件加密程序的实现及
文件的读/写操作 244
8.4 文件定位与出错检测 249
8.4.1 文件定位函数――fseek()
函数 249
8.4.2 出错检测函数――ferror()
函数 249
实训23 加/解密数据库程序及
文件定位操作 250
8.5 其他文件函数 253
课程设计4 给程序加上行号 254
本章小结 256
习题8 257
第9章 C++概述 258
9.1 C++的特点及输入/输出 258
9.1.1 C++的特点 258
9.1.2 C++的输入/输出 260
实训24 熟练使用cin和cout 264
9.2 面向对象概述 268
9.2.1 面向对象的基本概念 268
9.2.2 面向对象的三大特征 269
9.3 类和对象的定义及使用 270
9.3.1 类的定义 270
9.3.2 对象的创建及使用 272
9.3.3 构造函数与析构函数 273
实训25 类和对象的使用 275
本章小结 276
习题9 277
第10章 项目实践――学生信息管理系统 279
10.1 系统基本需求 279
10.2 结构设计 282
10.3 功能函数的实现 284
10.4 项目总结 288
附录A 常用字符与标准ASCII对照表 290
附录B 运算符和结合性 292