《C语言程式设计/计算机科学与技术系列》是2013年机械工业出版社出版的图书,作者是曹哲、刘军。
基本介绍
- 中文名:C语言程式设计/计算机科学与技术系列
- 出版社:机械工业出版社
- 页数:379页
- 开本:16
- 定价:49.00
- 作者:曹哲 刘军
- 出版日期:2013年1月1日
- 语种:简体中文
- ISBN:9787111401117
- 品牌:机械工业出版社
内容简介
《C语言程式设计(高等院校规划教材)》(作者曹哲、刘军)以软体工程方法学为指导,以结构化、模组化程式设计方法为主线,由浅入深、循序渐进地介绍C语言的语法和程式设计的基本方法,详细介绍了算法设计过程。 《C语言程式设计(高等院校规划教材)》共12章。其中第1章为C语言程式设计概述,第2章为C语言的基础知识,第3、4、5章分别为顺序、选择、循环3种基本结构的程式设计,第6章为指针的初步知识,第7章为数组,第8章为模组化程式设计,第9章为编译预处理命令,第10章为结构体与共用体,第11章为位运算,第12章为档案。 本书基础知识部分内容细緻、準确,程式设计方法规範、实用,内容与习题配套,附录中给出了各章习题的参考答案。本书配套辅助教材《C语言实验与课程设计指导》也已在机械工业出版社出版。本书可作为高等院校和大、中专院校计算机专业以及理工科各专业“C语言程式设计”课程的主讲教材,也可作为自学用书或相关技术人员的参考书。
C语言是目前使用最广泛的高级程式设计语言之一。“C语言程式设计”课程是计算机及相关专业的一门基础主干课程。为了使读者更好地学习C语言,逐步掌握使用C语言进行结构化、模组化程式设计的方法,本书作者根据几十年程式设计教学的经验编写了本书。
《C语言程式设计(高等院校规划教材)》(作者曹哲、刘军)以软体工程方法学为指导,以结构化、模组化程式设计方法为主线,由浅入深、循序渐进地介绍C语言的语法和程式设计的基本方法,详细介绍了算法设计过程。
《C语言程式设计(高等院校规划教材)》(作者曹哲、刘军)以软体工程方法学为指导,以结构化、模组化程式设计方法为主线,由浅入深、循序渐进地介绍C语言的语法和程式设计的基本方法,详细介绍了算法设计过程。
图书目录
出版说明
前言
第1章 C语言程式设计概述1
1.1 计算机的程式和语言1
1.2 C语言的发展简史3
1.3 C语言的特点4
1.4 C程式的结构6
1.5 结构化程式设计方法简介10
1.5.1 问题分析11
1.5.2 概要设计11
1.5.3 结构化算法设计12
1.5.4 结构化编码17
1.5.5 程式调试和测试17
1.6 如何上机运行C程式18
习题19
第2章 C语言的基础知识21
2.1 C语言的标记符号21
2.1.1 ASCII码和C语言的字元集21
2.1.2 C语言的记号22
2.2 常量与变数22
2.2.1 常量和符号常量23
2.2.2 变数23
2.2.3 把变数声明为常量26
2.3 C语言的数据类型26
2.3.1 整型数据27
2.3.2 浮点型数据29
2.3.3 字元型数据31
2.3.4 枚举数据类型35
2.3.5 空类型(Void Types)36
2.4 运算符与表达式36
2.4.1 算术运算符和算术表达式37
2.4.2 赋值运算符和赋值表达式38
2.4.3 逗号运算符和逗号表达式42
2.4.4 其他几种运算符42
习题44
第3章 顺序结构程式设计47
3.1 C语句简介47
3.2 赋值语句49
3.3 数据的输入输出50
3.3.1 C语言数据输入/输出的实现50
3.3.2 printf格式输出函式51
3.3.3 scanf格式输入函式59
3.3.4 putchar与getchar函式63
3.4 顺序结构程式设计举例65
习题69
第4章 选择结构程式设计73
4.1 关係表达式和逻辑表达式73
4.1.1 关係运算符和关係表达式73
4.1.2 逻辑运算符和逻辑表达式74
4.2 if语句77
4.2.1 if语句的格式和语义77
4.2.2 if语句的嵌套83
4.3 条件运算符和条件表达式86
4.4 switch(多分支选择)语句88
4.5 选择结构程式设计举例90
习题98
第5章 循环结构程式设计103
5.1 用while语句实现典型当型循环结构103
5.2 用do…while语句实现一种直到型循环结构106
5.3 用for语句实现循环结构109
5.4 3种循环的比较112
5.5 循环的嵌套——多重循环113
5.6 break语句、continue语句和goto语句114
5.6.1 break语句114
5.6.2 continue语句115
5.6.3 无条件转向语句(goto语句)118
5.7 循环结构程式设计举例119
习题127
第6章 指针的初步知识132
6.1 指针的概念132
6.2 指针变数的定义和引用134
6.2.1 指针变数的定义134
6.2.2 指针变数的引用135
6.2.3 指向指针的指针137
6.3 指针套用举例138
习题139
第7章 数组141
7.1 一维数组的定义、初始化和引用141
7.1.1 一维数组的定义141
7.1.2 一维数组的初始化142
7.1.3 一维数组元素的引用143
7.1.4 一维数组程式举例145
7.2 一维数组与指针147
7.2.1 指向数组元素的指针148
7.2.2 通过指针引用数组元素149
7.2.3 指针数组154
7.3 二维数组的定义、初始化和引用155
7.3.1 二维数组的定义156
7.3.2 二维数组的初始化157
7.3.3 二维数组元素的引用158
7.3.4 二维数组程式举例159
7.4 多维数组与指针164
7.4.1 二维数组的行地址和列地址164
7.4.2 指向二维数组元素的指针变数167
7.5 字元数组170
7.5.1 字元数组的定义170
7.5.2 字元数组的初始化171
7.5.3 字元数组元素的引用171
7.5.4 字元数组与字元串172
7.5.5 字元数组的格式输入输出174
7.5.6 字元串处理函式175
7.5.7 字元数组套用举例179
7.6 字元串与指针181
7.6.1 引用字元串的两种方式181
7.6.2 字元指针变数与字元数组的比较183
习题186
第8章 模组化程式设计191
8.1 函式和模组的基本概念191
8.2 函式的定义193
8.3 函式的调用195
8.3.1 函式调用的格式和语法地位195
8.3.2 函式调用的执行过程196
8.3.3 实参和形参间的数据传递198
8.3.4 函式的返回值198
8.3.5 对被调函式的声明200
8.4 函式的嵌套调用202
8.5 函式的递归调用204
8.6 指针与数组作为函式参数211
8.6.1 指针作为函式参数211
8.6.2 数组元素作函式的实参212
8.6.3 数组名或指针变数作函式参数213
8.7 局部变数和全局变数219
8.7.1 局部变数219
8.7.2 全局变数220
8.8 变数的存储方式、存储类别和生存期223
8.8.1 动态存储方式与静态存储方式223
8.8.2 局部变数的存储类别224
8.8.3 全局变数的存储类别227
8.8.4 变数的作用域和生存期举例230
8.9 内部函式和外部函式232
8.9.1 内部函式232
8.9.2 外部函式232
8.10 指向函式的指针234
8.11 返回指针值的函式238
8.12 main函式可以带两个形参240
8.13 结构化、模组化程式设计举例242
8.14 运行一个多档案的C程式的方法245
习题247
第9章 编译预处理命令253
9.1 宏定义253
9.1.1 无参宏定义254
9.1.2 有参宏定义255
9.1.3 终止宏定义257
9.2 档案包含258
9.3 编译器控制命令260
9.3.1 #ifdef-#endif命令和#ifndef-#endif命令260
9.3.2 #if-#endif命令261
习题262
第10章 结构体与共用体266
10.1 结构体类型的声明267
10.2 结构体变数的定义、初始化和引用268
10.2.1 结构体变数的定义268
10.2.2 结构体变数的初始化269
10.2.3 结构体变数的引用270
10.3 结构体数组274
10.4 指向结构体变数的指针277
10.5 动态单鍊表278
10.5.1 动态存储管理所需函式279
10.5.2 用typedef定义类型281
10.5.3 动态单鍊表套用举例282
10.6 共用体286
10.6.1 共用体的定义287
10.6.2 共用体变数的初始化和引用287
习题288
第11章 位运算296
11.1 位运算符和位运算296
11.2 位段299
11.3 位运算套用举例300
习题301
第12章 档案304
12.1 档案概述304
12.2 档案的打开与关闭306
12.3 与档案的读写有关的函式309
12.3.1 ferror和clearerr函式309
12.3.2 fwrite和fread函式310
12.3.3 fgetc和fputc函式311
12.3.4 fscanf和fprintf函式312
12.4 档案的定位314
12.4.1 rewind函式314
12.4.2 fseek函式314
12.4.3 ftell函式315
12.5 fflush函式316
12.6 档案操作举例317
习题318
附录320
附录A 字元与ASCII码对照表320
附录B C语言常用字元集321
附录C C语言中的关键字321
附录D 运算符及其优先权与结合性322
附录E 习题参考答案323
附录F Turbo C++ 3.0常见错误信息表378
前言
第1章 C语言程式设计概述1
1.1 计算机的程式和语言1
1.2 C语言的发展简史3
1.3 C语言的特点4
1.4 C程式的结构6
1.5 结构化程式设计方法简介10
1.5.1 问题分析11
1.5.2 概要设计11
1.5.3 结构化算法设计12
1.5.4 结构化编码17
1.5.5 程式调试和测试17
1.6 如何上机运行C程式18
习题19
第2章 C语言的基础知识21
2.1 C语言的标记符号21
2.1.1 ASCII码和C语言的字元集21
2.1.2 C语言的记号22
2.2 常量与变数22
2.2.1 常量和符号常量23
2.2.2 变数23
2.2.3 把变数声明为常量26
2.3 C语言的数据类型26
2.3.1 整型数据27
2.3.2 浮点型数据29
2.3.3 字元型数据31
2.3.4 枚举数据类型35
2.3.5 空类型(Void Types)36
2.4 运算符与表达式36
2.4.1 算术运算符和算术表达式37
2.4.2 赋值运算符和赋值表达式38
2.4.3 逗号运算符和逗号表达式42
2.4.4 其他几种运算符42
习题44
第3章 顺序结构程式设计47
3.1 C语句简介47
3.2 赋值语句49
3.3 数据的输入输出50
3.3.1 C语言数据输入/输出的实现50
3.3.2 printf格式输出函式51
3.3.3 scanf格式输入函式59
3.3.4 putchar与getchar函式63
3.4 顺序结构程式设计举例65
习题69
第4章 选择结构程式设计73
4.1 关係表达式和逻辑表达式73
4.1.1 关係运算符和关係表达式73
4.1.2 逻辑运算符和逻辑表达式74
4.2 if语句77
4.2.1 if语句的格式和语义77
4.2.2 if语句的嵌套83
4.3 条件运算符和条件表达式86
4.4 switch(多分支选择)语句88
4.5 选择结构程式设计举例90
习题98
第5章 循环结构程式设计103
5.1 用while语句实现典型当型循环结构103
5.2 用do…while语句实现一种直到型循环结构106
5.3 用for语句实现循环结构109
5.4 3种循环的比较112
5.5 循环的嵌套——多重循环113
5.6 break语句、continue语句和goto语句114
5.6.1 break语句114
5.6.2 continue语句115
5.6.3 无条件转向语句(goto语句)118
5.7 循环结构程式设计举例119
习题127
第6章 指针的初步知识132
6.1 指针的概念132
6.2 指针变数的定义和引用134
6.2.1 指针变数的定义134
6.2.2 指针变数的引用135
6.2.3 指向指针的指针137
6.3 指针套用举例138
习题139
第7章 数组141
7.1 一维数组的定义、初始化和引用141
7.1.1 一维数组的定义141
7.1.2 一维数组的初始化142
7.1.3 一维数组元素的引用143
7.1.4 一维数组程式举例145
7.2 一维数组与指针147
7.2.1 指向数组元素的指针148
7.2.2 通过指针引用数组元素149
7.2.3 指针数组154
7.3 二维数组的定义、初始化和引用155
7.3.1 二维数组的定义156
7.3.2 二维数组的初始化157
7.3.3 二维数组元素的引用158
7.3.4 二维数组程式举例159
7.4 多维数组与指针164
7.4.1 二维数组的行地址和列地址164
7.4.2 指向二维数组元素的指针变数167
7.5 字元数组170
7.5.1 字元数组的定义170
7.5.2 字元数组的初始化171
7.5.3 字元数组元素的引用171
7.5.4 字元数组与字元串172
7.5.5 字元数组的格式输入输出174
7.5.6 字元串处理函式175
7.5.7 字元数组套用举例179
7.6 字元串与指针181
7.6.1 引用字元串的两种方式181
7.6.2 字元指针变数与字元数组的比较183
习题186
第8章 模组化程式设计191
8.1 函式和模组的基本概念191
8.2 函式的定义193
8.3 函式的调用195
8.3.1 函式调用的格式和语法地位195
8.3.2 函式调用的执行过程196
8.3.3 实参和形参间的数据传递198
8.3.4 函式的返回值198
8.3.5 对被调函式的声明200
8.4 函式的嵌套调用202
8.5 函式的递归调用204
8.6 指针与数组作为函式参数211
8.6.1 指针作为函式参数211
8.6.2 数组元素作函式的实参212
8.6.3 数组名或指针变数作函式参数213
8.7 局部变数和全局变数219
8.7.1 局部变数219
8.7.2 全局变数220
8.8 变数的存储方式、存储类别和生存期223
8.8.1 动态存储方式与静态存储方式223
8.8.2 局部变数的存储类别224
8.8.3 全局变数的存储类别227
8.8.4 变数的作用域和生存期举例230
8.9 内部函式和外部函式232
8.9.1 内部函式232
8.9.2 外部函式232
8.10 指向函式的指针234
8.11 返回指针值的函式238
8.12 main函式可以带两个形参240
8.13 结构化、模组化程式设计举例242
8.14 运行一个多档案的C程式的方法245
习题247
第9章 编译预处理命令253
9.1 宏定义253
9.1.1 无参宏定义254
9.1.2 有参宏定义255
9.1.3 终止宏定义257
9.2 档案包含258
9.3 编译器控制命令260
9.3.1 #ifdef-#endif命令和#ifndef-#endif命令260
9.3.2 #if-#endif命令261
习题262
第10章 结构体与共用体266
10.1 结构体类型的声明267
10.2 结构体变数的定义、初始化和引用268
10.2.1 结构体变数的定义268
10.2.2 结构体变数的初始化269
10.2.3 结构体变数的引用270
10.3 结构体数组274
10.4 指向结构体变数的指针277
10.5 动态单鍊表278
10.5.1 动态存储管理所需函式279
10.5.2 用typedef定义类型281
10.5.3 动态单鍊表套用举例282
10.6 共用体286
10.6.1 共用体的定义287
10.6.2 共用体变数的初始化和引用287
习题288
第11章 位运算296
11.1 位运算符和位运算296
11.2 位段299
11.3 位运算套用举例300
习题301
第12章 档案304
12.1 档案概述304
12.2 档案的打开与关闭306
12.3 与档案的读写有关的函式309
12.3.1 ferror和clearerr函式309
12.3.2 fwrite和fread函式310
12.3.3 fgetc和fputc函式311
12.3.4 fscanf和fprintf函式312
12.4 档案的定位314
12.4.1 rewind函式314
12.4.2 fseek函式314
12.4.3 ftell函式315
12.5 fflush函式316
12.6 档案操作举例317
习题318
附录320
附录A 字元与ASCII码对照表320
附录B C语言常用字元集321
附录C C语言中的关键字321
附录D 运算符及其优先权与结合性322
附录E 习题参考答案323
附录F Turbo C++ 3.0常见错误信息表378