C语言程序设计(第3版)(高职高专立体化教材计算机系列)
定 价:38 元
丛书名: 高职高专立体化教材·计算机系列
- 作者:李泽中、孙红艳、张智勇、张建军、高晓黎
- 出版时间:2016/9/5
- ISBN:9787302436430
- 出 版 社:清华大学出版社
- 中图法分类:TP312C
- 页码:296
- 纸张:胶版纸
- 版次:1
- 开本:16K
本书作为高职高专学生学习计算机编程的入门教材,着重讲述了计算机程序设计的基础知识、基本算法和应用编程思想,其目的在于使学生学习本书之后,能结合实际进行C语言应用程序设计。全书共分10章,系统地介绍了C语言的基本知识、程序结构、基本数据类型、运算符和表达式,C语言程序设计的三种基本结构类型——顺序结构、选择结构和循环结构程序编程,数组、指针类型、结构体类型、枚举类型和用户自定义类型等在程序设计中的应用,以及C语言的函数应用与文件操作等内容。
本书内容翔实,层次分明,结构紧凑,叙述深入浅出,通俗易懂。可以作为高职高专及各类大专院校计算机专业的教材,也可作为计算机等级考试的参考书和其他计算机编程人员的参考书。
C语言是目前世界上流行*广、使用*多的高级程序设计语言。本书作为高职高专学生学习C语言编程的入门教材,着重讲述了C语言程序设计的基础知识、基本算法和应用编程思想,目的在于使学生能结合社会生产实际进行应用程序设计。
全书共分为10章,各章的主要内容简单说明如下:第1章介绍C语言的特点、标识符和程序的基本结构;第2章介绍C语言的数据类型、运算符和表达式;第3、4、5章系统地介绍C语言的顺序结构、选择结构和循环结构三种基本结构;第7章系统地讲述C语言程序的函数编程及编译预处理;第6、8、9章系统地介绍C语言的数组、指针类型、结构体类型、枚举类型和用户自定义类型及其在编程中的基本应用;第10章介绍文件的概念及文件的读写。
本书内容翔实,层次分明,结构紧凑,每章均附有大量的习题,利于学生巩固和提高。同时,各章均配有大量的实验题目,可供学生上机实训使用。本书适合作为高职高专及各类大专院校计算机专业的教材,也可作为计算机等级考试和其他从事计算机编程工作人员的参考书。
随着计算机技术突飞猛进的发展,特别是计算机网络和通信技术的广泛应用和迅速普及,给各行各业带来了技术进步和发展动力。计算机已进入千家万户,成为人们工作、学习、生活、娱乐不可缺少的工具。懂不懂计算机,会不会使用计算机,已经成为衡量现代人素质的标准之一。
C语言是目前世界上流行最广、使用最多的高级程序设计语言。本书作为高职高专学生学习C语言编程的入门教材,着重讲述了C语言程序设计的基础知识、基本算法和应用编程思想,目的在于使学生能结合社会生产实际进行应用程序设计。
全书共分为10章,各章的主要内容简单说明如下:第1章介绍C语言的特点、标识符和程序的基本结构;第2章介绍C语言的数据类型、运算符和表达式;第3、4、5章系统地介绍C语言的顺序结构、选择结构和循环结构三种基本结构;第7章系统地讲述C语言程序的函数编程及编译预处理;第6、8、9章系统地介绍C语言的数组、指针类型、结构体类型、枚举类型和用户自定义类型及其在编程中的基本应用;第10章介绍文件的概念及文件的读写。
本书由李泽中、孙红艳任主编,张智勇、张建军、高晓黎任副主编,并由李泽中统稿。其中,李泽中编写第1、2、6、7章及附录,孙红艳编写第3、4、5章,张建军编写第8章,张智勇编写第9章,高晓黎编写第10章。
本书内容翔实,层次分明,结构紧凑,每章均附有大量的习题,利于学生巩固和提高。同时,各章均配有大量的实验题目,可供学生上机实训使用。本书适合作为高职高专及各类大专院校计算机专业的教材,也可作为计算机等级考试和其他从事计算机编程工作人员的参考书。
由于编者水平有限,书中错误和不妥之处在所难免,恳请读者批评指正,并多提宝贵的意见。
编者
第1章 C语言概述 1
1.1 C语言的发展 1
1.2 C语言的特点 1
1.3 C语言的符号 2
1.4 C语言程序结构 3
1.4.1 C语言程序的总体结构 3
1.4.2 函数的一般结构 4
1.4.3 源程序书写格式 5
1.5 Visual C++ 6.0集成环境下C语言
上机操作 6
1.5.1 上机实验操作步骤与要求 6
1.5.2 Visual C++ 6.0系统上机
操作方法 7
习题 13
第2章 数据类型、运算符和表达式 15
2.1 C语言的数据类型 15
2.2 常量与变量 16
2.2.1 常量 16
2.2.2 变量 20
2.3 变量赋初值 23
2.4 各类数值型数据间的混合运算 24
2.5 C语言的运算符和表达式 25
2.5.1 算术运算符和算术表达式 25
2.5.2 关系运算符和关系表达式 27
2.5.3 逻辑运算符和逻辑表达式 28
2.5.4 赋值运算符和赋值表达式 30
2.5.5 条件运算符和条件表达式 31
2.5.6 逗号运算符和逗号表达式 32
2.5.7 求字节数运算 32
2.5.8 位逻辑运算 33
2.5.9 位移运算和位运算赋值
运算符 33
2.5.10 运算符的优先级与结合性 35
2.6 上机实训 36
习题 38
第3章 顺序结构程序设计 41
3.1 C语句概述 41
3.2 程序的三种基本结构 42
3.3 赋值语句 43
3.4 格式输入与输出 44
3.4.1 printf()函数(格式输出函数) 45
3.4.2 scanf()函数(格式输入函数) 49
3.5 字符数据的输入/输出函数 53
3.5.1 putchar函数(字符输出函数) 53
3.5.2 getchar()函数(字符输入函数) 54
3.6 顺序结构程序设计举例 55
3.7 上机实训 58
习题 59
第4章 选择结构程序设计 62
4.1 程序流程图 62
4.2 if语句 64
4.2.1 if语句的三种格式 64
4.2.2 if语句的嵌套 68
4.3 多分支选择语句(switch语句) 70
4.4 程序综合举例 76
4.5 上机实训 81
习题 81
第5章 循环结构程序设计 86
5.1 for语句 86
5.1.1 for语句的一般形式和
执行过程 86
5.1.2 for语句的各种形式 87
5.1.3 for循环程序举例 88
5.2 while语句 90
5.2.1 while语句的一般形式和
执行过程 90
5.2.2 使用while语句应注意的
问题 91
5.3 do-while语句 92
5.3.1 do-while语句的一般形式和
执行过程 92
5.3.2 使用do-while语句应注意的
问题 93
5.4 多重循环 93
5.5 break语句和continue语句 94
5.5.1 break语句 95
5.5.2 continue语句 95
5.6 程序综合举例 97
5.7 上机实训 100
习题 101
第6章 数组 106
6.1 一维数组 106
6.1.1 一维数组的定义 106
6.1.2 一维数组元素的引用 107
6.1.3 一维数组元素的初始化 108
6.1.4 一维数组的应用举例 109
6.2 二维数组 111
6.2.1 二维数组的定义 111
6.2.2 二维数组元素的引用 112
6.2.3 二维数组元素的初始化 112
6.2.4 二维数组的应用举例 113
6.3 字符数组 114
6.3.1 字符数组的定义 114
6.3.2 字符数组的初始化 114
6.3.3 字符数组的引用及
应用举例 115
6.3.4 字符串处理函数 118
6.4 程序综合举例 120
6.5 上机实训 125
习题 125
第7章 函数及编译预处理 130
7.1 函数的定义和调用 130
7.1.1 函数的定义 130
7.1.2 函数说明与调用 131
7.1.3 函数的返回值 133
7.2 变量的作用域 134
7.2.1 局部变量 134
7.2.2 全局变量 134
7.3 变量的存储类型 137
7.3.1 静态存储方式和动态
存储方式 137
7.3.2 变量的存储类型 137
7.4 函数间的数据传送 140
7.4.1 传值方式 140
7.4.2 地址复制方式 141
7.4.3 利用参数返回结果 142
7.4.4 利用函数返回值传递数据 142
7.4.5 利用全局变量传递数据 142
7.5 函数的嵌套调用和递归调用 142
7.5.1 函数嵌套调用 142
7.5.2 函数递归调用 144
7.6 内部函数和外部函数 145
7.6.1 内部函数 145
7.6.2 外部函数 146
7.7 编译预处理 146
7.7.1 宏定义 146
7.7.2 文件包含 150
7.8 程序综合举例 152
7.9 上机实训 160
习题 160
第8章 指针 167
8.1 地址、指针和变量 167
8.1.1 地址和指针的基本概念 167
8.1.2 指针变量类型的定义 169
8.1.3 指针变量的赋值 169
8.2 指针运算 171
8.2.1 指针运算符 171
8.2.2 指针变量的运算 172
8.3 指针与数组 174
8.3.1 数组指针 174
8.3.2 字符指针 184
8.3.3 指针数组 188
8.4 函数与指针 191
8.4.1 函数的指针 191
8.4.2 返回指针值的函数 192
8.4.3 指向指针的指针 193
8.5 程序综合举例 195
8.6 上机实训 200
8.6.1 实训1 200
8.6.2 实训2 201
8.6.3 实训3 202
习题 203
第9章 结构体、共用体和枚举类型 207
9.1 结构体类型 207
9.1.1 结构体类型的用途 207
9.1.2 结构体类型的构建及
结构体变量的定义 208
9.1.3 结构体变量的使用 211
9.1.4 结构体数组应用实例 213
9.2 自定义类型 215
9.2.1 自定义类型的定义及使用 215
9.2.2 自定义类型编程实例 216
9.3 结构体指针 220
9.3.1 指向结构体变量的指针 220
9.3.2 用结构体指针处理链表 222
9.4 枚举类型 230
9.4.1 C语言枚举类型的
语法规定 230
9.4.2 枚举类型应用实例 233
9.5 共用体 235
9.6 程序综合举例 236
9.7 上机实训 239
习题 239
第10章 文件 248
10.1 文件的基本概念 248
10.1.1 文件 248
10.1.2 文件名称 248
10.1.3 两种重要的文件类型 249
10.1.4 文件的缓冲机制 250
10.1.5 FILE指针 251
10.1.6 文件位置指针 252
10.1.7 文件结束符 252
10.1.8 访问文件 253
10.2 文件的打开与关闭 253
10.2.1 打开文件函数fopen() 253
10.2.2 关闭文件函数fclose() 255
10.3 文件的顺序读写 255
10.3.1 字符读写函数 255
10.3.2 字符串读写函数 257
10.3.3 格式化读写函数 259
10.3.4 数据块读写函数 261
10.4 文件的随机读写 263
10.5 文件检测 266
10.6 程序综合举例 267
10.7 上机实训 270
习题 271
附录A ASCII代码表 275
附录B 常用库函数 276
参考文献 286
第2章 数据类型、运算符和表达式
【本章要点】
本章主要介绍C语言的变量和常量的基本概念;各种数据类型的定义;变量赋值和初始化的方法;基本运算符的运算规则、优先级和表达式。本章内容是学习C语言程序设计最基础的部分,通过本章的学习,学生应当能定义各种数据类型,根据要求运用运算符建立一般表达式和编写简单程序。
2.1 C语言的数据类型
数据类型是指数据在计算机内存中的表现形式,也可以说是数据在程序运行过程中的特征。C语言的数据类型分类如图2.1所示。
图2.1 C语言的数据类型分类
(1) 基本类型:包含整型、实型(又称浮点型)和字符型三种。
(2) 构造类型:包含数组类型、结构体类型、联合类型(即共用类型)和枚举类型四种。数组类型将在第6章介绍,结构体类型、枚举类型和联合类型将在第9章介绍。
(3) 指针类型:指针是一种特殊的,同时又是具有重要作用的数据类型。其值用来表示某个变量在内存中的地址。指针类型将在第8章介绍。
(4) 空类型:空类型void用来声明函数的返回值类型为空(即不需要函数的返回值)。空类型将在第7章介绍。
C语言中的数据,有常量和变量之分,它们都具有上述这些类型。
本章将介绍基本类型中的整型、实型和字符型三种数据。
整型有基本整型、短整型、长整型、无符号整型、无符号短整型、无符号长整型;实型有单精度实型和双精度实型。以上数据的类型关键字以及在Visual C++ 6.0环境中占用的字节数和取值范围如表2.1所示。
表2.1 Visual C++ 6.0基本类型的长度和取值范围
类型关键字
长度/节数
取值范围
说 明
int
2
-32 768~32 767
有符号基本整型
unsigned
2
0~65 535
无符号基本整型
short
2
-32 768~32 767
有符号短整型
unsigned short
2
0~65 535
无符号短整型
long
4
-2 147 483 648~2 147 483 647
有符号长整型
unsigned long
4
0~4 294 967 295
无符号长整型
float
4
-3.4×1038~3.4×1038
单精度实型
double
8
1.7×10308 ~1.7×10308
双精度实型
char
1
0~255
字符型