当前位置:首页 > 工业技术
C语言程序设计教程
C语言程序设计教程

C语言程序设计教程PDF电子书下载

工业技术

  • 电子书积分:12 积分如何计算积分?
  • 作 者:王明福主编
  • 出 版 社:北京:高等教育出版社
  • 出版年份:2004
  • ISBN:704014607X
  • 页数:326 页
图书介绍:本书介绍C语言的基础知识和程序设计方法。全书共13章,前5章介绍C语言的基本概念、语法规则和C程序设计方法 。第6章~第12章以设计“编辑器”为项目驱动,分别介绍了数组、函数、编译预处理、位运算、指针、结构体和文件系统。第13章介绍图形和用户界面技术,及用Turbo C进行屏幕作图、汉字显示和菜单设计,并以此改进“编辑器”的用户界面。本书力图从实际出发,以编写实用程序为目标,把C语言的语法规则、程序设计方法及C语言高级编程技术有机地结合起来,注重知识内容、综合练习和课程设计的有机统一,最后达到掌握C语言程序设计的目。
《C语言程序设计教程》目录

第1章 C程序设计初步 1

1.1 C程序演示 1

1.2 C语言概述 2

1.2.1 C语言的产生和发展 2

1.2.2 C语言的特点 3

1.3 C程序的结构 3

1.3.1 简单的C程序 4

1.3.2 C程序的结构 6

1.4 C程序的上机步骤 7

1.4.1 编译环境的准备 8

1.4.2 编译环境的设置 8

1.4.3 使用Turbo C 2.0 10

1.5 程序设计基础 11

1.5.1 基本概念 11

1.5.2 算法的特性 12

1.5.3 算法的描述 13

1.5.4 程序设计语言 16

1.5.5 程序设计方法 17

1.5.6 程序设计实例 18

习题一 19

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

2.1 基本字符、标识符和关键字 21

2.1.1 基本字符 21

2.1.2 标识符 21

2.1.3 关键字 22

2.2 C语言的数据类型 22

2.2.1 常量和变量 23

2.2.2 整型数据 26

2.2.3 实型数据 28

2.2.4 字符型数据 30

2.3 运算符与表达式 33

2.3.1 C语言运算符简介 33

2.3.2 算术运算符和算术表达式 34

2.3.3 赋值运算符和赋值表达式 37

2.3.4 逗号运算符和逗号表达式 39

2.4 类型转换 39

习题二 41

第3章 顺序结构程序设计 43

3.1 C语句概述 43

3.2 程序的三种基本结构 44

3.3 顺序结构程序的设计思想 45

3.4 实现顺序结构程序设计的基本语句 45

3.4.1 赋值语句 46

3.4.2 格式化输出函数printf() 46

3.4.3 格式化输入函数scanf() 51

3.4.4 单字符输出函数putchar() 54

3.4.5 单字符输入函数getchar() 54

3.5 顺序程序设计举例 55

习题三 56

第4章 选择结构程序设计 58

4.1 选择结构程序的设计思想 58

4.2 选择结构判定条件的构成 60

4.2.1 关系运算符与关系表达式 60

4.2.2 逻辑运算符与逻辑表达式 61

4.3 算术、关系、逻辑、赋值混合运算 63

4.4 if语句 64

4.4.1 if语句的简单形式 64

4.4.2 if语句的标准形式 65

4.4.3 if语句的嵌套 65

4.4.4 条件运算符 68

4.5 switch语句 70

4.5.1 问题引入 70

4.5.2 switch语句的一般形式 71

4.6 程序设计举例 71

习题四 74

第5章 循环结构程序设计 77

5.1 循环结构的设计思想 77

5.2 当型循环while语句 78

5.3 直到型循环do-while语句 81

5.4 for循环语句 82

5.5 循环的嵌套 86

5.6 三种循环语句的比较 87

5.7 break、continue和goto语句 88

5.7.1 break与continue语句 88

5.7.2 goto语句和标号语句 89

5.8 循环结构的综合实例 91

习题五 94

第6章 数组 96

6.1 一维数组 96

6.1.1 一维数组的定义 96

6.1.2 一维数组元素的引用 98

6.1.3 一维数组的初始化 99

6.1.4 一维数组的应用实例 100

6.2 二维数组 103

6.2.1 二维数组的定义 103

6.2.2 二维数组的引用 105

6.2.3 二维数组的初始化 106

6.2.4 二维数组程序举例 108

6.3 字符数组与字符串 109

6.3.1 字符数组 109

6.3.2 字符串 111

6.3.3 常用字符串处理函数 115

6.3.4 二维字符数组 117

6.3.5 字符串的应用实例 117

6.4 数组的综合应用:文本编辑器 119

6.4.1 编辑器的结构设计 120

6.4.2 两个基本操作 121

6.4.3 编辑器第一版tedit1 122

6.4.4 问题与展望 124

习题六 124

第7章 函数 126

7.1 函数的概念 126

7.2 函数的定义和调用 128

7.2.1 函数的定义 128

7.2.2 函数的参数和返回值 129

7.2.3 函数的调用 131

7.2.4 函数的声明 132

7.3 函数的参数传递方式 133

7.3.1 参数的值传递方式 134

7.3.2 参数的地址传递方式 135

7.4 函数的嵌套调用与递归调用 137

7.4.1 函数的嵌套调用 137

7.4.2 函数的递归调用和递归函数 138

7.5 变量的作用域和生命期 140

7.5.1 问题的引入 140

7.5.2 变量的存储属性 141

7.5.3 局部变量及存储类型 142

7.5.4 全局变量及其存储类型 145

7.6 内部函数和外部函数 146

7.7 编译、连接由多个源文件构成的程序 147

7.8 函数的综合应用:编辑器第二版 148

7.8.1 修改程序tedit1.c 148

7.8.2 添加滚动函数 150

7.8.3 tedit2程序清单 150

7.8.4 问题与展望 152

习题七 152

第8章 编译预处理 154

8.1 文件包含#include命令 154

8.2 宏定义#define命令 156

8.2.1 不带参数的宏定义 156

8.2.2 带参数的宏定义 158

8.2.3 终止宏定义 161

8.3 条件编译 161

习题八 164

第9章 位运算 165

9.1 位运算和位运算符 165

9.1.1 按位取反运算符“~” 166

9.1.2 按位与运算符“&” 166

9.1.3 按位或运算符“|” 168

9.1.4 按位异或运算符“^” 169

9.1.5 左移运算符“<<” 169

9.1.6 右移运算符“>>” 170

9.1.7 位复合赋值运算符 171

9.1.8 位运算的应用 171

9.2 位段 173

9.3 位运算的综合应用:编辑器第三版 175

9.3.1 编辑器第三版tedit3 175

9.3.2 优化程序tedit2.c 176

9.3.3 添加光标移动函数 177

9.3.4 添加页面翻转函数 180

9.3.5 定义功能键代码的宏 181

9.3.6 tedit3程序清单 181

9.3.7 问题与展望 182

习题九 182

第10章 构造数据类型 185

10.1 结构类型与结构变量 185

10.1.1 结构类型的定义 185

10.1.2 结构变量的定义 186

10.2 结构变量的引用和初始化 188

10.2.1 结构变量的引用 188

10.2.2 结构变量的初始化 189

10.3 结构和数组 190

10.3.1 结构数组的定义 190

10.3.2 结构数组的引用和初始化 191

10.4 结构和函数 193

10.4.1 结构变量作为函数参数 193

10.4.2 结构数组作为函数参数 194

10.4.3 结构变量作为函数返回值 195

10.5 结构的嵌套 195

10.6 共用体 197

10.6.1 共用体的概念 197

10.6.2 共用体类型的定义 197

10.6.3 共用体类型变量的定义 198

10.6.4 共用体变量的引用 198

10.7 枚举类型 199

10.7.1 枚举类型的定义 200

10.7.2 枚举变量的定义 200

10.8 类型定义 201

10.8.1 定义基本类型的别名 201

10.8.2 定义自定义的数据类型的别名 202

10.8.3 定义已有类型别名的一般步骤 202

10.9 构造数据类型的综合应用:编辑器第四版 203

10.9.1 编辑器第四版tedit4 203

10.9.2 优化程序tedit3.c 203

10.9.3 添加查找函数mysearch() 205

10.9.4 添加替换函数myreplace() 206

10.9.5 tedit4.c程序清单 207

10.9.6 问题与展望 208

习题十 209

第11章 指针 210

11.1 指针的基本概念 210

11.1.1 预备知识 210

11.1.2 变量的指针与指针变量 211

11.2 指针变量的定义和使用 212

11.2.1 指针变量的定义 212

11.2.2 指针变量的使用 213

11.2.3 指针变量作为函数参数 216

11.3 指针与数组 218

11.3.1 数组的指针和指向数组的指针变量 218

11.3.2 数组元素的引用 220

11.3.3 数组名作为函数参数 221

11.3.4 字符串的指针和指向字符串的指针变量 223

11.3.5 指针数组 225

11.4 指针与结构 227

11.4.1 指向结构变量的指针 227

11.4.2 指向结构体数组的指针 228

11.4.3 指向结构的指针作为函数参数 229

11.5 线性链表 229

11.5.1 概述 229

11.5.2 链表的建立和输出 232

11.5.3 链表结点的删除和插入 234

11.5.4 链表操作综合实例 235

11.6 指针与函数 237

11.6.1 指针变量作为函数返回值 237

11.6.2 指向函数的指针 238

11.6.3 指向函数的指针作为函数参数 239

11.7 指针的综合应用 240

11.7.1 编辑器第五版tedit5 240

11.7.2 优化程序tedit4.c 241

11.7.3 添加Del键字符删除函数delete_char() 242

11.7.4 添加BackSpace键字符删除函数delete_left() 242

11.7.5 添加行的剪裁与复制函数 243

11.7.6 添加粘贴函数pasteline() 244

11.7.7 tedit5.c程序清单 245

11.7.8 问题与展望 246

习题十一 246

第12章 文件 248

12.1 文件的基本知识 248

12.1.1 文件与文件名 248

12.1.2 文件分类 249

12.1.3 文件的两种处理方式 249

12.1.4 文件类型指针 250

12.1.5 文件操作步骤 250

12.2 文件的打开和关闭 252

12.2.1 文件打开函数fopen() 252

12.2.2 文件关闭函数fclose() 253

12.3 文件的读写 253

12.3.1 文本文件的读写 253

12.3.2 二进制文件的读写 256

12.3.3 文本文件的格式化读写 259

12.4 文件的定位与随机读写 261

12.4.1 重置位置指针函数rewind() 261

12.4.2 随机定位函数fseek() 261

12.4.3 定位当前位置指针函数ftell() 262

12.4.4 判断文件结束函数feof() 263

12.5 非缓冲文件系统 263

12.5.1 文件打开open()、创建create()和关闭close() 263

12.5.2 文件读read()和写write() 264

12.5.3 文件定位函数lseek()和tell() 264

12.6 文件的综合应用 265

12.6.1 文本编辑器第六版tedit6 265

12.6.2 添加文件存储函数save() 266

12.6.3 添加文件装入函数load() 266

12.6.4 添加main()函数的命令行参数 267

12.6.5 tedit6.c程序清单 268

12.6.6 问题与展望 268

习题十二 269

第13章 图形和用户界面技术 270

13.1 文本窗口的程序设计 270

13.1.1 窗口定义 270

13.1.2 窗口操作函数 271

13.2 文本下拉式菜单设计 272

13.2.1 设计目标 272

13.2.2 菜单设计方法 273

13.2.3 程序框架及功能函数 274

13.2.4 完整的程序清单 276

13.2.5 查看结果 279

13.3 图形显示技术 279

13.3.1 图形系统控制 281

13.3.2 基本图形函数 282

13.3.3 时钟程序 285

13.4 汉字显示技术 287

13.4.1 16点阵字模 287

13.4.2 汉字的内码 288

13.4.3 字模的显示 288

13.5 图形方式下的菜单设计 290

13.5.1 屏幕的保存和恢复 290

13.5.2 菜单项的显示函数 292

13.5.3 其他相关函数的修改 292

13.5.4 修改函数Wind()和InitScreen() 293

13.5.5 添加函数InitGr()和Quit() 293

13.5.6 修改部分变量的初始化 294

13.5.7 查看结果 294

13.6 菜单的综合应用 295

13.6.1 编辑器第七版tedit7 295

13.6.2 程序tedit7.c的开发 295

13.6.3 程序tedit6.c的改造 296

13.6.4 程序框架及功能函数 298

13.6.5 多文件程序的联编 300

习题十三 301

附录 302

附录A ASCII码表 302

附录B C语言运算符的优先级和结合性 304

附录C 常用库函数 306

附录D 编辑器第七版源程序清单 311

参考文献 327

返回顶部