C语言程序设计教程(第2版)

C语言程序设计教程(第2版)
作 者: 杨有安 曹惠雅 鲁丽 陈维
出版社: 人民邮电出版社
丛编项: 工业和信息化普通高等教育"十二五"规划教材立项项目
版权说明: 本书为出版图书,暂不支持在线阅读,请支持正版图书
标 签: 暂缺
ISBN 出版时间 包装 开本 页数 字数
未知 暂无 暂无 未知 0 暂无

作者简介

暂缺《C语言程序设计教程(第2版)》作者简介

内容简介

本书根据全国高等学校计算机基础教育研究会发布的计算机基础教育的纲领性文件中有关“程序设计”课程的教学要求及人才培养的新要求编写而成。全书共11章,主要内容包括C语言的基本概念、变量、运算符、表达式、顺序结构、分支结构、循环结构、数组、函数、指针、结构体、联合体和枚举类型、预处理和标准函数、文件、数据结构和数据抽象。同时,还将介绍程序设计的基本方法和常用算法。本书以计算思维模式进行计算机类课程教学的形式作为编写指导,内容全面,由浅入深,详略得当,注重实践,实例丰富,面向应用。各章附有适量的习题,便于自学。另外,针对书中各章内容和上机实验,本书还配有辅导教材《C语言程序设计实践教程(第2版)》,引导读者学习和掌握各章节的知识。全书贯彻传授知识、培养能力、提高素质的教学理念。本书为高等学校非计算机专业“C语言程序设计”课程的教材,也可作为C语言初学者及计算机二级考试者和计算机工程技术人员的学习参考书。

图书目录

目 录

第1章 C语言概述 1

1.1 程序与程序设计语言 1

1.1.1 程序与指令 1

1.1.2 程序设计语言的功能 2

1.1.3 程序设计语言的语法 2

1.2 C语言的发展与特点 5

1.2.1 C语言的发展 6

1.2.2 C语言的主要特点 6

1.3 C程序的结构 7

1.3.1 简单C程序举例 7

1.3.2 C语言程序的结构特点 9

1.3.3 书写程序时应遵循的规则 9

1.4 Visual C++ 6.0上机简介 10

1.4.1 Visual C++ 6.0集成开发环境简介 10

1.4.2 Visual C++ 6.0集成环境上机步骤 11

小结 15

习题 15

第2章 基本数据类型和运算符 17

2.1 基本数据类型 17

2.1.1 常量和变量的概念 17

2.1.2 整型 19

2.1.3 实型 21

2.1.4 字符型 22

2.1.5 字符串 25

2.2 数据的存储 26

2.2.1 整型数据的存储 26

2.2.2 实型数据的存储 27

2.2.3 字符型数据的存储 27

2.3 运算符和表达式 28

2.3.1 算术运算符与算术表达式 29

2.3.2 赋值运算符与赋值表达式 30

2.3.3 位运算符及其表达式 34

2.3.4 增量运算符与增量表达式 36

2.3.5 关系运算符与关系表达式 37

2.3.6 逻辑运算符与逻辑表达式 39

2.3.7 条件运算符与条件表达式 41

2.3.8 逗号运算符与逗号表达式 42

2.3.9 其他运算符 43

2.3.10 运算符的优先级与结合性 43

2.3 数据类型的转换 44

2.3.1 自动转换 44

2.3.2 赋值转换 45

2.3.3 强制类型转换 46

小结 47

习题 47

第3章 顺序和选择结构程序设计 51

3.1 程序设计概述 51

3.1.1 程序设计基本步骤 51

3.1.2 C语言编写风格 52

3.1.3 程序的语句 53

3.2 数据的输入/输出 54

3.2.1 数据的输入 54

3.2.2 scanf()函数的调用 54

3.2.3 scanf()函数使用中常见的问题 56

3.2.4 getchar()函数 57

3.2.5 putchar()函数 58

3.3 程序的3种基本结构 58

3.4 if选择结构语句 59

3.4.1 if语句的3种形式 60

3.4.2 if语句的嵌套 65

3.5 switch选择结构语句 67

3.6 程序设计举例 70

小结 74

习题 74

第4章 循环结构程序设计 79

4.1 for循环 79

4.2 while循环 84

4.3 do-while循环 86

4.4 三种循环语句的比较 88

4.5 跳转语句 89

4.5.1 break语句 89

4.5.2 continue语句 90

4.5.3 goto语句 91

4.6 循环语句的嵌套 92

4.7 程序设计举例 95

小结 100

习题 101

第5章 数组 104

5.1 一维数组 104

5.1.1 一维数组的定义 104

5.1.2 一维数组元素的引用 105

5.1.3 一维数组元素的初始化 107

5.2 二维数组 108

5.2.1 二维数组的定义 108

5.2.2 二维数组元素的引用 109

5.2.3 二维数组元素的初始化 110

5.3 字符型数组 112

5.3.1 字符数组的定义 112

5.3.2 字符数组的引用 113

5.3.3 字符数组的初始化 113

5.3.4 字符串及其结束标志 115

5.3.5 字符数组的输入/输出 116

5.3.6 常用的字符串处理函数 117

5.4 使用数组的程序设计方法 121

5.4.1 排序 121

5.4.2 查找 123

5.5 程序设计举例 125

小结 128

习题 128

第6章 函数和模块设计 133

6.1 结构化程序设计 133

6.1.1 结构化程序设计的基本概念 134

6.1.2 结构化程序设计的基本特征 134

6.2 函数的定义和调用 135

6.2.1 函数的定义 135

6.2.2 函数的调用 136

6.2.3 函数的返回值 139

6.2.4 函数参数及函数间的数据传递 142

6.3 函数的嵌套调用和递归调用 147

6.3.1 函数的嵌套调用 147

6.3.2 函数的递归调用 150

6.4 作用域和存储类型 151

6.5 内部函数和外部函数 158

6.5.1 内部函数 158

6.5.2 外部函数 158

6.6 模块化程序设计 160

6.6.1 模块化程序设计方法的指导思想 160

6.6.2 模块分解的原则 161

6.7 程序设计举例 161

小结 166

习题 166

第7章 指针 169

7.1 指针的概念 169

7.1.1 地址与指针 169

7.1.2 指针变量的定义和引用 170

7.1.3 指针变量的运算 173

7.2 指针变量作为函数参数 175

7.3 指针与一维数组 177

7.3.1 一维数组的指针表示 178

7.3.2 数组作函数参数时的指针表示 180

7.3.3 字符串的指针表示 182

7.4 指针与多维数组 185

7.4.1 多维数组的处理 185

7.4.2 指向多维数组的指针 185

7.5 指针数组和多级指针 188

7.5.1 指针数组的概念 188

7.5.2 指针数组的应用 188

7.5.3 多级指针(指向指针的指针) 191

7.6 指针与函数 193

7.6.1 指向函数的指针 193

7.6.2 函数指针的应用 194

7.6.3 返回指针的函数 197

7.7 命令行参数 200

小结 201

习题 203

第8章 结构体与联合体 204

8.1 结构体 204

8.1.1 结构体类型的定义 205

8.1.2 结构体类型变量的定义与使用 205

8.1.3 结构体类型变量的赋值与初始化 207

8.1.4 结构体类型数组的定义与引用 209

8.1.5 结构体类型指针的定义与引用 212

8.1.6 结构体类型数据的动态存储分配 217

8.1.7 链表及其基本操作 218

8.2 联合体 223

8.3 其他自定义数据类型 225

8.3.1 枚举类型 225

8.3.2 类型定义符typedef 227

小结 228

习题 229

第9章 预处理和标准函数 231

9.1 预处理命令 231

9.1.1 宏定义 231

9.1.2 文件包含 234

9.1.3 条件编译 234

9.2 输入/输出标准函数 236

9.2.1 格式输出函数 236

9.2.2 格式输入函数 238

9.3 自定义头文件设计的原则 240

小结 244

习题 244

第10章 文件 245

10.1 问题的引入 245

10.2 文件的基本概念 245

10.3 内存与外存的数据交流 246

10.4 程序针对文件的基本操作 247

10.4.1 打开文件 247

10.4.2 关闭文件 249

10.4.3 文件的读写 249

10.4.4 文件检测函数 258

10.5 程序调试与数据测试文件 258

10.6 程序设计举例 260

小结 263

习题 263

第11章 数据结构和数据抽象 265

11.1 数据抽象 265

11.1.1 数据结构和数据类型 265

11.1.2 抽象数据类型 266

11.2 线性表 266

11.2.1 线性表的定义 266

11.2.2 线性表的基本操作 267

11.2.3 线性表的顺序存储 268

11.2.4 顺序表上基本运算的实现 269

11.3 堆栈 270

11.3.1 抽象栈的定义及基本操作 270

11.3.2 抽象栈的定义 271

11.3.3 顺序栈的基本运算的实现 271

11.4 队列 272

11.4.1 队列的定义 272

11.4.2 队列的存储结构及其相关算法 273

小结 275

习题 276

附录A ASCII代码对照表 277

附录B C库函数 278

附录C Debugger调试器使用简介 284

参考文献 291