简介
本书根据教育部非计算机专业计算机基础课程教学指导分委员会提出
的《高等学校非计算机专业计算机基础课程教学基本要求》中的关于“程
序设计”课程教学要求,根据当前学生的实际情况,结合一线教师的教学
实际经验编写而成。本书主线清晰、重点明确、内容恰当、概念通俗、表
述简洁、举例实用,既注重基础理论,又突出实践性。全书共分9章,内容
包括计算机的组成与程序设计基础、C语言基础、C语言控制语句、函数与
预处理、数组、指针、其他自定义数据类型、文件和一个完整案例的设计
和实现。
本书适合各类大专院校作为程序设计教材使用,也可作为学习计算机
知识的自学参考书或培训教材。
目录
第1章 计算机的组成与程序设计基础 1
1.1 计算机的组成及基本工作原理 1
1.1.1 计算机的硬件系统 2
1.1.2 计算机的软件系统 3
1.1.3 计算机工作原理 6
1.2 程序设计基础 6
1.2.1 程序设计的风格 6
1.2.2 结构化程序设计 7
1.3 C语言程序的基本结构及开发过程 9
1.3.1 C语言程序的基本结构 9
1.3.2 C语言程序的开发过程 11
本章小结 17
习题 17
第2章 C语言基础 18
2.1 概述 18
2.1.1 简介 18
2.1.2 C语言的字符集和标识符 19
2.2 C语言中的数据类型 20
2.2.1 数据类型概述 20
2.2.2 基本数据类型 21
2.3 常量和变量 24
2.3.1 常量 25
2.3.2 变量 29
2.4 运算符和表达式 30
2.4.1 算术运算符和算术表达式 31
2.4.2 赋值运算符和赋值表达式 35
2.4.3 关系运算符和关系表达式 36
2.4.4 逻辑运算符和逻辑表达式 38
2.4.5 位运算符和位运算表达式 40
2.4.6 条件运算符和条件表达式 42
2.4.7 其他运算符 43
2.5 数据类型转换 45
2.5.1 自动类型转换 45
2.5.2 强制类型转换 45
2.6 C语言的语句类型 46
2.7 案例研究及实现 49
本章小结 50
习题 51
第3章 C语言控制语句 54
3.1 结构化程序设计 54
3.1.1 程序的基本结构 54
3.1.2 案例描述:猜数游戏 55
3.2 顺序结构程序设计 55
3.2.1 字符输出函数 55
3.2.2 格式输出函数 56
3.2.3 字符输入函数 59
3.2.4 格式输入函数 60
3.2.5 顺序结构程序设计举例 63
3.3 分支结构程序设计 65
3.3.1 if条件分支语句 66
3.3.2 switch多路开关语句 75
3.4 循环结构程序设计 77
3.4.1 while语句 77
3.4.2 do~while语句 79
3.4.3 for语句 81
3.4.4 3种循环语句的比较 84
3.4.5 循环嵌套 85
3.5 break和continue语句 86
3.5.1 break语句 86
3.5.2 continue语句 87
3.6 程序设计举例及案例研究 88
本章小结 93
习题 94
第4章 函数与编译预处理 98
4.1 函数概述 98
4.1.1 函数简介 98
4.1.2 数学库函数 99
4.1.3 案例描述:猜数字游戏 100
4.2 函数定义及调用 101
4.2.1 函数的定义 101
4.2.2 函数的调用 103
4.2.3 函数的参数传递与返回值 106
4.2.4 函数的嵌套调用 109
4.2.5 函数原型声明 112
4.3 局部变量和全局变量 114
4.3.1 局部作用域和局部变量 114
4.3.2 全局作用域和全局变量 115
4.4 变量的生存期和存储类别 117
4.4.1 变量的生存期 117
4.4.2 变量的存储类别 117
4.5 编译预处理 123
4.5.1 宏定义 124
4.5.2 文件包含 126
4.5.3 条件编译 126
4.6 案例设计及实现:猜数字游戏程序 128
4.6.1 案例程序设计 128
4.6.2 案例程序代码 130
4.6.3 案例功能测试 133
本章小结 134
习题 134
第5章 数组 141
5.1 数组概述 141
5.2 一维数组 142
5.2.1 一维数组的定义 142
5.2.2 一维数组元素的引用 143
5.2.3 一维数组的初始化 143
5.2.4 一维数组应用举例 144
5.2.5 一维数组作函数参数 149
5.3 二维数组 150
5.3.1 二维数组的定义 150
5.3.2 二维数组元素的引用 151
5.3.3 二维数组的初始化 151
5.3.4 二维数组应用举例 152
5.3.5 二维数组作函数参数 154
5.4 字符数组与字符串 156
5.4.1 字符数组与字符串的概念 156
5.4.2 字符数组的定义 157
5.4.3 字符数组的初始化 157
5.4.4 字符数组的引用 158
5.4.5 字符串处理函数 159
5.4.6 字符数组应用举例 162
本章小结 164
习题 165
第6章 指针 171
6.1 指针概述 171
6.1.1 指针简介 171
6.1.2 案例描述 171
6.2 指针和指针变量 172
6.2.1 基本概念 172
6.2.2 指针变量的定义 174
6.2.3 指针的基本运算 175
6.2.4 指针作为函数参数 180
6.3 指针与数组 183
6.3.1 指针与一维数组 184
6.3.2 指针与二维数组 189
6.3.3 指向字符串的指针变量 191
6.3.4 指针数组 195
6.3.5 多级指针 197
6.4 指针和函数 198
6.4.1 指针型函数 198
6.4.2 用函数指针调用函数 199
6.4.3 用指向函数的指针作函数参数 201
6.4.4 带参数的main函数 203
6.5 动态存储分配 204
6.5.1 什么是内存的动态分配 204
6.5.2 动态内存分配函数 205
6.5.3 void指针类型 206
6.6 案例例程及思考 207
本章小结 209
习题 210
第7章 其他自定义数据类型 216
7.1 构造数据类型概述 216
7.1.1 简介 216
7.1.2 案例描述:数3游戏 216
7.2 结构体类型 217
7.2.1 结构体与结构体类型的定义 217
7.2.2 结构体类型变量的定义、引用与初始化 218
7.2.3 结构体指针 222
7.2.4 链表 224
7.3 共用体类型 233
7.3.1 共用体与共用体类型的定义 233
7.3.2 共用体变量的定义与初始化 234
7.4 枚举类型 237
7.5 类型重命名 240
7.6 案例研究及实现 242
本章小结 243
习题 244
第8章 文件 251
8.1 文件概述 251
8.2 文件和文件类型指针 251
8.3 文件的打开与关闭 253
8.4 文本文件的读写 254
8.4.1 文件的字符输入/输出函数 254
8.4.2 文件的字符串输入输出函数 257
8.4.3 文件的格式输入/输出函数 258
8.5 二进制文件的读写 260
8.5.1 文件的字输入/输出函数 260
8.5.2 文件的数据块输入/输出函数 261
8.6 文件读写指针定位函数 263
本章小结 265
习题 266
第9章 一个完整案例的设计和实现 272
9.1 问题的提出 273
9.2 系统功能设计 273
9.3 程序流程图 273
9.4 源程序清单 274
9.5 程序测试 277
9.6 程序文档 279
思考题 279
附录A C语言中运算符的优先级和结合性 280
附录B C语言常用库函数 282
附录C ASCII码表 286
1.1 计算机的组成及基本工作原理 1
1.1.1 计算机的硬件系统 2
1.1.2 计算机的软件系统 3
1.1.3 计算机工作原理 6
1.2 程序设计基础 6
1.2.1 程序设计的风格 6
1.2.2 结构化程序设计 7
1.3 C语言程序的基本结构及开发过程 9
1.3.1 C语言程序的基本结构 9
1.3.2 C语言程序的开发过程 11
本章小结 17
习题 17
第2章 C语言基础 18
2.1 概述 18
2.1.1 简介 18
2.1.2 C语言的字符集和标识符 19
2.2 C语言中的数据类型 20
2.2.1 数据类型概述 20
2.2.2 基本数据类型 21
2.3 常量和变量 24
2.3.1 常量 25
2.3.2 变量 29
2.4 运算符和表达式 30
2.4.1 算术运算符和算术表达式 31
2.4.2 赋值运算符和赋值表达式 35
2.4.3 关系运算符和关系表达式 36
2.4.4 逻辑运算符和逻辑表达式 38
2.4.5 位运算符和位运算表达式 40
2.4.6 条件运算符和条件表达式 42
2.4.7 其他运算符 43
2.5 数据类型转换 45
2.5.1 自动类型转换 45
2.5.2 强制类型转换 45
2.6 C语言的语句类型 46
2.7 案例研究及实现 49
本章小结 50
习题 51
第3章 C语言控制语句 54
3.1 结构化程序设计 54
3.1.1 程序的基本结构 54
3.1.2 案例描述:猜数游戏 55
3.2 顺序结构程序设计 55
3.2.1 字符输出函数 55
3.2.2 格式输出函数 56
3.2.3 字符输入函数 59
3.2.4 格式输入函数 60
3.2.5 顺序结构程序设计举例 63
3.3 分支结构程序设计 65
3.3.1 if条件分支语句 66
3.3.2 switch多路开关语句 75
3.4 循环结构程序设计 77
3.4.1 while语句 77
3.4.2 do~while语句 79
3.4.3 for语句 81
3.4.4 3种循环语句的比较 84
3.4.5 循环嵌套 85
3.5 break和continue语句 86
3.5.1 break语句 86
3.5.2 continue语句 87
3.6 程序设计举例及案例研究 88
本章小结 93
习题 94
第4章 函数与编译预处理 98
4.1 函数概述 98
4.1.1 函数简介 98
4.1.2 数学库函数 99
4.1.3 案例描述:猜数字游戏 100
4.2 函数定义及调用 101
4.2.1 函数的定义 101
4.2.2 函数的调用 103
4.2.3 函数的参数传递与返回值 106
4.2.4 函数的嵌套调用 109
4.2.5 函数原型声明 112
4.3 局部变量和全局变量 114
4.3.1 局部作用域和局部变量 114
4.3.2 全局作用域和全局变量 115
4.4 变量的生存期和存储类别 117
4.4.1 变量的生存期 117
4.4.2 变量的存储类别 117
4.5 编译预处理 123
4.5.1 宏定义 124
4.5.2 文件包含 126
4.5.3 条件编译 126
4.6 案例设计及实现:猜数字游戏程序 128
4.6.1 案例程序设计 128
4.6.2 案例程序代码 130
4.6.3 案例功能测试 133
本章小结 134
习题 134
第5章 数组 141
5.1 数组概述 141
5.2 一维数组 142
5.2.1 一维数组的定义 142
5.2.2 一维数组元素的引用 143
5.2.3 一维数组的初始化 143
5.2.4 一维数组应用举例 144
5.2.5 一维数组作函数参数 149
5.3 二维数组 150
5.3.1 二维数组的定义 150
5.3.2 二维数组元素的引用 151
5.3.3 二维数组的初始化 151
5.3.4 二维数组应用举例 152
5.3.5 二维数组作函数参数 154
5.4 字符数组与字符串 156
5.4.1 字符数组与字符串的概念 156
5.4.2 字符数组的定义 157
5.4.3 字符数组的初始化 157
5.4.4 字符数组的引用 158
5.4.5 字符串处理函数 159
5.4.6 字符数组应用举例 162
本章小结 164
习题 165
第6章 指针 171
6.1 指针概述 171
6.1.1 指针简介 171
6.1.2 案例描述 171
6.2 指针和指针变量 172
6.2.1 基本概念 172
6.2.2 指针变量的定义 174
6.2.3 指针的基本运算 175
6.2.4 指针作为函数参数 180
6.3 指针与数组 183
6.3.1 指针与一维数组 184
6.3.2 指针与二维数组 189
6.3.3 指向字符串的指针变量 191
6.3.4 指针数组 195
6.3.5 多级指针 197
6.4 指针和函数 198
6.4.1 指针型函数 198
6.4.2 用函数指针调用函数 199
6.4.3 用指向函数的指针作函数参数 201
6.4.4 带参数的main函数 203
6.5 动态存储分配 204
6.5.1 什么是内存的动态分配 204
6.5.2 动态内存分配函数 205
6.5.3 void指针类型 206
6.6 案例例程及思考 207
本章小结 209
习题 210
第7章 其他自定义数据类型 216
7.1 构造数据类型概述 216
7.1.1 简介 216
7.1.2 案例描述:数3游戏 216
7.2 结构体类型 217
7.2.1 结构体与结构体类型的定义 217
7.2.2 结构体类型变量的定义、引用与初始化 218
7.2.3 结构体指针 222
7.2.4 链表 224
7.3 共用体类型 233
7.3.1 共用体与共用体类型的定义 233
7.3.2 共用体变量的定义与初始化 234
7.4 枚举类型 237
7.5 类型重命名 240
7.6 案例研究及实现 242
本章小结 243
习题 244
第8章 文件 251
8.1 文件概述 251
8.2 文件和文件类型指针 251
8.3 文件的打开与关闭 253
8.4 文本文件的读写 254
8.4.1 文件的字符输入/输出函数 254
8.4.2 文件的字符串输入输出函数 257
8.4.3 文件的格式输入/输出函数 258
8.5 二进制文件的读写 260
8.5.1 文件的字输入/输出函数 260
8.5.2 文件的数据块输入/输出函数 261
8.6 文件读写指针定位函数 263
本章小结 265
习题 266
第9章 一个完整案例的设计和实现 272
9.1 问题的提出 273
9.2 系统功能设计 273
9.3 程序流程图 273
9.4 源程序清单 274
9.5 程序测试 277
9.6 程序文档 279
思考题 279
附录A C语言中运算符的优先级和结合性 280
附录B C语言常用库函数 282
附录C ASCII码表 286
C programming language
光盘服务联系方式: 020-38250260 客服QQ:4006604884
云图客服:
用户发送的提问,这种方式就需要有位在线客服来回答用户的问题,这种 就属于对话式的,问题是这种提问是否需要用户登录才能提问
Video Player
×
Audio Player
×
pdf Player
×