程序设计基础教程 C语言
作者:常东超,刘培胜,郭来德等编著
出版时间: 2019年版
内容简介
本书是参照全新计算机等级考试(二级C语言)教学大纲及C99的新特性并根据高校全新C语言程序设计教学大纲要求编写而成;全书分为10章,主要内容有程序设计基础理论和C程序的基本组成以及程序开发过程;C语言的基本数据类型、运算符、表达式、数据类型转换及标准的输入输出函数;C语言的基本语句和流程控制语句;数组、函数、指针的概念及用法;C语言的编译预处理功能;C语言结构体与共用体、C语言中文件的相关概念以及文件的各种操作方法;最后附录部分介绍了C程序设计的常用库函数。 本书既可以作为高等学校本科计算机C语言程序设计教材,也可以作为培养读者计算机编程能力和参加全国计算机等级考试(C语言)的自学参考书。 本书另配有电子教案(PPT格式)与课后习题解答(Word格式),联系邮箱:changdc885@126.com。
目录
第1章C语言程序设计概述1
1.1程序和程序设计的基本概念1
1.2算法与程序设计2
1.2.1算法的基本特征2
1.2.2算法的基本要素3
1.2.3算法描述的方法4
1.2.4程序设计5
1.3C语言简介7
1.3.1C语言的发展历史7
1.3.2C语言的特点8
1.3.3C语言程序的基本结构及书写规则9
1.3.4C语言的基本标识符11
习题12
第2章数据类型、运算符与表达式14
2.1C语言的数据类型14
2.2整型常量与变量14
2.2.1常量与变量的概念14
2.2.2整型常量15
2.2.3整型变量15
2.3实型常量与变量17
2.3.1实型常量17
2.3.2实型变量17
2.4字符型常量与变量19
2.4.1字符常量19
2.4.2字符串常量20
2.4.3符号常量21
2.4.4字符型变量21
2.5赋值运算符和赋值表达式22
2.6算术运算符和算术表达式24
2.6.1C语言运算符简介24
2.6.2基本算术运算符和算术表达式24
2.6.3复合赋值运算符及表达式25
2.6.4各类数值型数据之间的混合运算26
2.6.5自增与自减运算符28
2.7逗号运算符和逗号表达式29
2.8位运算符30
2.8.1位运算符和位运算介绍30
2.8.2位运算赋值运算符34
2.9变量的地址和指针型变量34
2.9.1变量的地址和指针型变量的概念34
2.9.2指针型变量的定义和指针变量的基类型35
2.9.3给指针变量赋值36
2.9.4对指针变量的操作37
习题39
第3章顺序结构程序设计43
3.1C语句概述43
3.2数据的输入/输出45
3.2.1字符输入/输出函数46
3.2.2格式输入/输出函数47
3.3程序举例55
习题57
第4章分支结构程序设计61
4.1关系运算符和关系表达式61
4.1.1关系运算符61
4.1.2关系表达式62
4.2逻辑运算符和逻辑表达式63
4.2.1逻辑运算符63
4.2.2逻辑表达式64
4.3if语句以及用if语句构成的分支结构64
4.3.1if语句的两种基本形式65
4.3.2嵌套的if语句67
4.3.3条件表达式构成的分支结构70
4.4switch语句71
4.4.1switch语句及用switch语句构成的分支结构71
4.4.2在switch语句体中使用break语句73
4.5程序举例74
习题76
第5章循环结构程序设计80
5.1while语句以及用while语句构成的循环结构80
5.1.1while循环的一般形式80
5.1.2while循环的执行过程81
5.2do-while语句以及用do-while语句构成的循环结构83
5.2.1do-while语句构成的循环结构83
5.2.2do-while循环的执行过程83
5.3for语句以及用for语句构成的循环结构86
5.3.1for语句构成的循环结构86
5.3.2for循环的执行过程86
5.3.3有关for语句的说明87
5.4break语句和continue语句在循环结构中的应用90
5.4.1break语句90
5.4.2continue语句90
5.5循环的嵌套91
5.6三种循环的比较94
5.7程序举例94
习题97
第6章数组与指针103
6.1一维数组103
6.1.1一维数组的定义103
6.1.2一维数组元素的引用104
6.1.3一维数组的初始化107
6.1.4一维数组程序举例107
6.2二维数组111
6.2.1二维数组的定义111
6.2.2二维数组元素的引用111
6.2.3二维数组的初始化113
6.2.4二维数组程序举例114
6.3字符数组和字符串118
6.3.1字符数组118
6.3.2字符串118
6.3.3字符串的输入输出120
6.3.4字符串处理函数121
6.3.5程序举例124
6.4数组和指针126
6.4.1一维数组和指针126
6.4.2二维数组的地址130
6.4.3指向二维数组的指针变量131
6.4.4指针数组的定义和应用133
6.5字符串和指针135
6.5.1单个字符串的处理方法135
6.5.2多个字符串的处理方法137
6.5.3字符串程序举例139
6.6指向指针的指针142
习题145
第7章函数与指针147
7.1概述147
7.2函数的定义147
7.3函数的参数和函数的值149
7.3.1形式参数和实际参数149
7.3.2函数的返回值151
7.4函数的调用152
7.4.1函数的简单调用152
7.4.2函数的嵌套调用154
7.4.3函数的递归调用155
7.5函数与指针160
7.5.1指针变量作为函数参数160
7.5.2数组作为函数参数160
7.5.3返回指针值的函数163
7.5.4指向函数的指针164
7.6有关指针的数据类型和指针运算的小结166
7.6.1有关指针的数据类型的小结166
7.6.2指针运算的小结166
7.6.3void指针类型167
7.7变量的作用域167
7.7.1局部变量167
7.7.2全局变量168
7.8变量的存储类别170
7.8.1动态存储方式与静态存储方式170
7.8.2auto变量171
7.8.3用static声明局部变量171
7.8.4register变量172
7.8.5用extern声明外部变量173
习题173
第8章编译预处理183
8.1宏定义183
8.1.1无参宏定义183
8.1.2带参宏定义185
8.2文件包含188
习题189
第9章结构体与共用体191
9.1结构体类型的定义191
9.2结构体类型变量193
9.2.1结构体变量的定义193
9.2.2结构体变量的引用194
9.2.3结构体变量的初始化196
9.2.4结构体变量的输入与输出196
9.3结构体类型数组197
9.3.1结构体数组的定义197
9.3.2结构体数组的初始化198
9.3.3结构体数组的引用198
9.4结构体类型指针200
9.4.1指向结构体变量的指针200
9.4.2指向结构体数组的指针202
9.5结构体与函数203
9.5.1结构体变量作为函数参数203
9.5.2指向结构体变量的指针作为函数参数204
9.5.3函数的返回值为结构体类型206
9.6链表208
9.6.1链表概述208
9.6.2处理动态链表所需的函数210
9.6.3链表的基本操作211
9.7共用体220
9.7.1共用体类型与共用体变量220
9.7.2共用体变量的引用221
9.7.3共用体变量的应用223
9.8枚举类型224
9.9用typedef定义类型227
习题228
第10章文件231
10.1文件概述231
10.1.1数据文件231
10.1.2文件的存取方式232
10.1.3文件指针类型232
10.1.4文件操作的步骤232
10.2文件的打开与关闭233
10.2.1文件的打开(fopen函数)233
10.2.2文件的关闭(fclose函数)235
10.3文件的读写235
10.3.1字符读写函数fgetc和fputc235
10.3.2字符串读写函数fgets和fputs237
10.3.3数据块读写函数fread和fwrite239
10.3.4格式化读写函数fscanf和fprintf240
10.4文件的随机读写241
10.4.1文件定位241
10.4.2文件的随机读写函数242
10.5文件检测函数243
习题243
附录245
附录Ⅰ常用字符与ASCII码对照表245
附录ⅡC99标准的新特性246
附录ⅢTurbo C 常用标准库函数247
参考文献261