图书介绍

C语言大学实用教程PDF|Epub|txt|kindle电子书版本网盘下载

C语言大学实用教程
  • 苏小红,陈惠鹏,孙志岗等编著 著
  • 出版社: 北京:电子工业出版社
  • ISBN:7121037823
  • 出版时间:2007
  • 标注页数:437页
  • 文件大小:20MB
  • 文件页数:451页
  • 主题词:C语言-高等学校-教材

PDF下载


点此进入-本书在线PDF格式电子书下载【推荐-云解压-方便快捷】直接下载PDF格式图书。移动端-PC端通用
种子下载[BT下载速度快]温馨提示:(请使用BT下载软件FDM进行下载)软件下载地址页直链下载[便捷但速度慢]  [在线试读本书]   [在线获取解压码]

下载说明

C语言大学实用教程PDF格式电子书版下载

下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。

建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!

(文件页数 要大于 标注页数,上中下等多册电子书除外)

注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具

图书目录

第1章 程序设计ABC1

1.1 计算机与人2

1.2 计算机与程序设计语言3

1.3 程序设计语言的故事6

1.4 C语言的故事7

1.5 程序设计语言的工作原理11

1.5.1 运行11

1.5.2 内存12

1.6 本章小结13

习题113

第2章 数据类型、运算符与表达式14

2.1 一个简单的C程序例子15

2.2 C程序常见符号分类16

2.3 数据类型18

2.3.1 为什么引入数据类型18

2.3.2 从基本数据类型到抽象数据类型19

2.3.3 类型修饰符19

2.3.4 标识符命名21

2.4 常量22

2.4.1 整型常量22

2.4.2 实型常量22

2.4.3 字符常量23

2.4.4 字符串常量24

2.4.5 宏常量24

2.4.6 枚举常量25

2.5 变量26

2.5.1 变量的声明与初始化26

2.5.2 const类型修饰符27

2.5.3 使用变量时的注意事项28

2.6 常用运算符及表达式32

2.6.1 运算符的优先级与结合性32

2.6.2 算术运算符33

2.6.3 关系运算符34

2.6.4 逻辑运算符36

2.6.5 赋值运算符37

2.6.6 增1和减1运算符38

2.6.7 强制转换运算符40

2.6.8 位运算符41

2.6.9 逗号运算符43

2.7 赋值和表达式中的类型转换44

2.8 本章小结45

习题246

第3章 简单的C程序设计48

3.1 C语句分类49

3.2 表达式语句49

3.3 复合语句和空语句的作用49

3.4 基本输入/输出操作的实现51

3.4.1 字符输入/输出51

3.4.2 格式输入/输出53

3.4.3 使用函数scanf()时需要注意的问题60

3.5 本章小结70

习题371

第4章 程序的控制结构75

4.1 算法及其描述方法76

4.1.1 算法的概念76

4.1.2 算法的描述方法77

4.2 顺序结构79

4.2.1 顺序结构的流程图表示79

4.2.2 应用程序举例80

4.3 选择结构84

4.3.1 应用场合84

4.3.2 选择结构的流程图表示84

4.3.3 条件语句85

4.3.4 开关语句95

4.4 循环结构100

4.4.1 应用场合100

4.4.2 循环结构的流程图表示100

4.4.3 循环语句101

4.4.4 单重循环应用举例103

4.4.5 嵌套循环及其应用举例115

4.5 流程的转移控制121

4.5.1 goto语句121

4.5.2 break与continue语句122

4.5.3 函数exit()124

4.5.4 应用程序举例127

4.6 程序排错132

4.6.1 程序中常见的出错原因133

4.6.2 程序调试与排错基本方法134

4.6.3 使用函数getchar()的问题136

4.7 结构化程序设计方法简介146

4.7.1 关于goto论战146

4.7.2 结构化程序设计的核心思想147

4.7.3 自顶向下、逐步求精的程序设计方法147

4.8 本章小结151

习题4152

第5章 函数162

5.1 程序设计的艺术163

5.2 函数的定义与使用164

5.2.1 函数的分类164

5.2.2 函数的定义165

5.2.3 函数的调用、参数和返回值165

5.2.4 函数原型167

5.2.5 函数main()的特殊性169

5.3 变量的作用域和存储类型170

5.3.1 变量的作用域170

5.3.2 全局变量172

5.3.3 变量的存储类型174

5.4 函数封装177

5.5 预处理指令177

5.5.1 #include177

5.5.2 #define和#undef178

5.5.3 条件编译180

5.6 使用assert()查错181

5.7 模块和链接182

5.8 模块化程序设计方法简介188

5.8.1 功能分解188

5.8.2 模块划分的原则189

5.8.3 应用实例190

5.9 本章小结193

习题5193

第6章 数组196

6.1 数组类型的应用场合197

6.2 数组的定义、引用和初始化197

6.2.1 数组的定义197

6.2.2 数组的引用199

6.2.3 数组的初始化200

6.2.4 程序实例201

6.3 向函数传递一维数组208

6.4 向函数传递二维数组221

6.5 字符数组229

6.5.1 字符数组与字符串的关系229

6.5.2 字符数组的输入/输出231

6.5.3 字符串处理函数233

6.5.4 应用举例234

6.6 本章小结235

习题6237

第7章 指针244

7.1 指针概述245

7.1.1 指针的概念245

7.1.2 为什么引入指针的概念246

7.1.3 指针变量作为函数参数249

7.1.4 字符指针作为函数参数258

7.2 指针和数组间的关系263

7.2.1 一维数组的地址和指针264

7.2.2 二维数组的地址和指针273

7.3 指针数组279

7.4 指向指针的指针284

7.5 带参数的函数main()286

7.6 动态数组的实现288

7.6.1 C程序的内存映像288

7.6.2 动态内存分配函数288

7.6.3 一维动态数组的实现290

7.6.4 二维动态数组的实现291

7.7 使用const修饰指针变量293

7.8 代码风格问题294

7.8.1 程序版式295

7.8.2 命名规则298

7.8.3 函数设计299

7.8.4 防御性程序设计299

7.9 本章小结300

习题7302

第8章 结构体与共用体309

8.1 问题的提出310

8.2 结构体类型与结构体变量312

8.2.1 结构体类型的声明312

8.2.2 关键字typedef的用法313

8.2.3 结构体变量的定义314

8.2.4 指向结构体变量的指针317

8.2.5 结构体变量的引用和初始化318

8.3 结构体数组322

8.3.1 结构体数组的定义322

8.3.2 结构体数组的应用实例323

8.3.3 结构体数组与指针327

8.4 结构体与函数329

8.5 动态数据结构332

8.5.1 问题的提出332

8.5.2 链表的定义334

8.5.3 链表的特点及操作原理335

8.5.4 动态链表的建立336

8.5.5 链表的删除操作339

8.5.6 链表的插入操作341

8.6 共用体343

8.7 位段347

8.8 本章小结350

习题8350

第9章 函数的高级应用358

9.1 递归359

9.1.1 递归问题的提出359

9.1.2 递归函数360

9.2 返回指针值的函数364

9.3 函数指针367

9.4 一个综合应用实例——学生成绩管理程序372

9.5 本章小结373

习题9374

第10章 文件操作378

10.1 计算机中的流379

10.2 文件379

10.2.1 存储设备的使用379

10.2.2 目录380

10.2.3 文件格式381

10.3 基本文件操作381

10.3.1 基本文件操作函数381

10.3.2 错误处理386

10.3.3 程序示例386

10.3.4 基本文件操作的意义393

10.4 高级文件操作394

10.4.1 打开与关闭394

10.4.2 读写394

10.4.3 程序示例396

10.4.4 标准输入与标准输出398

10.5 本章小结400

习题10400

第11章 C程序设计常见错误及解决方案401

条款1:使用未初始化和未赋值的变量402

条款2:不考虑数值溢出的可能402

条款3:不用sizeof()获得类型或变量的字长403

条款4:假定类型取值范围403

条款5:期望两个整数的运算自动得出浮点数的结果404

条款6:不预先判断除数是否为0405

条款7:混淆“&,|”与“&&,‖”405

条款8:使用依赖编译器求值顺序的语句406

条款9:使用依靠算符优先级的表达式406

条款10:表达式过于复杂406

条款11:用“==”时误用“=”407

条款12:用“==”比较两个浮点数407

条款13:使用幻数408

条款14:printf()和scanf()中格式控制字符串与参数类型不匹配409

条款15:循环或判断语句以“;”结尾409

条款16:在循环体内改变循环结束条件410

条款17:case分支不用break结束410

条款18:switch-case语句没有default分支410

条款19:不声明函数原型411

条款20:不定义函数参数或返回值的类型411

条款21:有返回值的函数不用return指明返回值412

条款22:调用函数后,不检查函数是否正确执行412

条款23:变量、函数和模块功能不单一412

条款24:函数过长413

条款25:函数的参数过于复杂413

条款26:返回指向局部变量的指针413

条款27:随意修改全局变量的值413

条款28:数组下标越界414

条款29:字符串没有\0′终结符414

条款30:使用不限制最大处理长度的字符串处理函数414

条款31:用malloc()申请的内存不用free()414

条款32:使用已经被free()的指针415

条款33:文件打开后不主动关闭415

条款34:成对函数不在同一个模块或函数内调用415

条款35:头文件不加宏定义锁415

条款36:忽略编译器警告416

条款37:用“复制+粘贴”的方式复用代码416

条款38:在字符串和注释以外的地方使用全角字符416

条款39:代码风格不佳417

条款40:代码与注释不一致417

后记419

附录A 书中常用概念、名词、语句、运算符、数据类型和算法索引表421

附录B C关键字425

附录C Visual C++下各数据类型所占字节数和取值范围426

附录D C运算符的优先级与结合性427

附录E 常用ASCII字符表428

附录F 常用字符表429

附录G 常用的ANSI C标准库函数430

参考文献437

热门推荐