新書推薦:
《
美国小史(揭秘“美国何以成为美国”,理解美国的经典入门读物)
》
售價:NT$
380.0
《
中国古代北方民族史丛书——东胡史
》
售價:NT$
576.0
《
巨人传(插图珍藏本)
》
售價:NT$
3289.0
《
地下(村上春树沙林毒气事件的长篇纪实)
》
售價:NT$
358.0
《
偿还:债务与财富的阴暗面
》
售價:NT$
374.0
《
清华大学藏战国竹简校释(壹):《命训》诸篇
》
售價:NT$
440.0
《
封建社会农民战争问题导论(光启文库)
》
售價:NT$
319.0
《
虚弱的反攻:开禧北伐
》
售價:NT$
429.0
編輯推薦:
本书特点:◆ 新的调试练习◆ 新的附录使用C进行图形编程C11概述◆ 大量带有注释的程序代码贯穿全书◆ 通过醒目方式提供的众多辅助信息和提示◆ 从大学和面试问题中专门挑选有代表性的问答和新程序
內容簡介:
本书专门用于满足渴望成为程序员的学生,*版按照Bloom分类法所定的学习目标来呈现主题, 支持基于学习的成果。本书解释了基本概念和高级内容,且主要关注编程基础。本书详尽地解释了数 组、字符串、函数、指针和数据结构。大量示例使内容更相关,提高了学习效果。本书适用于初学者和 有经验的专业人员,有关C语言的几乎所有问题在这本书中都能找到答案。
關於作者:
E. Balagurusamy 目前是位于Coimbatore 的EBG Foundation 公司的董事长。之前,他是位于New Delhi 的Union Public Service Commission 的委员,以及位于Chennai 的Anna University的校长。他担任过信息技术和管理领域的教师、培训师和顾问。他从印度理工学院Indian Instituteof Technology的Roorkee 分校获得了电子工程荣誉学士和硕士学位,以及系统工程博士学位。他的研究领域包括面向对象的软件工程和电子治理:技术管理、业务流程重组和全面质量管理。E. Balagurusamy 撰写了大量研究论文和多本图书。他最畅销的图书包括但不只是如下这些:● Fundamentals of Computers● Computing Fundamentals and C Programming● Programming in C#, 3e● Programming in Java, 4e● Object-Oriented Programming with C, 5e● Programming in BASIC, 3e● Numerical Methods● Reliability Engineering他获得了多种荣誉,并被收录在Directory of Whos Who of Intellectuals 和Directory ofDistinguished Leaders in Education 中。
目錄 :
第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 ifelse语句 120
5.5 嵌套ifelse语句 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 IO操作的错误处理 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 C99C11的特性 527
附录F 使用C语言进行图形编程 535
內容試閱 :
C语言是功能强大、灵活性好、可移植且结构良好的程序设计语言。由于C语言集成了高级语言和汇编语言的优点,因此可适用于系统和应用程序的开发。今天,C语言无疑是操作系统和嵌入式开发中使用最广的通用语言。在几乎所有现代程序设计语言中,都可以看到C语言的痕迹。自从1989年标准化以来,C语言经历了一系列的修订和改进,以提高该语言的可用性。现在,融合了这些新特性的版本称为C11。第7版新增内容作为市场上最畅销的图书之一,本书的这一版现在是一本混合式的图书,用于更高级别的学习。本版根据标准Bloom的分类学习方法,全面更新了输出。新版本的重要内容有使用C进行图形编程和C11介绍。简单易懂的交互式模拟视频和案例研究,其他小结、项目、问题求解、复习题、编程和调试练习已融合到内容中,供用户参考。本书结构本书首先在第1章概述了C语言,以及C程序的基本结构和执行。第2章讨论了如何声明常量、变量和数据类型。第3章讨论了运算符和表达式。第4章介绍了输入输出操作的管理。第5章介绍了分支。第6章讨论了判断与循环。第7章和第8章介绍了数组、字符数组和字符串。第9章和第10章介绍了自定义函数、结构体和共用体。第11章介绍了指针。第12章介绍了文件管理。第13章介绍了动态内存分配和链表。第14章介绍了预处理器。第15章介绍了开发C程序的规则。本书特色● 学习目标● 关键概念● 已解决的问题● 提示● 最后的小插图● 复习题判断题、填空题、简答题、编程练习,还给出了难度级别数字辅助内容在给出的链接http:www.mhhe.combalagurusamyansic7e上可以获得数字辅助内容,其中包含如下部分:● 项目● 案例研究本书教辅内容的学生版,可通过手机扫描封底的二维码获得,教师版则需要填写书末的麦格劳-希尔教育教师服务卡,按照指定方式进行申请。致谢特别感谢McGraw Hill EducationIndia的整个团队。还要感谢如下审阅人给出了宝贵的反馈,他们的建议使本书更有价值。● H K Patnaik● T V Gopal● Unnati Natin Chaudhari● Tanveer Ahmed● Ravindra Divekar● SC Dutta● D Lakshmi本书是我在浩瀚无边的知识海洋中留下脚印的一次尝试。希望读者能很好地利用它。出版社的提示McGraw Hill EducationIndia希望获得读者的建议和评论,请发送到info.india@mheduction.com 请在主题栏注明书名和作者。与隐私相关的问题也可以提交。