图书介绍

C语言入门与提高PDF|Epub|txt|kindle电子书版本下载

C语言入门与提高
  • 陈锐主编 著
  • 出版社: 北京希望电子出版社
  • ISBN:9787894991409
  • 出版时间:2011
  • 标注页数:432页
  • 文件大小:135MB
  • 文件页数:447页
  • 主题词:C语言-程序设计

PDF下载


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

下载说明

C语言入门与提高PDF格式电子书版下载

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

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

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

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

图书目录

第1篇 起步篇1

第1章 C语言概述1

1.1为什么要学习C语言1

1.1.1学习C语言的好处1

1.1.2如何学好C语言3

1.2 C语言的特点3

1.3程序设计基础4

1.3.1十进制数的表示4

1.3.2二进制数的表示4

1.3.3二进制数、十六进制数和八进制数转换为十进制数5

1.3.4十进制数转换为二进制数6

1.3.5十进制数转换为十六进制数8

1.3.6十进制数转换为八进制数9

1.3.7二进制数与十六进制数、八进制数的转换10

1.3.8计算机中的加减运算11

1.4小结13

第2章 C语言的开发环境14

2.1TurboC 2.0开发环境介绍14

2.1.1运行Turbo C 2.014

2.1.2Turbo C 2.0环境设置15

2.1.3Turbo C 2.0的使用16

2.2 Win-TC开发环境介绍18

2.2.1 Win-TC开发环境介绍19

2.2.2 Win-TC的使用20

2.3 LCC开发环境介绍21

2.3.1使用LCC开发环境创建项目21

2.3.2 LCC开发环境的介绍23

2.3.3 LCC的使用24

2.4 Visual C++ 6.0开发环境介绍24

2.4.1使用Visual C++ 6.0新建项目25

2.4.2使用Visual C++ 6.0新建源程序文件26

2.4.3使用Visual C++ 6.0开发环境27

2.5小结28

第2篇 基础篇29

第3章 变量和常量29

3.1变量29

3.1.1为什么要使用变量29

3.1.2变量究竟是什么——变量在计算机中的表示30

3.1.3如何定义变量30

3.1.4为什么要有数据类型30

3.1.5 C语言有哪些数据类型31

3.1.6什么符号可以作为变量名——用户定义的标识符33

3.1.7关键字——已经被占用的标识符33

3.1.8初识变量赋值34

3.2整型变量34

3.2.1为什么要使用整型变量35

3.2.2基本整型变量35

3.2.3基本整型变量的输入——使用scanf函数36

3.2.4基本整型变量的输出——使用printf函数37

3.2.5长整型变量——解决大整数问题38

3.2.6短整型变量——节省内存空间40

3.2.7无符号整型变量——只包括非负的整数41

3.2.8整型变量的应用举例42

3.3实型变量44

3.3.1为什么使用实型变量45

3.3.2单精度浮点型变量45

3.3.3双精度浮点型变量47

3.3.4长双精度浮点型变量49

3.3.5实型变量的应用49

3.4字符型数据类型51

3.4.1为什么要使用字符型变量51

3.4.2字符型变量51

3.4.3字符型数据的输入与输出——使用%c和%s52

3.4.4字符型变量的应用53

3.5常量55

3.5.1为什么使用常量55

3.5.2整型常量56

3.5.3实型常量56

3.5.4字符型常量与字符串型常量56

3.5.5常量与常数57

3.6小结57

习题57

第4章 运算符与表达式59

4.1表达式59

4.1.1运算符有哪些59

4.1.2什么是表达式60

4.1.3运算符的优先级与结合性60

4.1.4数据类型转换61

4.2算术运算符与算术表达式62

4.2.1基本算术表达式62

4.2.2自增表达式——++a和a++64

4.2.3自减表达式——--a和a--66

4.2.4算术运算符的混合运算——算术运算符的优先级与结合性68

4.2.5算术表达式的应用69

4.3赋值运算符与赋值表达式71

4.3.1赋值运算符与赋值表达式71

4.3.2类型转换74

4.3.3赋值表达式的应用76

4.4关系运算符与关系表达式77

4.4.1关系运算符与关系表达式77

4.4.2关系表达式的应用79

4.5逻辑运算符与逻辑表达式79

4.5.1逻辑运算符与逻辑表达式80

4.5.2逻辑表达式的应用81

4.6逗号表达式83

4.6.1逗号运算符与逗号表达式83

4.6.2逗号表达式中应注意的问题83

4.6.3逗号表达式的应用84

4.7小结84

习题84

第5章 顺序结构程序设计86

5.1语句和程序86

5.1.1什么是简单语句86

5.1.2为什么使用复合语句87

5.1.3什么是复合语句88

5.1.4使用复合语句应注意的问题89

5.1.5为什么要有程序90

5.1.6 C语言程序的框架结构90

5.2顺序结构程序设计91

5.2.1顺序结构程序设计的特点——自上而下执行每条语句91

5.2.2顺序结构程序设计(一)——求圆的面积92

5.2.3顺序结构程序(二)——求一元二次方程ax2+bx+c=0的根94

5.2.4顺序结构程序设计(三)——将小写字母转换为大写字母95

5.3小结97

习题97

第6章 选择结构程序设计98

6.1条件运算符98

6.1.1为什么要有条件运算符98

6.1.2条件运算符与条件表达式99

6.2 if选择语句102

6.2.1为什么要有if选择语句——理解容易102

6.2.2 if选择语句——单分支的选择结构102

6.2.3 if-else选择语句——双分支的选择结构106

6.2.4 if-else if-…-else选择语句——多分支选择结构108

6.2.5 if选择语句的嵌套112

6.2.6设置标志变量116

6.2.7 if选择语句与选择运算符——相互转换117

6.3 switch选择语句118

6.3.1 switch选择语句118

6.3.2 switch选择语句的应用119

6.4选择结构程序设计的应用125

6.5小结133

习题133

第7章 循环结构程序设计134

7.1为什么要有循环结构134

7.1.1如何重复输出多个hello world——使用循环可以少输入代码134

7.1.2如何求连续的n个自然数的和——循环代码可以重复使用135

7.2 while循环语句136

7.2.1 while循环语句——当型循环136

7.2.2 while循环语句的应用138

7.3 do-while循环语句139

7.3.1为什么要有do-while139

7.3.2 do-while循环语句——直到型循环139

7.3.3比较while循环结构和do-while循环结构141

7.4 for循环语句144

7.4.1 for循环语句144

7.4.2 for循环语句的灵活性147

7.4.3几种循环语句的比较152

7.5 goto循环语句153

7.5.1 goto语句——无条件转移语句153

7.5.2 goto语句构成的循环语句——向前跳转153

7.5.3 goto语句是一种不常用的结构——与while语句、for语句的比较154

7.6 break语句156

7.6.1循环中的“提前开溜”156

7.6.2 break语句156

7.7 continue语句157

7.7.1为什么要有continue语句157

7.7.2 continue语句158

7.7.3 continue语句与break语句的区别159

7.7.4 continue语句的应用160

7.8多重循环程序设计161

7.8.1为什么要有循环的嵌套——一层循环是不能解决所有问题的161

7.8.2循环的嵌套——循环结构中还可以有循环结构162

7.8.3多重循环的应用——输出乘法口诀表163

7.9循环结构程序应用举例166

7.9.1循环结构程序(一)——求π的近似值166

7.9.2循环结构程序(二)——求100~200之间的所有质数169

7.9.3 循环结构程序(三)——求100~200之间的所有质数的改进171

7.9.4循环结构程序(四)——百鸡问题172

7.10小结174

习题174

第3篇 进阶篇175

第8章 数组175

8.1为什么要有数组175

8.1.1多变量的解决之路——数组的引入175

8.1.2初识数组176

8.1.3数组的数组——维度的出现177

8.2一维数组179

8.2.1一维数组的定义179

8.2.2一维数组的引用——其实很简单181

8.2.3一维数组的初始化——方法有许多182

8.2.4一维数组的应用举例——求数组各元素的平均值183

8.2.5一维数组的应用——数组元素的倒排185

8.2.6一维数组的应用——冒泡排序187

8.3二维数组190

8.3.1二维数组的定义190

8.3.2二维数组的引用——其实并不难191

8.3.3二维数组的初始化——多样的初始化192

8.3.4二维数组的应用——计算各科成绩的平均分195

8.3.5二维数组的应用——矩阵的转置196

8.3.6二维数组的应用——有趣的魔方阵198

8.4字符数组201

8.4.1字符数组的定义201

8.4.2字符数组的初始化202

8.4.3字符数组的连续输出——格式符%s205

8.4.4字符数组的连续输入——格式符%s205

8.4.5常用的字符串处理函数206

8.4.6字符数组的应用210

8.5小结213

习题214

第9章 函数215

9.1函数及分类215

9.1.1为什么要有函数215

9.1.2函数有哪些——库函数与用户函数216

9.2函数的定义形式217

9.2.1不带参数函数的定义217

9.2.2带参数函数的定义——有参数列表218

9.2.3带参数函数的定义——形参定义的传统方式218

9.3局部变量与全局变量219

9.3.1局部变量219

9.3.2全局变量221

9.4函数的参数与函数的值223

9.4.1形式参数与实际参数223

9.4.2函数的返回值225

9.5函数的调用228

9.5.1函数调用的一般形式228

9.5.2函数调用的方式230

9.5.3对被调用函数的声明230

9.6函数的嵌套调用233

9.6.1函数的嵌套调用过程233

9.6.2函数的嵌套应用——求1~n自然数的k次方之和234

9.7函数的递归调用235

9.7.1什么是递归——自己调用自己235

9.7.2递归函数的应用——求n!236

9.7.3递归函数调用的应用——Fibonacci数列238

9.8数组作为函数的参数239

9.8.1数组元素作为函数的参数——只能传递一个数组元素239

9.8.2数组名作为函数的参数——可以传递整个数组241

9.8.3数组名作为参数传递——传递的是数组的首地址244

9.8.4多维数组名作为函数的参数——传递整个数组247

9.9变量的存储250

9.9.1什么是动态存储与静态存储——生存期不同250

9.9.2 auto变量——自动类型变量250

9.9.3 static变量——静态变量250

9.9.4 register变量——使运行速度更快的变量253

9.9.5 extern变量——声明外部变量254

9.10内部函数与外部函数256

9.10.1内部函数——使用static256

9.10.2外部函数——使用extern257

9.11函数应用举例258

9.11.1函数应用——递归求解n个数的最大值258

9.11.2函数应用——递归求解a与b的最大公约数260

9.11.3函数应用——字符数组元素逆序存放261

9.12小结262

习题262

第10章 预处理命令263

10.1宏定义263

10.1.1为什么要有宏定义263

10.1.2不带参数的宏定义264

10.1.3宏定义与常量定义的区别265

10.1.4带参数的宏定义265

10.1.5宏定义中参数与函数参数的区别266

10.2文件包含命令268

10.2.1为什么要有文件包含命令268

10.2.2文件包含命令——#include268

10.3条件编译270

10.3.1第一种条件编译命令——#ifdef270

10.3.2第二种条件编译命令——#ifdef…#elif…#endif272

10.3.3第三种条件编译命令——#ifndef273

10.3.4第四种条件编译命令——#if274

10.4小结274

习题275

第11章 指针276

11.1指针的相关概念276

11.1.1为什么要有指针和指针变量276

11.1.2什么是地址276

11.1.3什么是指针变量——存放地址的变量277

11.2指针变量278

11.2.1定义指针变量278

11.2.2使用指针变量280

11.2.3指针变量作为函数参数283

11.3数组与指针287

11.3.1指向数组元素的指针287

11.3.2通过指针引用数组元素288

11.3.3指针变量的自增运算和自减运算292

11.3.4数组指针作为函数的参数292

11.3.5指向多维数组的指针变量298

11.4字符串与指针304

11.4.1指向字符串的指针变量304

11.4.2字符串指针作为函数的参数310

11.4.3字符数组与字符指针变量的比较313

11.5指针数组与指向指针的指针314

11.5.1指针数组314

11.5.2指向指针的指针317

11.5.3指针数组作为main函数的参数319

11.6函数与指针320

11.6.1函数指针调用函数320

11.6.2指向函数的指针作为函数参数321

11.7返回指针值的函数323

11.7.1为什么函数要返回指针值——可以返回多个值323

11.7.2返回指针类型的函数324

11.8小结325

习题326

第12章 结构体与联合体327

12.1结构体327

12.1.1为什么要有结构体327

12.1.2结构体类型的定义328

12.1.3定义结构体变量328

12.1.4引用结构体变量330

12.1.5结构体变量的初始化332

12.2结构体数组334

12.2.1为什么要有结构体数组334

12.2.2定义结构体数组334

12.2.3结构体数组的初始化335

12.2.4结构体数组的应用336

12.3指针与结构体339

12.3.1指向结构体变量的指针339

12.3.2指向结构体数组的指针341

12.3.3结构体变量和指向结构体的指针作为函数的参数342

12.4 typedef类型定义346

12.4.1 typedef——为数据类型重新起个名字346

12.4.2使用typedef应注意的问题347

12.4.3 typedef的应用348

12.5联合体351

12.5.1为什么要有联合体——节省内存,多选一351

12.5.2定义联合体352

12.5.3引用联合体变量353

12.5.4使用联合体应该注意的问题353

12.5.5联合体的应用354

12.6枚举类型357

12.6.1为什么要有枚举类型——变量的值只有有限的几种357

12.6.2定义枚举类型及变量358

12.6.3使用枚举类型应注意的问题358

12.6.4枚举类型的应用359

12.7小结360

习题360

第13章 位运算361

13.1为什么要有位运算与位运算符361

13.1.1为什么要有位运算——高效率的运行361

13.1.2位运算符361

13.1.3位运算符的优先级与结合性362

13.2位运算符与位运算362

13.2.1按位与运算符和按位与运算362

13.2.2按位或运算符和按位或运算363

13.2.3按位异或运算符和按位异或运算364

13.2.4按位取反运算符和按位取反运算365

13.2.5左移运算符和左移运算366

13.2.6右移运算符和右移运算366

13.2.7与位运算符相结合的赋值运算符367

13.3位运算应用367

13.3.1以二进制形式输出一个数——按位与运算并输出1或者0367

13.3.2取一个整数的中间几位——设置一个对应位为1的数并进行按位与运算369

13.4位段370

13.4.1定义位段370

13.4.2引用位段成员371

13.4.3使用位段需要说明的问题372

13.5小结373

习题373

第14章 文件374

14.1文件的相关概念374

14.1.1为什么要有文件374

14.1.2文件的分类——二进制文件和文本文件374

14.1.3缓冲文件系统375

14.2打开与关闭文件375

14.2.1文件类型指针——FILE375

14.2.2打开文件——使用fopen函数376

14.2.3关闭文件——使用函数fclose377

14.3读取文件与写入文件377

14.3.1使用fputc函数写文件和使用fgetc函数读取文件378

14.3.2使用fputs函数写文件和使用fgets函数读取382

14.3.3使用fwrite函数写文件和使用fread函数读取文件383

14.3.4使用fprintf函数写文件和使用fscanf函数读取文件386

14.4文件的定位388

14.4.1 rewind函数——移动位置指针到文件的开始位置388

14.4.2 fseek函数——移动位置指针到任意位置389

14.4.3 ftell函数——得到位置指针的当前位置391

14.5文件状态检测391

14.5.1 feof函数——检测位置指针是否到了文件末尾392

14.5.2 ferror函数——检测是否操作文件错误392

14.5.3 clearerr函数——清除错误标志393

14.6文件的输入与输出函数总结393

14.7小结394

习题394

第4篇 提高篇395

第15章 链表395

15.1链表的相关概念395

15.1.1为什么要有链表——节省内存单元,不用事先定义空间大小395

15.1.2什么是链表396

15.1.3简单链表——静态链表397

15.1.4动态存储分配401

15.2链表的操作402

15.2.1创建链表402

15.2.2链表的输出操作405

15.2.3链表的插入操作407

15.2.4链表的删除操作410

15.2.5链表的综合操作413

15.3链表操作的应用414

15.3.1链表操作的应用——逆置链表415

15.3.2链表操作的应用——约瑟夫问题420

15.4小结423

习题423

附录424

附录1程序流程图424

附录2常用字符与对应的ASCLL码对照表427

附录3运算符的优先级与结合性428

附录4常用函数429

热门推荐