C语言程序设计基础教程
书 号:9787113149055
丛 书 名:高等学校计算机教育“十二五”规划教材
作 者:周艳芳
译 者:
开 本:16开
装 帧:平装
正文语种:
出 版 社:中国铁道出版社有限公司
定 价:38元
-
内容简介
C语言是国内外广泛流行的程序设计语言,它功能强大,数据类型丰富,使用灵活,兼具面向硬件编程的低级语言特性及通用性强、可移植性好等语言特性。但是对于高等职业技术学校的学生来说,大多数从未接触过程序设计语言,根据笔者多年的教学经验,学生以C语言作为入门语言有一定的难度;另外C语言是“全国计算机等级二级考试”的科目之一,但是多数学生无法获得有针对性的辅导。鉴于这样的情况,本书采取“案例驱动”+“课后实训”的方式,一方面通过大量的实例和实例间的反复对比,使学生掌握C语言的基础知识、基本概念、程序设计的思想和编程技巧;另一方面通过实验部分,使学生逐步提高阅读程序、调试程序、提高分析问题和解决问题的能力。 -
前言
C语言是国内外广泛流行的程序设计语言,它功能强大,数据类型丰富,使用灵活,兼具面向硬件编程的低级语言特性及通用性强、可移植性好等语言特性。但是对于高等职业技术学校的学生来说,大多数从未接触过程序设计语言,根据笔者多年的教学经验,学生以C语言作为入门语言有一定的难度;另外,C语言是“全国计算机等级考试(二级)”的科目之一,但是多数学生无法获得有针对性的辅导。鉴于这样的情况,本书采取“案例驱动”+“课后实训”的方式,一方面通过大量的实例和实例间的反复对比,使学生掌握C语言的基础知识、基本概念、程序设计的思想和编程技巧;另一方面通过实验部分,使学生逐步提高阅读程序、调试程序、提高分析问题和解决问题的能力。
本书具有如下特色:
(1)通过实例来讲解语法知识,使难懂的语法易于理解掌握。
(2)程序解析详细,既点拨了重点难点,又引导了程序设计的思路。
(3)实验部分包括程序改错、程序填空和程序设计,通过这三类实验达到提高阅读程序、调试程序和设计程序的能力。
(4)习题部分紧扣每章的重点内容,精选了历年“全国计算机等级考试二级”的试题,使学生在消化语法的同时也能进行实战。
全书共分10章:第1章 C语言概述;第2章 C程序的基础知识;第3章 顺序结构程序设计;第4章 选择结构程序设计;第5章 循环结构程序设计;第6章 函数与预处理命令;第7章 数组与字符串;第8章 指针;第9章 结构体与其他数据类型;第10章 文件。另外,附录中介绍了C语言关键字等内容。每章除了具体内容的讲解和例题的详细解析外,还包括“小结”、“实验”和“习题”。“小结”归纳了本章的要点和重点;“实验”给出了有针对性的“程序填空”、“程序改错”和“程序设计”题目,另外还配有“实验评价表”,可从不同方面对所学知识进行实践与检验;“习题”部分包括“选择题”和“填空题”,这些题目全部针对本章的重点和难点,精选自历年的“全国计算机等级考试(二级)”试题,通过“习题”的解答,既巩固和应用了所学的基本知识,又进行了二级的实战,可谓“一举多得”。
本书由周艳芳主编,任化敏、王润华、刘晓辉、钟铮、李彩玲任副主编,赵姝菊、冯淑杰参与编写工作。本书在编写过程中得到了陈明教授的帮助和支持,并给予了指导和把关;另外,还得到了中国铁道出版社编辑的指导和支持,在此一并表示诚挚的谢意。
由于时间仓促,编者水平有限,书中难免有疏漏和不足之处,敬请广大读者批评指正。
编 者
2012年3月 -
目录
第1章 C语言概述1
1.1 C语言的发展和主要特点1
1.1.1 C语言的起源1
1.1.2 C语言的特点1
1.2 第一个C程序的规划、设计和
运行3
1.2.1 程序的规划与操作3
1.2.2 设计第一个C语言程序6
1.2.3 C程序编译与执行的过程6
小结7
实验 C语言运行环境的介绍和使用7
习题11
第2章 C程序的基础知识12
2.1 一个简单C程序的解析12
2.2 变量与常量14
2.2.1 变量的定义14
2.2.2 变量的赋值15
2.2.3 常量15
2.3 C语言的基本数据类型16
2.3.1 整型数据16
2.3.2 字符型数据18
2.3.3 浮点型数据20
2.4 基本数据类型间的转换21
2.4.1 自动转换21
2.4.2 强制类型转换23
2.4.3 赋值表达式的类型转换24
2.5 C语言中运算符和表达式的使用26
2.5.1 算术运算符及其表达式26
2.5.2 赋值运算符及其表达式28
2.5.3 关系运算符及其表达式29
2.5.4 逻辑运算符及其表达式30
2.5.5 运算符的优先级31
2.5.6 自加与自减运算符32
小结33
实验 常量、变量和数据类型的使用33
习题35
第3章 顺序结构程序设计37
3.1 程序设计基础37
3.1.1 算法与数据结构37
3.1.2 结构化程序设计方法39
3.2 顺序结构39
3.3 输入和输出函数的使用40
3.3.1 printf()函数41
3.3.2 scanf()函数47
3.3.3 getchar()与putchar()函数54
小结55
实验 顺序结构程序设计55
习题57
第4章 选择结构程序设计60
4.1 选择结构60
4.2 if语句61
4.3 其他选择64
4.3.1 if…else语句64
4.3.2 嵌套if语句66
4.3.3 if…else if语句67
4.3.4 if与else的配对问题69
4.4 条件运算符70
4.5 switch语句72
4.5.1 switch语句与break语句72
4.5.2 不加break语句的switch
语句78
小结79
实验 选择结构程序设计应用80
习题82
第5章 循环结构程序设计85
5.1 循环结构85
5.2 for循环85
5.3 while循环88
5.3.1 使用while循环88
5.3.2 无穷循环的产生90
5.4 do…while循环91
5.5 空循环94
5.6 循环方式的选择95
5.7 嵌套循环96
5.8 循环的跳离100
5.8.1 break语句101
5.8.2 continue语句102
小结103
实验 循环结构程序设计应用103
习题105
第6章 函数与预处理命令109
6.1 简单的函数109
6.2 函数的基本结构110
6.2.1 函数原型的声明、编写与
调用110
6.2.2 函数的自变量与参数112
6.2.3 函数的常量返回值114
6.3 变量的等级118
6.3.1 局部变量118
6.3.2 静态局部变量119
6.3.3 外部变量120
6.3.4 静态外部变量122
6.3.5 寄存器变量123
6.4 同时使用多个函数125
6.4.1 调用多个函数125
6.4.2 函数之间的相互调用126
6.4.3 递归函数127
6.5 预处理命令——#define131
6.5.1 #define预处理命令131
6.5.2 为什么要用#define133
6.5.3 const修饰符133
6.5.4 #define的另一功能——宏134
6.5.5 使用自变量的宏134
6.5.6 宏号的使用135
6.5.7 函数与宏的选择136
6.6 #include预处理命令136
6.6.1 使用自定义的头文件136
6.6.2 标准的头文件138
6.6.3 头文件与函数原型138
小结138
实验 函数程序设计和编译预处理139
习题141
第7章 数组与字符串145
7.1 一维数组145
7.1.1 数组的声明145
7.1.2 数组中元素的表示方法146
7.1.3 数组初始化赋值147
7.1.4 数组的输入与输出147
7.1.5 数组越界的检查150
7.2 二维数组以上的多维数组152
7.2.1 二维数组的声明与初始化
赋值152
7.2.2 二维数组元素的引用及
存取153
7.2.3 多维数组155
7.3 传递数组给函数156
7.3.1 一维数组为自变量来传递156
7.3.2 冒泡排序法160
7.3.3 传递多维数组163
7.3.4 传递“值”还是“地址”
到函数166
7.4 字符串169
7.4.1 字符串常数169
7.4.2 字符串的声明与初始化
赋值169
7.5 字符串的输入与输出函数170
7.5.1 scanf()与printf()函数170
7.5.2 gets()与puts()函数171
7.6 字符串数组172
7.6.1 字符串数组的声明与
初始化赋值172
7.6.2 字符串数组元素的引用
及存取173
小结176
实验 数组及字符程序设计177
习题179
第8章 指针183
8.1 指针概述183
8.1.1 指针的概念183
8.1.2 为什么要用指针185
8.2 指针变量185
8.2.1 指针变量的定义186
8.2.2 指针变量的使用186
8.3 指针运算符189
8.3.1 地址运算符&189
8.3.2 按照地址取值运算符*189
8.3.3 定义指针变量所指类型
的重要性190
8.4 指针的运算191
8.4.1 指针的赋值运算与赋值191
8.4.2 指针的加法与减法运算192
8.4.3 指针的减法运算194
8.5 指针与函数195
8.6 指针与数组201
8.6.1 指针与数组的关系201
8.6.2 字符串数组与指针数组205
8.7 指向指针的指针——双重指针206
小结210
实验 指针程序设计210
习题214
第9章 结构体与其他数据类型218
9.1 结构体218
9.1.1 结构体的声明218
9.1.2 结构体变量的使用及
初始化219
9.2 嵌套结构体222
9.3 结构体数组224
9.4 结构体指针228
9.5 结构体为自变量的函数传递230
9.5.1 整个结构体传递到
函数230
9.5.2 结构体字段分别传递232
9.5.3 传递结构体的地址233
9.6 共用体235
9.6.1 共用体的定义及声明235
9.6.2 共用体与结构体的差异236
9.6.3 共用体的使用及初始化238
9.7 枚举类型240
9.7.1 枚举类型的定义及声明240
9.7.2 枚举类型的使用及
初始化241
9.8 使用自定义的类型——typedef247
小结249
实验 结构体程序设计250
习题253
第10章 文件257
10.1 文件的概念257
10.2 文件的操作方式258
10.3 有缓冲区的文件处理函数259
10.3.1 有缓冲区文件处理函数
的整理260
10.3.2 有缓冲区文件处理函数
的练习261
10.4 无缓冲区的文件处理函数269
10.4.1 无缓冲区文件处理函数
的整理271
10.4.2 无缓冲区文件处理函数
的练习272
10.5 二进制文件的使用274
10.5.1 二进制文件有缓冲区函数的使用275
10.5.2 二进制文件无缓冲区函数的使用277
10.6 文本模式及二进制模式的
比较280
10.6.1 以文本模式存储数值280
10.6.2 以二进制模式存储
数值282
10.6.3 换行与文件结束的讨论284
10.6.4 输出相对应字符的十六进制码287
10.7 顺序存取与随机存取288
10.7.1 顺序存取289
10.7.2 随机存取290
小结292
实验 文件程序设计293
习题295
附录A 常用的函数库299
附录B C语言的关键字307
附录C ASCII码表308
附录D 运算符的优先级和结合性310
参考文献312 -
作者介绍
主要著译者顺序姓名学历职称学科专长通讯地址1周艳芳 硕士 讲师程序设计 工作单位北京京北职业技术学院 邮政编码 电话 2 工作单位 邮政编码 电话 3 工作单位 邮政编码 电话 审校者(主审者) 学历 工作单位 邮政编码 电话 职称 工作单位 邮政编码 电话 -
编辑推荐
1.通过实例来讲解语法知识,使难懂的语法易于理解掌握。2.程序解析详细,既点拨了重点难点,又引导了程序设计的思路。3实验部分包括程序改错、程序填空和程序设计,通过这三类实验达到提高提高阅读程序、调试程序和程序设计的能力。4.习题部分紧扣每章的重点内容精选了历年“全国计算机等级二级考试”的试题,使学生在消化语法的同时也能进行实战。 -
书评书荐
-
附件下载
图书推荐