简介
本书详实地讲解了C语言的基本概念、原理和使用方法,力求给读者打
下一个扎实的程序设计基础。本书主要内容包括C语言概述、数据描述与基
本操作、C语言的控制结构、数组、函数、指针、构造数据类型、编译预处
理和文件等。本教材采用循序渐进、深入浅出、通俗易懂的讲解方法,本
着理论与实际相结合的原则,通过大量经典实例对C语言知识进行了重点讲
解,使程序设计语言的初学者能够掌握利用C语言进行结构化程序设计的技
术和方法。
本书以C编程基本技能训练为主线,突出基本技能的掌握,内容完整,
阐述准确,层次清楚。通过本书的学习,将使学生牢固掌握程序设计的基
本技能,以适应信息时代对大学生科学素质的要求。
本书适用于高等学校各专业程序设计基础教学,特别适合应用型本科
、高职院校的计算机及非计算机相关专业的学生使用,同时也是计算机等
级考试备考的一本实用辅导书。
目录
第1章 C语言概述/1
1.1 C语言的发展与特点/1
1.1.1 C语言的发展/1
1.1.2 C语言的特色/2
1.2 程序设计基础/2
1.2.1 程序设计/3
1.2.2 算法/3
1.2.3 数据结构/7
1.3 C语言程序的结构/7
1.3.1 C程序结构/7
1.3.2 C程序元素/9
1.4 C语言程序的开发与环境/10
1.4.1 C语言程序的开发/10
1.4.2 C语言程序的开发环境/12
本章小结/14
习题1/15
第2章 数据描述与基本操作/16
2.1 C语言的数据类型/16
2.2 常量与变量/17
2.2.1 常量和变量/17
2.2.2 整型数据/19
2.2.3 浮点型数据/22
2.2.4 字符型数据/23
2.2.5 变量的初始化/25
2.3 运算符与表达式/26
2.3.1 算术运算符和表达式/26
2.3.2 赋值运算符和赋值表达式/27
2.3.3 关系运算符与关系表达式/30
2.3.4 逻辑运算符与逻辑表达式/31
2.3.5 逗号运算符和逗号表达式/32
2.4 位运算/32
2.4.1 按位与运算/33
2.4.2 按位或运算/33
2.4.3 按位异或运算/34
2.4.4 求反运算/34
2.4.5 左移运算/34
2.4.6 右移运算/35
2.4.7 位域(位段)/36
2.5 输入和输出函数/38
2.5.1 字符型数据的输入和输出/38
2.5.2 格式输入与输出函数/40
本章小结/45
习题2/46
第3章 C语言的控制结构/48
3.1 结构化程序设计/48
3.1.1 结构化程序设计的特点/48
3.1.2 结构化程序设计的方法/49
3.1.3 结构化程序设计的步骤/49
3.2 顺序结构程序设计/50
3.2.1 顺序结构程序特点/50
3.2.2 C语句详解/51
3.3 选择结构程序设计/56
3.3.1 if语句及实现选择结构/56
3.3.2 switch语句及实现多分支选择结构/62
3.3.3 条件运算符和表达式/65
3.4 循环结构程序设计/66
3.4.1 while语句/66
3.4.2 do-while语句/68
3.4.3 for语句/69
3.4.4 多重循环/72
3.4.5 几种循环的比较/73
3.4.6 break语句/73
3.4.7 continue语句/74
3.4.8 程序举例/74
本章小结/78
习题3/78
第4章 数组/80
4.1 一维数组的定义和引用/80
4.1.1 一维数组的定义/80
4.1.2 一维数组的初始化/81
4.1.3 一维数组元素的引用/82
4.1.4 一维数组的应用举例/82
4.2 二维数组的定义和引用/87
4.2.1 二维数组的定义/88
4.2.2 二维数组的初始化/89
4.2.3 二维数组元素的引用/90
4.2.4 二维数组元素应用举例/90
4.3 字符数组的定义和引用/93
4.3.1 字符数组的定义/93
4.3.2 字符数组的初始化/94
4.3.3 字符数组的引用/94
4.3.4 字符串与字符数组/95
4.3.5 字符数组的输入与输出/97
4.3.6 字符串处理函数/100
4.3.7 字符数组应用举例/103
本章小结/110
习题4/110
第5章 函数/112
5.1 模块化程序设计与函数/112
5.1.1 模块化程序设计原则/112
5.1.2 模块与函数/113
5.1.3 C源程序的结构/113
5.2 函数定义/114
5.2.1 标准库函数/114
5.2.2 函数定义/115
5.2.3 函数参数/117
5.3 函数调用与返回值/118
5.3.1 函数调用/118
5.3.2 函数的返回值/121
5.3.3 函数的声明/123
5.4 函数的递归调用/123
5.5 数组作为函数参数/125
5.5.1 数组元素做实参/126
5.5.2 一维数组名做函数参数/126
5.5.3 用多维数组名做函数参数/129
5.6 变量的作用域与存储属性/131
5.6.1 局部变量与全局变量/131
5.6.2 变量的存储属性/134
5.6.3 局部变量的存储类型/135
5.6.4 全局变量的存储类型/137
5.7 内部函数和外部函数/139
5.7.1 内部函数/139
5.7.2 外部函数/139
本章小结/140
习题5/140
第6章 指针/141
6.1 指针的概念/141
6.2 指针变量的定义/142
6.3 指针的运算/143
6.3.1 指针变量的赋值运算/143
6.3.2 指针变量的算术运算/145
6.4 指针与数组/148
6.4.1 指向一维数组的指针/148
6.4.2 指向二维数组的指针/151
6.4.3 指向字符串的指针/154
6.5 指针与函数/156
6.5.1 指针变量作为函数参数/156
6.5.2 数组指针作为函数参数/159
6.5.3 指针作为函数的返回值/164
6.5.4 指向函数的指针变量/165
6.6 指针数组与指向指针的指针/167
6.6.1 指向指针的指针/169
6.6.2 main函数的参数/170
本章小结/171
习题6/172
第7章 构造数据类型/173
7.1 结构体数据类型/173
7.1.1 结构体类型的定义/173
7.1.2 结构体变量的定义/174
7.1.3 结构体变量的初始化/176
7.1.4 结构体变量成员的引用/177
7.2 结构体与数组/179
7.2.1 结构体数组的定义/179
7.2.2 结构体数组的初始化/180
7.2.3 结构体数组的引用/181
7.3 结构体与指针/182
7.3.1 指向结构体变量的指针/182
7.3.2 指向结构体数组的指针/184
7.4 结构体与函数/185
7.4.1 结构体指针变量作为函数参数/185
7.4.2 结构体指针变量作为函数返回值/186
7.5 结构体与链表/187
7.5.1 动态存储分配/187
7.5.2 链表的操作/188
7.6 共用体数据类型/194
7.7 枚举类型/196
7.8 类型定义符typedef/198
本章小结/199
习题7/200
第8章 编译预处理/201
8.1 宏定义#define/201
8.1.1 不带参数的宏定义/201
8.1.2 带参数的宏定义/204
8.2 文件包含#include/207
8.3 条件编译/208
本章小结/209
习题8/209
第9章 文件/210
9.1 C文件概述/210
9.1.1 C文件的分类/210
9.1.2 文件指针/212
9.2 文件的打开与关闭/212
9.2.1 文件的打开/213
9.2.2 文件的关闭/214
9.3 文件的读写/215
9.3.1 字符读写函数/215
9.3.2 字符串读写函数/218
9.3.3 数据块读写函数/220
9.3.4 格式化读写函数/222
9.4 文件定位函数/222
9.4.1 重置文件指针函数/222
9.4.2 设置指针位置函数/223
9.4.3 取指针位置函数/223
9.5 文件出错检测函数/224
9.5.1 读写出错检测函数/224
9.5.2 清除文件出错标志函数/224
9.5.3 清除文件函数/225
本章小结/226
习题9/226
附录/227
附录A 常用字符与ASCII码对照表/227
附录B 关键字/228
附录C 运算符的优先级与结合性/228
附录D 常用的ANSI C标准库函数/229
参考文献/235
1.1 C语言的发展与特点/1
1.1.1 C语言的发展/1
1.1.2 C语言的特色/2
1.2 程序设计基础/2
1.2.1 程序设计/3
1.2.2 算法/3
1.2.3 数据结构/7
1.3 C语言程序的结构/7
1.3.1 C程序结构/7
1.3.2 C程序元素/9
1.4 C语言程序的开发与环境/10
1.4.1 C语言程序的开发/10
1.4.2 C语言程序的开发环境/12
本章小结/14
习题1/15
第2章 数据描述与基本操作/16
2.1 C语言的数据类型/16
2.2 常量与变量/17
2.2.1 常量和变量/17
2.2.2 整型数据/19
2.2.3 浮点型数据/22
2.2.4 字符型数据/23
2.2.5 变量的初始化/25
2.3 运算符与表达式/26
2.3.1 算术运算符和表达式/26
2.3.2 赋值运算符和赋值表达式/27
2.3.3 关系运算符与关系表达式/30
2.3.4 逻辑运算符与逻辑表达式/31
2.3.5 逗号运算符和逗号表达式/32
2.4 位运算/32
2.4.1 按位与运算/33
2.4.2 按位或运算/33
2.4.3 按位异或运算/34
2.4.4 求反运算/34
2.4.5 左移运算/34
2.4.6 右移运算/35
2.4.7 位域(位段)/36
2.5 输入和输出函数/38
2.5.1 字符型数据的输入和输出/38
2.5.2 格式输入与输出函数/40
本章小结/45
习题2/46
第3章 C语言的控制结构/48
3.1 结构化程序设计/48
3.1.1 结构化程序设计的特点/48
3.1.2 结构化程序设计的方法/49
3.1.3 结构化程序设计的步骤/49
3.2 顺序结构程序设计/50
3.2.1 顺序结构程序特点/50
3.2.2 C语句详解/51
3.3 选择结构程序设计/56
3.3.1 if语句及实现选择结构/56
3.3.2 switch语句及实现多分支选择结构/62
3.3.3 条件运算符和表达式/65
3.4 循环结构程序设计/66
3.4.1 while语句/66
3.4.2 do-while语句/68
3.4.3 for语句/69
3.4.4 多重循环/72
3.4.5 几种循环的比较/73
3.4.6 break语句/73
3.4.7 continue语句/74
3.4.8 程序举例/74
本章小结/78
习题3/78
第4章 数组/80
4.1 一维数组的定义和引用/80
4.1.1 一维数组的定义/80
4.1.2 一维数组的初始化/81
4.1.3 一维数组元素的引用/82
4.1.4 一维数组的应用举例/82
4.2 二维数组的定义和引用/87
4.2.1 二维数组的定义/88
4.2.2 二维数组的初始化/89
4.2.3 二维数组元素的引用/90
4.2.4 二维数组元素应用举例/90
4.3 字符数组的定义和引用/93
4.3.1 字符数组的定义/93
4.3.2 字符数组的初始化/94
4.3.3 字符数组的引用/94
4.3.4 字符串与字符数组/95
4.3.5 字符数组的输入与输出/97
4.3.6 字符串处理函数/100
4.3.7 字符数组应用举例/103
本章小结/110
习题4/110
第5章 函数/112
5.1 模块化程序设计与函数/112
5.1.1 模块化程序设计原则/112
5.1.2 模块与函数/113
5.1.3 C源程序的结构/113
5.2 函数定义/114
5.2.1 标准库函数/114
5.2.2 函数定义/115
5.2.3 函数参数/117
5.3 函数调用与返回值/118
5.3.1 函数调用/118
5.3.2 函数的返回值/121
5.3.3 函数的声明/123
5.4 函数的递归调用/123
5.5 数组作为函数参数/125
5.5.1 数组元素做实参/126
5.5.2 一维数组名做函数参数/126
5.5.3 用多维数组名做函数参数/129
5.6 变量的作用域与存储属性/131
5.6.1 局部变量与全局变量/131
5.6.2 变量的存储属性/134
5.6.3 局部变量的存储类型/135
5.6.4 全局变量的存储类型/137
5.7 内部函数和外部函数/139
5.7.1 内部函数/139
5.7.2 外部函数/139
本章小结/140
习题5/140
第6章 指针/141
6.1 指针的概念/141
6.2 指针变量的定义/142
6.3 指针的运算/143
6.3.1 指针变量的赋值运算/143
6.3.2 指针变量的算术运算/145
6.4 指针与数组/148
6.4.1 指向一维数组的指针/148
6.4.2 指向二维数组的指针/151
6.4.3 指向字符串的指针/154
6.5 指针与函数/156
6.5.1 指针变量作为函数参数/156
6.5.2 数组指针作为函数参数/159
6.5.3 指针作为函数的返回值/164
6.5.4 指向函数的指针变量/165
6.6 指针数组与指向指针的指针/167
6.6.1 指向指针的指针/169
6.6.2 main函数的参数/170
本章小结/171
习题6/172
第7章 构造数据类型/173
7.1 结构体数据类型/173
7.1.1 结构体类型的定义/173
7.1.2 结构体变量的定义/174
7.1.3 结构体变量的初始化/176
7.1.4 结构体变量成员的引用/177
7.2 结构体与数组/179
7.2.1 结构体数组的定义/179
7.2.2 结构体数组的初始化/180
7.2.3 结构体数组的引用/181
7.3 结构体与指针/182
7.3.1 指向结构体变量的指针/182
7.3.2 指向结构体数组的指针/184
7.4 结构体与函数/185
7.4.1 结构体指针变量作为函数参数/185
7.4.2 结构体指针变量作为函数返回值/186
7.5 结构体与链表/187
7.5.1 动态存储分配/187
7.5.2 链表的操作/188
7.6 共用体数据类型/194
7.7 枚举类型/196
7.8 类型定义符typedef/198
本章小结/199
习题7/200
第8章 编译预处理/201
8.1 宏定义#define/201
8.1.1 不带参数的宏定义/201
8.1.2 带参数的宏定义/204
8.2 文件包含#include/207
8.3 条件编译/208
本章小结/209
习题8/209
第9章 文件/210
9.1 C文件概述/210
9.1.1 C文件的分类/210
9.1.2 文件指针/212
9.2 文件的打开与关闭/212
9.2.1 文件的打开/213
9.2.2 文件的关闭/214
9.3 文件的读写/215
9.3.1 字符读写函数/215
9.3.2 字符串读写函数/218
9.3.3 数据块读写函数/220
9.3.4 格式化读写函数/222
9.4 文件定位函数/222
9.4.1 重置文件指针函数/222
9.4.2 设置指针位置函数/223
9.4.3 取指针位置函数/223
9.5 文件出错检测函数/224
9.5.1 读写出错检测函数/224
9.5.2 清除文件出错标志函数/224
9.5.3 清除文件函数/225
本章小结/226
习题9/226
附录/227
附录A 常用字符与ASCII码对照表/227
附录B 关键字/228
附录C 运算符的优先级与结合性/228
附录D 常用的ANSI C标准库函数/229
参考文献/235
C语言程序设计
- 名称
- 类型
- 大小
光盘服务联系方式: 020-38250260 客服QQ:4006604884
云图客服:
用户发送的提问,这种方式就需要有位在线客服来回答用户的问题,这种 就属于对话式的,问题是这种提问是否需要用户登录才能提问
Video Player
×
Audio Player
×
pdf Player
×