C语言程序设计教程PDF电子书下载
- 电子书积分:12 积分如何计算积分?
- 作 者:王秀贵,曹江莲编著
- 出 版 社:北京:中国铁道出版社
- 出版年份:2007
- ISBN:7113076629
- 页数:339 页
第1章 基本概念 1
1.1 计算机的结构概述 1
1.1.1 运算器 1
1.1.2 存储器 1
1.1.3 控制器 2
1.1.4 输入/输出设备(I/O) 2
1.2 程序设计语言 2
1.2.1 机器语言 3
1.2.2 汇编语言 3
1.2.3 高级语言 3
1.3 C语言的发展及特点 5
1.4 C语言标准库函数 6
1.5 软件危机与结构化程序设计 7
1.6 程序设计步骤 7
1.7 初识C语言程序 8
1.8 C语言程序的开发过程 12
思考题与习题 13
第2章 数据描述与数据类型 14
2.1 C语言的词法元素 14
2.1.1 字符集 14
2.1.2 单词 14
2.2 C语言的数据类型 16
2.2.1 概述 16
2.2.2 基本数据类型 16
2.2.3 构造数据类型 17
2.2.4 指针类型 17
2.3 常量 18
2.3.1 整型常量 18
2.3.2 整数在机内的表示形式 19
2.3.3 实型常量 20
2.3.4 实数在机内的表示形式 20
2.3.5 字符常量 21
2.3.6 字符串常量 22
2.3.7 用#define定义常量 23
2.4 变量及其类型 24
2.4.1 什么是变量 24
2.4.2 整数类型变量 24
2.4.3 实数类型变量 27
2.4.4 实型数在应用中的误差问题 27
2.4.5 字符类型变量 28
2.4.6 指针变量 29
2.4.7 枚举类型变量 30
2.5 用const修饰变量 31
思考题与习题 32
第3章 标准输入与输出 34
3.1 概述 34
3.2.1 字符输出函数putchar() 35
3.2.2 带缓冲区的字符输入函数getchar() 35
3.2 字符输入输出函数 35
3.2.3 不带缓冲区的字符输入函数getch()和getche() 37
3.3 格式化输入和输出函数 37
3.3.1 printf()函数 37
3.3.2 scanf()函数 43
3.4 关于格式化输入和输出函数的进一步讨论 48
3.4.1 printf()和scanf()函数的返回值问题 48
3.4.3 scanf()函数的“%[]”格式应用问题 49
3.4.2 利用printf()函数的p格式符了解变量的空间分配情况 49
3.4.4 scanf()函数应用中两个最常见的问题 52
3.5 scanf()和printf()函数的缺陷 54
思考题与习题 55
第4章 运算符和表达式 58
4.1 概述 58
4.1.1 C语言运算符的种类 58
4.1.2 C语言运算符的特性 59
4.2 基本运算 60
4.2.1 赋值运算 60
4.1.3 C语言表达式的特性 60
4.2.2 算术运算 62
4.2.3 关系运算 65
4.2.4 逻辑运算 66
4.2.5 自增和自减运算 68
4.3 其他运算 71
4.3.1 位运算 71
4.3.2 复合赋值运算 73
4.3.3 条件运算 74
4.3.4 逗号运算 75
4.3.5 &和*运算 76
4.3.6 sizeof运算 76
4.4 类型转换 77
4.4.1 自动类型转换 77
4.4.2 强制类型转换 78
4.5 左值和右值 79
4.6 表达式的求值顺序 80
4.7 表达式与语句 81
思考题与习题 81
第5章 结构化程序设计初步 83
5.1 算法及其表示 83
5.1.1 什么是算法 83
5.1.2 算法的特性 84
5.1.3 算法的描述 84
5.2 程序设计风格 88
5.2.1 程序结构的风格 88
5.2.2 语言运用的风格 89
5.2.3 程序文本的风格 90
5.2.4 输入输出的风格 93
5.3 C语言的语句与C语言控制结构 94
5.4 简单语句与顺序控制结构 95
5.5 选择控制结构 96
5.5.1 if语句 96
5.5.2 if...else语句 98
5.5.3 switch语句 101
5.6 循环控制结构 105
5.6.1 概述 105
5.6.2 while循环结构 106
5.6.3 do...while语句 109
5.6.4 for循环结构 112
5.6.5 循环的嵌套 115
5.7 break和continue语句 117
5.7.1 break语句 117
5.7.2 continue语句 119
5.8 goto语句 120
5.9 应用举例 121
思考题与习题 127
第6章 数组与字符串 129
6.1 概述 129
6.2 一维数组 129
6.2.1 一维数组的定义 130
6.2.2 数组名与指针 131
6.2.3 一维数组的初始化 132
6.2.4 引用数组元素 134
6.3 数组排序 135
6.4 多维数组 138
6.4.1 多维数组的存储结构 138
6.4.2 多维数组的初始化 139
6.5 数组的应用 140
6.6 字符串与字符数组 147
6.6.1 用字符数组表示字符串 147
6.6.2 字符串的输入输出 148
6.7 最常用的字符串库函数 149
6.7.1 求字符串长度函数 149
6.7.2 复制字符串函数 150
6.7.3 连接字符串函数 151
6.7.4 字符串比较函数 152
6.8 实例——老鼠走迷宫问题 153
思考题与习题 158
第7章 指针 161
7.1 指针和存储器地址 161
7.2 指针的类型和指针的初始化 163
7.2.1 再谈指针的定义和指针的初始化 163
7.2.2 指针的类型 164
7.3 指针表达式 166
7.4 指针的运算 168
7.4.1 指针的算术运算 168
7.4.2 指针的关系运算 173
7.5 用指针访问一维数组 173
7.5.1 指针在一维数组中的应用 173
7.5.2 指针的效率 178
7.6 用指针访问二维数组 180
7.6.1 指针与二维数组的关系 180
7.6.2 用指向数组元素的指针访问二维数组 183
7.6.3 用指向数组的指针访问二维数组 184
7.7 指针与字符串 185
7.7.1 指针与字符串常量 186
7.7.2 指针在字符串中的应用 187
7.8 指针数组与指向指针的指针 188
7.8.1 指针数组 188
7.8.2 指向指针的指针 190
7.8.3 用指针数组表示字符串数组 191
7.9 用const限定符修饰指针 194
7.10 指针与动态内存分配 196
7.10.1 动态内存分配 196
7.10.2 malloc和free函数 197
7.10.3 calloc和realloc函数 198
7.10.4 应用举例 199
思考题与习题 201
8.2 函数抽象的意义 204
8.1 函数与模块化程序 204
第8章 函数 204
8.3 函数定义 206
8.4 函数原型 208
8.5 函数调用与返回 209
8.5.1 函数调用 209
8.5.2 return语句 211
8.6 参数的传递关系 212
8.7 数组作函数参数 215
8.7.1 一维数组作函数参数 215
8.7.2 多维数组作函数参数 219
8.8 指针型函数 220
8.9 指向函数的指针 221
8.10 递归函数 225
8.10.1 递归设计技术 225
8.10.2 递归与迭代的比较 230
8.10.3 递归应用举例——汉诺塔问题 233
8.11 main()函数的返回值和它的参数 235
8.12 标识符的作用域与存储期 236
8.12.1 标识符的作用域 236
8.12.2 标识符的存储期 239
8.13 存储类别 239
8.13.1 程序运行空间 240
8.13.2 自动变量 240
8.13.3 寄存器变量 241
8.13.4 静态变量 241
8.14 链接属性 243
8.15 变量的初始化 246
思考题与习题 247
第9章 结构与联合 249
9.1 概述 249
9.2 结构的声明 249
9.2.1 结构声明的一般形式 249
9.2.2 嵌套结构与自引用结构 251
9.2.3 用typedef创建新的类型 253
9.3 访问结构成员 254
9.4 结构的初始化 255
9.5 结构作函数的参数 256
9.6 结构数组 258
9.7 结构与指针 259
9.8 结构的存储分配 263
9.9 位段 265
9.10 联合 267
9.10.1 联合的声明和联合变量的定义 267
9.10.2 联合的初始化和联合成员的引用 268
思考题与习题 269
第10章 结构与指针的应用 272
10.1 单链表 272
10.1.1 单链表的存储结构 272
10.1.2 建立一个单链表 273
10.1.3 将结点插入到有序单链表 274
10.1.4 从有序单链表中删除结点 276
10.2 双链表 278
10.2.1 双链表的存储结构 278
10.2.2 将结点插入到有序双链表 279
10.2.3 从有序双链表中删除一个结点 282
10.3 循环链表 282
10.4 堆栈 283
10.4.1 堆栈的概念 283
10.4.2 顺序栈的实现 284
10.4.3 链栈的实现 288
10.5 队列 291
10.5.1 队列的概念 291
10.5.2 链队列——队列的链式实现 292
10.5.3 顺序队列的实现 294
思考题与习题 298
11.1 文件概述 301
11.1.1 流 301
第11章 文件 301
11.1.2 文件指针 302
11.1.3 缓冲文件系统 303
11.2 文件的打开与关闭 303
11.2.1 文件的打开函数fopen 303
11.2.2 文件的关闭函数fclose 304
11.3 文件的读写 305
11.3.1 字符读写函数fgetc和fputc 305
11.3.2 判断文件结束函数feof 306
11.3.3 字符串读写函数fgets和fputs 308
11.3.4 数据块读写函数fread和fwrite 310
11.3.5 格式读写函数fscanf和fprintf 311
11.4 文件的定位 311
11.4.1 文件位置指针定位函数fseek 312
11.4.2 文件位置指针获取函数ftell 312
11.4.3 文件位置指针归位函数rewind 312
11.5.2 标志置0函数clearerr 313
11.5 出错检测 313
11.5.1 读写文件出错检测函数ferror 313
11.5.3 显示错误信息函数perror 314
思考题与习题 314
第12章 预处理 316
12.1 概述 316
12.2 宏定义 316
12.2.1 无参宏定义 316
12.2.2 带参宏定义 319
12.3 文件包含 320
12.4 条件编译 322
思考题与习题 324
附录A 基本字符集ASCII码 325
附录B 扩充字符集ASCII码 327
附录C C运算符的优先级与结合性 328
附录D 标准C关键字 329
附录E 标准C函数库 330
- 《高级英语阅读与听说教程》刘秀梅编著 2019
- 《看图自学吉他弹唱教程》陈飞编著 2019
- 《激光加工实训技能指导理实一体化教程 下》王秀军,徐永红主编;刘波,刘克生副主编 2017
- 《AutoCAD 2019 循序渐进教程》雷焕平,吴昌松,陈兴奎主编 2019
- 《少儿电子琴入门教程 双色图解版》灌木文化 2019
- 《指向核心素养 北京十一学校名师教学设计 英语 七年级 上 配人教版》周志英总主编 2019
- 《Photoshop CC 2018基础教程》温培利,付华编著 2019
- 《剑桥国际英语写作教程 段落写作》(美)吉尔·辛格尔顿(Jill Shingleton)编著 2019
- 《英语自学进阶教程全6册 3》爱尔兰迪尔德丽出版社著 2019
- 《设计十六日 国内外美术院校报考攻略》沈海泯著 2018
- 《市政工程基础》杨岚编著 2009
- 《家畜百宝 猪、牛、羊、鸡的综合利用》山西省商业厅组织技术处编著 1959
- 《《道德经》200句》崇贤书院编著 2018
- 《高级英语阅读与听说教程》刘秀梅编著 2019
- 《计算机网络与通信基础》谢雨飞,田启川编著 2019
- 《激光加工实训技能指导理实一体化教程 下》王秀军,徐永红主编;刘波,刘克生副主编 2017
- 《看图自学吉他弹唱教程》陈飞编著 2019
- 《法语词汇认知联想记忆法》刘莲编著 2020
- 《培智学校义务教育实验教科书教师教学用书 生活适应 二年级 上》人民教育出版社,课程教材研究所,特殊教育课程教材研究中心编著 2019
- 《国家社科基金项目申报规范 技巧与案例 第3版 2020》文传浩,夏宇编著 2019
- 《中国当代乡土小说文库 本乡本土》(中国)刘玉堂 2019
- 《异质性条件下技术创新最优市场结构研究 以中国高技术产业为例》千慧雄 2019
- 《中国铁路人 第三届现实主义网络文学征文大赛一等奖》恒传录著 2019
- 《莼江曲谱 2 中国昆曲博物馆藏稀见昆剧手抄曲谱汇编之一》郭腊梅主编;孙伊婷副主编;孙文明,孙伊婷编委;中国昆曲博物馆编 2018
- 《中国制造业绿色供应链发展研究报告》中国电子信息产业发展研究院 2019
- 《中国陈设艺术史》赵囡囡著 2019
- 《指向核心素养 北京十一学校名师教学设计 英语 七年级 上 配人教版》周志英总主编 2019
- 《《走近科学》精选丛书 中国UFO悬案调查》郭之文 2019
- 《清至民国中国西北戏剧经典唱段汇辑 第8卷》孔令纪 2018
- 《北京生态环境保护》《北京环境保护丛书》编委会编著 2018