《C语言程序设计教程》PDF下载

  • 购买积分:13 如何计算积分?
  • 作  者:佚名
  • 出 版 社:成都:电子科技大学出版社
  • 出版年份:2222
  • ISBN:
  • 页数:385 页
图书介绍:

第1章 初识C语言 1

1.1 第一个C语言程序 1

1.2 C语言程序的开发过程 3

1.2.1 程序开发的一般步骤 3

1.2.2 使用Turbo C开发C程序的一般方法和步骤 4

1.3 格式化输入与输出函数简介 4

1.3.1 printf()格式化输出函数 4

1.3.2 scanf()格式化输入函数 5

练习 7

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

2.1 C语言的数据类型 8

2.1.1 常量 9

2.1.2 变量 14

2.1.3 数据类型的混合运算 19

2.2 运算符与表达式 21

2.2.1 算术运算符与算术表达式 22

2.2.2 赋值运算符和赋值表达式 24

2.2.3 逗号运算符和逗号表达式 26

2.2.4 关系运算符和表达式 27

2.2.5 逻辑运算符和表达式 29

2.2.6 条件运算符与条件表达式 31

2.2.7 长度运算符 33

2.2.8 运算符总结 34

2.3 知识升华 34

2.3.1 计算机的数制 34

2.3.1.1 十进制数的表示 34

2.3.1.2 二进制数、八进制数和十六进制数的表示 35

2.3.1.3 二进制数和十进制数的相互转换 36

2.3.1.4 二进制数、八进制数和十六进制数的转换 37

2.3.2 码制 38

2.3.3 赋值运算时的自动类型转换 40

2.3.4 ++i和i++的区别 43

练习 44

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

3.1 C语言的基本语句 46

3.2 常用的输入与输出函数 48

3.2.1 字符数据的输入输出 48

3.2.2 格式输入与输出 49

3.2.2.1 printf函数(格式输出函数) 49

3.2.2.2 scanf函数(格式输入函数) 57

3.3 简单程序设计举例 62

3.4 知识升华 63

3.4.1 scanf函数运行机制 63

练习 66

第4章 程序流程的控制 68

4.1 结构化程序中的三种基本结构 68

4.2 选择结构的流程控制语句 69

4.2.1 if语句 69

4.2.2 switch语句 77

4.3 循环结构的流程控制语句 81

4.3.1 while语句 81

4.3.2 do—while语句 85

4.3.3 for语句 87

4.3.4 break和continue语句 91

4.3.5 循环的嵌套 96

4.4 综合实例 98

4.5 知识升华 101

4.5.1 goto语句 101

练习 101

第5章 数组 104

5.1 一维数组 104

5.1.1 一维数组的定义 104

5.1.2 一维数组元素的引用 105

5.1.3 一维数组的初始化 107

5.1.4 一维数组程序举例 109

5.2 二维数组 110

5.2.1 二维数组的定义 110

5.2.2 二维数组元素的引用 111

5.2.3 二维数组的初始化 112

5.2.4 二维数组程序举例 114

5.3 字符数组 116

5.3.1 字符数组的定义 116

5.3.2 字符数组的初始化 116

5.3.3 字符数组的引用 117

5.3.4 字符串和字符串结束标志 117

5.3.5 字符数组的输入输出 118

5.3.6 字符串处理函数 120

5.3.7 字符数组应用举例 125

5.4 知识升华 126

5.4.1 数组元素的排序 126

1. 选择法排序 126

2. 冒泡法排序 128

3. 直接插入法排序 130

4. “shell法”排序 132

5. 快速排序 132

6. 两有序数组的合并算法 134

7. 二维数组的排序 135

5.4.2 数组元素的插入 137

5.4.3 数组元素的删除 138

5.4.4 数组元素的查找 139

练习 141

第6章 指针 144

6.1 地址指针的基本概念 144

6.1.1 地址指针的基本概念 144

6.1.2 指针变量的定义 145

6.1.3 指针变量的引用 146

6.1.4 指针的初始化 148

6.2 指针与数组 149

6.2.1 指针的赋值运算 150

6.2.2 指向数组元素的指针 150

6.2.3 指针的算术运算 151

6.2.4 指针的关系运算 152

6.2.5 通过指针引用数组元素 153

6.3 指针与字符串 157

6.4 知识升华 161

6.4.1 指针与二维数组 161

6.4.1.1 多维数组的地址 161

6.4.1.2 指向二维数组的指针变量 164

6.4.2 指针型数组 167

6.4.3 指向指针的指针 171

6.4.4 有关指针的数据类型和指针运算的小结 174

练习 175

第7章 函数 178

7.1 概述 178

7.2 函数有关概念 180

7.2.1 函数的定义 180

7.2.2 函数的调用 181

7.2.3 函数调用的方式 182

7.2.4 函数的参数 183

7.2.5 函数的返回值 185

7.2.6 函数原型的声明 185

7.2.7 函数的嵌套调用 187

7.3 函数间的数据传递 190

7.3.1 传数值 190

7.3.2 传地址 191

7.4 数组作为函数参数 194

7.4.1 数组元素作函数实参 194

7.4.2 数组名作为函数参数 195

7.4.3 多维数组名作为函数的参数 201

7.5 全局变量与局部变量 203

7.5.1 局部变量 203

7.5.2 全局变量 205

7.6 综合应用 208

7.7 知识升华 211

7.7.1 变量的存储类别 211

7.7.2 函数的递归调用 217

7.7.3 指针型函数 224

7.7.4 利用指向函数的指针调用函数 226

7.7.5 带参数的main函数 229

练习 232

第8章 预处理命令 234

8.1 概述 234

8.2 宏定义 234

8.2.1 无参宏定义 234

8.2.2 带参宏定义 237

8.3 文件包含 242

8.4 知识升华 244

8.4.1 条件编译 244

练习 248

第9章 用户建立的数据类型 249

9.1 结构体 249

9.1.1 结构概述 249

9.1.2 结构体类型的定义 249

9.1.3 结构体类型变量的说明 251

9.1.4 结构类型变量的引用 253

9.1.5 结构体变量的初始化 255

9.1.6 结构数组 258

9.1.7 结构指针 262

9.1.8 结构体与函数 267

9.1.9 结构体应用举例 271

9.2 共用体 276

9.2.1 共用体(union)类型的定义 276

9.2.2 定义共用体变量 276

9.2.3 共用体变量的引用 277

9.2.4 共用体类型数据的特点 278

9.3 枚举类型 280

9.3.1 定义枚举类型 281

9.3.2 枚举类型变量的定义 282

9.3.3 使用枚举变量 282

9.4 用户定义类型 283

9.4.1 typedef的语法描述 283

9.4.2 用户定义类型的应用 284

9.5 知识升华 286

9.5.1 链表 286

9.5.1.1 malloc函数和free函数 286

9.5.1.2 链表的概念 288

9.5.1.3 链表的基本操作 290

练习 299

第10章 位运算 302

10.1 概述 302

10.2 位运算符 302

10.2.1 位与运算 302

10.2.2 位或运算 304

10.2.3 位异或运算 305

10.2.4 位求反运算 306

10.2.5 左移运算符 306

10.2.6 右移运算符 306

10.2.7 位运算复合赋值运算符 307

10.3 知识升华 308

10.3.1 位段 308

10.4 练习 310

第11章 文件 312

11.1 概述 312

11.2 文件的打开与关闭 315

11.2.1 文件打开 315

11.2.2 文件关闭 317

11.3 文件读写 318

11.3.1 字符的读写 318

11.3.2 数值的读写 323

11.3.3 字符串的读写 325

11.3.4 格式化读写 328

11.3.5 块的读写 331

11.4 文件定位函数 336

11.4.1 fseek 337

11.4.2 rewind 338

11.4.3 ftell 338

11.5 文件状态跟踪 339

11.5.1 feof宏 339

11.5.2 ferror 340

11.5.3 clearerr 340

练习 341

第12章 常见算法 343

12.1 尝试法 343

12.2 递推法 347

12.3 递归法 353

12.4 迭代法 355

12.5 贪婪法 357

12.6 常见数值处理 359

12.6.1 求和/求积问题 359

12.6.2 素数问题 361

12.6.3 因数问题 363

12.6.4 同构数问题 364

12.6.5 回文数问题 365

12.7 字符串处理问题 366

12.8 进制转换问题 369

12.9 知识升华 371

12.9.1 流程图与算法的结构化描述 371

12.9.2 用N—S图描述算法 373

练习 374

附录 376

附A 常用字符与ASCII代码对照表 376

附B C语言中的关键字 377

附C 运算符及优先级与结合性 377

附D Turbo C常用库函数 379

参考书目 385