C语言程式设计教程(人民邮电出版社出版图书(杨治明主编))

生活百科 2023-01-25 19:31生活百科www.aizhengw.cn

C语言程式设计教程(人民邮电出版社出版图书(杨治明主编))

《C语言程式设计教程》是2012年人民邮电出版出版的图书,作者是杨治明、雷亮。

基本介绍

  • 书名C语言程式设计教程
  • 作者杨治明、雷亮
  • ISBN978-7-115-27087-0
  • 页数296
  • 定价39.00 元
  • 出版社人民邮电出版
  • 出版时间2012年3月
  • 开本16

内容简介

本书定位于将C语言作为计算机编程入门语言,以帮助读者树立计算机程式设计的思想,培养学生程式设计基本能力为目标的教材。
全书以程式设计为主线,採用案例驱动模式展开讲解,通过案例和问题引入主要教学内容,重点讲解程式设计的思想和方法,并结合相关的语法知识。全书主要包括3方面的内容基本内容(数据表达、数据处理和流程控制)、常用算法和程式设计风格以及C语言套用中的一些处理机制(编译预处理和命令行参数等)。涉及数据类型、表达式、分支、循环、函式、数组、指针、结构、档案的概念、套用以及指针和各种构造类型的混合运用、基本算法等内容。

编辑推荐

本书可以作为高等院校和计算机等级考试的教学用书,也可作为对C语言程式设计感兴趣的读者的自学用书。

目录

第1章 C语言概述 1
1.1 简单的C语言程式 1
1.2 C语言的发展历史与特点 3
1.2.1 C语言的发展历史 3
1.2.2 C语言的特点 4
1.3 C程式的开发步骤和上机调试流程 5
1.3.1 C程式的开发步骤 5
1.3.2 C程式的上机开发过程 6
习题1 12
第2章 基本数据类型的输入/输出 13
2.1 C语言的输入/输出 13
2.2 整型数据的输入/输出 13
2.3 浮点型数据的输入/输出 14
2.4 字元数据的输入/输出 15
2.5 字元串数据的输入/输出 15
2.6 格式化输入/输出举例 17
2.7 阅读材料 18
2.7.1 格式化输出函式printf的格式说明和使用 18
2.7.2 格式化输入函式scanf的格式说明和使用 19
习题2 21
第3章 流程控制 22
3.1 算法 22
3.1.1 算法的概念 22
3.1.2 算法的表达方式 23
3.1.3 基本流程控制结构 25
3.1.4 案例3.1 求1+1/2+…+1/100的和 26
3.2 选择语句 26
3.2.1 案例3.2 求三个整数的最大值(if语句) 26
3.2.2 案例3.3 百分製成绩转换成五分製成绩(多分支if语句) 29
3.2.3 案例3.4 判断所输入的一个字元是数字、空白符还是其他字元(switch语句) 31
3.2.4 案例3.5 百分製成绩转换成五分製成绩(switch语句) 33
3.3 循环语句 34
3.3.1 案例3.6 求1+1/2+…+1/100的和(while语句) 34
3.3.2 案例3.7 求1+1/2+…+1/100的和(do...while语句) 35
3.3.3 案例3.8 求1+1/2+…+1/100的和(for语句) 37
3.4 转向语句 39
3.4.1 案例3.9 判断所输入的一个大于1的正整数是否是素数(break语句) 39
3.4.2 案例3.10 输出100~200之间能被3整除的数(continue语句) 41
3.5 套用举例 42
3.5.1 案例3.11 计算1! + 2! + … + 10!(并讨论溢出问题) 42
3.5.2 案例3.12 计算级数1-1/3+1/5-1/7+…的和 44
3.5.3 案例3.13 统计输入的数字字元、字母字元和其他字元的个数 45
3.5.4 案例3.14 求两个正整数的最大公约数和最低公倍数 45
3.5.5 案例3.15 将一个正整数逆序输出 46
3.5.6 案例3.16 输入日期并检查其合理性,直到输入合理为止 47
3.6 阅读材料 48
3.6.1 C语言的语句 48
3.6.2 goto语句简介 49
3.6.3 exit()函式 49
3.6.4 程式调试简介 50
习题3 51
第4章 函式 54
4.1 模组化程式设计 54
4.1.1 模组化程式设计的基本思想 54
4.1.2 C语言程式设计的基本结构 55
4.2 函式定义和调用 55
4.2.1 案例4.1 求3个整数的最大值(函式定义和调用) 57
4.2.2 案例4.2 验证哥德巴赫猜想(在1000以内验证) 57
4.2.3 案例4.3 计算1k+2k+…+nk(函式原型、函式的嵌套调用) 59
4.3 标识符的作用域 60
4.3.1 案例4.4 块作用域 60
4.3.2 案例4.5 档案作用域 61
4.3.3 函式原型作用域 61
4.3.4 函式作用域 62
4.4 变数的存储种类 62
4.4.1 自动变数 62
4.4.2 暂存器变数 62
4.4.3 案例4.6 外部变数 63
4.4.4 案例4.7 静态变数 64
4.5 指针基础 64
4.5.1 地址和指针的概念 64
4.5.2 指针变数 65
4.5.3 案例4.8 两数交换(指针做参数) 65
4.5.4 案例4.9 输入10个整数求它们的最大值、最小值和总和(指针做参数) 66
4.5.5 案例4.10 统计百分製成绩各分数段的人数(指针做返回值) 67
4.6 递归函式 68
4.6.1 案例4.11 计算4!(递归函式的定义和递归调用过程分析) 68
4.6.2 案例4.12 计算整数各位数字之和 69
4.6.3 案例4.13 计算 70
4.6.4 案例4.14 汉诺塔问题 70
习题4 71
第5章 编译预处理 74
5.1 宏 74
5.1.1 案例5.1 无参宏 75
5.1.2 案例5.2 有参宏 75
5.2 档案包含 76
5.3 条件编译 77
5.3.1 条件编译命令 77
5.3.2 案例5.3 头档案设计 78
5.4 阅读材料 80
5.4.1 程式的多档案组织方法 80
5.4.2 多档案程式的编译和连结 80
习题5 81
第6章 数组 83
6.1 一维数组 83
6.1.1 一维数组的定义、初始化和使用 83
6.1.2 最大值、最小值和平均值 86
6.1.3 一维数组作为函式的参数 88
6.1.4 数组排序 90
6.1.5 数组查找 95
6.2 二维数组 98
6.2.1 二维数组的定义、初始化和使用 98
6.2.2 矩阵转置 100
6.2.3 二维数组的本质 101
6.3 字元串 104
6.3.1 字元数组和字元串 104
6.3.2 字元串的输入和输出 105
6.3.3 字元串处理 107
习题6 111
第7章 指针 120
7.1 简介 120
7.2 什幺是指针 120
7.2.1 变数、变数的值与变数的地址 120
7.2.2 指针 122
7.2.3 定义指针变数 123
7.2.4 间接运算符 123
7.2.5 指针赋值 125
7.2.6 指针作为函式的参数 126
7.2.7 返回指针的函式 130
7.3 指针与一维数组 131
7.3.1 使指针指向数组 131
7.3.2 指针算术运算 131
7.3.3 指针关係运算 138
7.3.4 一维数组名与指针 140
7.3.5 向函式传递数组实际上是传递指针 142
7.4 指针与二维数组 145
7.4.1 二维数组的本质 145
7.4.2 指向数组的指针与二维数组名 146
7.4.3 用指向元素的指针访问二维数组 151
7.5 指针数组 153
7.6 带参数的main函式 154
7.7 指向指针的指针 155
7.8 指向函式的指针 156
7.8.1 指向函式的指针的定义和使用方法 156
7.8.2 指向函式的指针作函式参数 157
7.9 字元串处理函式 159
7.9.1 字元串的输入输出(gets和puts) 159
7.9.2 求字元串长度(strlen) 160
7.9.3 字元串複製(strcpy、strncpy)和字元串连线(strcat) 160
7.9.4 字元串比较(strcmp) 163
7.9.5 字元串中字元的大小写转换(strlwr和strupr) 164
7.10 动态记忆体分配 164
7.10.1 C语言的程式记忆体空间 165
7.10.2 用malloc函式分配一块记忆体 165
7.10.3 用calloc函式分配连续的记忆体空间 167
7.10.4 用realloc函式改变记忆体块的大小 168
习题7 170
第8章 自定义数据类型 178
8.1 结构体 178
8.1.1 案例8.1 複数的四则运算 183
8.1.2 案例8.2 学生成绩统计 184
8.2 单向鍊表 186
8.2.1 案例8.3 单向鍊表的建立和基本操作 186
8.2.2 案例8.4 猴子选大王 189
8.3 共用体 192
8.3.1 案例8.5 共用体类型及其变数的定义和使用 192
8.3.2 案例8.6 学生、教职工基本信息管理 193
8.4 枚举 200
8.4.1 案例8.7 枚举类型及其变数的定义和使用 201
8.4.2 案例8.8 枚举类型数据的输入和输出 201
8.5 自定义数据类型举例 202
8.6 阅读材料 204
8.6.1 位域 204
8.6.2 无名共用体类型的使用 205
8.6.3 类型别名 206
习题8 206
第9章 档案 209
9.2 档案概述 209
9.1.1 档案的概念 210
9.1.2 文本档案与二进制档案 210
9.1.3 缓冲档案系统 211
9.1.4 档案类型指针 211
9.2 档案的打开与关闭 212
9.2.1 打开档案(fopen()函式) 212
9.2.2 关闭档案函式(fclose函式) 214
9.3 文本档案的读写 214
9.3.1 案例9.1 複製档案(fputc函式和fgetc函式) 214
9.3.2 案例9.2 複製档案(fgets函式和fputs函式) 216
9.3.3 案例9.3 学生基本信息的顺序读/写(fprintf函式和fscanf函式) 218
9.4 二进制档案的读写 220
9.4.1 案例9.4 学生基本信息的顺序读/写(fread函式和fwrite函式) 220
9.4.2 案例9.5 学生基本信息的随机读/写(fseek函式) 222
9.5 阅读材料 224
9.5.1 ferror()函式 224
9.5.2 clearerr()函式 224
9.5.3 feof()函式 224
习题9 224
第10章 课程设计 226
10.1 课程设计的目的和要求 226
10.2 课程设计举例——学生成绩管理系统 226
10.3 课程设计选题 233
实验一 C语言编译环境与程式开发 235
实验二 输入/输出程式设计 236
实验三 选择结构 238
实验四 循环结构 241
实验五 函式 244
实验六 递归 245
实验七 数组的使用 246
实验八 字元串处理 248
实验九 指针与数组 250
实验十 指针与函式 251
实验十一 结构体与单向鍊表 253
实验十二 档案 255
附录A 常用字元与ASCII码对照表 257
附录B C语言的32个关键字 259
附录C C语言常用标準库函式 260
附录D Turbo C 2.0程式调试技术 266
附录E Visual C++ 6.0程式调试技术 270
附录F 推箱子游戏原始码 272
附录G 贪吃蛇游戏原始码 275
附录H 扫地雷游戏原始码 279
附录I 速算24原始码 288
上一篇:Barrie 下一篇:ISO9001内审员

Copyright@2015-2025 www.aizhengw.cn 癌症网版板所有