书籍详情
C语言程序设计
作者:张曙光,刘英,周雅洁,胡岸琪 著
出版社:人民邮电出版社
出版时间:1900-01-01
ISBN:9787115343208
定价:¥42.00
购买这本书可以去
内容简介
本书是“C语言程序设计”的入门教材,其目的是培养学生基本的程序设计能力。全书遵循ANSI/ISO C的标准,由具有多年教学经验和实际项目开发经验的教师用通俗易懂的语言编写而成。书中系统地介绍了C语言的基本知识,内容主要包括:计算机的基本组成、数据类型、运算符和表达式、结构化程序的3种基本结构、函数、数组、指针、结构体及共用体、文件操作等。本书以程序设计为中心,内容安排循序渐进。每章首先介绍基本的语法知识,使学生掌握初步的语法知识后能够编写简单的程序,然后再通过一些经典的算法和丰富的例题巩固所学知识点并理解其中的难点,达到掌握基本的程序设计方法和提高编程能力的目的。本书除配有电子教案和代码外,还提供了一个作者开发的可视化辅助学习工具—— “C语言程序执行流程可视化学习系统”(该工具在程序调试时可以定位到运算符级),以帮助学生理解C语言知识,学习处理程序错误的方法。本书可作为高等院校C语言程序设计课程的教材和参考用书,也可作为社会各类计算机应用人员和参加计算机等级考试人员的C语言程序设计自学用书。
作者简介
暂缺《C语言程序设计》作者简介
目录
目 录
第1章 C语言程序设计概述 1
1.1 计算机系统基础知识 1
1.1.1 计算机硬件系统的基本组成 1
1.1.2 计算机软件系统 2
1.1.3 进位计数制 3
1.1.4 计算机中数据的存储单位 3
1.1.5 数据在计算机中的表示 4
1.2 程序和程序设计 6
1.2.1 计算机程序 6
1.2.2 程序设计语言 6
1.2.3 C语言的发展历史和特点 8
1.3 C语言程序的组成 9
1.3.1 一个简单的C语言程序 9
1.3.2 C语言程序的基本结构 10
1.3.3 C语言程序的基本语法单位 11
1.4 程序开发的步骤 13
1.4.1 需求分析 13
1.4.2 确定算法 13
1.4.3 程序设计 13
1.4.4 运行和测试程序 14
小结 15
习题 15
第2章 数据类型及其运算 17
2.1 C语言的数据类型 17
2.1.1 C语言的数据类型分类 17
2.1.2 C语言的基本数据类型 18
2.2 常量 19
2.2.1 整型常量 20
2.2.2 浮点型常量 20
2.2.3 字符型常量 21
2.2.4 字符串常量 22
2.2.5 符号常量(不带参数的宏) 23
2.3 变量 24
2.3.1 变量的定义 24
2.3.2 整型变量 25
2.3.3 浮点型变量 26
2.3.4 字符型变量 26
2.3.5 变量的初始化 27
2.3.6 类型限定词 28
2.4 运算符和表达式 28
2.4.1 表达式的基本概念 28
2.4.2 C语言中的运算符 29
2.4.3 算术运算符 30
2.4.4 关系运算符 32
2.4.5 逻辑运算符 33
2.4.6 条件运算符 34
2.4.7 赋值运算符 35
2.4.8 逗号运算符 37
2.4.9 位运算符 37
2.4.10 其他运算符(sizeof) 40
2.4.11 不同数据类型间的转换与运算 40
小结 42
习题 43
第3章 程序设计方法和简单程序设计 47
3.1 程序设计的基本方法 47
3.1.1 算法及其描述 47
3.1.2 程序设计方法简述 50
3.1.3 结构化程序设计方法 51
3.2 C语言的基本语句 54
3.2.1 表达式语句 54
3.2.2 函数调用语句 55
3.2.3 控制语句 55
3.2.4 复合语句 55
3.2.5 空语句 56
3.3 格式化输入/输出 56
3.3.1 格式化输出 57
3.3.2 格式化输入 63
3.3.3 读写字符 66
3.4 简单的C语言程序 67
3.4.1 程序书写风格 67
3.4.2 顺序结构的C语言程序 67
小结 68
习题 69
第4章 程序的控制结构 72
4.1 if语句 72
4.1.1 单分支if语句 72
4.1.2 双分支if语句 74
4.1.3 嵌套if语句 75
4.1.4 if-else-if结构 79
4.1.5 条件表达式构成的选择结构 80
4.2 switch语句 81
4.2.1 switch语句基本语法 81
4.2.2 使用switch语句的要点 83
4.3 循 环 语 句 84
4.3.1 while语句 85
4.3.2 do-while语句 87
4.3.3 for语句 90
4.3.4 goto语句 92
4.4 嵌套循环结构 94
4.5 break语句和continue语句 95
4.5.1 break语句 95
4.5.2 continue语句 96
4.6 应用举例 98
4.6.1 求满足特定条件的数 98
4.6.2 穷举法用于循环 100
4.6.3 输出图形 101
4.6.4 多项式之和、多项式之积 103
小结 105
习题 107
第5章 函数 113
5.1 函数的分类 113
5.2 函数基础 114
5.2.1 函数的定义 114
5.2.2 函数调用 115
5.2.3 函数原型 117
5.2.4 函数的返回值 118
5.2.5 函数之间的数据传递 119
5.2.6 函数应用举例 121
5.3 函数的递归调用 124
5.3.1 运行栈 124
5.3.2 函数的嵌套调用 125
5.3.3 递归调用 127
5.4 标识符的作用域和生存期 130
5.4.1 标识符的作用域 130
5.4.2 存储类别 133
5.4.3 内部函数和外部函数 138
小结 138
习题 139
第6章 数组 144
6.1 数组的概念 144
6.2 一维数组 145
6.2.1 一维数组的定义和初始化 145
6.2.2 一维数组的访问 147
6.2.3 一维数组应用举例 148
6.3 数组作为函数参数 155
6.3.1 数组元素作实参 155
6.3.2 数组名作函数参数 155
6.4 二维数组 158
6.4.1 二维数组的定义和初始化 158
6.4.2 二维数组的访问 160
6.4.3 二维数组应用举例 163
小结 166
习题 166
第7章 指针 172
7.1 指针和指针变量的概念 172
7.1.1 指针的概念 172
7.1.2 指针变量的概念 174
7.2 指针变量的定义和初始化 174
7.2.1 指针变量的定义 174
7.2.2 有关指针的运算符 174
7.2.3 给指针变量赋空值 176
7.2.4 指针变量的初始化 176
7.3 指针变量的运算 177
7.3.1 指针变量赋值 177
7.3.2 指针变量的算术运算 178
7.3.3 指针变量比较 179
7.4 指针变量作为函数参数 180
7.5 数组与指针 182
7.5.1 数组元素的指针 182
7.5.2 通过指针引用数组元素 183
7.5.3 指向二维数组的指针和指针变量 186
7.5.4 数组名形参 189
7.5.5 指针数组 190
7.6 多级指针 191
7.7 函数指针 193
7.7.1 函数的指针 193
7.7.2 函数指针的定义与引用 193
7.7.3 函数指针作为函数参数 195
7.7.4 返回指针的函数 197
小结 199
习题 200
第8章 字符串 206
8.1 什么是字符串 206
8.2 字符数组 206
8.2.1 字符数组的定义 207
8.2.2 字符数组的输入/输出 208
8.3 字符串与指针 211
8.3.1 字符指针的定义 211
8.3.2 字符数组与字符指针的比较 212
8.3.3 字符指针作为函数参数 214
8.4 字符串处理函数 215
8.4.1 字符串长度函数strlen() 216
8.4.2 字符串连接函数strcat() 216
8.4.3 字符串复制函数strcpy() 216
8.4.4 字符串比较函数strcmp() 217
8.4.5 其他的字符串处理函数 218
8.5 字符串数组 218
8.5.1 字符串数组的定义 218
8.5.2 字符串数组的引用和输入/输出 219
8.5.3 字符型指针数组 221
8.6 应用举例 222
小结 225
习题 225
第9章 结构体、共用体、枚举和用户自定义类型 231
9.1 结构体 232
9.1.1 结构体类型 232
9.1.2 结构体类型的定义 232
9.1.3 结构体类型变量的定义 234
9.1.4 结构体类型变量的初始化 236
9.1.5 结构体类型变量的引用 237
9.1.6 结构体数组 238
9.1.7 结构体指针 240
9.1.8 结构体在函数之间的传递 241
9.2 用户自定义类型 246
9.3 链表 247
9.3.1 链表的概念 247
9.3.2 利用结构体变量构成链表 248
9.3.3 单向链表的操作 249
9.3.4 应用举例 252
9.4 共用体 256
9.4.1 共用体类型的定义 256
9.4.2 共用体类型变量的定义 257
9.4.3 共用体类型变量的引用 258
9.5 枚举类型 260
9.5.1 枚举类型的定义 261
9.5.2 枚举类型变量的定义 261
9.5.3 枚举类型变量的引用 261
小结 263
习题 263
第10章 编译预处理 269
10.1 编译预处理的概念 269
10.2 宏 269
10.2.1 不带参数的宏定义 270
10.2.2 带参数的宏定义 272
10.2.3 取消宏定义 273
10.3 文件包含 273
10.4 条件编译 274
小结 276
习题 276
第11章 流与文件 280
11.1 文件的基本概念 280
11.2 流与缓冲 281
11.2.1 流:输入流和输出流 281
11.2.2 流的格式:文本流和二进制流 282
11.2.3 缓冲区 282
11.2.4 标准流 283
11.3 用户自定义流 283
11.3.1 C语言文件操作基本流程 283
11.3.2 定义和打开流 283
11.3.3 关闭流 285
11.4 I/O文本流 286
11.4.1 输出文本流 286
11.4.2 输入文本流 288
11.5 I/O二进制流 291
11.5.1 输出二进制流 291
11.5.2 输入二进制流 291
11.6 其他文件处理库函数 292
11.6.1 流的定位 292
11.6.2 读取流变量的位置号 294
11.6.3 错误检测 294
11.6.4 删除文件 294
11.6.5 刷新一个流 294
11.7 应用举例 294
小结 295
习题 296
附录I ASCII码表 297
附录II C语言的关键字 298
附录III 运算符、优先级和结合性 299
附录IV C语言常用库函数 301
附录V C语言程序执行流程可视化学习系统 305
参考文献 309
第1章 C语言程序设计概述 1
1.1 计算机系统基础知识 1
1.1.1 计算机硬件系统的基本组成 1
1.1.2 计算机软件系统 2
1.1.3 进位计数制 3
1.1.4 计算机中数据的存储单位 3
1.1.5 数据在计算机中的表示 4
1.2 程序和程序设计 6
1.2.1 计算机程序 6
1.2.2 程序设计语言 6
1.2.3 C语言的发展历史和特点 8
1.3 C语言程序的组成 9
1.3.1 一个简单的C语言程序 9
1.3.2 C语言程序的基本结构 10
1.3.3 C语言程序的基本语法单位 11
1.4 程序开发的步骤 13
1.4.1 需求分析 13
1.4.2 确定算法 13
1.4.3 程序设计 13
1.4.4 运行和测试程序 14
小结 15
习题 15
第2章 数据类型及其运算 17
2.1 C语言的数据类型 17
2.1.1 C语言的数据类型分类 17
2.1.2 C语言的基本数据类型 18
2.2 常量 19
2.2.1 整型常量 20
2.2.2 浮点型常量 20
2.2.3 字符型常量 21
2.2.4 字符串常量 22
2.2.5 符号常量(不带参数的宏) 23
2.3 变量 24
2.3.1 变量的定义 24
2.3.2 整型变量 25
2.3.3 浮点型变量 26
2.3.4 字符型变量 26
2.3.5 变量的初始化 27
2.3.6 类型限定词 28
2.4 运算符和表达式 28
2.4.1 表达式的基本概念 28
2.4.2 C语言中的运算符 29
2.4.3 算术运算符 30
2.4.4 关系运算符 32
2.4.5 逻辑运算符 33
2.4.6 条件运算符 34
2.4.7 赋值运算符 35
2.4.8 逗号运算符 37
2.4.9 位运算符 37
2.4.10 其他运算符(sizeof) 40
2.4.11 不同数据类型间的转换与运算 40
小结 42
习题 43
第3章 程序设计方法和简单程序设计 47
3.1 程序设计的基本方法 47
3.1.1 算法及其描述 47
3.1.2 程序设计方法简述 50
3.1.3 结构化程序设计方法 51
3.2 C语言的基本语句 54
3.2.1 表达式语句 54
3.2.2 函数调用语句 55
3.2.3 控制语句 55
3.2.4 复合语句 55
3.2.5 空语句 56
3.3 格式化输入/输出 56
3.3.1 格式化输出 57
3.3.2 格式化输入 63
3.3.3 读写字符 66
3.4 简单的C语言程序 67
3.4.1 程序书写风格 67
3.4.2 顺序结构的C语言程序 67
小结 68
习题 69
第4章 程序的控制结构 72
4.1 if语句 72
4.1.1 单分支if语句 72
4.1.2 双分支if语句 74
4.1.3 嵌套if语句 75
4.1.4 if-else-if结构 79
4.1.5 条件表达式构成的选择结构 80
4.2 switch语句 81
4.2.1 switch语句基本语法 81
4.2.2 使用switch语句的要点 83
4.3 循 环 语 句 84
4.3.1 while语句 85
4.3.2 do-while语句 87
4.3.3 for语句 90
4.3.4 goto语句 92
4.4 嵌套循环结构 94
4.5 break语句和continue语句 95
4.5.1 break语句 95
4.5.2 continue语句 96
4.6 应用举例 98
4.6.1 求满足特定条件的数 98
4.6.2 穷举法用于循环 100
4.6.3 输出图形 101
4.6.4 多项式之和、多项式之积 103
小结 105
习题 107
第5章 函数 113
5.1 函数的分类 113
5.2 函数基础 114
5.2.1 函数的定义 114
5.2.2 函数调用 115
5.2.3 函数原型 117
5.2.4 函数的返回值 118
5.2.5 函数之间的数据传递 119
5.2.6 函数应用举例 121
5.3 函数的递归调用 124
5.3.1 运行栈 124
5.3.2 函数的嵌套调用 125
5.3.3 递归调用 127
5.4 标识符的作用域和生存期 130
5.4.1 标识符的作用域 130
5.4.2 存储类别 133
5.4.3 内部函数和外部函数 138
小结 138
习题 139
第6章 数组 144
6.1 数组的概念 144
6.2 一维数组 145
6.2.1 一维数组的定义和初始化 145
6.2.2 一维数组的访问 147
6.2.3 一维数组应用举例 148
6.3 数组作为函数参数 155
6.3.1 数组元素作实参 155
6.3.2 数组名作函数参数 155
6.4 二维数组 158
6.4.1 二维数组的定义和初始化 158
6.4.2 二维数组的访问 160
6.4.3 二维数组应用举例 163
小结 166
习题 166
第7章 指针 172
7.1 指针和指针变量的概念 172
7.1.1 指针的概念 172
7.1.2 指针变量的概念 174
7.2 指针变量的定义和初始化 174
7.2.1 指针变量的定义 174
7.2.2 有关指针的运算符 174
7.2.3 给指针变量赋空值 176
7.2.4 指针变量的初始化 176
7.3 指针变量的运算 177
7.3.1 指针变量赋值 177
7.3.2 指针变量的算术运算 178
7.3.3 指针变量比较 179
7.4 指针变量作为函数参数 180
7.5 数组与指针 182
7.5.1 数组元素的指针 182
7.5.2 通过指针引用数组元素 183
7.5.3 指向二维数组的指针和指针变量 186
7.5.4 数组名形参 189
7.5.5 指针数组 190
7.6 多级指针 191
7.7 函数指针 193
7.7.1 函数的指针 193
7.7.2 函数指针的定义与引用 193
7.7.3 函数指针作为函数参数 195
7.7.4 返回指针的函数 197
小结 199
习题 200
第8章 字符串 206
8.1 什么是字符串 206
8.2 字符数组 206
8.2.1 字符数组的定义 207
8.2.2 字符数组的输入/输出 208
8.3 字符串与指针 211
8.3.1 字符指针的定义 211
8.3.2 字符数组与字符指针的比较 212
8.3.3 字符指针作为函数参数 214
8.4 字符串处理函数 215
8.4.1 字符串长度函数strlen() 216
8.4.2 字符串连接函数strcat() 216
8.4.3 字符串复制函数strcpy() 216
8.4.4 字符串比较函数strcmp() 217
8.4.5 其他的字符串处理函数 218
8.5 字符串数组 218
8.5.1 字符串数组的定义 218
8.5.2 字符串数组的引用和输入/输出 219
8.5.3 字符型指针数组 221
8.6 应用举例 222
小结 225
习题 225
第9章 结构体、共用体、枚举和用户自定义类型 231
9.1 结构体 232
9.1.1 结构体类型 232
9.1.2 结构体类型的定义 232
9.1.3 结构体类型变量的定义 234
9.1.4 结构体类型变量的初始化 236
9.1.5 结构体类型变量的引用 237
9.1.6 结构体数组 238
9.1.7 结构体指针 240
9.1.8 结构体在函数之间的传递 241
9.2 用户自定义类型 246
9.3 链表 247
9.3.1 链表的概念 247
9.3.2 利用结构体变量构成链表 248
9.3.3 单向链表的操作 249
9.3.4 应用举例 252
9.4 共用体 256
9.4.1 共用体类型的定义 256
9.4.2 共用体类型变量的定义 257
9.4.3 共用体类型变量的引用 258
9.5 枚举类型 260
9.5.1 枚举类型的定义 261
9.5.2 枚举类型变量的定义 261
9.5.3 枚举类型变量的引用 261
小结 263
习题 263
第10章 编译预处理 269
10.1 编译预处理的概念 269
10.2 宏 269
10.2.1 不带参数的宏定义 270
10.2.2 带参数的宏定义 272
10.2.3 取消宏定义 273
10.3 文件包含 273
10.4 条件编译 274
小结 276
习题 276
第11章 流与文件 280
11.1 文件的基本概念 280
11.2 流与缓冲 281
11.2.1 流:输入流和输出流 281
11.2.2 流的格式:文本流和二进制流 282
11.2.3 缓冲区 282
11.2.4 标准流 283
11.3 用户自定义流 283
11.3.1 C语言文件操作基本流程 283
11.3.2 定义和打开流 283
11.3.3 关闭流 285
11.4 I/O文本流 286
11.4.1 输出文本流 286
11.4.2 输入文本流 288
11.5 I/O二进制流 291
11.5.1 输出二进制流 291
11.5.2 输入二进制流 291
11.6 其他文件处理库函数 292
11.6.1 流的定位 292
11.6.2 读取流变量的位置号 294
11.6.3 错误检测 294
11.6.4 删除文件 294
11.6.5 刷新一个流 294
11.7 应用举例 294
小结 295
习题 296
附录I ASCII码表 297
附录II C语言的关键字 298
附录III 运算符、优先级和结合性 299
附录IV C语言常用库函数 301
附录V C语言程序执行流程可视化学习系统 305
参考文献 309
猜您喜欢