C语言程序设计
2001-8-1
人民邮电出版社
张强华,吕新平 编
本书主要讲述了C语言程序设计的基本理论、基础知识及使用方法。主要内容包括C语言的特点、上机编程方法、常量与变量、表达式、逻辑运算、数组、函数与指针、结构与联合、I/O 函数与文件及预处理等。
本书对基本知识讲述详细清晰,编排上有意把难点分开,避免读者在某一阶段过于吃力;示例丰富,通过例子来启发读者理解概念;在每章后面还附一些启发式思考题,以帮助读者掌握C语言的基本编程技巧。附录收入了库文件、Turbo C编译信息英汉对照和库函数总汇(包括版本、语法格式、功能简述、返回值以及示例程序),并在最后建立了库函数的快速索引,可供读者在编程中长期查阅、参考。
为了方便高职高专的学生参加全国计算机等级考试,本书内容覆盖了C语言等级考试的大纲,并在书的每一章后面附有针对计算机等级考试的辅导,包括'出题思路'、'知识要点'及'典型试题举例',课后的作业也有类似于等级考试的模拟题。
本书适合作为高职高专C语言课教材,也可作为计算机等级考试的辅导教材。
第1章 C语言初步 1
1.1 C语言概览 1
1.1.1 C语言发展历程简述 1
1.1.2 C语言的优点 1
1.1.3 C语言的缺点 2
1.1.4 C语言源程序的结构特征 2
1.1.5 C语言源程序的书写要求 4
1.1.6 最小的C函数 5
1.1.7 函数的组成部分 5
1.1.8 C语言的字符集 5
1.1.9 C语言字符 5
1.2 简述两个最常用的输入和输出函数 7
等级考试指导 8
练习题 10
第2章 常量 12
2.1 整型常量 12
2.1.1 八进制整常数 12
2.1.2 十六进制整常数 12
2.1.3 十进制整常数 12
2.1.4 整型常数的后缀 12
2.2 实型常量 13
2.2.1 十进制数形式 13
2.2.2 指数形式 13
2.3 字符常量 13
2.3.1 字符常量的构成 13
2.3.2 转义字符 13
2.3.3 字符串常量 14
2.4 符号常量 14
等级考试指导 15
练习题 17
第3章 变量 19
3.1 变量的基本知识 19
3.1.1 变量的含义 19
3.1.2 变量的命名 19
3.1.3 变量的存储 19
3.2 整型变量 19
3.2.1 什么是整型变量 19
3.2.2 整型变量的分类 20
3.2.3 整型变量的说明 20
3.3 实型变量 21
3.4 字符变量 22
等级考试指导 24
练习题 25
第4章 基本运算符和表达式 26
4.1 运算符的种类 26
4.2 算术运算符 27
4.3 自增自减运算符 28
4.4 表达式 30
4.4.1 强制转换与优先级 30
4.4.2 算术表达式 31
4.4.3 赋值运算符和表达式 31
4.4.4 逗号运算符和逗号表达式 32
4.5 逻辑运算 33
4.5.1 关系运算 33
4.5.2 关系表达式 33
4.5.3 逻辑运算符 34
4.5.4 逻辑表达式 35
4.6 条件运算符和条件表达式 35
等级考试指导 36
练习题 39
第5章 输入输出语句 42
5.1 printf函数 42
5.1.1 printf函数的最简单形式 42
5.1.2 转义字符的使用 42
5.1.3 printf函数调用的一般形式 44
5.1.4 格式字符串 45
5.2 scanf函数 48
5.2.1 scanf函数的一般形式 48
5.2.2 scanf函数的格式说明符 48
5.2.3 使用scanf函数的注意事项 49
5.3 其他输入输出函数 49
5.3.1 getch与getchar函数 49
5.3.2 gets函数 50
5.3.3 putch与putchar函数 50
5.3.4 puts函数 51
等级考试指导 51
练习题 53
第6章 算法初步 54
6.1 算法的概念 54
6.1.1 什么是算法 54
6.1.2 算法的特性 54
6.1.3 算法设计的要求 55
6.2 算法的表示方法 56
6.2.1 自然语言表示算法 56
6.2.2 传统流程图表示法 56
6.2.3 用N-S流程图表示算法 57
6.2.4 用伪码表示算法 58
6.3 结构化程序设计 58
6.3.1 三种基本结构 58
6.3.2 结构化程序设计 59
6.3.3 结构化程序设计中的注意事项 59
6.3.4 算法的合理性与优化 61
等级考试指导 63
练习题 64
第7章 程序设计基础 65
7.1 语句与流程 65
7.1.1 表达式语句 65
7.1.2 函数调用语句 65
7.1.3 控制语句 65
7.1.4 复合语句 66
7.1.5 空语句 66
7.1.6 程序的流程 66
7.2 if语句 66
7.2.1 基本形式 66
7.2.2 if-else形式 67
7.2.3 if-else-if形式 68
7.2.4 if语句中应注意的问题 69
7.2.5 if语句的嵌套 70
7.3 switch-case语句 72
7.4 循环结构程序 74
7.4.1 while语句 74
7.4.2 do-while语句 75
7.4.3 for语句 77
7.4.4 break语句 79
7.4.5 continue语句 80
7.4.6 goto语句 80
等级考试指导 81
练习题 84
第8章 数组 87
8.1 数组基础 87
8.1.1 数组类型说明 87
8.1.2 数组元素的表示方法 88
8.1.3 数组的赋值 89
8.2 二维数组 91
8.2.1 二维数组的定义 91
8.2.2 二维数组元素的表示方法 91
8.2.3 二维数组的初始化 92
8.2.4 动态赋值 93
8.3 字符数组 93
8.3.1 字符数组的一般情况 93
8.3.2 字符串 93
8.3.3 字符串常用函数 95
等级考试指导 98
练习题 100
第9章 函数与变量 102
9.1 函数定义 102
9.1.1 根据来源定义 102
9.1.2 根据返回情况定义 102
9.1.3 根据参数传递定义 103
9.2 函数定义与使用 103
9.2.1 无参函数定义的一般形式 103
9.2.2 有参函数定义的一般形式 103
9.2.3 函数声明 105
9.2.4 函数调用 106
9.2.5 函数调用的类型 107
9.3 变量的作用域 109
9.3.1 局部变量 109
9.3.2 全局变量 110
9.4 变量的存储类型 112
9.4.1 概说 112
9.4.2 动态变量 113
9.4.3 静态变量 115
9.5 内部函数和外部函数 117
9.5.1 内部函数 117
9.5.2 外部函数 117
等级考试指导 118
练习题 120
第10章 编译预处理 123
10.1 宏 123
10.1.1 无参宏定义 123
10.1.2 带参数的宏 125
10.2 文件包含 127
10.2.1 文件包含的概念 127
10.2.2 文件包含的注意事项 128
10.3 条件编译 128
10.3.1 第一种形式 128
10.3.2 第二种形式 129
10.3.3 第三种形式 129
等级考试指导 130
练习题 131
第11章 指针 133
11.1 指针的基本概念 133
11.1.1 了解指针 133
11.1.2 指针变量的类型说明 133
11.1.3 指针变量的赋值 134
11.2 指针变量的运算 134
11.2.1 指针运算符 135
11.2.2 指针变量的运算 135
11.3 数组指针变量的说明和使用 137
11.3.1 数组的存储方式 137
11.3.2 数组指针变量 137
11.4 字符串指针变量的说明和使用 138
11.5 函数指针变量 139
11.5.1 函数指针变量的定义 139
11.5.2 函数指针变量的调用 140
11.5.3 函数指针变量的赋值 141
11.5.4 函数指针变量的无参调用 141
11.6 指针型函数 141
11.6.1 指针型函数的定义 141
11.6.2 指针型函数必须在主函数中说明 141
11.6.3 局部变量不可返回 141
11.6.4 一致性 142
11.6.5 区别指针型函数与函数指针 142
等级考试指导 142
练习题 144
第12章 结构体、共用体和位运算 147
12.1 结构变量 147
12.1.1 结构体的定义 147
12.1.2 结构类型变量的说明 148
12.1.3 结构变量成员的表示方法 148
12.1.4 结构变量的赋值 149
12.1.5 结构变量的初始化 149
12.2 结构数组 150
12.2.1 结构数组概述 150
12.2.2 结构数组的初始化 151
12.3 结构指针变量 152
12.3.1 结构指针变量概述 152
12.3.2 结构变量的使用 152
12.4 联合类型的定义和联合变量的说明 154
12.4.1 联合的定义 154
12.4.2 联合变量的说明 155
12.5 联合变量的赋值和使用 156
12.5.1 赋值 156
12.5.2 使用联合应注意的问题 157
12.6 位运算符 157
12.6.1 几个基本概念 158
12.6.2 位运算符 159
12.7 链表 160
12.7.1 链表概述 160
12.7.2 链表的建立 161
12.7.3 链表的遍历 163
12.7.4 删除结点 164
12.7.5 插入结点 164
等级考试指导 166
练习题 169
第13章 文件与I/O函数 172
13.1 文件的基本概念 172
13.1.1 磁盘文件 172
13.1.2 设备文件 172
13.1.3 标准设备文件 172
13.1.4 两种文件I/O系统 173
13.1.5 文件控制结构 173
13.1.6 文件型指针 173
13.2 文件的打开与关闭函数 173
13.2.1 打开文件 173
13.2.2 关闭文件 175
13.3 文件的一般读写 176
13.3.1 字符读写函数 176
13.3.2 字符串读写函数 179
13.3.3 数据块读写函数 180
13.3.4 格式化读写函数 181
13.4 文件定位与随机读写 182
13.4.1 回拨指针函数rewind() 182
13.4.2 移动指针函数fseek() 182
13.4.3 取当前指针位置函数 183
13.4.4 文件的随机读写 183
13.5 文件检测函数 184
13.5.1 文件结束检测函数feof 184
13.5.2 读写文件出错检测函数ferror 184
13.5.3 文件出错标志和文件结束标志置0函数clearerr 185
等级考试指导 185
练习题 187
第14章 C语言实验指导 189
14.1 实验概述 189
14.1.1 实验的重要性 189
14.1.2 实验的目标 189
14.1.3 实验步骤 190
14.2 C语言程序的调试过程 190
14.2.1 编辑源程序 191
14.2.2 编译源程序 191
14.2.3 连接目标程序 192
14.2.4 运行可执行程序 192
14.3 Turbo C集成开发环境 192
14.3.1 启动TC 192
14.3.2 主菜单项的意义 192
14.3.3 选择菜单项 193
14.3.4 快速参考行 193
14.3.5 TC的编辑器 194
14.3.6 调试源程序的步骤 194
14.3.7 调试程序的高级技巧 198
14.4 MS C上机过程 200
14.4.1 MS C编译系统的组成 200
14.4.2 MS C上机步骤 200
实训 201
实训1 C语言运行环境 201
实训2 常量的作用 202
实训3 变量的作用 205
实训4 运算符与表达式 206
实训5 程序设计方法 206
实训6 数组的使用及字符操作 207
实训7 函数及其使用 208
实训8 变量的作用范围及其存储 208
实训9 指针的使用 209
实训10 结构体和联合体的使用 210
实训11 文件操作 211
附录1 库文件 212
附录2 Turbo C编译信息英汉对照 214
附录3 库函数总汇 225