《C语言程序设计及应用教程》这本教材采用“案例驱动式”的思路进行编写。使用该教材来指导教学就是以案例为目的,以项目为导向,案例包含了学生学习的各种知识点,最终通过案例和项目来培训学生分析问题、解决问题的能力,实现案例和项目的要求。本教材首先应该让学生简单了解什么是编程思想,其次在C语言理论教学过程中,让学生懂得面向对象的程序设计的风格,最后引导他们来设计项目。本教材从C语言的基本知识入手,以案例导入和项目导向为主线,理论结合案例,详细介绍程序设计的算法及开发思想、C程序的数据表示及其运算、C程序的三种基本结构、数组、函数、指针、结构体、共用体、枚举、位运算等内容,让学生通过案例学习的积累来掌握项目开发的流程、技能和理念。
以案例和计算机等级考试真题为主线,使读者能够轻松愉快地学到相应的知识和技能
前 言
C语言因其功能丰富、表达力强、程序效率高、可移植性好而成为被国内外广泛使用的一种计算机语言。“C语言程序设计”是高等院校计算机基础教育中的重要课程之一。该课程可以让学生了解程序设计的思想和方法,掌握高级语言程序设计的知识,提高问题求解和程序语言的应用能力。因此,本书旨在实现“以人为本、传授知识、培养能力、提高素质、协调发展”的教育理念,使学生的计算机知识、技能、能力和素质得以协调发展。
本书针对高等院校学生的特点和认知规律,全面、系统地介绍C语言程序设计及应用知识,包括C语言概述、基本数据类型和运算符、顺序和选择结构程序设计、循环结构程序设计、数组、函数和模块设计、指针、结构体和标准函数、文件等内容。编者结合多年从事程序设计教学和研究的经验,参考了大量同类论著和教材,并吸收其优点,在编写过程中以夯实学生程序设计的理论基础、培养学生程序设计的能力和养成良好的程序设计风格为宗旨,充分体现“教师易用,学生易学”的特点。
本书的特点是通俗易懂、任务丰富、目标明确、重难点突出、重在应用,以案例和计算机等级考试真题为主线,使读者能够轻松愉快地学到相应的知识和技能。本书不仅可作为本科院校C语言课程的用书,还可以作为广大计算机爱好者学习C语言或者备考全国计算机等级考试(二级C)的用书和参考书。
由于编者水平有限,加之时间仓促,书中难免有不足之处,敬请读者批评指正
2007年起在萍乡学院信息与计算机工程学院担任专业教师,从事计算机课程教学与研究工作,并担任科研处副处长职务。讲授过《C/C++程序语言设计》、《数据结构》、《软件工程》、《数据库原理》等课程。
主要从事数据挖掘、教育信息化、云计算等方向的研究,在数据挖掘应用、云计算理论等方面取得一定成果。近年来,先后主持完成省自然科学基金1项、省科技支撑1项、省科技厅软科学课题1项、省教育厅科学技术研究项目1项、省高校人文课题2项、省级教改课题2项,市科技支撑课题2项,参与国家软科学课题1项,以第一成员参与各类科研课题5项。
目 录
模块1 初识C语言 1
实例导入:学生成绩管理系统界面 1
1.1 C语言简介 2
1.2 C语言开发环境及第一个C语言程序 5
1.3算法的表示 11
1.4本章小结 17
1.5 实训 17
1.6习题 20
模块2 数据表示及其运算 22
实例导入: 成绩管理中数据描述和处理 23
2.1 C语言程序的词法 25
2.2 基本数据类型 27
2.3 常量 37
2.4 变量 40
2.5 运算符与表达式 54
2.6 本章小结 62
2.7 实训一:真题演练 62
2.8 实训二:技能训练 65
2.9 实训三:综合训练 65
模块3 顺序结构程序设计 67
实例导入: 求学生期末平均成绩 67
3.1 赋值语句 68
3.2 数据输入与输出 72
3.3 本章小结 80
3.4 实训 80
3.5习题 83
模块4 选择结构程序设计 92
实例导入:数据排序 92
4.1运算符和表达式 94
4.2利用if语句实现选择结构 101
4.3 switch语句 112
4.4 本章小结 118
4.5 实训 118
4.6习题 122
模块5 循环结构程序设计 130
实例导入:成绩批量处理与统计 130
5.1 循环的基本概念 132
5.2 while语句 135
5.3 do … while循环 139
5.4 for循环 142
5.5 循环程序设计举例 146
5.6 循环嵌套 150
5.6 转移语句 156
5.7 本章小结 159
5.8 实训一:真题演练 160
5.9 实训二:技能训练 167
5.10实训三:综合训练 168
模块6 数组 169
实例导入: 选票统计 169
6.1 一维数组 171
6.2 二维数组 175
6.3 字符数组与字符串 180
6.4 字符串处理函数 185
6.5 本章小结 190
6.6 实训一:真题演练 190
6.7 实训二:技能训练 193
6.8 实训三:综合训练 194
模块7 函数 195
实例导入: 两个整数计算 196
7.1 概述 199
7.2 函数的参数和函数的值 202
7.3 函数的嵌套调用与递归调用 215
7.5 本章小结 222
7.6 实训 223
7.7真题演练 226
模块8 指针 231
实例导入:字母排序 231
8.1 指针的基本概念 233
8.2 指针变量 235
8.3 指针在一维数组中的应用 241
8.4 指向二维数组的指针变量 244
8.5 多级指针 246
8.6指针与函数 247
8.7 实训一:真题演练 251
8.8 实训二:技能训练 259
8.9 实训三:综合训练 260
模块9 结构体、共用体与枚举 261
9.1 结构体的定义 262
9.2 共用体 287
9.3 枚举类型 293
9.4 本章小结 295
9.5实训 296
模块10 位运算与预处理 299
实例导入: 按位输出二进制各位数上的值 300
10.1 位与字节 301
10.2 位运算 302
10.3 编译预处理 306
模块11 文件 318
实例导入: 创建学生成绩文件 318
11.1 文件概述 319
11.2 文件基本操作 320
11.3 文件的读写 324
11.4 文件的定位 338
11.5 本章小结 338
11.6 实训一:真题演练 339
11.7 实训二:技能训练 343
11.8 实训三:综合训练 344