
包邮C语言程序设计(第4版 修订版)

- ISBN:9787115637406
- 装帧:平装-胶订
- 册数:暂无
- 重量:暂无
- 开本:16开
- 页数:378
- 出版时间:2025-01-01
- 条形码:9787115637406 ; 978-7-115-63740-6
本书特色
(1)本书**版至今超过25年,是帮助程序员掌握C语言编程的经典图书
(2)本书覆盖目前常用的C11标准,帮助读者掌握必要且实用的C语言编程知识
(3)本书从简单基础的任务开始,帮助读者构建高质量的专业技术能力
(4)本书通过精心设计的示例和练习为读者提供作者的宝贵实践经验
(5)本书提供常见错误指南,可以帮助读者构建健壮、可靠的代码
(6)本书作者具有30多年的C语言开发经验,曾是AT&T贝尔实验室的软件顾问,在那里进行过UNIX和C语言程序的开发和授课
内容简介
本书通过程序示例讲解C语言的众多概念、函数和编程方法,帮助初学者更好地掌握C语言编程的内容。 本书从C语言的基础概念和编译过程出发,详细讲解C语言的数据类型、算术表达式、循环语句、判断语句、数组、函数、结构体、字符串、指针、位运算、预处理器、输入输出操作等,以及goto语句、联合体、逗号运算符、限定符、命令行参数、动态内存分配、程序调试、面向对象程序设计等高级特性。此外,本书提供了大量练习题,帮助读者巩固实践;并通过附录提供C语言概要、标准C语言库、使用GCC编译程序、常见的编程错误、C语言编译器和集成开发环境等内容。 本书适合想要零基础入门C语言编程的读者,也适合用作计算机等相关专业C语言课程的教学参考书。
目录
第 1章 一些基础概念1
1.1 程序设计1
1.2 高级语言1
1.3 操作系统2
1.4 编译程序2
1.5 集成开发环境4
1.6 语言解释器5
第 2章 编译并运行你的第 一个程序6
2.1 编译你的程序6
2.2 运行你的程序7
2.3 理解你的第 一个程序7
2.4 显示变量的值9
2.5 注释11
2.6 练习题12
第3章 变量、数据类型和算术表达式14
3.1 理解数据类型和常量14
3.1.1 整数类型int14
3.1.2 浮点数类型float15
3.1.3 扩展精度类型double16
3.1.4 单字符类型char16
3.1.5 布尔数据类型_Bool16
3.1.6 类型说明符:long、long long、short、unsigned和signed18
3.2 使用变量20
3.3 使用算术表达式21
3.4 运算与赋值结合:赋值运算符27
3.5 _Complex和_Imaginary类型28
3.6 练习题28
第4章 程序循环30
4.1 三角数30
4.2 for语句31
4.2.1 关系运算符32
4.2.2 输出对齐35
4.3 程序输入36
4.3.1 嵌套的for循环37
4.3.2 for循环的变体39
4.4 while语句40
4.5 do语句43
4.5.1 break语句44
4.5.2 continue语句44
4.6 练习题45
第5章 做出决策47
5.1 if语句47
5.1.1 if-else结构50
5.1.2 复合关系测试52
5.1.3 嵌套if语句54
5.1.4 else if结构55
5.2 switch语句61
5.3 布尔变量63
5.4 条件运算符66
5.5 练习题68
第6章 使用数组70
6.1 定义一个数组70
6.1.1 使用数组元素作为计数器73
6.1.2 生成斐波那契数75
6.1.3 使用数组生成素数76
6.2 初始化数组78
6.3 字符数组79
6.3.1 使用数组的基数变换80
6.3.2 const限定符82
6.4 多维数组83
6.5 变长数组85
6.6 练习题86
第7章 使用函数88
7.1 定义一个函数88
7.2 参数和局部变量91
7.2.1 函数原型声明91
7.2.2 自动局部变量92
7.3 返回函数结果93
7.4 函数调用97
7.4.1 声明返回类型和参数类型99
7.4.2 检查函数参数100
7.5 自顶向下编程技术101
7.6 函数与数组102
7.6.1 赋值运算符105
7.6.2 数组排序106
7.6.3 多维数组108
7.7 全局变量112
7.8 自动变量与静态变量115
7.9 递归函数117
7.10 练习题119
第8章 使用结构体121
8.1 结构体的基础知识121
8.2 用于存储日期的结构体121
8.3 函数与结构体125
8.4 初始化结构体132
8.5 结构体数组133
8.6 包含结构体的结构体136
8.7 包含数组的结构体138
8.8 结构体变体140
8.9 练习题141
第9章 字符串143
9.1 复习字符串的基础知识143
9.2 字符数组143
9.3 变长字符串145
9.3.1 字符串的初始化与显示147
9.3.2 判断两个字符串是否相等149
9.3.3 输入字符串150
9.3.4 输入单个字符152
9.3.5 空字符串156
9.4 转义字符158
9.5 关于字符串常量的更多内容160
9.6 字符串、结构体和数组161
9.7 字符操作167
9.8 练习题169
第 10章 指针172
10.1 指针和间接性172
10.2 定义一个指针变量172
10.3 在表达式中使用指针175
10.4 使用指针和数据结构176
10.4.1 包含指针的结构体178
10.4.2 链表179
10.5 关键字const和指针185
10.6 指针和函数186
10.7 指针和数组191
10.7.1 稍许离题:程序优化194
10.7.2 是数组还是指针?194
10.7.3 指向字符串的指针195
10.7.4 字符串常量和指针196
10.7.5 回顾递增和递减运算符198
10.8 指针操作200
10.9 指向函数的指针201
10.10 指针和内存地址202
10.11 练习题203
第 11章 位运算205
11.1 位的基础知识205
11.2 位运算符206
11.2.1 按位与运算符206
11.2.2 按位或运算符208
11.2.3 按位异或运算符209
11.2.4 二进制求补运算符209
11.2.5 左移运算符211
11.2.6 右移运算符211
11.2.7 移位函数212
11.2.8 循环移位213
11.3 位域215
11.4 练习题218
第 12章 预处理器220
12.1 #define语句220
12.1.1 程序的可扩展性223
12.1.2 程序的可移植性224
12.1.3 更高级的定义类型225
12.1.4 #运算符229
12.1.5 ##运算符230
12.2 #include语句231
12.3 条件编译233
12.3.1 #ifdef、#endif、#else和#ifndef语句233
12.3.2 #if和#elif预处理器语句234
12.3.3 #undef语句235
12.4 练习题236
第 13章 用枚举数据类型、类型定义及数据类型转换以扩展数据类型237
13.1 枚举数据类型237
13.2 typedef语句240
13.3 数据类型转换242
13.3.1 符号扩展243
13.3.2 参数转换243
13.4 练习题244
第 14章 处理大型程序245
14.1 将你的程序分为多个文件245
14.2 模块之间的通信247
14.2.1 外部变量247
14.2.2 静态、外部变量和函数的对比249
14.2.3 有效地使用头文件251
14.3 其他处理大型程序的工具252
14.3.1 make工具252
14.3.2 CVS工具254
14.3.3 UNIX工具:ar、grep、sed等命令254
第 15章 C语言中的输入与输出操作255
15.1 字符I O:getchar()与putchar()255
15.2 格式化I O:printf()与scanf()255
15.2.1 printf()函数256
15.2.2 scanf()函数261
15.3 文件的输入和输出操作264
15.3.1 将I O重定向到文件264
15.3.2 文件末尾266
15.4 处理文件的特殊函数267
15.4.1 fopen()函数267
15.4.2 getc()和putc()函数268
15.4.3 fclose()函数269
15.4.4 feof()函数270
15.4.5 fprintf()和fscanf()函数271
15.4.6 fgets()和fputs()函数271
15.4.7 stdin、stdout和stderr272
15.4.8 exit()函数272
15.4.9 重命名和删除文件273
15.5 练习题273
第 16章 其他内容及高级特性275
16.1 其他语言语句275
16.1.1 goto语句275
16.1.2 空语句275
16.2 使用联合体276
16.3 逗号运算符279
16.4 类型限定符279
16.4.1 register限定符279
16.4.2 volatile限定符280
16.4.3 restrict限定符280
16.5 命令行参数280
16.6 动态内存分配283
16.6.1 calloc()和malloc()函数284
16.6.2 sizeof运算符284
16.6.3 free()函数286
16.7 练习题287
第 17章 调试程序288
17.1 使用预处理器调试288
17.2 用GDB调试程序293
17.2.1 处理变量295
17.2.2 显示源文件296
17.2.3 控制程序的执行296
17.2.4 获得堆栈信息300
17.2.5 调用函数以及设置数组和结构体301
17.2.6 使用GDB命令获取帮助信息301
17.2.7 其他303
第 18章 面向对象程序设计305
18.1 到底什么是对象?305
18.2 实例和方法306
18.3 编写一个处理分数的C语言程序307
18.4 定义一个Objective-C类来处理分数307
18.5 定义一个C 类来处理分数311
18.6 定义一个C#类来处理分数313
附录A C语言概要316
A.1 双字符序列与标识符316
A.1.1 双字符序列316
A.1.2 标识符316
A.2 注释317
A.3 常量317
A.3.1 整型常量317
A.3.2 浮点型常量318
A.3.3 字符型常量318
A.3.4 字符串常量319
A.3.5 枚举常量319
A.4 数据类型和声明320
A.4.1 声明320
A.4.2 基本数据类型320
A.4.3 派生数据类型321
A.4.4 枚举数据类型326
A.4.5 typedef语句326
A.4.6 类型限定符const、volatile和restrict327
A.5 表达式327
A.5.1 C语言运算符总结328
A.5.2 常量表达式329
A.5.3 算术运算符330
A.5.4 逻辑运算符330
A.5.5 关系运算符331
A.5.6 位运算符331
A.5.7 递增和递减运算符331
A.5.8 赋值运算符332
A.5.9 条件运算符332
A.5.10 类型转换运算符332
A.5.11 sizeof运算符332
A.5.12 逗号运算符333
A.5.13 数组的基本操作333
A.5.14 结构体的基本操作333
A.5.15 指针的基本操作334
A.5.16 复合字面量335
A.5.17 基本数据类型的转换335
A.6 存储类和作用域336
A.6.1 函数336
A.6.2 变量336
A.7 函数337
A.7.1 函数定义337
A.7.2 函数调用338
A.7.3 函数指针338
A.8 语句339
A.8.1 复合语句339
A.8.2 break语句339
A.8.3 continue语句339
A.8.4 do语句339
A.8.5 for语句339
A.8.6 goto语句340
A.8.7 if语句340
A.8.8 空语句341
A.8.9 return语句341
A.8.10 switch语句341
A.8.11 while语句342
A.9 预处理器342
A.9.1 三字符组342
A.9.2 预处理器指令343
A.9.3 预定义标识符346
附录B 标准C语言库347
B.1 标准头文件347
B.1.1 347
B.1.2 347
B.1.3 348
B.1.4 348
B.1.5 349
B.2 字符串函数349
B.3 内存函数351
B.4 字符函数352
B.5 I O函数353
B.6 内存中的格式转换函数357
B.7 字符串转换为数字358
B.8 动态内存分配函数359
B.9 数学函数360
B.10 通用函数368
附录C 使用GCC编译程序371
C.1 通用命令格式371
C.2 命令行选项371
附录D 常见的程序错误373
附录E 参考资源377
E.1 C语言377
E.1.1 图书377
E.1.2 网站377
E.1.3 网络论坛377
E.2 C语言编译器和集成开发环境377
E.2.1 GCC378
E.2.2 MinGW378
E.2.3 Cygwin378
E.2.4 Visual Studio378
E.2.5 CodeWarrior378
E.2.6 Code::Blocks378
作者简介
史蒂芬·G. 寇肯(Stephen G. Kochan)具有30多年的C语言开发经验。他曾是AT&T贝尔实验室的软件顾问,在那里进行过UNIX和C语言程序的开发和授课。他撰写了多本关于编程和UNIX的经典图书,包括《Objective-C程序设计(第6版)》和《UNIX Linux OS X中的Shell编程(第4版)》等。
-
造神:人工智能神话的起源和破除 (精装)
¥32.7¥88.0 -
大数据技术导论(第2版)
¥28.9¥41.0 -
人人都能学AI
¥40.4¥68.0 -
人工智能
¥20.3¥55.0 -
系统架构设计师教程(第2版)(全国计算机技术与软件专业技术资格(水平)考试指定用
¥102.7¥158.0 -
过程控制技术(第2版高职高专规划教材)
¥27.6¥38.0 -
数据结构基础(C语言版)(第2版)
¥41.7¥49.0 -
WPS OFFICE完全自学教程(第2版)
¥97.3¥139.0 -
智能视频目标检测与识别技术
¥43.5¥59.0 -
人工智能基础及应用
¥36.0¥48.0 -
深入浅出软件架构
¥117.2¥186.0 -
计算机网络基础(微课版)
¥39.0¥55.0 -
剪映:即梦AI绘画与视频制作从新手到高手
¥66.0¥89.0 -
红蓝攻防 技术与策略(原书第3版)
¥95.9¥139.0 -
Web前端开发基础
¥37.5¥57.0 -
软件设计的哲学(第2版)
¥52.0¥69.8 -
人工智能的底层逻辑
¥58.7¥79.0 -
软件工程理论与案例
¥63.4¥99.0 -
剪映+PREMIERE+AIGC 短视频制作速成
¥73.5¥98.0 -
剪映AI
¥52.0¥88.0