分享
 
 
 

21天学通C语言

王朝百科·作者佚名  2010-05-13
窄屏简体版  字體: |||超大  

版权信息作者: [美]Bradley L.Jones

出版:电子工业出版社

ISBN: 9787115111449

日期: 2003

页数: 489页

字数:1041千字

开本: 16开

定价: 52元

内容简介本书译自《Teach Yourself C in 21 Days》第6版,该书的前五版都登上了畅销书排行榜,是初学者学习C语言的经典之作。本版按最新的标准(ISO/IEC:9899-1999),以循序渐进的方式介绍了C语言编程方面的知识,并提供了丰富的实例和大量的练习。通过学习实例,并将所学知识用于完成练习,读者将逐步了解、熟悉并精通C语言。

本书包括四周的课程,前三周详细介绍了C语言,第四周是附加课程,简要地介绍了最流行的面向对象语言--C++、Java和C#,附加课程的内容在光盘中以pdf格式文件提供。第一周的课程介绍了C语言程序的基本元素,包括变量、常量、语句、表达式、函数和循环;第二周介绍了数组、指针、字符和字符串、结构和共用体、变量的作用域、输入/输出等;第三周介绍了有关指针和函数的高级主题、磁盘文件读写、字符串操纵函数、函数库、内存管理以及编译器的高级用法等。

本书是为初中级程序员编写的,可作为学习C语言的教程或参考资料。

目录第一周课程

第1天课程 C语言初步2

1.1 C语言简史2

1.2 为何要使用C语言2

1.3 编程前的准备工作3

1.4 程序开发周期4

1.4.1 创建源代码4

1.4.2 编译源代码4

1.4.3 链接以创建可执行文件5

1.4.4 结束开发周期6

1.5 第一个C语言程序7

1.5.1 输入并编译hello.c7

1.6 总结9

1.7 问与答9

1.8 作业10

1.8.1 小测验10

1.8.2 练习10

TYPE&RUN1 打印程序清单12

第一个TYPE&RUN12

第2天课程 C语言程序的组成部分14

2.1 一个简短的C语言程序14

2.2 程序的组成部分15

2.2.1 main( )函数(第8~23行)15

2.2.2 #include编译指令(第2行)15

2.2.3 变量定义(第4行)15

2.2.4 函数原型(第6行)16

2.2.5 程序语句(第11、12、15、16、19、20、22和28行)16

2.2.6 函数定义(第26~29行)16

2.2.7 程序注释(第1、10、14、18和25行)16

2.2.8 使用花括号(第9、23、27和29行)17

2.2.9 运行程序17

2.2.10 有关精度的说明18

2.3 重温程序的组成部分18

2.4 总结20

2.5 问与答20

2.6 作业20

2.6.1 小测验20

2.6.2 练习21

第3天课程 存储信息:变量和常量23

3.1 计算机内存23

3.2 使用变量存储信息24

3.2.1 变量名24

3.3 数值变量的类型25

3.3.1 变量声明27

3.3.2 typedef关键字27

3.3.3 初始化变量28

3.4 常量28

3.4.1 字面常量28

3.4.2 符号常量29

3.5 总结31

3.6 问与答32

3.7 作业32

3.7.1 小测验32

3.7.2 练习32

第4天课程 语句、表达式和运算符34

4.1 语句34

4.1.1 空白对语句的影响34

4.1.2 创建空语句35

4.1.3 使用复合语句35

4.2 表达式35

4.2.1 简单表达式35

4.2.2 复杂表达式36

4.3 运算符36

4.3.1 赋值运算符36

4.3.2 数学运算符37

4.3.3 运算符优先级和圆括号40

4.3.4 子表达式的计算顺序41

4.3.5 关系运算符41

4.4 if语句42

4.4.1 else子句44

4.5 判断关系表达式46

4.5.1 关系运算符的优先级47

4.6 逻辑运算符48

4.7 再谈true/false值48

4.7.1 运算符的优先级49

4.7.2 复合赋值运算符50

4.7.3 条件运算符50

4.7.4 逗号运算符51

4.8 再谈运算符优先级51

4.9 总结52

4.10 问与答52

4.11 作业53

4.11.1 小测验53

4.11.2 练习53

TYPE&RUN2 猜数游戏55

第5天课程 使用函数封装代码57

5.1 函数是什么57

5.1.1 函数的定义57

5.1.2 函数的用法57

5.2 函数的工作原理59

5.3 函数和结构化编程60

5.3.1 结构化编程的优点60

5.3.2 规划结构化程序60

5.3.3 从顶向下的方法61

5.4 编写函数61

5.4.1 函数头62

5.4.2 函数的返回类型62

5.4.3 函数名62

5.4.4 参数列表62

5.4.5 函数体64

5.4.6 函数原型67

5.5 将参数传递给函数67

5.6 调用函数68

5.6.1 递归69

5.7 函数的位置70

5.8 内联函数70

5.9 总结71

5.10 问与答71

5.11 作业72

5.11.1 小测验72

5.11.2 练习72

第6天课程 基本的程序流程控制74

6.1 数组的基本知识74

6.2 控制程序的执行75

6.2.1 for语句75

6.2.2 嵌套for语句79

6.2.3 while语句80

6.2.4 嵌套while语句82

6.2.5 do…while循环84

6.3 嵌套循环87

6.4 总结88

6.5 问与答88

6.6 作业88

6.6.1 小测验89

6.6.2 练习89

第7天课程 信息读写基础90

7.1 在屏幕上显示信息90

7.1.1 printf( )函数90

7.1.2 格式化字符串90

7.1.3 转义序列91

7.1.4 使用puts( )显示消息96

7.2 使用scanf( )函数输入数值数据97

7.3 三字符序列100

7.4 总结101

7.5 问与答101

7.6 作业102

7.6.1 小测验102

7.6.2 练习102

第一周复习104

第二周课程

第8天课程 使用数值数组110

8.1 数组是什么110

8.1.1 一维数组110

8.1.2 多维数组113

8.2 命名和声明数组114

8.2.1 初始化数组115

8.2.2 初始化多维数组116

8.2.3 数组的最大长度119

8.3 总结121

8.4 问与答121

8.5 作业121

8.5.1 小测验121

8.5.2 练习122

第9天课程 指针123

9.1 指针是什么123

9.1.1 计算机内存123

9.1.2 创建指针123

9.2 指针和简单变量124

9.2.1 声明指针124

9.2.2 初始化指针124

9.2.3 使用指针125

9.3 指针和变量类型126

9.4 指针和数组127

9.4.1 作为指针的数组名128

9.4.2 数组元素的存储128

9.4.3 指针算术130

9.5 有关指针的注意事项133

9.6 数组下标表示法和指针133

9.7 将数组传递给函数133

9.8 总结137

9.9 问与答137

9.10 作业138

9.10.1 小测验138

9.10.2 练习138

TYPE&RUN3 让程序暂停139

第10天课程 字符和字符串141

10.1 char数据类型141

10.2 使用字符变量141

10.3 使用字符串144

10.3.1 字符数组144

10.3.2 初始化字符数组144

10.4 字符串和指针144

10.5 不存储在数组中的字符串145

10.5.1 编译时分配字符空间145

10.5.2 malloc( )函数145

10.5.3 使用malloc( )函数146

10.6 显示字符串和字符148

10.6.1 puts( )函数149

10.6.2 printf( )函数149

10.7 从键盘读取字符串150

10.7.1 使用gets( )函数输入字符串150

10.7.2 使用scanf( )函数输入字符串152

10.8 总结154

10.9 问与答154

10.10 作业155

10.10.1 小测验155

10.10.2 练习156

第11天课程 结构、共用体和TypeDef157

11.1 简单结构157

11.1.1 定义和声明结构157

11.1.2 存取结构的成员158

11.2 复杂结构160

11.2.1 包含其他结构的结构160

11.2.2 包含数组的结构162

11.3 结构数组164

11.4 初始化结构167

11.5 结构和指针168

11.5.1 将指针作为结构的成员168

11.5.2 创建指向结构的指针170

11.5.3 使用指针和结构数组171

11.5.4 将结构作为参数传递给函数173

11.6 共用体174

11.6.1 定义、声明和初始化共用体175

11.6.2 存取共用体的成员175

11.7 使用typedef给结构创建别名179

11.8 总结179

11.9 问与答179

11.10 作业180

11.10.1 小测验180

11.10.2 练习180

第12天课程 变量作用域182

12.1 作用域是什么182

12.1.1 演示作用域182

12.1.2 作用域为何重要184

12.2 外部变量184

12.2.1 外部变量的作用域184

12.2.2 何时使用外部变量184

12.2.3 extern关键字184

12.3 局部变量185

12.3.1 静态变量和动态变量186

12.3.2 函数参数的作用域187

12.3.3 外部静态变量188

12.3.4 寄存器变量188

12.4 局部变量和main( )函数189

12.5 应使用哪种存储类型189

12.6 局部变量和代码块189

12.7 总结190

12.8 问与答191

12.9 作业191

12.9.1 小测验191

12.9.2 练习191

TYPE&RUN4 机密消息194

第13天课程 高级程序流程控制197

13.1 提早结束循环197

13.1.1 break语句197

13.1.2 continue语句199

13.2 goto语句200

13.3 死循环202

13.4 switch语句205

13.5 退出程序212

13.5.1 exit( )函数212

13.6 在程序中执行操作系统命令213

13.7 总结214

13.8 问与答215

13.9 作业215

13.9.1 小测验215

13.9.2 练习215

第14天课程 操纵屏幕、打印机和键盘217

14.1 流和C语言217

14.1.1 何为程序的输入/输出217

14.1.2 什么是流217

14.1.3 文本流和二进制流218

14.1.4 预定义的流218

14.2 使用C语言的流函数219

14.2.1 例子219

14.3 读取键盘输入220

14.3.1 字符输入220

14.3.2 格式化输入225

14.4 控制屏幕输出231

14.4.1 使用putchar( )、putc( )和fputc( )输出字符231

14.4.2 使用puts( )和fputs( )输出字符串233

14.4.3 使用printf( )和fprintf( )格式化输出234

14.5 重定向输入/输出238

14.5.1 重定向输入239

14.6 何时使用fprintf( )239

14.6.1 使用stderr240

14.7 总结241

14.8 问与答241

14.9 作业242

14.9.1 小测验242

14.9.2 练习242

第二周复习244

第三周课程

第15天课程 有关指针的高级主题252

15.1 声明指向指针的指针252

15.2 指针和多维数组253

15.3 指针数组259

15.3.1 复习字符串和指针259

15.3.2 声明char类型指针数组259

15.3.3 范例261

15.4 函数指针265

15.4.1 声明函数指针265

15.4.2 初始化并使用函数指针266

15.5 链表273

15.5.1 有关链表的基本知识273

15.5.2 使用链表274

15.5.3 演示简单链表278

15.5.4 实现链表280

15.6 总结286

15.7 问与答286

15.8 作业286

15.8.1 小测验287

15.8.2 练习287

第16天课程 使用磁盘文件289

16.1 将流与磁盘文件关联起来289

16.2 磁盘文件的类型289

16.3 文件名290

16.4 打开文件290

16.5 读写文件数据292

16.5.1 格式化文件输入/输出293

16.5.2 字符输入/输出296

16.5.3 直接文件输入/输出297

16.6 文件缓冲技术:关闭和刷新文件300

16.7 顺序文件存取和随机文件存取301

16.7.1 ftell( )和rewind( )函数301

16.7.2 fseek( )函数303

16.8 检测文件尾305

16.9 文件管理函数307

16.9.1 删除文件307

16.9.2 给文件重命名308

16.9.3 复制文件309

16.10 使用临时文件311

16.11 总结312

16.12 问与答312

16.13 作业313

16.13.1 小测验313

16.13.2 练习313

TYPE&RUN5 计算字符数314

第17天课程 操纵字符串318

17.1 确定字符串的长度318

17.2 复制字符串319

17.2.1 strcpy( )函数319

17.2.2 strncpy( )函数320

17.2.3 strdup( )函数321

17.3 拼接字符串322

17.3.1 strcat( )函数322

17.3.2 strncat( )函数324

17.4 比较字符串325

17.4.1 比较两个完整字符串325

17.4.2 比较字符串的一部分326

17.4.3 比较字符串时忽略大小写328

17.5 查找字符串328

17.5.1 strchr( )函数328

17.5.2 strrchr( )函数329

17.5.3 strcspn( )函数329

17.5.4 strspn( )函数330

17.5.5 strpbrk( )函数331

17.5.6 strstr( )函数331

17.6 字符串转换332

17.7 其他字符串函数333

17.7.1 strrev( )函数333

17.7.2 strset( )和strnset( )函数334

17.8 将字符串转换为数字334

17.8.1 将字符串转换为int335

17.8.2 将字符串转换为long值335

17.8.3 将字符串转换为long long值335

17.8.4 将字符串转换为浮点数335

17.9 字符检测函数336

17.9.1 ANSI对大小写转换的支持339

17.10 总结340

17.11 问与答340

17.12 作业341

17.12.1 小测验341

17.12.2 练习341

第18天课程 有关函数的高级主题343

18.1 将指针传递给函数343

18.2 void类型的指针346

18.3 接受可变数目参数的函数348

18.4 返回指针的函数350

18.5 总结352

18.6 问与答352

18.7 作业352

18.7.1 小测验352

18.7.2 练习353

第19天课程 函数库354

19.1 数学函数354

19.1.1 三角函数354

19.1.2 指数函数和对数函数354

19.1.3 双曲线函数355

19.1.4 其他数学函数355

19.1.5 演示数学函数355

19.2 处理时间356

19.2.1 时间的表示356

19.2.2 时间函数356

19.2.3 使用时间函数359

19.3 处理错误360

19.3.1 assert( )宏361

19.3.2 头文件errno.h362

19.3.3 perror( )函数362

19.4 查找和排序364

19.4.1 使用bsearch( )进行查找364

19.4.2 使用qsort( )进行排序365

19.4.3 演示查找和排序365

19.5 总结370

19.6 问与答370

19.7 作业370

19.7.1 小测验370

19.7.2 练习371

TYPE&RUN6 计算抵押贷款的偿还金额372

第20天课程 管理内存374

20.1 类型转换374

20.1.1 自动类型转换374

20.1.2 显式转换376

20.2 分配内存的存储空间377

20.2.1 使用malloc( )函数分配内存377

20.2.2 使用calloc( )函数分配内存379

20.2.3 使用realloc( )函数分配更多的内存380

20.2.4 使用free( )函数释放内存381

20.3 操纵内存块383

20.3.1 使用memset( )函数初始化内存383

20.3.2 使用memcpy( )复制内存中的数据383

20.3.3 使用memmove( )函数移动内存中的数据383

20.4 位的用法385

20.4.1 移位运算符385

20.4.2 按位逻辑运算符386

20.4.3 求补运算符387

20.4.4 结构中的位字段387

20.5 总结389

20.6 问与答389

20.7 作业390

20.7.1 小测验390

20.7.2 练习390

第21天课程 编译器的高级用法392

21.1 使用多个源代码文件的编程392

21.1.1 模块化编程的优点392

21.1.2 模块化编程技术392

21.1.3 模块的组成部分394

21.1.4 外部变量和模块化编程395

21.1.5 使用.obj文件395

21.1.6 使用生成工具396

21.2 C语言的预处理器396

21.2.1 #define预处理器编译指令397

21.2.2 使用编译指令#include400

21.2.3 使用#if、#elif、#else和#endif400

21.2.4 使用#if…#endif来帮助调试401

21.2.5 避免将头文件包含多次401

21.2.6 #undef编译指令402

21.3 预定义的宏402

21.4 使用命令行参数403

21.5 总结405

21.6 问与答405

21.7 作业405

21.7.1 小测验405

21.7.2 练习406

第三周复习407

附加课程(具体内容见光盘)413

附录A ASCII字符集414

附录B C/C++中的保留字418

附录C 使用二进制和十六进制数420

C.1 十进制420

C.2 二进制420

C.3 十六进制420

附录D 移植性问题422

D.1 ANSI标准422

D.2 ANSI关键字422

D.3 区分大小写422

D.4 可移植的字符424

D.5 确保ANSI兼容性424

D.6 绕开ANSI标准424

D.7 使用可移植的数值变量425

D.7.1 最大值和最小值426

D.7.2 确定数字的类型430

D.7.3 转换字符的大小写:一个可移植性范例434

D.8 可移植的结构和共用体434

D.8.1 字对齐434

D.8.2 读写结构435

D.8.3 在可移植的程序中使用非-ANSI特性436

D.8.4 ANSI标准头文件437

D.9 总 结438

D.10 问与答438

D.11 作 业438

D.11.1 小测验438

D.11.2 练习439

附录E 常用的C语言函数440

附录F 作业答案444

第1天课程的答案444

小测验444

练习444

第2天课程的答案445

小测验445

练习445

第3天课程的答案446

小测验446

练习446

第4天课程的答案447

小测验447

练习447

第5天课程的答案449

小测验449

练习449

第6天课程的答案452

小测验452

练习452

第7天课程的答案453

小测验453

练习453

第8天课程的答案457

小测验457

练习457

第9天课程的答案461

小测验461

练习461

第10天课程的答案463

小测验463

练习463

第11天课程的答案465

小测验465

练习466

第12天课程的答案467

小测验467

练习467

第13天课程的答案470

小测验470

练习471

第14天课程的答案471

小测验471

练习472

第15天课程的答案472

小测验472

练习473

第16天课程的答案473

小测验473

练习474

第17天课程的答案474

小测验474

练习474

第18天课程的答案475

小测验475

练习475

第19天课程的答案475

小测验475

练习476

第20天课程的答案476

小测验476

练习477

第21天课程的答案477

小测验477

附加课程1的答案478

小测验478

附加课程2的答案478

小测验478

附加课程3的答案478

小测验478

附加课程4的答案479

小测验479

附加课程5的答案479

小测验479

附加课程6的答案480

小测验480

附加课程7的答案480

小测验480

练习480

附录G Dev-C++编译器482

G.1 Dev-C++简介482

G.2 在Microsoft Windows上安装Dev-C++482

G.3 Dev-C++中的程序484

G.4 使用Dev-C++484

G.4.1 针对C语言编程定制Dev-C++485

G.4.2 在Dev-C++中输入并编译程序486

G.4.3 编译Dev-C++程序488

G.4.4 运行Dev-C++程序488

G.5 总 结489

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有