《跟我学C语言》PDF下载

  • 购买积分:10 如何计算积分?
  • 作  者:李宛洲编著
  • 出 版 社:北京:机械工业出版社
  • 出版年份:2015
  • ISBN:9787111495529
  • 页数:241 页
图书介绍:本书适用于所有自动化、计算机、电子及机械专业工科大学(或大专)新生初学C程序设计语言课程。学生应有计算机文化课基础(计算机操作、文件夹、保存文件的概念)。本书第一章简单的介绍了c的历史过程及发展趋势,扼要的说明了C在当今各种商用计算机语言中的基础性地位。也给出了学c的基本条件是:听说读写中文、高中学历和会上网。 本书构思与内容是作者的原创。作者力图控制每一教学章节的篇幅,避免新生(初学者)抓不住重点。书中的每一知识点尽量用图形描述,其次是表格,最后辅助以简练生动的文字说明。

第1章 什么是C语言 1

1.1概述 1

1.1.1 C语言的历史 1

1.1.2面向对象的程序设计语言——C++ 1

1.1.3为何不直接学习C++ 1

1.2如何学习C语言 1

第2章 创建C程序——照猫画虎入门C语言 3

2.1编程步骤 3

2.2在Visual Studio 2010环境下建立C程序 3

2.2.1打开Visual Studio 2010平台 4

2.2.2建立一个新项目 5

2.2.3在项目中建立一个C程序 7

2.3跟我学C例题2-1——C程序框架 9

2.3.1在屏幕上输出一段文字的C程序 9

2.3.2编辑运行C程序 10

2.3.3开始执行——非调试模式 11

2.3.4解决编译错误的“傻瓜”办法 13

2.3.5初学者的常见错误 13

2.4跟我学C例题2-2——变量和输入/输出语句 13

2.5读解C程序 16

2.5.1主函数main和C程序结构 16

2.5.2书写程序时应遵循的“潜规则” 17

2.5.3 C语句的构成 17

2.5.4 C语句词汇 17

2.5.5什么是变量? 18

2.6跟我学C例题2-3——C语言变量类型 19

2.6.1如何打开一个已存在的程序 19

2.6.2变量类型能影响程序执行结果 21

2.6.3可以输入小数的变量类型 21

2.7跟我学C练习题一 22

第3章 C语言的输入/输出格式——跟我学I/O 23

3.1格式输入/输出函数scanf()、gets()和printf() 23

3.1.1跟我学C例题3-1——求任意一个数的正弦值 23

3.1.2函数scanf()的一般形式 24

3.1.3函数scanf()是否可以从键盘输入一段文字 26

3.1.4字符串输入函数gets() 30

3.1.5使用scanf函数的注意事项 32

3.1.6格式输出函数printf() 33

3.2 cin函数和cout函数 36

3.2.1 cin和cout格式 36

3.2.2 cin能否读入字符串中的空格 37

3.3多学一点也无妨——缓冲区的概念 38

3.3.1输入缓冲区 38

3.3.2输出缓冲区——printf函数与cout函数的不同 39

3.4本章要点 41

3.4.1基本概念 41

3.4.2输入/输出函数一览 42

3.5跟我学C练习题二 43

第4章 说文解字拆分C程序——程序结构Ⅰ 45

4.1条件分支语句if-else 45

4.1.1跟我学C例题4-1——条件分支 45

4.1.2 if-else语句 46

4.1.3 if-else嵌套 47

4.2逻辑关系表达式 48

4.2.1跟我学C例题4-3——逻辑或 48

4.2.2跟我学C例题4-4——逻辑与 49

4.2.3跟我学C例题4-5——逻辑非 50

4.2.4运算符一览 51

4.3跟我学C例题4-6——教学评估(多路分支语句) 52

4.3.1教学评估问题 52

4.3.2图解switch语句 55

4.4本章要点 56

4.4.1控制语句一览 56

4.4.2基本概念和编程要求 56

4.5跟我学C练习题三 57

第5章 说文解字拆分C程序——程序结构Ⅱ 59

5.1跟我学C例题5-1——for语句 59

5.1.1月供问题 59

5.1.2循环语句for 60

5.1.3循环条件的多样性 61

5.1.4跟我学C例题5-2——for语句形态的多样性 62

5.2 while()——仅判断循环条件 63

5.2.1清晰的主题 64

5.2.2 while语句的循环方式 64

5.2.3 do-while()——至少循环一次 65

5.3跟我学C例题5-3——循环与数组 65

5.3.1跟我学计数 65

5.3.2程序=循环+数组 66

5.3.3初识数组 67

5.4数组变量 68

5.4.1基本概念 68

5.4.2数组变量是同类型元素的线性集合 68

5.4.3数组地址 69

5.4.4声明一个数组变量 69

5.5数组操作 70

5.5.1字符串操作 70

5.5.2数值型数组操作 71

5.6 break与continue的异同 72

5.7本章要点 73

5.8跟我学C练习题四 73

第6章 说文解字拆分C程序——程序结构Ⅲ 75

6.1跟我学C例题6-1——应用函数 75

6.2变量的存储方式——变量三代表 77

6.3初识函数 79

6.3.1函数概念 79

6.3.2函数定义 79

6.4参数传递与函数返回值 80

6.4.1跟我学C例题6-2——照猫画虎学函数 80

6.4.2函数返回单个变量——retum语句 81

6.5函数返回多个变量——变量地址 82

6.5.1跟我学C例题6-3——形参表中的数据变量 82

6.5.2函数之间的虫洞——变量的地址 84

6.5.3归纳 86

6.6变量作用域 86

6.6.1作用域的基本概念 86

6.6.2函数内部声明的变量=局部变量 87

6.6.3函数外部声明的变量=全局变量 87

6.6.4函数私密性——尽量避免使用全局变量 88

6.6.5变量存储类型一览 88

6.7文章大纲化——程序函数化 88

6.8跟我学C例题6-4——无知者无畏(学C还是用C) 89

6.9本章要点 93

6.10跟我学C练习题五 94

第7章 说文解字拆分C程序——变量的内涵Ⅰ 97

7.1再说变量——常识 97

7.1.1常量与变量 97

7.1.2类型自动转换 97

7.1.3类型强制转换 98

7.2变量的本质——存储它的地址 98

7.2.1字节、字与变量的地址 98

7.2.2操作变量的方式 99

7.3互联网域名——IP地址 100

7.4海量的内存——无限的网络 101

7.5如何获取变量的地址 101

7.6再看函数——形参与实参 102

7.6.1实参是地址 102

7.6.2实参是数组 103

7.7指针的概念 104

7.7.1为什么指针也是变量 105

7.7.2指针是一个存储地址的变量 106

7.7.3指针指向一个变量 106

7.7.4指针指向数组 108

7.7.5指针的数据类型 108

7.7.6跟我学C例题7-1 110

7.8本章要点 112

7.9跟我学C练习题六 112

第8章 说文解字拆分C程序——变量的内涵Ⅱ 117

8.1糊涂师数糊涂——如何存储表格 117

8.2物类聚集——数组 118

8.2.1数组的基本概念 118

8.2.2一维数组声明形式 119

8.3二维数组 119

8.3.1二维数组声明形式及初始化 119

8.3.2函数形参是二维数组 121

8.3.3交换指针的值(二级指针) 125

8.4指向指针的指针 128

8.5二维数组的本质——矢量的数组 129

8.5.1指针类型一览 129

8.5.2二维数组——矢量数组 130

8.5.3矢量指针——指向二维数组 130

8.5.4形参是矢量指针 131

8.5.5问题集锦 133

8.5.6字符串数组 136

8.5.7二维数组的形参简写形式 138

8.6再说糊涂表——破家值万贯 138

8.6.1简单变量的局限性——客观对象有多种属性 138

8.6.2打开你的胸襟——构建大千世界的结构 138

8.6.3结构体的嵌套 140

8.7结构——变量的组合 142

8.7.1基本数据类型与构造数据类型 142

8.7.2数据是客观事物属性的描述 142

8.7.3结构变量——打包数据 143

8.7.4结构体的概念——打包的方法 143

8.7.5数据封装的概念 144

8.7.6结构数组——线性表 144

8.8索引未来——指针数组 146

8.8.1索引举例1——糊涂掌门 146

8.8.2索引举例2——傻瓜买车 147

8.8.3指针与索引 147

8.9本章要点 151

8.10跟我学C练习题七 152

8.11跟我学C练习题八 154

第9章 说文解字拆分C程序——指针与函数 157

9.1指针概念一览 157

9.2指针与函数 157

9.2.1函数是变量 157

9.2.2函数的存储方式——函数三代表 157

9.2.3指针型函数——返回的是指针 158

9.2.4函数型指针——指向函数的指针 159

9.2.5跟我学C例题9-1——方法与变量分离 160

9.2.6类型说明符typedef——变量的Facebook 162

9.3按需申请内存空间——动态内存分配 164

9.3.1标准C语言的动态内存申请函数——malloc() 165

9.3.2动态内存申请的存储空间生存期 166

9.3.3释放内存空间函数free() 167

9.3.4动态内存申请——结构变量的长度 167

9.4魅力指针——链表 168

9.4.1指针与数据结构 168

9.4.2美丽的链——指针实战 169

9.5指针与引用 177

9.5.1递归倒序单链表——二级指针 177

9.5.2结构嵌套中的变量表达形式 179

9.5.3引用的定义 179

9.5.4引用的特色——伊人红妆 180

9.5.5递归倒序中的引用——引用指针 181

9.5.6结构变量访问表达式 183

9.6本章要点 184

9.7跟我学C练习题九 184

第10章 算法初识——时间的概念 187

10.1什么是算法 187

10.2简单的排序算法 188

10.2.1简单排序算法的概念 188

10.2.2直接插入排序算法 189

10.2.3冒泡排序算法 190

10.3递归函数与分治算法 191

10.3.1递归的概念 191

10.3.2分治法的基本思想 194

10.3.3对半检索(binary search) 194

10.3.4汉诺塔算法 196

10.4本章要点 198

10.5跟我学C练习题十 199

第11章 数据收藏——跟我学文件 201

11.1文件的概念 201

11.1.1保存文件 201

11.1.2保存数据——聪明的糊涂 202

11.1.3数据似水流 204

11.1.4硬盘的概念 205

11.1.5文件在硬盘的存放形式 206

11.2文件操作方式 206

11.2.1文件操作——览 206

11.2.2文件内部的当前操作位置偏移 207

11.2.3文件操作表 207

11.3建立文件的步骤 208

11.3.1文件打开函数fopen() 208

11.3.2跟我学C例题11-1——建立一个文件 208

11.3.3跟我学C例题11-2——从键盘输入文件名 209

11.4文件的读写 210

11.4.1格式化读写函数fscanf()和fprintf() 210

11.4.2数据块读写函数fread()和fwrite() 212

11.4.3定位函数rewind()和fseek() 214

11.5保存链表——动态数据文件的存取 216

11.6本章要点 221

11.7跟我学C练习题十一 221

附录 223

附录A 运算符的优先级 223

附录A.1优先级规则 223

附录A.2作者的心声 223

附录B 制作头文件的方法 228

附录B.1头文件的宏格式 228

附录B.2在Visual Studio 2010平台上建立头文件 229

附录C ASCII码表 232

附录D 变量命名 233

附录D.1变量命名的共性规则 233

附录D.2简单的Windows应用程序命名规则 234

附录E DEBUG入门 236

附录E.1调试程序的步骤 236

附录E.2调试程序工具 236

附录E.3 DEBUG工具栏 238

附录E.4 DEBUG快捷键的使用说明 238

附录E.5调试心得 239

附录F 编程进阶 240