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

C语言程序设计教程PDF格式文档图书下载

工业技术

  • 购买点数:12
  • 作 者:王秀贵 曹江莲编著
  • 出 版 社:北京:中国铁道出版社
  • 出版年份:2007
  • ISBN:7113076629
  • 标注页数:339 页
  • PDF页数:353 页
图书介绍:本书主要内容包括:C语言的基础知识、数据类型、运算符和表达式、结构化程序设计初步、数组、指针、函数、结构与联合、结构与指针的应用、文件、预处理。

查看更多关于C语言程序设计教程的内容

图书介绍

第1章 基本概念 1

1.1 计算机的结构概述 1

1.1.1 运算器 1

1.1.2 存储器 1

1.1.3 控制器 2

1.1.4 输入/输出设备(I/O) 2

1.2 程序设计语言 2

1.2.1 机器语言 3

1.2.2 汇编语言 3

1.2.3 高级语言 3

1.3 C语言的发展及特点 5

1.4 C语言标准库函数 6

1.5 软件危机与结构化程序设计 7

1.6 程序设计步骤 7

1.7 初识C语言程序 8

1.8 C语言程序的开发过程 12

思考题与习题 13

第2章 数据描述与数据类型 14

2.1 C语言的词法元素 14

2.1.1 字符集 14

2.1.2 单词 14

2.2 C语言的数据类型 16

2.2.1 概述 16

2.2.2 基本数据类型 16

2.2.3 构造数据类型 17

2.2.4 指针类型 17

2.3 常量 18

2.3.1 整型常量 18

2.3.2 整数在机内的表示形式 19

2.3.3 实型常量 20

2.3.4 实数在机内的表示形式 20

2.3.5 字符常量 21

2.3.6 字符串常量 22

2.3.7 用#define定义常量 23

2.4 变量及其类型 24

2.4.1 什么是变量 24

2.4.2 整数类型变量 24

2.4.3 实数类型变量 27

2.4.4 实型数在应用中的误差问题 27

2.4.5 字符类型变量 28

2.4.6 指针变量 29

2.4.7 枚举类型变量 30

2.5 用const修饰变量 31

思考题与习题 32

第3章 标准输入与输出 34

3.1 概述 34

3.2.1 字符输出函数putchar() 35

3.2.2 带缓冲区的字符输入函数getchar() 35

3.2 字符输入输出函数 35

3.2.3 不带缓冲区的字符输入函数getch()和getche() 37

3.3 格式化输入和输出函数 37

3.3.1 printf()函数 37

3.3.2 scanf()函数 43

3.4 关于格式化输入和输出函数的进一步讨论 48

3.4.1 printf()和scanf()函数的返回值问题 48

3.4.3 scanf()函数的“%[]”格式应用问题 49

3.4.2 利用printf()函数的p格式符了解变量的空间分配情况 49

3.4.4 scanf()函数应用中两个最常见的问题 52

3.5 scanf()和printf()函数的缺陷 54

思考题与习题 55

第4章 运算符和表达式 58

4.1 概述 58

4.1.1 C语言运算符的种类 58

4.1.2 C语言运算符的特性 59

4.2 基本运算 60

4.2.1 赋值运算 60

4.1.3 C语言表达式的特性 60

4.2.2 算术运算 62

4.2.3 关系运算 65

4.2.4 逻辑运算 66

4.2.5 自增和自减运算 68

4.3 其他运算 71

4.3.1 位运算 71

4.3.2 复合赋值运算 73

4.3.3 条件运算 74

4.3.4 逗号运算 75

4.3.5 &和*运算 76

4.3.6 sizeof运算 76

4.4 类型转换 77

4.4.1 自动类型转换 77

4.4.2 强制类型转换 78

4.5 左值和右值 79

4.6 表达式的求值顺序 80

4.7 表达式与语句 81

思考题与习题 81

第5章 结构化程序设计初步 83

5.1 算法及其表示 83

5.1.1 什么是算法 83

5.1.2 算法的特性 84

5.1.3 算法的描述 84

5.2 程序设计风格 88

5.2.1 程序结构的风格 88

5.2.2 语言运用的风格 89

5.2.3 程序文本的风格 90

5.2.4 输入输出的风格 93

5.3 C语言的语句与C语言控制结构 94

5.4 简单语句与顺序控制结构 95

5.5 选择控制结构 96

5.5.1 if语句 96

5.5.2 if...else语句 98

5.5.3 switch语句 101

5.6 循环控制结构 105

5.6.1 概述 105

5.6.2 while循环结构 106

5.6.3 do...while语句 109

5.6.4 for循环结构 112

5.6.5 循环的嵌套 115

5.7 break和continue语句 117

5.7.1 break语句 117

5.7.2 continue语句 119

5.8 goto语句 120

5.9 应用举例 121

思考题与习题 127

第6章 数组与字符串 129

6.1 概述 129

6.2 一维数组 129

6.2.1 一维数组的定义 130

6.2.2 数组名与指针 131

6.2.3 一维数组的初始化 132

6.2.4 引用数组元素 134

6.3 数组排序 135

6.4 多维数组 138

6.4.1 多维数组的存储结构 138

6.4.2 多维数组的初始化 139

6.5 数组的应用 140

6.6 字符串与字符数组 147

6.6.1 用字符数组表示字符串 147

6.6.2 字符串的输入输出 148

6.7 最常用的字符串库函数 149

6.7.1 求字符串长度函数 149

6.7.2 复制字符串函数 150

6.7.3 连接字符串函数 151

6.7.4 字符串比较函数 152

6.8 实例——老鼠走迷宫问题 153

思考题与习题 158

第7章 指针 161

7.1 指针和存储器地址 161

7.2 指针的类型和指针的初始化 163

7.2.1 再谈指针的定义和指针的初始化 163

7.2.2 指针的类型 164

7.3 指针表达式 166

7.4 指针的运算 168

7.4.1 指针的算术运算 168

7.4.2 指针的关系运算 173

7.5 用指针访问一维数组 173

7.5.1 指针在一维数组中的应用 173

7.5.2 指针的效率 178

7.6 用指针访问二维数组 180

7.6.1 指针与二维数组的关系 180

7.6.2 用指向数组元素的指针访问二维数组 183

7.6.3 用指向数组的指针访问二维数组 184

7.7 指针与字符串 185

7.7.1 指针与字符串常量 186

7.7.2 指针在字符串中的应用 187

7.8 指针数组与指向指针的指针 188

7.8.1 指针数组 188

7.8.2 指向指针的指针 190

7.8.3 用指针数组表示字符串数组 191

7.9 用const限定符修饰指针 194

7.10 指针与动态内存分配 196

7.10.1 动态内存分配 196

7.10.2 malloc和free函数 197

7.10.3 calloc和realloc函数 198

7.10.4 应用举例 199

思考题与习题 201

8.2 函数抽象的意义 204

8.1 函数与模块化程序 204

第8章 函数 204

8.3 函数定义 206

8.4 函数原型 208

8.5 函数调用与返回 209

8.5.1 函数调用 209

8.5.2 return语句 211

8.6 参数的传递关系 212

8.7 数组作函数参数 215

8.7.1 一维数组作函数参数 215

8.7.2 多维数组作函数参数 219

8.8 指针型函数 220

8.9 指向函数的指针 221

8.10 递归函数 225

8.10.1 递归设计技术 225

8.10.2 递归与迭代的比较 230

8.10.3 递归应用举例——汉诺塔问题 233

8.11 main()函数的返回值和它的参数 235

8.12 标识符的作用域与存储期 236

8.12.1 标识符的作用域 236

8.12.2 标识符的存储期 239

8.13 存储类别 239

8.13.1 程序运行空间 240

8.13.2 自动变量 240

8.13.3 寄存器变量 241

8.13.4 静态变量 241

8.14 链接属性 243

8.15 变量的初始化 246

思考题与习题 247

第9章 结构与联合 249

9.1 概述 249

9.2 结构的声明 249

9.2.1 结构声明的一般形式 249

9.2.2 嵌套结构与自引用结构 251

9.2.3 用typedef创建新的类型 253

9.3 访问结构成员 254

9.4 结构的初始化 255

9.5 结构作函数的参数 256

9.6 结构数组 258

9.7 结构与指针 259

9.8 结构的存储分配 263

9.9 位段 265

9.10 联合 267

9.10.1 联合的声明和联合变量的定义 267

9.10.2 联合的初始化和联合成员的引用 268

思考题与习题 269

第10章 结构与指针的应用 272

10.1 单链表 272

10.1.1 单链表的存储结构 272

10.1.2 建立一个单链表 273

10.1.3 将结点插入到有序单链表 274

10.1.4 从有序单链表中删除结点 276

10.2 双链表 278

10.2.1 双链表的存储结构 278

10.2.2 将结点插入到有序双链表 279

10.2.3 从有序双链表中删除一个结点 282

10.3 循环链表 282

10.4 堆栈 283

10.4.1 堆栈的概念 283

10.4.2 顺序栈的实现 284

10.4.3 链栈的实现 288

10.5 队列 291

10.5.1 队列的概念 291

10.5.2 链队列——队列的链式实现 292

10.5.3 顺序队列的实现 294

思考题与习题 298

11.1 文件概述 301

11.1.1 流 301

第11章 文件 301

11.1.2 文件指针 302

11.1.3 缓冲文件系统 303

11.2 文件的打开与关闭 303

11.2.1 文件的打开函数fopen 303

11.2.2 文件的关闭函数fclose 304

11.3 文件的读写 305

11.3.1 字符读写函数fgetc和fputc 305

11.3.2 判断文件结束函数feof 306

11.3.3 字符串读写函数fgets和fputs 308

11.3.4 数据块读写函数fread和fwrite 310

11.3.5 格式读写函数fscanf和fprintf 311

11.4 文件的定位 311

11.4.1 文件位置指针定位函数fseek 312

11.4.2 文件位置指针获取函数ftell 312

11.4.3 文件位置指针归位函数rewind 312

11.5.2 标志置0函数clearerr 313

11.5 出错检测 313

11.5.1 读写文件出错检测函数ferror 313

11.5.3 显示错误信息函数perror 314

思考题与习题 314

第12章 预处理 316

12.1 概述 316

12.2 宏定义 316

12.2.1 无参宏定义 316

12.2.2 带参宏定义 319

12.3 文件包含 320

12.4 条件编译 322

思考题与习题 324

附录A 基本字符集ASCII码 325

附录B 扩充字符集ASCII码 327

附录C C运算符的优先级与结合性 328

附录D 标准C关键字 329

附录E 标准C函数库 330

查看更多关于C语言程序设计教程的内容

相关书籍
作者其它书籍
返回顶部