书籍信息
定价:29.50元
ISBN:9787302206378
内容简介
本书是从结构化程序设计的角度来编写的,各章节结构紧凑,前后衔接紧密。在内容上,改变传统C程序设计图书中各控制流程占据过多篇幅而不能突出结构化、模块化程序设计的安排,将“控制流程”的语法内容集中在一个章节中,而将各种“控制流程”的应用在随后章节中体现。为了能够强化结构化程序设计方法,本书以较大篇幅介绍“函数”,并在每个实例中分析其功能模块的结构设计。“指针”是C语言功能强大的体现,也是教学中的难点,为了使读者更好地理解“指针”的概念,书中着重分析了指针与“数组”、函数以及字符串的关系。此外,为了设计优良的程序,也将数据结构的概念在“结构体”这一章中体现,并介绍简单数据结构及应用,为不同专业的学生后续学习打下良好的基础。书中各章还附有习题。
本书主要针对高等院校建筑类专业的学生编写,在实例中体现了其专业的应用领域特色
图书目录
第1章 C语言概述1
1.1 C语言的发展过程1
1.1.1 C语言的地位2
1.1.2 C语言的特点3
1.2 编写一个简单C语言程序4
1.2.1 C语言程序运行步骤5
1.2.2 C语言程序编译环境6
习题14
第2章 数据类型及基本输入输出15
2.1 基本数据类型15
2.2 标识符15
2.3 常量16
2.3.1 数值常量16
2.3.2 标识符常量18
2.4 变量19
2.4.1 变量的定义19
2.4.2 变量类型及存储单元20
2.4.3 变量的初始化23
2.5 数据类型的混合运算24
2.5.1 自动类型转换规则24
2.5.2 强制类型转换25
2.6算术运算符与算术表达式26
2.6.1C语言的运算符26
2.6.2基本的算术运算符27
2.6.3算术表达式27
2.6.4算术运算符的优先级、结合性27
2.6.5自增、自减运算符28
2.7赋值运算符与赋值表达式29
2.7.1基本赋值运算符29
2.7.2复合赋值运算符29
2.7.3类型转换30
2.8逗号运算符与逗号表达式31
2.8.1逗号运算符31
2.8.2逗号表达式31
2.9基本输入输出函数32
2.9.1数据输入输出的概念及在C语言中的实现32
2.9.2字符数据的输入输出33
2.9.3格式输入输出35
习题44
第3章控制流程47
3.1算法47
3.1.1算法概述47
3.1.2算法的特性49
3.1.3算法的表示方法49
3.1.4流程图49
3.1.5三种基本结构和改进的流程图50
3.1.6N-S流程图53
3.2顺序结构程序设计54
3.2.1表达式语句54
3.2.2函数调用语句55
3.2.3控制语句55
3.2.4复合语句56
3.2.5空语句57
3.3选择结构程序设计57
3.3.1关系运算符及关系表达式57
3.3.2逻辑运算符及逻辑表达式58
3.3.3if语句61
3.3.4switch语句69
3.4循环结构71
3.4.1goto语句72
3.4.2while语句72
3.4.3do…while语句74
3.4.4for语句76
3.4.5循环语句的嵌套78
3.5break与continue语句79
3.5.1break语句79
3.5.2continue语句80
3.6应用实例81
习题85
第4章数组89
4.1一维数组89
4.1.1一维数组的定义89
4.1.2一维数组的初始化90
4.1.3一维数组的引用91
4.2二维数组92
4.2.1二维数组的定义92
4.2.2二维数组的初始化93
4.2.3二维数组的引用95
4.3字符数组96
4.3.1字符数组的定义96
4.3.2字符数组的初始化97
4.3.3字符数组的引用97
4.4数组与存储单元97
4.4.1一维数组元素的存储98
4.4.2二维数组元素的存储98
4.4.3字符串的存储99
4.5应用实例99
习题103
第5章函数105
5.1结构化程序设计方法105
5.1.1自顶向下、逐步细化的方法106
5.1.2系统的模块设计106
5.1.3结构化编码107
5.2函数的定义108
5.2.1无参函数的定义形式108
5.2.2有参函数的定义形式109
5.3函数的调用110
5.3.1实参与形参110
5.3.2函数的返回值112
5.4函数的嵌套调用和递归调用112
5.4.1函数的嵌套调用113
5.4.2函数的递归调用114
5.5数组作为函数的参数传递117
5.5.1数组元素作函数实参117
5.5.2数组名作函数参数118
5.6存储类别和变量的作用域123
5.6.1动态存储方式与静态存储方式123
5.6.2auto变量123
5.6.3用static声明局部变量124
5.6.4register变量125
5.6.5用extern声明外部变量126
5.6.6变量的作用域126
5.7应用实例130
习题139
第6章指针140
6.1指针的概念140
6.2指针与指针的运算141
6.2.1指针定义与初始化141
6.2.2指针的运算142
6.2.3直接引用与间接引用144
6.2.4多级间址147
6.3指针与数组148
6.3.1指针与一维数组的关系148
6.3.2指针与二维数组的关系150
6.3.3指向一个由n个元素组成的数组指针152
6.3.4指针数组154
6.3.5动态数组156
6.4指针与函数159
6.4.1指针作函数的形参161
6.4.2数组与指针作函数的形参的比较162
6.4.3返回指针值的函数167
6.4.4指向函数的指针169
6.5指针与字符串172
6.5.1字符串的表示方法172
6.5.2字符指针作函数参数174
6.5.3字符型指针数组176
6.6带参数的main函数177
6.7应用实例178
6.7.1需要多个返回值时采用指针作参数的实例178
6.7.2用指针实现更为灵活的数组操作的实例181
6.7.3指针与字符串的应用实例183
习题186
第7章结构体190
7.1概述190
7.2结构体类型的定义191
7.3结构体变量的定义及初始化191
7.3.1结构体变量的定义191
7.3.2结构体成员的引用193
7.3.2结构体变量的初始化194
7.4结构体数组196
7.4.1结构体数组的定义197
7.4.2结构体数组的初始化197
7.4.3结构体数组的应用实例198
7.5指针与结构体203
7.5.1结构体指针的定义与使用204
7.5.2指向结构体数组的结构体指针205
7.5.3结构体指针作函数参数207
7.6联合体209
7.7枚举212
7.8用typedef定义类型215
7.9应用实例216
7.9.1简单结构体变量的参数传递216
7.9.2结构体数组的排序218
7.9.3结构体、联合体以及枚举的综合实例221
习题224
第8章简单数据结构226
8.1数据结构概述226
8.2顺序表226
8.2.1顺序表的创建227
8.2.2顺序表的插入228
8.2.3顺序表的删除231
8.3链表232
8.3.1单链表的创建233
8.3.2单链表的插入235
8.3.3单链表的删除238
8.4栈240
8.4.1栈的创建241
8.4.2栈的入栈操作243
8.4.3栈的出栈操作244
8.5队列250
8.5.1队列的创建251
8.5.2队列的入队操作253
8.5.3队列的出队操作254
8.6应用实例260
8.6.1链表应用实例260
8.6.2栈的应用实例264
8.6.3队列的应用实例267
习题271
第9章预处理命令273
9.1#include预处理命令273
9.2#define命令274
9.2.1无参#define命令274
9.2.2有参#define命令276
9.3条件编译命令277
9.3.1#if、#else、#elif以及#endif命令277
9.3.2#ifdef与#ifndef命令279
习题280
第10章文件282
10.1文件概述282
10.2文件结构体284
10.3文件打开与关闭函数285
10.3.1文件打开函数(fopen函数)285
10.3.2文件关闭函数(fclose函数)287
10.4输入与输出函数288
10.4.1fgetc函数与fputc函数288
10.4.2fgets函数与fputs函数292
10.4.3fread函数与fwrite函数294
10.4.4fscanf函数与fprintf函数295
10.5fseek函数和二进制随机文件297
10.5.1文件定位297
10.5.2文件的随机读写298
10.6应用实例299
习题305
参考文献308