C语言程序设计 C99版PDF电子书下载
- 电子书积分:15 积分如何计算积分?
- 作 者:陈良银,游洪跃,李旭伟主编
- 出 版 社:北京:清华大学出版社
- 出版年份:2006
- ISBN:7302138192
- 页数:466 页
第1章 基础知识 1
1.1 计算机系统 2
1.1.1 计算机的硬件系统 3
1.1.2 计算机的软件系统 6
1.2 计算机的基本工作原理 7
1.2.1 存储程序的原理 7
1.2.2 内存地址的概念 8
1.2.3 C程序的内存分区 9
1.3 计算机语言 12
1.3.1 机器语言 12
1.3.2 汇编语言 12
1.3.3 高级语言 13
1.4 数据在计算机内的表示 13
1.4.1 计数制 13
1.4.2 不同进位计数制之间的转换 15
1.4.3 数值信息在计算机中的表示 18
1.4.4 二进制算术运算和逻辑运算 22
1.4.5 ASCII码 25
1.5 算法和数据结构 27
1.5.1 算法及其特点 27
1.5.2 数据结构 28
1.5.3 传统流程图表示算法 28
1.6 C语言标准简介 29
1.7 C和C++的不同 30
1.8 C语言编程风格简介 30
习题 31
第2章 C语言的基本要素 33
2.1 C语言程序的开发过程 34
2.2 第一个C语言程序 34
2.2.1 C语言程序的注释 37
2.2.2 main()函数及其返回值 38
2.2.3 函数参数和返回值 38
2.2.4 函数体 39
2.2.5 C程序的运行过程 40
2.3 变量定义、算术表达式、赋值语句和while语句 42
2.3.1 变量定义语句 44
2.3.2 赋值语句 46
2.3.3 算术表达式 46
2.3.4 while循环语句 46
2.3.5 显示输出函数printf() 47
2.4 for循环语句 48
2.5 常量 50
2.5.1 用#define定义宏 50
2.5.2 用const定义常量 52
2.6 字符的输入和输出操作 52
2.6.1 字符输入输出函数 52
2.6.2 文件复制 55
2.6.3 字符计数 58
2.6.4 行计数 61
2.6.5 单词计数 63
2.7 函数 65
2.8 函数参数——复制传值 68
2.9 字符数组和字符指针 71
2.9.1 字符数组 71
2.9.2 字符指针 75
2.10 整型数组 76
2.11 外部变量及变量的作用域 81
2.12 实例研究:寻找质数 84
2.13 程序陷阱 87
习题 88
第3章 变量名、数据类型、运算符和表达式 91
3.1 C语言的变量命名 91
3.1.1 字符集 91
3.1.2 关键字 92
3.1.3 变量命名 92
3.2 C语言的基本数据类型及其大小 93
3.3 常量及其类型 94
3.3.1 字符常量 95
3.3.2 整型常量 97
3.3.3 实型常量 97
3.3.4 字符串常量 98
3.3.5 枚举常量 100
3.3.6 使用const限定的常量 101
3.4 变量类型及其定义 102
3.4.1 基本数据类型变量及其定义 102
3.4.2 变量的初始化 105
3.5 运算符和表达式 105
3.5.1 表达式和表达式的值 106
3.5.2 赋值运算符、赋值表达式和赋值语句 106
3.5.3 算术运算符及其表达式 107
3.5.4 自增和自减算术运算符及其表达式 109
3.5.6 逻辑运算符及其表达式 114
3.5.5 关系运算符及其表达式 114
3.5.7 逗号运算符及其表达式 115
3.5.8 条件运算符及其表达式 116
3.5.9 位运算符及其表达式 117
3.5.10 复合赋值运算符及其表达式 120
3.6 运算符的优先级和求值顺序 123
3.7 类型转换 125
3.8 实例研究:求质数的快速筛法 131
3.9 程序陷阱 134
习题 138
第4章 C程序基本控制结构 141
4.1 程序的基本结构 141
4.1.1 语句和块的概念 141
4.1.2 三种基本结构 142
4.2 顺序结构程序设计 142
4.2.1 数据输入输出在C语言中的实现方法 142
4.3 选择结构程序设计 143
4.2.2 顺序结构程序实例 143
4.3.1 if…else…语句 144
4.3.2 else if语句 145
4.3.3 switch语句 147
4.4 循环结构程序设计 150
4.4.1 while循环语句 150
4.4.2 for循环语句 150
4.4.3 do…while循环语句 154
4.4.4 break、continue和goto语句 156
4.5 实例研究:寻找名人 158
4.6 程序陷阱 161
习题 162
第5章 函数 165
5.1 C语言的程序模块 165
5.2 函数概念 166
5.2.1 函数基础 166
5.2.2 函数的现代定义形式 171
5.2.3 函数的传统定义形式 172
5.2.4 函数返回语句return 172
5.2.5 函数返回非整数 174
5.2.6 函数原型 177
5.2.7 内联函数(inline关键字) 177
5.3 外部变量、内部变量及其作用域 178
5.3.1 外部变量和内部变量 178
5.3.2 变量的作用域规则 191
5.3.3 头文件的设计 193
5.4 变量的存储类型 196
5.4.1 自动型变量 196
5.4.2 静态型变量 196
5.4.3 寄存器型变量 198
5.4.4 外部型变量 198
5.4.5 块结构 199
5.4.6 变量的存储类型及其作用域总结 199
5.5 变量的初始化 201
5.6 变量的连接 202
5.7 自顶向下程序设计 202
5.8 实例研究 203
5.8.1 洗牌和发牌模拟 203
5.8.2 寻求一一函数 205
5.9 程序陷阱 208
习题 210
第6章 数组和指针 211
6.1 指针和地址 212
6.2 指针和函数参数 214
6.3 指针和数组 219
6.4 地址运算 223
6.5 字符指针和函数 227
6.6 指针数组和指向指针的指针 230
6.6.1 指针数组 230
6.6.2 指向指针的指针 234
6.6.3 指针数组的初始化 236
6.7 多维数组 237
6.7.1 二维数组的定义、初始化及引用 237
6.7.2 二维数组作为形式参数 240
6.7.3 指针数组与多维数组的比较 242
6.8 实例研究 243
6.8.1 兑换钱问题 243
6.8.2 最长公共子序列 245
6.9 程序陷阱 248
习题 253
第7章 递归 255
7.1 递归问题求解 255
7.2 回溯法 259
7.3 分而治之算法 263
7.4 实例研究 264
7.4.1 汉诺塔问题 264
7.4.2 迷宫问题 266
7.5 程序陷阱 269
习题 270
第8章 结构、联合、位运算和枚举类型 273
8.1 结构 273
8.1.1 概述 273
8.1.2 结构的声明 273
8.1.3 结构类型变量的引用 276
8.1.4 结构变量的初始化 278
8.1.5 结构数组 279
8.1.6 指向结构类型的指针 285
8.2 联合 289
8.2.1 联合的概念 289
8.2.2 联合的定义 290
8.2.3 联合变量的说明 290
8.2.4 联合变量的赋值和使用 291
8.3 枚举类型 293
8.4 类型定义:typedef 298
8.5 位运算符 299
8.5.1 位运算符介绍 300
8.5.2 位运算综合举例 305
8.6 位段 308
8.6.1 位段的定义和位段变量的说明 308
8.6.2 位段的使用 310
8.7 实例研究 313
8.7.1 石头、剪刀、布游戏 313
8.7.2 最短路径问题 319
8.8 程序陷阱 323
习题 324
第9章 预处理命令 325
9.1 概述 325
9.2 文件包含 325
9.3 宏定义 326
9.3.1 无参宏定义 326
9.3.2 带参宏定义 329
9.4 条件编译 335
9.4.1 第1种形式:#ifdef、#else和#endif 335
9.3.3 取消宏#undef 335
9.4.2 第2种形式:#if、#else和#endif 337
9.4.3 第3种形式:#ifndef、#else和#endif 338
9.5 宏assert 339
9.6 实例研究 340
9.6.1 碰运气游戏 340
9.6.2 编辑字符串 346
9.7 程序陷阱 351
习题 352
第10章 文件 353
10.1 文件概念 353
10.3 文件的打开与关闭 354
10.3.1 文件打开的函数fopen() 354
10.2 文件指针 354
10.3.2 文件关闭的函数fclose() 356
10.4 文件检测函数 356
10.5 文件操作函数 357
10.5.1 字符读写函数:fgetc()/fputc() 357
10.5.2 字符串读写函数:fgets()/fputs() 360
10.5.3 数据块读写函数:fread()/fwrite() 363
10.5.4 格式化读写函数:fscanf()/fprintf() 367
10.6 随机读写文件 370
10.7 实例研究 374
10.7.1 文件加密算法 374
10.7.2 文件分割算法 379
10.8 程序陷阱 386
习题 386
第11章 高级话题 387
11.1 变长参数列表 387
11.2 命令行参数 389
11.3 编译多个源文件程序的说明 390
11.4 用exit()退出程序的执行 391
11.5 运态内存分配与释放 393
11.5.1 运态内存分配函数:malloc() 393
11.5.2 运态内存释放函数:free() 393
11.5.3 运态内存处理实例:线性链表 393
11.6 指针的深入讨论 397
11.6.1 数组名和指针变量作函数参数 397
11.6.2 指向函数的指针变量 398
11.6.3 返回指针的函数 400
11.7 格式化输出与输入讨论 401
11.7.1 格式化输出函数printf() 401
11.7.2 格式化输入函数scanf() 404
11.8 实例研究:生物基因序列 407
11.9 程序陷阱 417
习题 418
12.1 C99增加的属性 419
第12章 C89与C99 419
12.1.1 inline内联函数 420
12.1.2 restrict限定的指针 420
12.1.3 新的内建数据类型 421
12.2 C99改变了的属性 422
12.3 C99删除了的属性 426
A.1 安装程序 429
A.2 建立一个工程 429
附录A C程序的基本开发过程 429
附录B ASCII表 433
附录C 运算符表 435
附录D 常见标准库函数 437
附录E 输入输出格式控制符 451
附录F C程序设计编程风格指导 453
附录G 四川大学计算机学院国家示范性软件学院C语言考研试题举例 455
附录H 词汇表 459
参考文献 465
- 《指向核心素养 北京十一学校名师教学设计 英语 七年级 上 配人教版》周志英总主编 2019
- 《设计十六日 国内外美术院校报考攻略》沈海泯著 2018
- 《计算机辅助平面设计》吴轶博主编 2019
- 《高校转型发展系列教材 素描基础与设计》施猛责任编辑;(中国)魏伏一,徐红 2019
- 《景观艺术设计》林春水,马俊 2019
- 《程序逻辑及C语言编程》卢卫中,杨丽芳主编 2019
- 《高等教育双机械基础课程系列教材 高等学校教材 机械设计课程设计手册 第5版》吴宗泽,罗圣国,高志,李威 2018
- 《指向核心素养 北京十一学校名师教学设计 英语 九年级 上 配人教版》周志英总主编 2019
- 《幼儿园课程资源丛书 幼儿园语言教育资源》周兢编 2015
- 《Cinema 4D电商美工与视觉设计案例教程》樊斌 2019
- 《大学计算机实验指导及习题解答》曹成志,宋长龙 2019
- 《指向核心素养 北京十一学校名师教学设计 英语 七年级 上 配人教版》周志英总主编 2019
- 《大学生心理健康与人生发展》王琳责任编辑;(中国)肖宇 2019
- 《大学英语四级考试全真试题 标准模拟 四级》汪开虎主编 2012
- 《大学英语教学的跨文化交际视角研究与创新发展》许丽云,刘枫,尚利明著 2020
- 《北京生态环境保护》《北京环境保护丛书》编委会编著 2018
- 《复旦大学新闻学院教授学术丛书 新闻实务随想录》刘海贵 2019
- 《大学英语综合教程 1》王佃春,骆敏主编 2015
- 《大学物理简明教程 下 第2版》施卫主编 2020
- 《指向核心素养 北京十一学校名师教学设计 英语 九年级 上 配人教版》周志英总主编 2019