《C实用教程》PDF下载

  • 购买积分:14 如何计算积分?
  • 作  者:郑阿奇主编
  • 出 版 社:北京:电子工业出版社
  • 出版年份:2009
  • ISBN:9787121083068
  • 页数:424 页
图书介绍:本书介绍C语言及其程序设计,包括教程部分共14章、实验11个和综合应用实习。介绍内容的顺序循序渐进、实用教程部分一般在讲解内容后紧跟示例、章节中的练习快速训练当前章节内容、综合实例是本章内容的综合,上机实验指导部分先领进门,然后自己操作和编程练习。与其他C语言教材比较,本书学生好学、教师好教。

第1章 C语言概论 1

1.1 概论 1

1.1.1 计算机的基本组成 1

1.1.2 指令和程序 2

1.1.3 程序设计语言 2

1.2 C程序设计过程 4

1.2.1 C程序设计的一般步骤 4

1.2.2 C编程环境 5

1.2.3 Visual C+++环境C程序开发过程 7

1.3 C程序结构 8

1.3.1 main函数 9

1.3.2 头文件的包含 10

1.3.3 注释 10

练习1 11

1.4 综合实例:演奏贝多芬《欢乐颂》 11

习题2 13

第2章 数据及其类型 15

2.1 数据的机内存储 15

2.1.1 内存及其组织形式 15

2.1.2 进制的概念 16

2.1.3 进制转换 17

2.1.4 整数的机内表示 20

2.1.5 多字节存储 20

2.1.6 实数的机内表示 21

2.1.7 非数值信息的机内表示 23

练习1 23

2.2 基本数据类型 24

2.2.1 整型 24

2.2.2 实型 25

2.2.3 字符型 26

2.2.4 实际位长 26

2.3 内存和变量 27

2.3.1 标识符 27

2.3.2 变量和变量定义 28

2.3.3 变量赋值和初始化 30

练习2 31

2.4 字面常量 31

2.4.1 整数 32

2.4.2 实数 32

2.4.3 字符常量和转义字符 33

2.4.4 字符串常量 34

练习3 35

2.5 标识符常量 36

2.5.1 #define标识符常量 36

2.5.2 const只读变量 37

2.6 综合实例:变量值的机内表示 37

习题2 39

第3章 数据的输入输出 42

3.1 输出函数printf概述 42

3.1.1 库函数原型和调用 42

3.1.2 转义输出 43

3.1.3 格式参数域 44

3.1.4 域参匹配 44

3.2 数据的格式输出 45

3.2.1 基本类型格式 45

3.2.2 类型修饰符 49

3.2.3 宽度和精度 53

3.2.4 对齐、前缀及填充符 55

3.2.5 单字符输出putchar 56

练习1 57

3.3 格式输入函数scanf 57

3.3.1 scanf函数功能 57

3.3.2 scanf控制格式 59

3.3.3 多数据输入 60

3.3.4 输入匹配 61

3.3.5 空读和域宽 62

3.3.6 输入中断和分隔 62

3.3.7 字符输入和键盘缓冲区 63

练习2 64

3.4 综合实例:列表显示数据 65

习题3 67

第4章 运算符和表达式 70

4.1 算术运算 70

4.1.1 算术运算符 70

4.1.2 数值类型转换 72

4.1.3 优先级和结合性 73

4.1.4 算术表达式的值和类型 74

4.1.5 代数式和表达式 75

练习1 77

4.2 赋值运算 77

4.2.1 左值和右值 77

4.2.2 数值截取和数值溢出 78

4.2.3 多重赋值 80

4.2.4 复合赋值 80

练习2 81

4.3 sizeof运算符 81

4.4 逗号运算符 82

4.5 自增和自减 82

4.5.1 一般使用方法 82

4.5.2 前缀和后缀的区别 83

4.5.3 注意事项 83

练习3 85

4.6 位运算 85

4.6.1 位逻辑运算 85

4.6.2 移位运算 87

4.6.3 几点说明 88

4.6.4 位运算应用 89

练习4 90

4.7 综合实例:交换算法 91

习题4 93

第5章 顺序和选择 95

5.1 语句概述 95

5.1.1 表达式语句和空语句 95

5.1.2 函数调用语句 96

5.1.3 语句块 96

5.1.4 控制语句 97

5.2 流程控制条件 98

5.2.1 关系运算及其表达式 98

5.2.2 逻辑运算及表达式 100

5.2.3 逻辑运算的优化 101

练习1 102

5.3 if语句 102

5.3.1 简单if语句 102

5.3.2 if..else语句 105

5.3.3 if..else if..else语句 106

5.3.4 嵌套if语句 108

5.3.5 ?:运算 110

练习2 112

5.4 switch语句 113

5.5 综合实例:简单计算器(上) 116

习题5 118

第6章 循环和转向 120

6.1 while语句 120

6.1.1 while语句的一般格式 120

6.1.2 while语句的循环程序设计 120

6.1.3 while语句的变化 123

6.2 do...while语句 124

6.2.1 do...while语句的一般格式 124

6.2.2 do...while语句的特点 125

练习1 125

6.3 for语句 126

6.3.1 for语句的一般格式 126

6.3.2 for语句的省略形式 128

练习2 129

6.4 循环嵌套 129

6.5 转向语句 1

6.5.1 break语句 132

6.5.2 continue语句 132

6.5.3 goto语句 133

练习3 134

6.6 综合实例:简单计算器(中) 135

习题6 138

第7章 基本结构化程序设计 141

7.1 算法和程序 141

7.2 算法的结构化描述 143

7.2.1 流程图 1

7.2.2 N.S图 145

7.2.3 PAD图 146

练习1 147

7.3 程序设计举例 147

7.3.1 求特定数 147

7.3.2 和积计算 150

7.3.3 方程求解 152

7.3.4 图案打印 155

7.4 综合实例:简单计算器(下) 158

习题7 162

第8章 函数 165

8.1 概述 165

8.2 函数的定义 166

8.2.1 函数定义的一般形式 167

8.2.2 函数参数的设计 169

8.2.3 函数类型和返回值 171

8.3 函数的调用 173

8.3.1 函数调用的一般形式 173

8.3.2 函数声明 174

8.3.3 参数传递方式 177

8.3.4 参数求值顺序 178

8.3.5 全局变量和局部变量 179

练习1 181

8.4 函数嵌套调用和递归调用 182

8.4.1 函数调用机制 182

8.4.2 函数嵌套调用 183

8.4.3 递归调用和递归函数 184

8.5 综合实例:递归设计 188

8.5.1 设计步骤 188

8.5.2 斐波那契数列 190

习题8 192

第9章 数组 194

9.1 一维数组 194

9.1.1 一维数组的定义和引用 194

9.1.2 一维数组的初始化 196

9.1.3 一维数组的简单应用 198

练习1 201

9.2 二维和多维数组 201

9.2.1 二维和多数数组的定义和引用 201

9.2.2 多维数组的本质 202

9.2.3 二维数组的初始化和赋值 204

9.2.4 二维数组的基本应用 206

练习2 208

9.3 字符数组和字符串 208

9.3.1 一维字符数组 208

9.3.2 二维字符数组 209

练习3 210

9.4 数组与函数 210

9.4.1 传递一维数组 210

9.4.2 传递多维数组 212

9.5 综合实例:排序 214

9.5.1 冒泡排序法 214

9.5.2 选择排序法 215

9.5.3 直接插入排序法 216

习题9 218

第10章 程序组织和预处理 221

10.1 作用域和可见性 221

10.1.1 作用域概述 221

10.1.2 函数原型作用域 221

10.1.3 函数作用域 221

10.1.4 块作用域 222

10.1.5 文件作用域 223

10.2 内存区和存储类型 224

10.2.1 内存区和存储方式 224

10.2.2 自动类型auto 225

10.2.3 寄存器类型register 226

10.2.4 static局部变量 226

10.2.5 多源文件和static全局变量 228

10.2.6 外部类型extern 229

练习1 230

10.3 内部函数和外部函数 231

10.3.1 内部函数 232

10.3.2 外部函数 233

练习2 234

10.4 编译预处理 234

10.4.1 宏定义 234

10.4.2 条件编译命令 236

10.4.3 文件包含命令 237

10.4.4 文件重复包含处理 238

练习3 239

10.5 综合实例:数组模型 240

习题10 242

第11章 指针 245

11.1 指针的定义和操作 245

11.1.1 地址和指针 245

11.1.2 指针的定义 246

11.1.3 指针的运算符&和 247

11.1.4 指针的初始化和赋值 248

11.1.5 指针的算术运算 250

练习1 251

11.2 指针和数组 252

11.2.1 指针和一维数组 252

11.2.2 指针和二维数组 255

11.2.3 指针数组 258

112.4 多级指针 260

练习2 260

11.3 指针和函数 261

11.3.1 指针作为函数的参数 261

11.3.2 返回指针的函数 264

11.3.3 指向函数的指针 265

练习3 267

11.4 void指针和动态内存 268

11.4.1 void指针 268

11.4.2 内存分配和释放 270

11.5 综合实例:josephus问题 273

习题11 275

第12章 字符指针和字符串处理 277

12.1 字符指针 277

12.1.1 字符指针定义和初始化 277

12.1.2 字符指针的使用 278

12.1.3 字符指针数组和多级字符指针 279

12.1.4 带参的main函数 280

12.1.5 const限定 282

练习1 283

12.2 字符串操作 284

12.2.1 字符串的输入 284

12.2.2 字符串输出 286

12.2.3 strcat和stmcat 287

12.2.4 strcpy和strncpy 288

12.2.5 strcmp和stmcmp 289

练习2 290

12.3 综合实例:自定义字符串函数的实现 291

习题12 294

第13章 结构、联合和枚举 297

13.1 结构类型 297

13.1.1 结构类型声明 297

13.1.2 结构类型变量的定义 298

13.1.3 结构类型变量的引用 300

13.1.4 重名问题 301

13.1.5 位域 302

练习1 303

13.2 结构数组和结构指针 304

13.2.1 定义和初始化 304

13.2.2 结构数组元素的引用 307

13.2.3 结构指针的成员引用 308

练习2 310

13.3 结构和函数 310

13.3.1 传递结构参数 311

13.3.2 返回结构 313

13.4 联合 314

13.4.1 联合的声明和定义 314

13.4.2 联合变量的引用 315

13.5 枚举 316

13.6 使用typedef 318

练习3 320

13.7 综合实例:简单链表 321

13.7.1 链表概述 321

13.7.2 链表的创建和遍历 322

13.7.3 链表的删除 324

13.7.4 链表结点的插入和添加 325

13.7.5 用链表求解josephus问题 327

习题13 330

第14章 文件 333

14.1 文件概述 333

14.1.1 文件分类 333

14.1.2 文件指针 334

14.1.3 文件打开和关闭 334

练习1 336

14.2 文件读写 336

14.2.1 字符读写 337

14.2.2 字符串读写 338

14.2.3 格式化读写 338

14.2.4 块数据读写 341

练习2 343

14.3 随机文件和定位操作 344

143.1 随机文件 344

14.3.2 定位操作 344

14.4 文件状态检测和错误处理 348

练习3 349

14.5 综合实例:学生信息的文件存取 349

习题14 352

实验部分 354

实验1 认识Visual C+++ 6.0中文版开发环境 354

实验内容 354

实验准备和说明 354

实验步骤 354

思考与练习 363

实验2 数据类型、运算符和表达式 364

实验内容 364

实验准备和说明 364

实验步骤 364

思考与练习 367

实验3 分支语句 368

实验内容 368

实验准备和说明 368

实验步骤 368

思考与练习 371

实验4 循环和基本程序设计 372

实验内容 372

实验准备和说明 372

实验步骤 372

思考与练习 375

实验5 函数 376

实验内容 376

实验准备和说明 376

实验步骤 376

思考与练习 379

实验6 数组 380

实验内容 380

实验准备和说明 380

实验步骤 380

思考与练习 383

实验7 程序组织、预处理和调试 384

实验内容 384

实验准备和说明 384

实验步骤 384

思考与练习 387

实验8 指针 388

实验内容 388

实验准备和说明 388

实验步骤 388

思考与练习 391

实验9 字符串和结构数组 392

实验内容 392

实验准备和说明 392

实验步骤 392

思考与练习 397

实验10 链表 398

实验内容 398

实验准备和说明 398

实验步骤 398

思考与练习 403

实验11 文件 404

实验内容 404

实验准备和说明 404

实验步骤 404

思考与练习 410

综合应用实习 411

实习题目 411

所需知识 411

界面要求 411

结构模型 411

操作及其算法实现 412

文档要求 413

附录 414

A 运算符优先级和结合性 414

B ASCII码表 415

C 常用C库函数 417

D 使用Turbo C 20 419

E 各章练习参考答案 423