《C语言程序设计(C99版)》是清华大学出版社出版的图书,作者是陈良银、游洪跃、李旭伟。

本页面主要目录有关于c语言程序设计的:内容简介、图书目录等介绍

出版时间

2012年7月24日

装帧

平装

ISBN

9787302138198

定价

45元

作者

陈良银、游洪跃、李旭伟

出版社

清华大学出版社

内容简介

本教材共12章,第1章阐述计算机的基本工作原理,并重点介绍了与C语言程序密切相关的计算机基础知识;第2章介绍了C语言的核心内容;第3章着重介绍了基本数据类型、表达式和运算符;第4章介绍了结构化程序控制流程,重点介绍了三种基本控制结构;第5章探讨了函数的作用以及函数的设计;第6章讨论了指针和数组;第7章讨论了递归函数;第8章讨论了结构、联合、位运算和枚举;第9章阐述了预处理器的使用;第10章介绍了文件的基本操作;第11章做了一些C语言高级话题的讨论;第12章对C99和C89标准的主要不同作了对比。

本教材取材新颖,内容丰富,可读性强,考虑到初学者的需求,特别增加了计算机基础知识一章。本教材围绕编程能力展开,线索清楚,尤其避免了学习者在学习初期陷入语法细节的烦恼。同时,考虑到读者学习时的心理适应性,对一些枯燥的内容作了适当的处理。

本教材面向初学者,立足C99标准,全面系统地介绍了C语言各要素及C语言程序设计技术,重点介绍与C89兼容的内容。对C89和C99的主要不同用专门章节进行了论述。

本教材引入了C语言核心内容的概念,并按照以核心内容为主的思想组织教材。本教材意图从总体结构入手,慢慢深入细节。本教材的另一特点是引入了程序缺陷的内容,它并不见得搜集得很全,但是这部分内容不管对初学者还是对那些长期编程的人都很有用。

本教材可作为高等学校计算机类、非计算机类本科教材,亦可供有需要的人员自学使用。

图书目录

第1章基础知识1

1.1计算机系统2

1.1.1计算机的硬件系统3

1.1.2计算机的软件系统6

1.2计算机的基本工作原理7

1.2.1存储程序的原理7

1.2.2内存地址的概念8

1.2.3C程序的内存分区9

1.3计算机语言12

1.3.1机器语言12

1.3.2汇编语言12

1.3.3高级语言13

1.4数据在计算机内的表示13

1.4.1计数制13

1.4.2不同进位计数制之间的转换15

1.4.3数值信息在计算机中的表示18

1.4.4二进制算术运算和逻辑运算22

1.4.5ASCII码25

1.5算法和数据结构27

1.5.1算法及其特点27

1.5.2数据结构28

1.5.3传统流程图表示算法28

1.6C语言标准简介29

1.7C和C++的不同30

1.8C语言编程风格简介30

习题31

第2章C语言的基本要素33

2.1C语言程序的开发过程34

2.2第一个C语言程序34

2.2.1C语言程序的注释37

2.2.2main( )函数及其返回值38

2.2.3函数参数和返回值38

2.2.4函数体39

2.2.5C程序的运行过程40

2.3变量定义、算术表达式、赋值语句和while语句42

C语言程序设计(C99版)目录2.3.1变量定义语句44

2.3.2赋值语句46

2.3.3算术表达式46

2.3.4while循环语句46

2.3.5显示输出函数printf( )47

2.4for循环语句48

2.5常量50

2.5.1用#define定义宏50

*2.5.2用const定义常量52

2.6字符的输入和输出操作52

2.6.1字符输入输出函数52

2.6.2文件复制55

2.6.3字符计数58

2.6.4行计数61

2.6.5单词计数63

2.7函数65

2.8函数参数——复制传值68

2.9字符数组和字符指针71

2.9.1字符数组71

2.9.2字符指针75

2.10整型数组76

2.11外部变量及变量的作用域81

***2.12实例研究:寻找质数84

*2.13程序陷阱87

习题88

第3章变量名、数据类型、运算符和表达式91

3.1C语言的变量命名91

3.1.1字符集91

3.1.2关键字92

3.1.3变量命名92

3.2C语言的基本数据类型及其大小93

3.3常量及其类型94

3.3.1字符常量95

3.3.2整型常量97

3.3.3实型常量97

3.3.4字符串常量98

*3.3.5枚举常量100

*3.3.6使用const限定的常量101

3.4变量类型及其定义102

3.4.1基本数据类型变量及其定义102

3.4.2变量的初始化105

3.5运算符和表达式105

3.5.1表达式和表达式的值106

3.5.2赋值运算符、赋值表达式和赋值语句106

3.5.3算术运算符及其表达式107

3.5.4自增和自减算术运算符及其表达式109

3.5.5关系运算符及其表达式114

3.5.6逻辑运算符及其表达式114

3.5.7逗号运算符及其表达式115

3.5.8条件运算符及其表达式116

3.5.9位运算符及其表达式117

3.5.10复合赋值运算符及其表达式120

3.6运算符的优先级和求值顺序123

3.7类型转换125

***3.8实例研究:求质数的快速筛法131

*3.9程序陷阱134

习题138

第4章C程序基本控制结构141

4.1程序的基本结构141

4.1.1语句和块的概念141

4.1.2三种基本结构142

4.2顺序结构程序设计142

4.2.1数据输入输出在C语言中的实现方法142

4.2.2顺序结构程序实例143

4.3选择结构程序设计143

4.3.1if…else…语句144

4.3.2else if语句145

4.3.3switch语句147

4.4循环结构程序设计150

4.4.1while 循环语句150

4.4.2for 循环语句150

4.4.3do…while循环语句154

4.4.4break、continue和goto语句156

***4.5实例研究:寻找名人158

*4.6程序陷阱161

习题162

第5章函数165

5.1C语言的程序模块165

5.2函数概念166

5.2.1函数基础166

5.2.2函数的现代定义形式171

*5.2.3函数的传统定义形式172

5.2.4函数返回语句return172

5.2.5函数返回非整数174

5.2.6函数原型177

**5.2.7内联函数(inline关键字)177

5.3外部变量、内部变量及其作用域178

*5.3.1外部变量和内部变量178

5.3.2变量的作用域规则191

*5.3.3头文件的设计193

5.4变量的存储类型196

5.4.1自动型变量196

5.4.2静态型变量196

5.4.3寄存器型变量198

5.4.4外部型变量198

5.4.5块结构199

5.4.6变量的存储类型及其作用域总结199

5.5变量的初始化201

*5.6变量的连接202

*5.7自顶向下程序设计202

***5.8实例研究203

5.8.1洗牌和发牌模拟203

5.8.2寻求一一函数205

*5.9程序陷阱208

习题210

第6章数组和指针211

6.1指针和地址212

6.2指针和函数参数214

6.3指针和数组219

6.4地址运算223

6.5字符指针和函数227

6.6指针数组和指向指针的指针230

6.6.1指针数组230

*6.6.2指向指针的指针234

6.6.3指针数组的初始化236

6.7多维数组237

6.7.1二维数组的定义、初始化及引用237

*6.7.2二维数组作为形式参数240

**6.7.3指针数组与多维数组的比较242

***6.8实例研究243

6.8.1兑换钱问题243

6.8.2最长公共子序列245

*6.9程序陷阱248

习题253

第7章递归255

7.1递归问题求解255

**7.2回溯法259

7.3分而治之算法263

***7.4实例研究264

7.4.1汉诺塔问题264

7.4.2迷宫问题266

*7.5程序陷阱269

习题270

第8章结构、联合、位运算和枚举类型273

8.1结构273

8.1.1概述273

8.1.2结构的声明273

8.1.3结构类型变量的引用276

8.1.4结构变量的初始化278

8.1.5结构数组279

8.1.6指向结构类型的指针285

8.2联合289

8.2.1联合的概念289

8.2.2联合的定义290

8.2.3联合变量的说明290

8.2.4联合变量的赋值和使用291

8.3枚举类型293

8.4类型定义:typedef298

8.5位运算符299

8.5.1位运算符介绍300

*8.5.2位运算综合举例305

**8.6位段308

8.6.1位段的定义和位段变量的说明308

8.6.2位段的使用310

***8.7实例研究313

8.7.1石头、剪刀、布游戏313

8.7.2最短路径问题319

*8.8程序陷阱323

习题324

第9章预处理命令325

9.1概述325

9.2文件包含325

9.3宏定义326

9.3.1无参宏定义326

9.3.2带参宏定义329

*9.3.3取消宏#undef335

9.4条件编译335

9.4.1第1种形式:#ifdef、#else和#endif335

9.4.2第2种形式:#if、#else和#endif337

9.4.3第3种形式:#ifndef、#else和#endif338

*9.5宏assert339

***9.6实例研究340

9.6.1碰运气游戏340

9.6.2编辑字符串346

*9.7程序陷阱351

习题352

第10章文件353

10.1文件概念353

10.2文件指针354

10.3文件的打开与关闭354

10.3.1文件打开的函数fopen( )354

10.3.2文件关闭的函数fclose( )356

10.4文件检测函数356

10.5文件操作函数357

10.5.1字符读写函数:fgetc( )/fputc( )357

10.5.2字符串读写函数:fgets( )/fputs( )360

10.5.3数据块读写函数:fread( )/fwrite( )363

10.5.4格式化读写函数:fscanf( )/fprintf( )367

10.6随机读写文件370

***10.7实例研究374

10.7.1文件加密算法374

10.7.2文件分割算法379

*10.8程序陷阱386

习题386

第11章高级话题387

**11.1变长参数列表387

**11.2命令行参数389

**11.3编译多个源文件程序的说明390

**11.4用exit( )退出程序的执行391

**11.5运态内存分配与释放393

11.5.1运态内存分配函数: malloc( )393

11.5.2运态内存释放函数:free( )393

11.5.3运态内存处理实例:线性链表393

**11.6指针的深入讨论397

11.6.1数组名和指针变量作函数参数397

11.6.2指向函数的指针变量398

11.6.3返回指针的函数400

*11.7格式化输出与输入讨论401

11.7.1格式化输出函数printf( )401

11.7.2格式化输入函数scanf ( )404

**11.8实例研究:生物基因序列407

*11.9程序陷阱417

习题418

**第12章C89与C99419

12.1C99增加的属性419

12.1.1inline内联函数420

12.1.2restrict限定的指针420

12.1.3新的内建数据类型421

12.2C99改变了的属性422

12.3C99删除了的属性426

附录AC程序的基本开发过程429

A.1安装程序429

A.2建立一个工程429

附录BASCII表433

附录C运算符表435

附录D常见标准库函数437

附录E输入输出格式控制符451

附录FC程序设计编程风格指导453

附录G四川大学计算机学院国家示范性软件学院C语言考研试题举例455

附录H词汇表459

参考文献465