新書推薦:
《
经纬度丛书·州县之民:治乱之间的小民命运
》
售價:HK$
96.8
《
女性史:古代卷(真正意义上的女性大历史)
》
售價:HK$
123.2
《
你当我好骗吗?
》
售價:HK$
120.9
《
跨代伴侣治疗
》
售價:HK$
96.8
《
精华类化妆品配方与制备手册
》
售價:HK$
217.8
《
经纬度丛书:出祁山:诸葛亮北伐得与失
》
售價:HK$
96.8
《
心理治疗中的真意:心理治疗师的心灵之旅
》
售價:HK$
96.8
《
心理咨询与治疗技术经典入门(第3版)
》
售價:HK$
142.9
|
內容簡介: |
《C语言程序设计》全书共12章,主要内容包括:第1章,介绍了程序设计语言及 C语言的发展历程和开发环境;第2章,剖析C语言程序的基本结构和基本元素;第3~第5章,介绍了 C 语言的选择、循环程序控制结构和函数的基本概念及使用;第6章,介绍了3种基本数据类型及8类运算符和表达式;第7~第9章,介绍了数组、结构体、共用体、枚举和指针等几种构造类型的定义和使用方法;第10章,介绍了函数的嵌套调用、递归调用、变量的作用域和生存期及编译预处理命令;第11章,介绍了更复杂的指针进阶操作,包括指针数组与多级指针、指向二维数组的指针变量、动态分配内存、指针与函数的关系及单向链表等;第 12 章,介绍了文件的打开、关闭和读写等操作。本书在准确讲解概念的基础上引入了大量实例,由浅入深、层层递进地分析题目及可能的变形求解,旨在培养学生的自主思考能力和实践动手能力,每章后均附有例题和习题。本书内容丰富、结构合理,可作为师范类院校学生的程序设计课程教材或计算机公共课的教材,也可作为高职、高专及非计算机专业本科学生的计算机教材,同时还可以作为编程工作者或编程爱好者的自学用书。,以帮助读者更好掌握概率知识,同时还配有名词与符号索引,方便读者在书中查找相关知识内容。
|
關於作者: |
尹乾,女,博士,北京师范大学副教授,计算机系主任,主要教授:C语言程序设计、C 语言程序设计、汇编语言、VB程序设计、数据库等
|
目錄:
|
第1章 C语言概述 /1
1.1 程序设计语言简述1
1.2 C语言的历史 1
1.3 C语言的优点 3
1.4 开发环境 4
1.4.1 开发工具介绍 4
1.4.2 Code::Blocks下载与安装 5
习 题 6
第2章 编写基本的C程序 /7
2.1 第一个 C程序 7
2.2 编译运行“HelloWorld”程序 12
2.3 显示更多内容 12
2.4 常量、变量和数据类型 15
2.4.1 常量 …………………………………………… 15
2.4.2 变量定义与使用 ……………………………… 16
2.5 算术运算和赋值 …………………………………… 17
2.6 格式化输出函数printf()………………………… 19
2.7 关系运算和选择执行 …………………………… 21
2.8 格式化输入函数scanf()………………………… 22
2.9 数学库函数 ………………………………………… 23
2.10 for循环结构 ……………………………………… 24
习 题 ……………………………………………………… 26
第3章 选择结构 /28
3.1 if语句 ……………………………………………… 28
3.1.1 if语句的一般形式……………………………… 28
3.1.2 if语句的应用举例……………………………… 28
1
■ C语言程序设计
3.1.3 if语句嵌套及应用举例 ……………………………………………… 32
3.2 switch语句 ……………………………………………………………… 39
3.2.1 switch语句的一般形式 ……………………………………………… 39
3.2.2 switch语句应用案例 ………………………………………………… 39
3.3 选择结构程序设计综合案例…………………………………………… 43
习 题 …………………………………………………………………………… 51
第4章 循环结构 /52
4.1 for语句 …………………………………………………………………… 52
4.1.1 for语句的一般形式 ………………………………………………… 52
4.1.2 for循环应用案例 …………………………………………………… 53
4.2 while语句 ………………………………………………………………… 63
4.2.1 while语句的一般形式 ……………………………………………… 63
4.2.2 while循环应用案例 ………………………………………………… 64
4.3 do-while语句 …………………………………………………………… 65
4.3.1 do-while语句的一般形式 …………………………………………… 65
4.3.2 do-while循环应用案例 ……………………………………………… 66
4.4 break语句和continue语句 …………………………………………… 70
4.4.1 break语句的一般形式及应用举例 ………………………………… 70
4.4.2 continue语句的一般形式及应用举例 ……………………………… 74
4.5 循环的嵌套 ……………………………………………………………… 76
4.5.1 循环嵌套的基础知识 ………………………………………………… 76
4.5.2 循环嵌套应用举例 …………………………………………………… 78
4.6 循环结构程序设计综合案例…………………………………………… 80
习 题 …………………………………………………………………………… 85
第5章 函数 /86
5.1 函数的定义与调用 ……………………………………………………… 86
5.1.1 函数声明 ……………………………………………………………… 86
5.1.2 函数定义 ……………………………………………………………… 87
5.1.3 函数调用 ……………………………………………………………… 88
5.1.4 函数返回 ……………………………………………………………… 89
5.2 函数的参数 ……………………………………………………………… 90
5.2.1 形参和实参的概念 …………………………………………………… 90
5.2.2 按值传递与按址传递 ………………………………………………… 91
5.3 使用函数编写程序 ……………………………………………………… 91
习 题 …………………………………………………………………………… 93
2
目 录 ■
第6章 数据类型与表达式 /94
6.1 数据的存储和基本数据类型…………………………………………… 94
6.1.1 整型 …………………………………………………………………… 95
6.1.2 浮点型 ………………………………………………………………… 96
6.1.3 字符型 ………………………………………………………………… 99
6.1.4 sizeof运算符 ………………………………………………………… 99
6.2 常量和变量 ……………………………………………………………… 100
6.2.1 常量 ………………………………………………………………… 100
6.2.2 变量 ………………………………………………………………… 102
6.3 数据的输入和输出 …………………………………………………… 103
6.3.1 字符的输入/输出 …………………………………………………… 104
6.3.2 格式化输入函数 …………………………………………………… 105
6.3.3 格式化输出函数 …………………………………………………… 111
6.4 常用运算符和表达式 ………………………………………………… 113
6.4.1 算术运算符及算术表达式 ………………………………………… 113
6.4.2 关系运算符及关系表达式 ………………………………………… 114
6.4.3 逻辑运算符及逻辑表达式 ………………………………………… 115
6.4.4 赋值运算符及赋值表达式 ………………………………………… 118
6.4.5 自增运算符和自减运算符 ………………………………………… 119
6.4.6 条件运算符及条件表达式 ………………………………………… 120
6.4.7 逗号运算符及逗号表达式 ………………………………………… 121
6.4.8 位运算符及位运算表达式 ………………………………………… 122
6.4.9 数据类型转换 ……………………………………………………… 123
习 题…………………………………………………………………………… 126
第7章 数组 /128
7.1 一维数组 ………………………………………………………………… 128
7.1.1 一维数组的定义 …………………………………………………… 128
7.1.2 一维数组的初始化 ………………………………………………… 129
7.1.3 一维数组的引用 …………………………………………………… 130
7.1.4 一维数组程序举例 ………………………………………………… 131
7.2 二维数组 ………………………………………………………………… 135
7.2.1 二维数组的定义 …………………………………………………… 135
7.2.2 二维数组的初始化 ………………………………………………… 135
7.2.3 二维数组的引用 …………………………………………………… 136
7.2.4 二维数组程序案例 ………………………………………………… 137
3
■ C语言程序设计
7.3 字符数组 ………………………………………………………………… 139
7.3.1 字符数组的定义 …………………………………………………… 139
7.3.2 字符数组的初始化 ………………………………………………… 140
7.3.3 字符数组的输入和输出 …………………………………………… 141
7.3.4 常用的字符串处理函数 …………………………………………… 143
7.3.5 字符串应用案例 …………………………………………………… 145
习 题…………………………………………………………………………… 147
第8章 复杂数据类型 /148
8.1 结构体类型 ……………………………………………………………… 148
8.1.1 结构体类型的定义 ………………………………………………… 148
8.1.2 结构体变量的定义 ………………………………………………… 149
8.1.3 结构体类型变量的引用 …………………………………………… 151
8.1.4 结构体数组 ………………………………………………………… 152
8.3 共用体类型 ……………………………………………………………… 154
8.3.1 共用体类型的定义 ………………………………………………… 154
8.3.2 共用体变量的定义和使用 ………………………………………… 155
8.4 枚举类型 ………………………………………………………………… 157
习 题…………………………………………………………………………… 158
第9章 指针 /159
9.1 指针和指针变量 ……………………………………………………… 159
9.1.1 指针的基本概念 …………………………………………………… 159
9.1.2 指针变量 …………………………………………………………… 160
9.2 指针变量与数组 ……………………………………………………… 166
9.2.1 指向数组元素的指针变量 ………………………………………… 166
9.2.2 通过指针引用数组元素 …………………………………………… 167
9.2.3 指向一维数组的指针变量 ………………………………………… 169
9.3 指针变量与字符串 …………………………………………………… 170
9.3.1 指向字符串常量的指针变量 ……………………………………… 171
9.3.2 字符指针变量的使用 ……………………………………………… 171
9.3.3 指向字符数组的指针变量 ………………………………………… 173
9.3.4 字符串指针作函数参数 …………………………………………… 174
9.4 指针变量与结构体 …………………………………………………… 176
9.4.1 指向结构体变量的指针变量 ……………………………………… 176
9.4.2 指向结构体数组的指针变量 ……………………………………… 177
习 题…………………………………………………………………………… 179
4
目 录 ■
第10章 函数与程序结构 /180
10.1 函数的嵌套调用和递归调用 ……………………………………… 180
10.1.1 函数的嵌套调用 …………………………………………………… 180
10.1.2 函数的递归调用 …………………………………………………… 181
10.2 变量的作用域和生存期 ……………………………………………… 186
10.2.1 变量的作用域 ……………………………………………………… 186
10.2.2 变量的生存期 ……………………………………………………… 188
10.3 函数的作用域 ………………………………………………………… 191
10.4 编译预处理 …………………………………………………………… 192
10.4.1 文件包含 …………………………………………………………… 192
10.4.2 宏定义 ……………………………………………………………… 192
10.4.3 条件编译 …………………………………………………………… 193
习 题…………………………………………………………………………… 194
第11章 指针进阶 /196
11.1 指针数组与多级指针 ………………………………………………… 196
11.1.1 指针数组 …………………………………………………………… 196
11.1.2 多级指针变量 ……………………………………………………… 200
11.1.3 指针数组作主函数的形参 ………………………………………… 202
11.2 指向二维数组的指针变量…………………………………………… 204
11.2.1 指针变量指向二维数组 …………………………………………… 204
11.2.2 指针变量指向二维数组中的一维数组 …………………………… 206
11.3 动态内存分配 ………………………………………………………… 208
11.3.1 malloc()函数 ……………………………………………………… 210
11.3.2 calloc()函数 ……………………………………………………… 210
11.3.3 realloc()函数 ……………………………………………………… 210
11.3.4 free()函数 ………………………………………………………… 211
11.4 指针与函数的关系 …………………………………………………… 211
11.4.1 指针变量作为函数的返回值 ……………………………………… 211
11.4.2 指向函数的指针变量 ……………………………………………… 213
11.5 单向链表 ……………………………………………………………… 215
11.5.1 单向链表的创建 …………………………………………………… 216
11.5.2 单向链表的遍历 …………………………………………………… 217
11.5.3 单向链表的插入 …………………………………………………… 217
11.5.4 单向链表的删除 …………………………………………………… 218
11.5.5 单向链表的实例 …………………………………………………… 219
习 题…………………………………………………………………………… 229
5
■ C语言程序设计
第12章 文件 /230
12.1 文件概述 ……………………………………………………………… 230
12.1.1 文件的概念及数据存储形式 ……………………………………… 230
12.1.2 文件指针 …………………………………………………………… 231
12.2 文件的打开与关闭 …………………………………………………… 231
12.2.1 文件打开函数fopen() …………………………………………… 231
12.2.2 文件关闭函数fclose() …………………………………………… 232
12.3 文件的读写 …………………………………………………………… 233
12.3.1 文本文件的读写 …………………………………………………… 233
12.3.2 二进制文件的读写 ………………………………………………… 235
12.3.3 格式化读写 ………………………………………………………… 237
12.3.4 随机读写 …………………………………………………………… 238
习 题…………………………………………………………………………… 240
附录1 标准 ASCII码字符编码表 /241
附录2 运算符的优先级与结合性 /242
参考文献 /243
|
|