21天学会C语言的作品目录

第一周课程

第65438天+0课程C语言初级II

1.1 C语言简史二

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

类型& ampRUN1打印程序列表12

第一种&;运行12

C语言程序第二天部分14

2.1简短的C语言程序14

2.2部分程序15

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

2 . 2 . 2 #包含编译指令(第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

精度描述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变量名

3.3数值变量的类型25

3.3.1变量声明27

typedef关键字27

初始化变量28

3.4常数28

3.4.1文字常数28

符号常数29

3.5汇总31

3.6问答32

3.7作业32

3.7.1测验32

练习32

第四天课程陈述、表达和运算符34

4.1语句34

4.1.1空白对34句的影响

4.1.2创建一个空语句35

4.1.3使用复合语句35

4.2表达式35

4.2.1简单表达式35

复杂表达式36

4.3操作员36

4.3.1赋值运算符36

数学运算符37

4.3.3运算符优先级和括号40

4.3.4子表达式41的计算顺序

4.3.5关系运算符41

4.4 if语句42

其他条款44

4.5判断关系表达式46

4 . 5 . 1关系运算符的优先级

4.6逻辑运算符48

4.7再谈真/假值48

4.7.1操作员优先级49

4.7.2复合赋值运算符50

条件运算符50

4.7.4逗号运算符51

4.8再谈运营商优先级51

4.9摘要52

4.10问答52

作业53

4.11.1小测验53

4.11.2练习53

类型& amp第二轮猜谜游戏55

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

什么是+0函数

5.1.1函数的定义57

5.1.2函数的用法57

5.2该功能的工作原理59

5.3函数和结构化编程60

结构化编程的优势60

5.3.2规划结构化程序60

自上而下的方法61

5.4写函数61

5.4.1功能头62

5.4.2函数返回类型62

功能名称62

参数表62

5.4.5功能体64

功能原型67

5.5将参数传递给函数67

5.6调用函数68

5.6.1递归69

5.7功能70的位置

5.8内嵌函数70

5.9汇总71

5.10问答71

作业72

5.11.1测验72

5.11.2练习72

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

6.1数组的基础知识74

6.2控制程序的执行75

6.2.1用于语句75

6.2.2语句79的嵌套

6.2.3虽然声明80

嵌套的while语句82

6.2.5 do…while循环84

6.3嵌套循环87

6.4摘要88

6.5问题和答案88

6.6家庭作业

6.6.1测验89

练习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

小测验102

7.6.2练习102

第一周复习104

第二周课程

第八天使用数值数组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

第九天课程指针123

9.1指针123是什么?

9.1.1计算机内存123

9.1.2创建指针123

9.2指针和简单变量124

9.2.1声明指针124

初始化指针124

使用指针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

类型& ampRUN3使程序暂停139。

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

10.1字符数据类型141

10.2使用字符变量141。

10.3使用字符串144。

10.3.1字符数组144

10.3.2初始化字符数组144

10.4字符串和指针144

10.5字符串145未存储在数组中

10 . 5 . 1在编译时分配字符空间

10.5.2 malloc()函数

10.5.3使用malloc()函数146。

10.6显示字符串和字符148

10.6.1 puts()函数149

10.6.2 printf()函数

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课程结构,* * *对象和TypeDef 157

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.1.1小测验180

11.10.2练习180

第12天课程变量范围182

12.1 182的范围是什么?

12.1.1演示范围182

为什么范围很重要

12.2外部变量184

12.2.1外部变量范围184

12.2.2何时使用外部变量184

12.2.3外部关键字184

12.3局部变量185

12.3.1静态变量和动态变量186

功能范围参数12.3.2 187

外部静态变量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

类型& ampRUN4机密消息194

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

13.1提前结束循环197

13.1.1 break语句197

13.1.2继续语句199

13.2转到语句200

13.3无限循环202

13.4开关语句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

练习215

第14课操作屏幕、打印机和键盘

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使用stderr 240。

14.7汇总241

14.8问答241

14.9作业242

14.9.1测验242

练习242

第二周复习244

第三周课程

Day 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

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

15.5链表273

15.5.1链表基础知识273

15.5.2使用链表274

15.5.3简单链表演示278

链接列表280的实现

15.6摘要286

15.7问答286

15.8作业286

15.8.1测验287

练习287

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

16.1将流与磁盘文件关联289

16.2磁盘文件的类型289

16.3文件名290

打开文件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

删除文件307

16.9.2重命名文件308

16.9.3复制文件309

16.10使用临时文件311

16.11汇总312

16.12问答312

作业313

16.13.1测验313

锻炼313

类型& ampRUN5计算字符数314。

第17天课程操作字符串318

17.1确定字符串的长度318。

17.2复制字符串319

17.2.1 strcpy()函数319

17.2.2 strncpy()函数320

strdup()函数321

17.3拼接线322

1 strcat()函数322

17.3.2 strncat()函数324

17.4比较字符串325

比较两个完整的字符串325

比较字符串的一部分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 stspn()函数330

17.5.5 strpbrk()函数331

17.5.6 strstr()函数331

17.6字符串转换332

17.7其他字符串函数333

1 strrev()函数333

17.7.2 strset()和strnset()函数334

17.8将字符串转换成数字334

17.8.1将字符串转换为int 335。

17.8.2将字符串转换为长值335。

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

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

17.9字符检测功能336

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

17.10汇总340

17.11问答340

17.12作业341

17.12.1

17.12.2锻炼341

函数的高级主题

18.1将指针传递给函数343。

18.2空类型指针346

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

18.4返回指针350的功能

18.5摘要352

18.6问答352

18.7作业352

18.7.1测验352

练习353

第19天课程函数库354

19.1数学函数354

19.1.1三角函数354

指数函数和对数函数354 1.2

19.1.3双曲函数355

19.1.4其他数学函数355

19.1.5数学函数演示355

19.2处理时间356

19.2.1表示时间356

19.2.2时间函数

使用时间功能359

19.3处理错误360

19.3.1 assert()宏361

19.3.2头文件错误号h 362

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

类型& ampRUN6计算抵押贷款的偿还金额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

练习390

课程编译器高级用法21 392日

21.1多源代码文件编程392

21.1.1.2的模块化编程的优点265438

21.1.2模块化编程技术392

模块21.1.3 394的组件

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

21.1.5使用。对象文件395

21.1.6使用生成工具396

21.2 C语言预处理器396

21 . 2 . 1 #定义编译器指令397

21.2.2使用编译指令#include 400。

21.2.3使用#if、#elif、#else和#endif 400。

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

第65438课答案

测验444

练习444

第二天第445课答案

测验445

练习445

第三天第446课答案

测验446

练习446

第四天第447课答案

测验447

练习447

第五天课程449的答案

测验449

练习449

第六天第452课答案

测验452

练习452

第七天第453课答案

测验453

练习453

第八天第457课答案

测验457

练习457

第9天课程答案461

测验461

练习461

第65438课答案

测验463

练习463

第65438课答案

测验465

练习466

第65438课答案

测验467

练习467

第65438课答案

测验470

练习471

14日课程答案是471。

测验471

练习472

第65438课答案

测验472

练习473

第65438课答案

测验473

练习474

第17 474课答案

测验474

练习474

第65438课答案

测验475

练习475

第65438课答案

测验475

练习476

第20天第476课答案

测验476

练习477

第265438课答案

测验477

附加课程的答案1 478

测验478

第二课附加答案478

测验478

第三课附加答案478

测验478

第四课附加答案479

测验479

第五课附加答案479

测验479

第六课附加答案480

测验480

第七课附加答案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