图书目录

目录

第1章C语言概述1

1.1程序设计语言与C语言1

1.1.1程序设计语言1

1.1.2C语言的发展与特点3

1.1.3C程序的上机调试步骤和方法4

1.1.4任务11C程序的编程环境14

1.2算法及其描述15

1.2.1算法与结构化程序设计15

1.2.2算法的描述17

1.2.3任务12算法的描述22

1.3项目实践程序结构分析23

小结24

习题25

第2章基本数据类型及运算27

2.1C语言的语法特征与程序结构27

2.1.1C程序的结构28

2.1.2C语言的字符集与词汇29

2.1.3任务21理解C语言的结构30

2.2C语言的数据31

2.2.1C语言的数据类型31

2.2.2常量和变量32

2.2.3整型数据34

2.2.4实型数据36

2.2.5字符型数据39

2.2.6变量赋初值42

2.2.7测试数据长度43

2.2.8各类数值型数据之间的混合运算43

2.2.9任务22理解数据在计算机中的表示与存储45

2.3运算符与表达式47

2.3.1运算符的分类47

2.3.2算术运算符与表达式48

2.3.3赋值运算符和赋值表达式49

2.3.4自增、自减运算符51

2.3.5逗号运算符和逗号表达式53

2.3.6任务23理解C语言的算术运算53

2.4项目实践描述学生信息54

小结55

习题56

第3章顺序程序设计61

3.1数据的输入与输出61

3.1.1字符数据的输入与输出62

3.1.2格式化输入与输出63

3.1.3输入/输出流68

3.1.4顺序程序设计71

3.1.5任务31考试成绩绩点的计算73

3.2宏与预定义74

3.2.1宏定义74

3.2.2文件包含80

3.2.3条件编译81

3.2.4#pragma预处理指令83

3.2.5任务32提高程序的可读性与易修改性84

3.3项目实践功能菜单设计85

小结86

习题87

第4章分支程序设计92

4.1分支和条件逻辑92

4.1.1关系运算符和表达式93

4.1.2逻辑运算符和表达式94

4.1.3条件运算符和条件表达式95

4.1.4任务41获得奖学金的条件逻辑97

4.2简单分支程序设计98

4.2.1单分支结构的程序设计98

4.2.2双分支结构的程序设计99

4.2.3任务42判断考试成绩是否合格101

4.3多分支程序设计102

4.3.1if语句的多重选择程序设计102

4.3.2switch语句的多重选择程序设计105

4.3.3任务43求解分段函数107

4.4项目实践判定考试成绩等级109

小结112

习题113

第5章循环程序设计118

5.1循环语句118

5.1.1用while语句处理循环119

5.1.2用dowhile语句处理循环121

5.1.3用for语句处理循环122

5.1.4循环嵌套的使用127

5.1.5任务51统计某门课程的平均成绩128

5.2控制转移语句130

5.2.1break语句130

5.2.2continue语句131

5.2.3goto语句132

5.2.4任务52强制中断循环134

5.3循环程序设计的应用135

5.3.1穷举135

5.3.2迭代137

5.3.3任务53穷举与迭代139

5.4项目实践考试成绩统计141

小结142

习题143

第6章模块化程序设计149

6.1函数149

6.1.1函数的概念150

6.1.2函数的声明与定义151

6.1.3函数的调用153

6.1.4函数间的数据传递155

6.1.5任务61学生成绩统计的模块化编程159

6.2变量的作用域与生存周期162

6.2.1变量的作用域与可见性162

6.2.2变量的生存周期168

6.2.3内部函数和外部函数172

6.2.4任务62多人协作完成一个任务174

6.3嵌套与递归175

6.3.1嵌套176

6.3.2递归177

6.3.3任务63币额数量的计算179

6.4项目实践自动出题181

小结184

习题185

第7章简单构造类型189

7.1一维数组189

7.1.1一维数组的定义与初始化190

7.1.2一维数组元素的引用192

7.1.3一维数组作为函数参数195

7.1.4任务71统计分析学生的考试成绩198

7.2一维数组的应用200

7.2.1数据元素的复制与选择200

7.2.2数据元素的移动204

7.2.3数据元素的查找与统计205

7.2.4数据元素的修改、删除与插入210

7.2.5数据的排序212

7.2.6任务72创建学生成绩表214

7.3二维数组及其应用217

7.3.1二维数组的定义与初始化218

7.3.2二维数组元素的引用219

7.3.3二维数组作为函数参数222

7.3.4任务73统计分析多门课程的成绩223

7.4字符数组与字符串227

7.4.1字符数组的定义、初始化及引用227

7.4.2字符串与字符数组227

7.4.3字符串的处理228

7.4.4任务74查找学生信息232

7.5项目实践考试成绩管理236

小结239

习题239

第8章复杂构造类型245

8.1结构体245

8.1.1结构体与结构体变量的定义246

8.1.2结构体成员的初始化251

8.1.3结构体成员的访问252

8.1.4结构体与函数254

8.1.5结构体数组255

8.1.6任务81建立学生基本信息表256

8.2枚举260

8.2.1枚举类型的定义260

8.2.2枚举变量260

8.2.3任务82创建学生成绩表262

8.3共用体264

8.3.1共用体概述264

8.3.2共用体变量的引用265

8.3.3任务83创建学生成绩表267

8.4自定义类型与数据的分层270

8.4.1自定义类型270

8.4.2自定义类型的应用271

8.4.3任务84学生基本信息的分层处理272

8.5项目实践再谈学生成绩管理274

小结280

习题281

第9章指针285

9.1指针与指针变量285

9.1.1指针的概念286

9.1.2指针变量的定义286

9.1.3指针运算符287

9.1.4指针表达式289

9.1.5存储空间的动态分配292

9.1.6任务91利用指针访问数据294

9.2指针与函数295

9.2.1指针变量作为函数的参数295

9.2.2函数main的参数297

9.2.3指针函数298

9.2.4函数指针300

9.2.5任务92创建静态成绩表303

9.3指针与数组304

9.3.1指针与一维数组305

9.3.2指针与多维数组309

9.3.3数组指针用作函数参数312

9.3.4字符串和指针317

9.3.5任务93创建动态成绩表319

9.4指针与结构体322

9.4.1结构体指针322

9.4.2结构体数组指针324

9.4.3结构体指针变量用作函数参数325

9.4.4结构体的自引用326

9.4.5任务94创建链表330

9.5指针数组与指向指针的指针332

9.5.1指针数组332

9.5.2指向指针的指针333

9.5.3任务95再谈排序334

9.6项目实践成绩管理优化336

小结340

习题340

第10章文件组织与使用346

10.1文件的顺序读/写346

10.1.1文件的相关概念346

10.1.2文件的打开与关闭349

10.1.3文件的读/写350

10.1.4文件检测函数357

10.1.5任务101创建一个文件359

10.2文件的随机读/写363

10.2.1文件定位363

10.2.2随机读/写365

10.2.3任务102随机存取学生信息366

10.3项目实践数据存储369

小结377

习题377

第11章C语言的高级应用381

11.1位运算及应用381

11.1.1位运算381

11.1.2位域(位段)387

11.1.3任务111文件的加密与解密389

11.2高级语言与汇编语言的混合编程391

11.2.1Visual C++汇编程序环境设置392

11.2.2在C程序中嵌入汇编语句397

11.2.3采用模块调用的方法399

11.2.4任务112C语言与汇编语言混合编程的应用401

11.3C51程序设计404

11.3.1C51编程基础404

11.3.2Keil C51集成开发环境简介408

11.3.3任务113用89S51单片机控制8个LED发光管发光411

小结413

习题414

参考文献415

附录AC语言中的运算符416附录BASCII表418附录CC语言常见库函数419