图书简介:
第1章 C语言概述 1
1.1 C语言产生的背景 1
1.2 C语言的特点 2
1.3 C语言的程序结构 3
1.3.1 C程序的基本结构 3
1.3.2 C函数的格式 3
1.3.3 关键字 5
1.3.4 小结 5
1.4 C程序上机步骤 6
1.4.1 运行一个C语言程序的一般
过程 6
1.4.2 常用的操作命令 7
实训1 认识C语言程序 13
本章小结 14
习题1 14
第2章 数据类型、运算符与表达式 16
2.1 C语言的数据类型 16
2.2 常量与变量 17
2.2.1 直接常量和符号常量 17
2.2.2 变量 19
2.3 整型数据 20
2.3.1 整型常量 20
2.3.2 整型变量 20
实训2 使用整型数据 23
2.4 实型数据 25
2.4.1 实型常量的表示方法 25
2.4.2 实型变量 25
实训3 使用实型数据 27
2.5 字符型数据 27
2.5.1 字符常量 27
2.5.2 字符变量 29
2.5.3 字符串常量 31
实训4 使用字符型数据 31
2.6 算术运算符和算术表达式 32
2.7 赋值运算符和赋值表达式 35
2.8 关系运算符和关系表达式 39
2.9 逻辑运算符和逻辑表达式 40
2.10 逗号运算符和逗号表达式 42
2.11 位运算 43
2.11.1 位逻辑运算符 44
2.11.2 移位运算符 45
2.11.3 位赋值运算符 46
2.11.4 不同长度的数据进行位运算 47
实训5 使用运算符和表达式 47
2.12 变量的地址和指向变量的指针 49
2.12.1 变量的地址 49
2.12.2 变量的指针和指向变量的
指针变量 50
2.12.3 指针运算符和取地址运算符 50
实训6 指针的初步应用 52
本章小结 53
习题2 53
第3章 基本程序结构 57
3.1 程序的3种基本结构 57
3.1.1 结构化程序设计 57
3.1.2 C语言的语句 59
3.2 赋值语句 60
3.3 数据的输入和输出 60
3.3.1 字符数据的输入/输出函数
——putchar()函数
和getchar()函数 61
3.3.2 格式输入/输出函数:
printf函数和 scanf函数 62
实训7 使用输入/输出函数 69
3.4 顺序结构程序设计 72
3.5 选择结构程序设计 73
3.5.1 if语句 73
3.5.2 switch语句 78
实训8 if语句和switch语句的
使用 80
3.6 循环结构程序设计 85
3.6.1 goto语句及goto语句构成的
循环 85
3.6.2 while语句 / do-while语句
/ for 语句 86
实训9 while语句、do-while语句
和for语句的使用 93
课程设计1 模拟ATM取款机
界面 101
本章小结 104
习题3 105
第4章 数组 110
4.1 一维数组 110
4.1.1 一维数组的定义、引用和
初始化 111
4.1.2 数组与指针 114
实训10 一维数组的应用 117
4.2 二维数组 120
4.2.1 二维数组的定义 121
4.2.2 二维数组元素的引用 121
4.2.3 二维数组的初始化 123
4.2.4 二维数组与指针 123
实训11 二维数组的应用 125
4.3 字符数组 127
4.3.1 字符数组的定义、引用和
初始化 128
4.3.2 字符串的使用 129
4.3.3 字符串处理函数 130
实训12 英文打字练习程序 133
4.4 指针数组和指向指针的指针 136
4.4.1 指针数组的概念 137
4.4.2 指向指针的指针 138
4.4.3 指针数组作为main函数的
形参 139
实训13 指针的应用 140
课程设计2 用高斯消去法解线性
方程组 141
本章小结 144
习题4 144
第5章 函数 146
5.1 函数定义 146
实训14 建立和使用函数 149
5.2 函数参数与返回值 150
5.2.1 形式参数与实际参数 150
5.2.2 参数的值传递方式和指针
(地址)传递方式 151
实训15 参数的值传递方式和
地址传递方式 153
5.2.3 参数类型 155
实训16 函数参数传递的形式 157
5.2.4 函数的返回值 158
实训17 函数的返回值 159
5.3 函数调用 160
5.3.1 函数调用的基本问题 160
5.3.2 函数嵌套调用 163
5.3.3 函数递归调用 164
实训18 嵌套与递归调用的实现 166
5.4 函数与指针 168
5.4.1 返回指针值的函数 168
5.4.2 指向函数的指针 169
5.5 变量作用域和存储类别 171
5.5.1 局部变量 171
5.5.2 全局变量 173
5.5.3 变量存储类别 174
实训19 局部变量和全局变量的
使用 177
5.6 外部函数和内部函数 178
本章小结 180
习题5 181
第6章 编译预处理 184
6.1 预处理命令概述 184
6.2 宏定义 185
6.2.1 不带参数的宏定义 185
6.2.2 带参数的宏定义 187
6.3 文件包含处理 190
6.4 条件编译 192
实训20 定义宏和使用宏 194
本章小结 197
习题6 197
第7章 结构体和链表 201
7.1 结构体 201
7.1.1 结构体定义、引用和
初始化 202
7.1.2 结构体数组和结构体指针 207
7.1.3 结构体与函数 210
实训21 结构体的应用 213
7.2 链表 214
7.2.1 链表的概念 214
7.2.2 链表的实现 215
7.2.3 链表的操作 219
7.3 共用体和枚举类型 222
7.3.1 共用体定义、使用和
初始化 222
7.3.2 枚举类型定义、使用和
初始化 224
7.4 类型定义 226
课程设计3 简单学生管理程序 227
本章小结 232
习题7 232
第8章 文件 236
8.1 文件类型指针 238
8.2 文件的打开与关闭 239
8.3 文件的读/写操作 241
实训22 文件加密程序的实现及
文件的读/写操作 244
8.4 文件定位与出错检测 249
8.4.1 文件定位函数——fseek()
函数 249
8.4.2 出错检测函数——ferror()
函数 249
实训23 加/解密数据库程序及
文件定位操作 250
8.5 其他文件函数 253
课程设计4 给程序加上行号 254
本章小结 256
习题8 257
第9章 C++概述 258
9.1 C++的特点及输入/输出 258
9.1.1 C++的特点 258
9.1.2 C++的输入/输出 260
实训24 熟练使用cin和cout 264
9.2 面向对象概述 268
9.2.1 面向对象的基本概念 268
9.2.2 面向对象的三大特征 269
9.3 类和对象的定义及使用 270
9.3.1 类的定义 270
9.3.2 对象的创建及使用 272
9.3.3 构造函数与析构函数 273
实训25 类和对象的使用 275
本章小结 276
习题9 277
第10章 项目实践——学生信息管理系统 279
10.1 系统基本需求 279
10.2 结构设计 282
10.3 功能函数的实现 284
10.4 项目总结 288
附录A 常用字符与标准ASCII对照表 290
附录B 运算符和结合性 292
展开
C语言是目前应用范围最广、使用最多的高级程序设计语言。“C语言程序设计”是计算机、电子等相关专业的必修课程,是学习程序设计语言的首选。本教材第2版是安徽省省级高校教学研究项目“任务驱动-两段教学模式”实践的结晶,曾获省级优秀教学成果奖、省级优秀教材奖、省级“十一五”规划教材等荣誉称号。
本书总结了编者多年的高职教学经验,采用以实例为先导、注重实际应用的学习模式。在编写中充分考虑到学生的知识能力和接受水平,采取了精选内容、分散难点、由浅入深的写作思路,通过大量的例题和实训帮助学生掌握复杂的概念。全书在章节的编排上,力求做到合理安排、易于接受,为此,我们打破常规将指针的概念分解到各个章节,贯穿全书,既能自然表现指针在程序设计中的应用,又分解了难点,有利于学生对指针概念的掌握。在例题的选取上,采用先易后难、结合实际,注意实例与知识点结合、与算法的结合、与实训的结合,从而提高学生的实际动手能力。
本教材使用VC 6.0为C语言编译系统,与其他教材相比,具有以下特点:
(1)以实例为先导,强化实践、突出技能。充分考虑高等职业院校学生的学习基础、学习习惯和接受能力,在教材中以实例为先导、注重实际应用,体现职业性特色。通过大量的例题,实用、有趣的实训和课程设计,激发学生学习的兴趣,提高学生学习的积极性、主动性。
(2)体现“教、学、做”一体化的教学模式。教材充分体现了“教、学、做”一体化的教学模式,各章节按照以下顺序编写:提出问题→解决问题→分析问题→知识点引入→内容详解。通过问题的提出,引起学生的好奇心;通过解决问题的程序代码,激发学生的探究心理;使学生主动了解后续的知识点。学生能够在“做”中“学”,逐步掌握程序设计的基本技能。
(3)分散难点、降低难度。对于初学者而言,C语言的指针通常是个难点。教材中打破常规,将指针的概念分解到各个章节,贯穿全书,既能自然表现指针在程序设计中的应用,又分散难点、降低难度,有利于学生对指针概念的掌握。
(4)通俗易懂、深入浅出、易教易学。在内容的编排上,结构清晰,内容前导与后续过渡自然,对初学者容易混淆的概念进行了重点提示和讲解,便于教师指导和学生自学。在例题的选取上,先易后难、深入浅出,注重实训、课程设计与知识点的结合,有利于提高学生的动手能力。在文字的叙述上,条理清晰,语言简洁流畅,便于阅读。
(5)增加了C++入门知识。为了使学生尽快掌握并顺利过渡到面向对象的程序设计方法,教材中增加了C++入门知识,使本教材更加完善。
本教材学时数不做统一要求,根据学习者各自的不同学习状况,教师可自行安排。学习过程中要注意实例、知识点、实训应同步进行。根据学时情况,有些实训和课程设计,可以在加以指点后放到课余时间做。为与程序中的变量对应,本书在正文、公式中的变量统一用正体表示。
本书由安徽省电子信息职业技术学院苏传芳主编,李媛媛副主编。第2章由安徽省电子信息职业技术学院李媛媛编写;第4章由安徽省电子信息职业技术学院杨军编写;第5章、第10章由安徽省电子信息职业技术学院尹汪宏编写;第1章、第6章由安徽省电子信息职业技术学院胡北辰编写;第7章、第9章由安徽省电子信息职业技术学院彭莉芬编写;第8章由安徽省电子信息职业技术学院朱士明编写;第3章由安徽省电子信息职业技术学院苏传芳编写并负责总体设计。本书其他参编者:章晓勤、夏克付、陈俊生、刘影、徐莹。
轻松学习C语言是本书编写的宗旨,但由于水平有限,本书肯定存在许多不足之处,恳请各位专家及读者批评指正。
编 者
2016年5月
展开