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

  • 购买积分:13 如何计算积分?
  • 作  者:郑玲主编
  • 出 版 社:北京:中国电力出版社
  • 出版年份:2009
  • ISBN:9787508393896
  • 页数:358 页
图书介绍:本书为普通高等教育“十一五”规划教材。本书是高等院校计算机程序设计基础课程的教材,该教材以培养学生程序设计能力为目标,以程序设计为主线,重点讲解程序设计的思想和方法。为了注重教材的可读性和可用性,每章以学习目标开头,通过应用案例引入内容,以解决问题为目的介绍相关的语言知识,书中例题丰富,注重实用,由浅入深,强化知识点、算法、编程方法与技巧,为了便于学生学习和掌握,以醒目的方式给出了常用语法规则和常见错误提示,每一章的结尾都安排了小结并配有多种题型的习题。帮助学生学习和理解教学内容。 全书共分14章,包括C语言程序设计初步、C语言程序基础、选择结构、循环结构、数据类型和表达式、数组、函数、指针、结构体、共用体与枚举、高级指针应用、文件、编译预处理及大规模程序设计方法等内容。

第1章 C语言程序设计简介 1

1.1 C语言概述 1

1.1.1 程序设计语言 1

1.1.2 C语言的简介 2

1.1.3 C++语言简介 2

1.1.4 C语言的主要特点 3

1.2 C语言程序简介 3

1.2.1 简单的C程序 3

1.2.2 C语言源程序的结构特点 5

1.3 运行一个C程序 6

1.3.1 C程序运行的基本步骤 6

1.3.2 Microsoft Visual C++6.0集成环境 7

小结 10

习题 11

第2章 C语言程序基础 13

2.1 C程序的基本结构 13

2.2 C语言基本语法成分 14

2.2.1 C语言的字符集 14

2.2.2 标识符 14

2.2.3 关键字 14

2.2.4 运算符 15

2.2.5 分隔符 15

2.3 C语言数据类型 15

2.3.1 整型(int)数据 16

2.3.2 浮点型(float)数据 16

2.3.3 字符型(char)数据 16

2.4 C语句 18

2.5 C语言的格式输出printf函数 19

2.6 C语言的格式输入scanf函数 22

小结 25

习题 27

第3章 选择结构 30

3.1 问题的引出(选择结构概述) 30

3.2 关系运算与逻辑运算 31

3.2.1 关系运算 31

3.2.2 逻辑运算 32

3.3 两个分支的if语句 36

3.3.1 if~else~语句的基本形式 36

3.3.2 求两个数中的最大数 36

3.3.3 计算三角形的面积 36

3.4 一个分支的语句 37

3.4.1 if~语句的基本形式 38

3.4.2 求三个数中的最大数 38

3.4.3 从大到小输出三个数 38

3.5 多个分支的if语句 40

3.5.1 if~else if语句的基本形式 40

3.5.2 判断输入字符的类型 40

3.5.3 输出学生成绩的等级 41

3.6 if语句的嵌套 43

3.7 switch语句 44

3.7.1 switch语句的基本结构 44

3.7.2 输入数字,输出对应的英文单词 45

3.7.3 简单的四则运算计算器 47

3.7.4 用switch语句实现输出学生成绩的等级 48

小结 49

习题 51

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

4.1 循环结构概述 55

4.2 while循环语句 56

4.2.1 while循环语句概述 56

4.2.2 猴子吃桃子问题 58

4.2.3 求两个数的最大公约数 60

4.2.4 将正整数分解成质因数 62

4.3 do~while循环语句 63

4.3.1 do~while循环语句概述 63

4.3.2 求整数的数据位数 64

4.3.3 用格里高利公式求π的近似值 65

4.4 for循环语句 66

4.4.1 for循环语句基本形式 66

4.4.2 水仙花数问题 69

4.4.3 分数数列求和 70

4.4.4 三种循环的比较 70

4.5 循环嵌套 72

4.5.1 循环嵌套概述 72

4.5.2 打印乘法口诀表 73

4.5.3 乒乓球比赛抽签问题 73

4.6 循环的中途退出 74

4.6.1 break语句 74

4.6.2 continue语句 76

4.7 常用的循环程序设计方法 78

4.7.1 穷举法 78

4.7.2 递推法 79

4.7.3 迭代法 80

小结 81

习题 82

第5章 数据类型和表达式 90

5.1 数据的存储格式 90

5.2 基本数据类型 92

5.2.1 整型 92

5.2.2 实型 94

5.2.3 字符型 95

5.3 运算符与表达式 98

5.3.1 赋值表达式 99

5.3.2 算术表达式 100

5.3.3 自增、自减运算符 101

5.3.4 关系表达式 103

5.3.5 逻辑表达式 104

5.3.6 条件表达式 107

5.3.7 逗号表达式 109

5.3.8 位运算 109

5.3.9 其他运算符 112

5.4 类型转换 112

5.4.1 非赋值类型转换 113

5.4.2 赋值类型转换 113

5.4.3 强制类型转换 114

小结 114

习题 114

第6章 数组 117

6.1 一维数组 117

6.1.1 输出大于平均数的数 117

6.1.2 一维数组的定义和引用 118

6.1.3 一维数组的存储和初始化 120

6.2 一维数组程序设计实例 121

6.2.1 求一维数组最大值元素的下标 121

6.2.2 利用数组求解斐波那契数列 122

6.2.3 在数组中查找一个给定的数 123

6.2.4 排序问题 124

6.3 二维数组 127

6.3.1 学生成绩统计 127

6.3.2 二维数组的定义和引用 128

6.3.3 二维数组的存储和初始化 130

6.4 二维数组程序设计实例 132

6.4.1 找出矩阵中的最大值及其行下标和列下标 132

6.4.2 求矩阵的转置 133

6.4.3 求二维数组的主对角线之和 135

6.4.4 计算某个日期对应该年的第几天 136

6.5 字符数组与字符串 137

6.5.1 将数字字符串转换为整数 137

6.5.2 字符数组的定义与初始化 138

6.5.3 字符串 139

6.6 字符数组与字符串程序设计实例 142

6.6.1 输入字符串统计字母、数字和其他字符的个数 142

6.6.2 将两个字符串连接成一个字符串 143

小结 144

习题 146

第7章 函数 152

7.1 函数的概述 152

7.2 函数的简单调用 155

7.2.1 输出数字金字塔 156

7.2.2 判断素数 157

7.2.3 数值交换 159

7.3 数组作为参数的函数调用 161

7.3.1 求数组中元素的最大值 162

7.3.2 比较两个数组的大小 163

7.3.3 字符串复制 164

7.3.4 学生成绩排名 165

7.4 函数的嵌套调用 167

7.4.1 计算最大公约数和最小公倍数 168

7.4.2 计算数组元素的均方差 169

7.5 函数的递归调用 170

7.5.1 计算阶乘 170

7.5.2 汉诺塔问题 172

7.6 变量的作用域 174

7.6.1 局部变量 174

7.6.2 全局变量 175

7.7 变量的存储类型 177

小结 179

习题 180

第8章 指针 185

8.1 指针概述 185

8.1.1 理解指针 185

8.1.2 为什么引入指针的概念 186

8.2 指针基础 189

8.2.1 指针变量的声明 189

8.2.2 指针变量的初始化 190

8.2.3 指针变量的赋值 190

8.3 指针编程实例 192

8.3.1 征婚匹配问题 192

8.3.2 求解一元二次方程 195

8.4 指针型函数 196

8.5 指针与数组 199

8.5.1 一维数组与指针 199

8.5.2 指针运算 199

8.5.3 用指针引用数组元素 200

8.5.4 二维数组与指针 201

8.6 指针与数组编程实例 203

8.6.1 数列的中位数 203

8.6.2 求矩阵的最大元素 204

8.7 指针与字符串 206

8.7.1 字符型指针、字符数组与字符串常量的概念 206

8.7.2 判断回文单词和回文句子 207

8.7.3 C语言字符串操作的库函数 212

8.7.4 字符串库函数应用实例 214

8.8 常见的编程错误 215

小结 218

习题 219

第9章 结构体 225

9.1 结构体概述 225

9.1.1 结构体类型 225

9.1.2 结构体变量定义 226

9.1.3 结构体变量使用 227

9.1.4 结构体嵌套定义 228

9.2 结构体变量作为函数参数 230

9.2.1 平面上两点之间的距离 230

9.2.2 判断点是否在矩形内 231

9.3 结构体数组 234

9.3.1 结构体数组的定义和初始化 234

9.3.2 计算学生的平均成绩 235

9.3.3 候选人得票统计程序 236

9.4 结构体指针 237

9.4.1 结构体指针概念 237

9.4.2 图书信息输出 238

9.4.3 指向结构体数组的指针 239

9.5 结构体指针作为函数参数 240

. 9.5.1 输出某学生信息 240

9.5.2 统计学生成绩等级 242

9.6 结构体综合应用实例 244

9.6.1 电话号码簿管理 244

9.6.2 学生成绩管理系统 247

小结 250

习题 251

第10章 共用体与枚举 256

10.1 共用体 256

10.1.1 共用体概念 256

10.1.2 人员管理 259

10.2 枚举 260

10.2.1 枚举概念 260

10.2.2 枚举类型的应用 261

10.3 用typedef定义类型 262

小结 264

习题 264

第11章 指针的高级应用 268

11.1 指针数组 268

11.2 指向指针的指针 270

11.3 指向函数的指针 273

11.4 动态内存分配 275

11.4.1 动态分配内存函数 276

11.4.2 malloc函数 276

11.4.3 calloc函数 277

11.4.4 realloc函数 277

11.4.5 free函数 278

11.4.6 动态分配内存编程实例 278

11.5 链表 282

11.5.1 链表结点结构 282

11.5.2 建立和输出静态链表 283

11.5.3 建立和输出动态链表 284

11.5.4 删除链表中的结点 286

11.5.5 在链表中插入结点 288

11.5.6 链表的综合应用 292

11.5.7 链表的扩展应用 295

小结 295

习题 296

第12章 文件 299

12.1 文件概述 299

12.1.1 将“I am a student!”写入文件 299

12.1.2 文件的概念 300

12.1.3 缓冲文件系统 301

12.1.4 文件结构与文件指针 301

12.2 文件打开与关闭 302

12.2.1 显示文件的内容 302

12.2.2 打开文件 303

12.2.3 关闭文件 305

12.3 文本文件读写 305

12.3.1 保存键盘读入字符,并输出 305

12.3.2 字符读写函数fgetc()和fputc() 306

12.3.3 字符串读写函数fgets()和fputs() 309

12.3.4 格式化文件读写函数fscanf()和fprintf() 310

12.4 二进制文件读写 313

12.4.1 程序示例 313

12.4.2 数据块读写函数fread()和fwrite() 314

12.4.3 文件的随机读写fseek() 315

12.5 其他相关函数 316

12.6 文件程序设计实例 317

12.6.1 文本文件应用 317

12.6.2 二进制文件应用 319

12.7 常见编程错误 321

小结 322

习题 322

第13章 编译预处理 324

13.1 预处理概述 324

13.2 宏定义 324

13.2.1 无参宏定义 325

13.2.2 带参宏定义 327

13.3 文件包含 331

13.4 条件编译 332

小结 334

习题 334

第14章 大规模程序设计 339

14.1 命令行参数 339

14.2 程序的风格与结构化 342

14.3 程序的可移植性和健壮性 344

14.4 大规模程序开发 347

14.4.1 模块化程序设计 347

14.4.2 分块开发 348

14.4.3 工程文件 350

附录A C语言运算符和结合性 351

附录B 常用字符与ASCII代码对照表 352

附录C C语言常用的库函数 354

参考文献 358