第1章 C语言简史 1
本章预览 1
目录 1
1.1 起源于二进制 2
1.2 发展至汇编程序 2
1.3 面向函数的语言 2
1.4 C 3
1.5 关于C++一词 4
小结 4
练习题 5
技术提示 5
复习题 5
术语表 6
第2章 初步认识C语言编程 7
本章预览 7
2.1 计算机程序是什么 8
2.2 程序设计 9
2.3 程序开发 10
2.4 调试程序 12
2.5 Hello,World——第一个C程序 13
2.6 用scanf()函数输入 16
2.7 使用伪代码 18
2.8 调试指南 19
小结 22
技术提示 22
小窍门 22
复习题 23
练习题 23
术语表 24
3.2 变量和变量名 27
3.1 基本数据类型 27
第3章 基本数据类型:整型和浮点型变量本章预览 27
3.3 符号整型 28
3.4 无符号整型 33
3.5 浮点数 34
3.6 上溢和下溢 35
3.7 调试指南 36
小结 40
技术提示 41
小窍门 41
难点 41
练习题 42
复习题 42
术语表 44
第4章 C中的基本数据类型:字符本章预览 46
4.1 字符 46
4.2 有符号型和无符号型字符 49
4.3 调试指南 50
小结 51
复习题 51
难点 51
技术提示 51
练习题 52
术语表 54
第5章 C运算符介绍 55
本章预览 55
5.1 加减乘除 55
5.2 程序开发的过程 60
5.3 优先级 63
5.4 调试指南 65
小结 65
复习题 66
练习题 66
小窍门 66
术语表 68
第6章 其他数字运算符 69
本章预览 69
6.1 增量和减量 70
6.2 模 72
6.3 sizeof 72
6.4 +=、-=、*=和/= 73
6.5 强制类型转换 74
6.6 调试指南 75
小窍门 78
小结 78
难点 79
复习题 79
练习题 79
术语表 84
第7章 逻辑运算符 85
本章预览 85
7.1 逻辑运算符 86
7.2 什么是真 86
7.3 算术值和真 87
7.4 逻辑运算符 87
7.5 逻辑AND 94
7.6 逻辑OR 95
7.7 调试指南 99
小结 101
技术提示 102
小窍门 102
难点 102
复习题 102
练习题 103
术语表 106
8.1 什么是流程控制语句 107
第8章 流程控制:分支 107
本章预览 107
8.2 分支 108
8.3 调试指南 120
小结 124
技术提示 124
小窍门 124
难点 125
复习题 125
练习题 126
术语表 129
本章预览 130
第9章 流程控制:循环 130
9.1 循环:真妙 131
9.2 调试指南 139
小结 144
技术提示 144
复习题 145
练习题 145
难点 145
小窍门 145
术语表 150
第10章 一维数组 151
本章预览 151
10.1 数组声明 152
10.2 访问数组元素 152
10.3 数组初始化 160
10.4 幻数 164
10.5 调试指南 169
小结 172
技术提示 172
难点 173
小窍门 173
复习题 174
练习题 174
术语表 180
第11章 多维数组 182
本章预览 182
11.1 扩展一维数组 183
11.2 声明多维数组 183
11.3 访问数组元素 184
11.4 初始化多维数组 185
11.5 在程序中使用多维数组 186
11.6 调试指南 192
小结 194
技术提示 194
小窍门 194
难点 194
复习题 194
练习题 195
术语表 197
第12章 用户I/O,字符串和字符串函数本章预览 198
12.1 字符和字符串的输入输出 198
12.2 字符串处理函数 205
12.3 调试指南 210
小结 212
技术提示 212
小窍门 213
难点 213
复习题 213
练习题 213
术语表 215
第13章 基于函数的结构化设计本章预览 217
13.1 结构化设计 218
13.2 创建函数 224
13.3 基于函数的结构化设计 236
13.4 调试指南 238
小结 241
技术提示 241
小窍门 242
难点 242
复习题 242
练习题 243
术语表 246
第14章 程序员自定义数据类型本章预览 247
14.1 数据建模 248
14.2 结构 249
14.3 联合 258
14.4 枚举类型 259
14.5 typedef 262
14.6 调试指南 264
小结 266
技术提示 266
小窍门 266
难点 267
复习题 267
练习题 268
术语表 271
第15章 设计数据类型 272
本章预览 272
15.1 类型属性 272
15.2 程序员自定义类型的操作 274
15.3 识别程序中的基本类型 277
15.4 调试指南 279
小结 282
技术提示 282
小窍门 282
练习题 283
复习题 283
术语表 285
第16章 预处理指令 287
本章预览 287
16.1 什么是预处理器 287
16.2 #define 288
16.3 #ifdef-#else-#endif 294
16.4 #ifncef-#else-#endif 296
16.5 #if detfind()和#if!defind() 297
16.6 #elif 297
16.7 #include 298
16.8 #pragma 299
16.9 调试指南 299
小结 302
技术提示 302
小窍门 303
难点 303
复习题 303
练习题 303
术语表 305
17.1 组织文件 306
本章预览 306
第17章 程序的组织 306
17.2 调试指南 310
小结 312
技术提示 313
小窍门 313
难点 313
复习题 313
练习题 313
本章预览 316
第18章 第18章 指针 316
18.1 什么是指针 317
18.2 使用指针 317
18.3 指针和数组 323
18.4 指针和函数 332
18.5 指针和字符串 345
18.6 在文本编辑器中使用指针 349
18.7 调试指南 363
小结 367
技术提示 367
难点 368
小窍门 368
复习题 369
练习题 369
术语表 372
第19章 动态内存分配 373
本章预览 373
19.1 分配和堆 374
19.2 分配和释放 374
19.3 文本编辑器中的动态分配 386
19.4 调试指南 391
小窍门 396
小结 396
技术提示 396
难点 397
复习题 397
练习题 397
术语表 401
第20章 数据封装 402
本章预览 402
20.1 生存空间和持久性 403
20.2 存储类型 403
20.3 const 408
20.4 调试指南 411
小结 414
技术提示 415
小窍门 415
难点 415
复习题 415
练习题 416
术语表 420
21.2 文件输入与输出 422
21.1 标准文件 422
本章预览 422
第21章 文件输入与输出 422
21.3 打印文本 444
21.4 把文件I/O加到文本编辑器 445
21.5 分析命令行参数 450
21.6 调试指南 451
小结 455
技术提示 456
小窍门 456
复习题 457
练习题 457
难点 457
术语表 459
第22章 位操作 460
本章预览 460
22.1 字节和位 460
22.2 位操作 462
22.3 位域结构 472
22.4 调试指南 474
小结 475
难点 476
复习题 476
小窍门 476
技术提示 476
练习题 477
术语表 481
第23章 设计文本编辑器 483
本章预览 483
23.1 程序的目的 483
23.2 程序规范 483
23.3 自顶向下的设计 485
23.4 设计程序的类型 486
23.5 填写函数参数列表 492
23.6 文本编辑器的伪代码 495
23.7 文本编辑器的项目计划 497
23.8 调试指南 498
小结 500
技术提示 500
小窍门 501
难点 501
复习题 501
练习题 501
术语表 502
24.1 快速看一下完成的程序 503
第24章 开发文本编辑器:TEdit.c本章预览 503
24.2 编写TEdit.c 505
24.3 调试指南 506
小结 508
技术提示 508
复习题 508
练习题 509
术语表 511
第25章 开发文本编辑器:TBuffer.h、TBuffer.c、TString.h和TString.c本章预览 512
25.1 编写TBuffer.h和TBuffer.c 513
25.2 编写TString.h和TString.c 516
25.3 调试指南 518
小结 521
技术提示 521
小窍门 522
难点 522
复习题 522
练习题 523
术语表 525
第26章 开发文本编辑器:InstList.h、InstList.c、MiscType.h和Platform.h本章预览 526
26.1 编写InstList.h和InstList.c 526
26.3 项目完成总结 527
26.2 编写Platform.和hMiscType.h 527
复习题 528
练习题 529
第27章 认识C++,C#和JAVA本章预览 531
27.1 C是其他语言的基础 531
27.2 C++ 532
27.3 Java 533
27.4 C 534
小结 534
技术提示 535
术语表 535