注册 登录 进入教材巡展
#
  • #

出版时间:2017年6月

出版社:清华大学出版社

以下为《标准C程序设计(第7版)》的配套数字资源,这些资源在您购买图书后将免费附送给您:
  • 清华大学出版社
  • 9787302471202
  • 1-1
  • 53353
  • 16开
  • 2017年6月
  • 工学
  • 软件工程
  • TP312C
  • 计算机
  • 本专科、高职高专
内容简介
本书专门用于满足渴望成为程序员的学生,*版按照Bloom分类法所定的学习目标来呈现主题,支持基于学习的成果。本书解释了基本概念和高级内容,且主要关注编程基础。本书详尽地解释了数组、字符串、函数、指针和数据结构。大量示例使内容更相关,提高了学习效果。本书适用于初学者和有经验的专业人员,有关C语言的几乎所有问题在这本书中都能找到答案。
目录
第1章  C语言概述 1
1.1  C语言的历史 1
1.2  C语言的主要特性 3
1.3  示例程序1:显示一条消息 3
1.4  示例程序2:两个数相加 6
1.5  示例程序3:利息计算 7
1.6  示例程序4:子例程的使用 9
1.7  示例程序5:数学函数的使用 10
1.8  C程序的基本结构 11
1.9  编程风格 12
1.10  运行C程序 13
1.11  在UNIX系统环境下 14
1.11.1  创建程序 14
1.11.2  编译与链接 15
1.11.3  运行程序 15
1.11.4  创建自己的可运行文件 15
1.11.5  多个源文件问题 16
1.12  在MS-DOS系统环境下 17
重要术语 17
谨记 17
复习题 18
调试练习 19
编程练习 20
第2章  常量、变量及数据类型 23
2.1  概述 23
2.2  字符集 23
2.3  C标记符 25
2.4  关键字与标识符 25
2.5  常量 26
2.5.1  整型常量 26
 
2.5.2  实数常量 28
2.5.3  单字符常量 29
2.5.4  字符串常量 29
2.5.5  反斜杠字符常量 29
2.6  变量 30
2.7  数据类型 31
2.7.1  整型 32
2.7.2  浮点型 33
2.7.3  void类型 34
2.7.4  字符类型 34
2.8  变量的声明 34
2.8.1  基本类型的声明 34
2.8.2  自定义类型的声明 36
2.9  存储类型的声明 37
2.10  变量的赋值 38
2.10.1  赋值语句 39
2.10.2  从键盘读取数据 41
2.11  符号常量的定义 43
2.11.1  可修改性 43
2.11.2  可理解性 43
2.12  将变量声明为常量 44
2.13  将变量声明为可变的 45
2.14  数据的上溢和下溢 45
重要术语 45
谨记 46
2.15  案例学习 46
2.15.1  平均数计算(中级难度) 46
2.15.2  温度转换问题(中级难度) 47
复习题 48
调试练习 50
编程练习 50
第3章  运算符与表达式 53
3.1  概述 53
3.2  算术运算符 54
3.2.1  整数算术运算 54
3.2.2  实数算术运算 55
3.2.3  混合算术运算 56
3.3  关系运算符 56
3.4  逻辑运算符 57
3.5  赋值运算符 58
3.6  递增和递减运算符 60
3.7  条件运算符 61
3.8  逐位运算符 61
3.9  特殊运算符 62
3.9.1  逗号运算符 62
3.9.2  sizeof运算符 63
3.10  算术表达式 64
3.11  表达式的计算 64
3.12  算术表达式的优先级 65
3.13  一些可计算性问题 67
3.14  表达式中的类型转换 68
3.14.1  隐式类型转换 68
3.14.2  显式类型转换 70
3.15  运算符的优先级及其关联性 71
3.16  数学函数 73
关键术语 74
谨记 74
3.17  案例学习 75
3.17.1  销售人员的工资
(中等难度) 75
3.17.2  二次方程的求解
(高级难度) 76
复习题 77
调试练习 80
编程练习 81
第4章  管理输入和输出操作 85
4.1  概述 85
4.2  读取一个字符 86
4.3  写一个字符 88
4.4  格式化输入 90
4.4.1  整数输入 90
4.4.2  输入实数 92
4.4.3  输入字符串 93
4.4.4  混合数据类型的读取 95
4.4.5  错误输入的检测 96
4.4.6  使用scanf函数时应记住的
几个要点 98
4.5  格式化输出 98
4.5.1  整数的输出 99
4.5.2  实数的输出 100
4.5.3  单个字符的显示 102
4.5.4  字符串的显示 102
4.5.5  混合数据的输出 103
4.5.6  提高输出的可读性 104
关键术语 105
谨记 105
4.6  案例学习 106
4.6.1  库存报告(中级难度) 106
4.6.2  可靠性图形(高级难度) 107
复习题 109
调试练习 111
编程练习 112
第5章  判断与分支 115
5.1  概述 115
5.2  if判断语句 115
5.3  简单if语句 116
5.4  if…else语句 120
5.5  嵌套if…else语句 122
5.6  阶梯式else if语句 125
5.7  switch语句 128
5.8  ?:运算符 132
5.9  goto语句 136
关键术语 138
谨记 139
5.10  案例学习 139
5.10.1  数值的分布范围
(中级难度) 139
5.10.2  账单计算(中级难度) 141
练习题 143
调试练习 147
编程练习 148
第6章  判断与循环 153
6.1  概述 153
6.2  while语句 155
6.3  do语句 157
6.4  for语句 159
6.4.1  简单的for循环 159
6.4.2  for循环的其他特性 163
6.4.3  for循环的嵌套 165
6.5  循环中的跳转 168
6.5.1  跳出循环 168
6.5.2  跳过循环的一部分 171
6.5.3  避免使用goto语句 173
6.5.4  跳出程序 174
6.6  简洁的测试表达式 174
关键术语 175
谨记 175
6.7  案例学习 176
6.7.1  二项式系数表(中级难度) 176
6.7.2  柱状图(中级难度) 177
6.7.3  最小成本(中级难度) 179
6.7.4  描绘两函数的曲线图
(高级难度) 180
复习题 182
调试练习 184
编程练习 185
第7章  数组 189
7.1  概述 189
7.2  一维数组 191
7.3  一维数组的声明 192
7.4  一维数组的初始化 194
7.4.1  编译时初始化 194
7.4.2  运行时初始化 195
7.5  二维数组 199
7.6  二维数组的初始化 203
7.7  多维数组 210
7.8  动态数组 211
 
7.9  与数组相关的其他内容 211
关键术语 212
谨记 212
7.10  案例学习 213
7.10.1  数列的中值问题
(中级难度) 213
7.10.2  标准差的计算(中级难度) 215
7.10.3  测试评分(高级难度) 217
7.10.4  产品与销售分析
(高级难度) 219
复习题 224
调试练习 225
编程练习 227
第8章  字符数组与字符串 231
8.1  概述 231
8.2  字符串变量的声明与初始化 232
8.3  从终端读取字符串 233
8.3.1  使用scanf函数 233
8.3.2  读取文本行 235
8.3.3  使用getchar和gets函数 235
8.4  在屏幕上显示字符串 239
8.4.1  使用printf函数 239
8.4.2  使用putchar和puts函数 242
8.5  字符的算术运算 243
8.6  将字符串组合在一起 245
8.7  两个字符串的比较 246
8.8  字符串处理函数 246
8.8.1  strcat函数 247
8.8.2  strcmp函数 248
8.8.3  strcpy函数 248
8.8.4  strlen函数 249
8.8.5  其他字符串函数 251
8.9  字符串表 253
8.10  字符串的其他特性 254
关键术语 255
谨记 255
8.11  案例学习 255
8.11.1  计算文本中的单词数
(中级难度) 255
8.11.2  客户列表的处理
(中级难度) 257
复习题 259
调试练习 261
编程练习 262
第9章  用户自定义函数 265
9.1  概述 265
9.2  为什么需要自定义函数 265
9.3  多函数程序 266
9.4  自定义函数的元素 269
9.5  函数定义 269
9.5.1  函数头 270
9.5.2  函数体 271
9.6  返回值及其类型 271
9.7  函数调用 273
9.8  函数声明 274
9.9  函数的类型 276
9.10  无参数、无返回值的函数 276
9.11  有参数、无返回值的函数 278
9.12  有参数、有返回值的函数 281
9.13  无参数但有一个返回值的
函数 285
9.14  返回多个值的函数 285
9.15  函数的嵌套 287
9.16  函数的递归 288
9.17  将数组传递给函数 289
9.17.1  一维数组 289
9.17.2  二维数组 292
9.18  将字符串传递给函数 293
9.19  变量的作用域、可见性和
生存期 294
9.19.1  自动变量 294
9.19.2  外部变量 296
9.19.3  外部声明 298
9.19.4  静态变量 300
9.19.5  寄存器变量 301
9.19.6  嵌套代码块 302
9.20  多文件程序 303
关键术语 304
谨记 305
9.21  案例学习 306
复习题 308
调试练习 311
编程练习 312
第10章  结构体与共用体 315
10.1  概述 315
10.2  结构体的定义 316
10.3  声明结构体变量 317
10.4  访问结构体成员 319
10.5  结构体的初始化 320
10.6  结构体变量的复制与比较 322
10.7  单个成员的运算 323
10.8  结构体数组 324
10.9  结构体中的数组 326
10.10  结构体中的结构体 328
10.11  结构体与函数 330
10.12  共用体 332
10.13  结构体的大小 333
10.14  位域 334
关键术语 336
谨记 336
10.15  案例学习 337
复习题 340
调试练习 343
编程练习 344
第11章  指针 347
11.1  概述 347
11.2  理解指针 348
11.3  访问变量的地址 350
11.4  指针变量的声明 351
11.5  指针变量的初始化 352
11.6  通过指针访问变量 353
11.7  指针链 355
11.8  指针表达式 356
11.9  指针的递增与比例因子 357
11.10  指针与数组 358
11.11  指针与字符串 361
11.12  指针数组 363
11.13  将指针作为函数的参数 364
11.14  函数返回指针 367
11.15  指向函数的指针 368
11.16  指针与结构体 370
11.17  指针存在的问题 373
关键术语 374
谨记 374
11.18  案例学习 375
11.18.1  考试成绩处理程序
(高级难度) 375
11.18.2  库存更新程序
(中级难度) 378
复习题 379
调试练习 381
编程练习 382
第12章  文件管理 385
12.1  概述 385
12.2  定义并打开文件 386
12.3  关闭文件 387
12.4  文件的输入/输出操作 388
12.4.1  getc与putc函数 388
12.4.2  getw和putw函数 389
12.4.3  fprintf与fscanf函数 391
12.5  I/O操作的错误处理 393
12.6  随机访问文件 396
12.7  命令行参数 401
关键术语 403
谨记 404
复习题 404
调试练习 405
编程练习 406
第13章  动态内存分配与链表 407
13.1  概述 407
13.2  动态内存分配 407
13.3  用malloc函数分配一块内存 408
13.4  用calloc函数分配多个
内存块 410
13.5  用free函数释放已用的空间 411
13.6  用realloc函数改变内存块的
大小 411
13.7  链表的概念 413
13.8  链表的优点 416
13.9  链表的种类 417
13.10  再论指针 417
13.11  创建链表 419
13.12  插入一个数据项 422
13.13  删除数据项 425
13.14  链表的应用 427
关键术语 428
谨记 428
13.15  案例学习 429
13.15.1  在已排序链表中插入
数据(中级难度) 429
13.15.2  构建已排序的链表
(高级难度) 432
复习题 434
调试练习 436
编程练习 437
第14章  预处理器 439
14.1  概述 439
14.2  宏替换指令 440
14.2.1  简单宏替换 440
14.2.2  带参数的宏 442
14.2.3  宏嵌套 443
14.2.4  取消宏定义 444
14.3  文件包含 444
14.4  编译器控制指令 445
14.4.1  情形1 445
14.4.2  情形2 446
14.4.3  情形3 447
14.4.4  情形4 447
14.5  ANSI C的其他预处理指令 448
14.5.1  #elif指令 448
14.5.2  #pragma指令 449
14.5.3  #error指令 449
14.5.4  字符串化运算符# 450
14.5.5  标记符粘贴运算符## 450
关键术语 451
谨记 451
复习题 451
调试练习 452
编程练习 452
第15章  C程序开发的一些指导原则 455
15.1  概述 455
15.2  程序设计 455
15.2.1  问题分析 456
15.2.2  勾勒出程序的结构 456
15.2.3  算法开发 456
15.2.4  控制结构的选择 457
15.3  程序编码 457
15.3.1  自身文档化 457
15.3.2  语句的构造 458
15.3.3  输入/输出格式 459
15.3.4  程序的通用性 459
15.4  常见的程序错误 459
15.4.1  丢失分号 459
15.4.2  误用分号 460
15.4.3  丢失括号 460
15.4.4  丢失引号 461
15.4.5  误用引号 461
15.4.6  使用不正确的注释字符 461
15.4.7  未声明变量 462
15.4.8  忽视了运算符的优先级 462
15.4.9  忽视了递增/递减运算符
的计算顺序 463
15.4.10  忽视了函数参数的
说明 463
15.4.11  在函数调用中实参和
形参类型不匹配 463
15.4.12  函数未声明 464
15.4.13  在scanf函数的参数中
丢失了&运算符 464
15.4.14  超出了数组的边界 464
15.4.15  忘记了给字符串的
空字符留出空间 465
15.4.16  使用未初始化的指针 465
15.4.17  丢失了间接运算符和
地址运算符 465
15.4.18  在指针表达式中
丢失括号 466
15.4.19  宏定义语句中的参数
遗漏了括号 466
15.5  程序测试与调试 467
15.5.1  错误的类型 467
15.5.2  程序测试 468
15.5.3  程序调试 468
15.6  程序的效率 469
15.6.1  运行时间 469
15.6.2  内存需求 469
关键术语 469
谨记 470
复习题 470
附录A  位级程序设计 473
附录B  字符的ASCII值 479
附录C  ANSI C语言的库函数 481
附录D  项目设计 485
附录E  C99/C11的特性 527
附录F  使用C语言进行图形编程 535