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

  • 购买积分:11 如何计算积分?
  • 作  者:杨治明,雷亮主编;伍建全,焦晓军副主编
  • 出 版 社:北京:人民邮电出版社
  • 出版年份:2012
  • ISBN:9787115270870
  • 页数:296 页
图书介绍:本书共10章,内容包括C语言概述、基本类型数据的输入/输出、流程控制、函数、编译预处理、数组、指针、自定义数据类型、文件、课程设计、实验和附录。

第1章C语言概述 1

1.1简单的C语言程序 1

1.2 C语言的发展历史与特点 3

1.2.1 C语言的发展历史 3

1.2.2 C语言的特点 4

1.3 C程序的开发步骤和上机调试流程 5

1.3.1 C程序的开发步骤 5

1.3.2 C程序的上机开发过程 6

习题1 12

第2章 基本数据类型的输入/输出 13

2.1 C语言的输入/输出 13

2.2整型数据的输入/输出 13

2.3浮点型数据的输入/输出 14

2.4字符数据的输入/输出 15

2.5字符串数据的输入/输出 15

2.6格式化输入/输出举例 17

2.7阅读材料 18

2.7.1格式化输出函数printf的格式说明和使用 18

2.7.2格式化输入函数scanf的格式说明和使用 19

习题2 21

第3章 流程控制 22

3.1算法 22

3.1.1算法的概念 22

3.1.2算法的表达方式 23

3.1.3基本流程控制结构 25

3.1.4案例3.1求1+1/2+++1/100的和 26

3.2选择语句 26

3.2.1案例3.2求三个整数的最大值(if语句) 26

3.2.2案例3.3百分制成绩转换成五分制成绩(多分支if语句) 29

3.2.3案例3.4判断所输入的一个字符是数字、空白符还是其他字符(switch语句) 31

3.2.4案例3.5百分制成绩转换成五分制成绩(switch语句) 33

3.3循环语句 34

3.3.1案例3.6求1+1/2+++1/100的和(while语句) 34

3.3.2案例3.7求1+1/2+++1/100的和(do…while语句) 35

3.3.3案例3.8求1+1/2+++1/100的和(for语句) 37

3.4转向语句 39

3.4.1案例3.9判断所输入的一个大于1的正整数是否是素数(break语句 39

3.4.2案例3.10输出100~200之间能被3整除的数(continue语句) 41

3.5应用举例 42

3.5.1案例3.11计算1!+ 2!+…+10!(并讨论溢出问题) 42

3.5.2案例3.12计算级数1-1/3+1/5-1/7+…的和 44

3.5.3案例3.13统计输入的数字字符、字母字符和其他字符的个数 45

3.5.4案例3.14求两个正整数的最大公约数和最小公倍数 45

3.5.5案例3.15将一个正整数逆序输出 46

3.5.6案例3.16输入日期并检查其合理性,直到输入合理为止 47

3.6阅读材料 48

3.6.1 C语言的语句 48

3.6.2 goto语句简介 49

3.6.3 exit()函数 49

3.6.4程序调试简介 50

习题3 51

第4章 函数 54

4.1模块化程序设计 54

4.1.1模块化程序设计的基本思想 54

4.1.2 C语言程序设计的基本结构 55

4.2函数定义和调用 55

4.2.1案例4.1求3个整数的最大值(函数定义和调用) 57

4.2.2案例4.2验证哥德巴赫猜想(在1000以内验证) 57

4.2.3案例4.3计算1 к+2к+……+nк(函数原型、函数的嵌套调用) 59

4.3标识符的作用域 60

4.3.1案例4.4块作用域 60

4.3.2案例4.5文件作用域 61

4.3.3函数原型作用域 61

4.3.4函数作用域 62

4.4变量的存储种类 62

4.4.1自动变量 62

4.4.2寄存器变量 62

4.4.3案例4.6外部变量 63

4.4.4案例4.7静态变量 64

4.5指针基础 64

4.5.1地址和指针的概念 64

4.5.2指针变量 65

4.5.3案例4.8两数交换(指针做参数) 65

4.5.4案例4.9输人10个整数求它门的最大值、最小值和总和(指针做参数) 66

4.5.5案例4.10统计百分制成绩各分数段的人数(指针做返回值) 67

4.6递归函数 68

4.6.1案例4.11计算4!(递归函数的定义和递归调用过程分析) 68

4.6.2案例4.12计算整数各位数字之和 69

4.6.3案例4.13计算? 70

4.6.4案例4.14汉诺塔问题 70

习题4 71

第5章 编译预处理 74

5.1宏 74

5.1.1案例5.1无参宏 75

5.1.2案例5.2有参宏 75

5.2文件包含 76

5.3条件编译 77

5.3.1条件编译命令 77

5.3.2案例5.3头文件设计 78

5.4阅读材料 80

5.4.1程序的多文件组织方法 80

5.4.2多文件程序的编译和链接 80

习题5 81

第6章 数组 83

6.1一维数组 83

6.1.1一维数组的定义、初始化和使用 83

6.1.2最大值、最小值和平均值 86

6.1.3一维数组作为函数的参数 88

6.1.4数组排序 90

6.1.5数组查找 95

6.2二维数组 98

6.2.1二维数组的定义、初始化和使用 98

6.2.2矩阵转置 100

6.2.3二维数组的本质 101

6.3字符串 104

6.3.1字符数组和字符串 104

6.3.2字符串的输入和输出 105

6.3.3字符串处理 107

习题6 111

第7章 指针 120

7.1简介 120

7.2什么是指针 120

7.2.1变量、变量的值与变量的地址 120

7.2.2指针 122

7.2.3定义指针变量 123

7.2.4间接运算符 123

7.2.5指针赋值 125

7.2.6指针作为函数的参数 126

7.2.7返回指针的函数 130

7.3指针与一维数组 131

7.3.1使指针指向数组 131

7.3.2指针算术运算 131

7.3.3指针关系运算 138

7.3.4一维数组名与指针 140

7.3.5向函数传递数组实际上是传递指针 142

7.4指针与二维数组 145

7.4.1二维数组的本质 145

7.4.2指向数组的指针与二维数组名 146

7.4.3用指向元素的指针访问二维数组 151

7.5指针数组 153

7.6带参数的main函数 154

7.7指向指针的指针 155

7.8指向函数的指针 156

7.8.1指向函数的指针的定义和使用方法 156

7.8.2指向函数的指针作函数参数 157

7.9字符串处理函数 159

7.9.1字符串的输入输出(gets和puts) 159

7.9.2求字符串长度(strlen) 160

7.9.3字符串复制(strcpy…stmcpy)和字符串连接(strcat) 160

7.9.4字符串比较(strcmp 163

7.9.5字符串中字符的大小写转换(strlwr和strupr) 164

7.10动态内存分配 164

7.10.1 C语言的程序内存空间 165

7.10.2用malloc函数分配一块内存 165

7.10.3用calloc函数分配连续的内存空间 167

7.10.4用realloc函数改变内存块的大小 168

习题7 170

第8章 自定义数据类型 178

8.1结构体 178

8.1.1案例8.1复数的四则运算 183

8.1.2案例8.2学生成绩统计 184

8.2单向链表 186

8.2.1案例8.3单向链表的建立和基本操作 186

8.2.2案例8.4猴子选大王 189

8.3共用体 192

8.3.1案例8.5共用体类型及其变量的定义和使用 192

8.3.2案例8.6学生、教职工基本信息管理 193

8.4枚举 200

8.4.1案例8.7枚举类型及其变量的定义和使用 201

8.4.2案例8.8枚举类型数据的输入和输出 201

8.5自定义数据类型举例 202

8.6阅读材料 204

8.6.1位域 204

8.6.2无名共用体类型的使用 205

8.6.3类型别名 206

习题8 206

第9章 文件 209

9.1文件概述 209

9.1.1文件的概念 210

9.1.2文本文件与二进制文件 210

9.1.3缓冲文件系统 211

9.1.4文件类型指针 211

9.2文件的打开与关闭 212

9.2.1打开文件(fopen()函数) 212

9.2.2关闭文件函数(fclose函数) 214

9.3文本文件的读写 214

9.3.1案例9.1复制文件(fputc函数和fgetc函数) 214

9.3.2案例9.2复制文件(fgets函数和fputs函数) 216

9.3.3案例9.3学生基本信息的顺序读/写(fprintf函数和fscanf函数) 218

9.4二进制文件的读写 220

9.4.1案例9.4学生基本信息的顺序读/ 写(fread函数和fwrite函数) 220

9.4.2案例9.5学生基本信息的随机读/写(fseek函数) 222

9.5阅读材料 224

9.5.1 ferror()函数 224

9.5.2 clearerr()函数 224

9.5.3 feof()函数 224

习题9 224

第10章 课程设计 226

10.1课程设计的目的和要求 226

10.2课程设计举例——学生成绩管理系统 226

10.3课程设计选题 233

实验一C语言编译环境与程序开发 235

实验二 输入/输出程序设计 236

实验三 选择结构 238

实验四 循环结构 241

实验五 函数 244

实验六 递归 245

实验七 数组的使用 246

实验八 字符串处理 248

实验九 指针与数组 250

实验十指针与函数 251

实验十一 结构体与单向链表 253

实验十二 文件 255

附录A常用字符与ASCIl码对照表 257

附录B C语言的32个关键字 259

附录C C语言常用标准库函数 260

附录D Turbo C 2.0程序调试技术 266

附录E Visual C+++ 6.0程序调试技术 270

附录F推箱子游戏源代码 272

附录G贪吃蛇游戏源代码 275

附录H 扫地雷游戏源代码 279

附录I速算24源代码 288