本书一方面较详细介绍C语言的基本知识,另一方面注重学习者应用程序开发能力的训练和提高,给出了开发的一般过程和实现技巧。教材内容从程序设计人员的角度进行组织,以多个案例为学习知识的引导点,并遵循循序渐进的原则,合理安排教材结构。全书由C基本知识与简单程序设计、案例分析设计和开发几个部分组成,每章基本都按照相关内容安排有一个综合性的应用案例并围绕案例组织章节的内容,最后给出一个完整的开发程序。
第1章 C语言概述
1.1 C语言产生的背景
1.2 C语言的特点
1.3 C语言的程序结构
1.4 C程序上机步骤
实训1 认识C语言程序
习题1
第2章 数据类型、运算符与表达式
2.1 C语言的数据类型
2.2 常量与变量
2.2.1 直接常量和符号常量
2.2.2 变量
2.3 整型数据
2.3.1 整型常量的表示方法
2.3.2 整型变量
实训2 使用整型数据
2.4 实型数据
2.4.1 实型常量的表示方法
2.4.2 实型变量
实训3 使用实型数据
2.5 字符型数据
2.5.1 字符常量
2.5.2 字符变量
2.5.3 字符串常量
实训4 使用字符型数据
2.6 算术运算符和算术表达式
2.7 赋值运算符和赋值表达式
2.8 逗号运算符和逗号表达式
实训1 5 使用运算符和表达式
2.9 变量的地址和指向变量的指针
2.9.1 变量的地址
2.9.2 变量的指针和指向变量的指针变量
2.9.3 指针运算符和取地址运算符
实训6 指针的初步应用
本章小结
习题2
第3章 基本程序结构
3.1 程序的3手中基本结构
3.1.1 结构化程序设计
3.1.2 C语言的语句
3.2赋值语句
3.3 数据的输X./输出
3.3.1 字符数据的输入/输出函数——getchar()函数/putchar()函数
3.3.2 格式输出函数——printf函数
3.3.3 格式输入函数——scanf函数
实训7 使用输入/输出函数
3.4顺序结构程序设计
3.5 选择结构程序设计
3.5.1 关系运算符和关系表达式
3.5.2 逻辑运算符与逻辑表达式
3.5.3 if语句和switch语句
实训8 if语句和switch语句的使用
3.6 循环结构程序设计
3.6.1 goto语句及goto语句构成的循环
3.6.2 while语句、do...while语句和for语句
实训9 while语句、do...while语句和for语句的使用
课程设计1 模拟ATM取款机界面
本章小结
习题3
第4章 数组
4.1 一维数组
4.1.1 一维数组的定义、引用和初始化
4.1.2 数组与指针
实训10 一维数组的应用
4.2 二维数组
4.2.1 二维数组的定义
4.2.2 二维数组元素的引用
4.2.3 二维数组的初始化
4.2.4 二维数组与指针
实训11 二维数组的应用
4.3 字符数组
4.3.1 字符数组的定义、引用和初始化
4.3.2 字符串的使用
4.3.3 字符串处理函数
实训12 英文打字练习程序
4.4 指针数组和指向指针的指针
4.4.1 指针数组的概念
4.4.2 指向指针的指针
4.4.3 指针数组作为main函数的形参
实训13 指针的应用
课程设计2 用高斯消去法解线性方程组
本章小结
习题4
第5章 函数
5.1 函数定义与调用
5.1.1 函数定义
5.1.2 函数调用
5.1.3 函数返回值
实训14 建立和使用函数
5.2 形参与实参
5.2.1 函数的值调用和引用调用
实训15 值参数和地址参数的传递
5.2.2 函数的参数
实训16 函数参数传递的形式
5.3 返回指针值的函数和指向函数的指针
5.3.1 返回指针值的函数
5.3.2 指向函数的指针
5.4 函数嵌套调用与递归调用
5.4.1 函数嵌套调用
5.4.2 函数递归调用
实训17 嵌套与递归调用的实现
5.5 局部变量和全局变量
5.5.1 局部变量
5.5.2 全局变量
5.5.3 变量存储类别
实训18 局部变量和全局变量的使用
5.6 内部函数与外部函数
实训19 多文件程序编译运行
课程设计3 马跳日字问题的实现
本章小结
习题5
第6章 编译预处理
6.1 宏定义
6.1.1 字符串的宏定义
6.1.2 带参数的宏定义
6.2 文件包含处理
6.3条件编译
实训20 定义宏和使用宏
本章小结
习题6
第7章 结构体和共用体
7.1 结构体
7.1.1 结构体定义、引用和初始化
7.1.2 结构体数组和结构体指针
实训21 结构体的应用
7.2 共用体
实训22 定义使用共用体
7.3 枚举类型
实训 23 定义使用枚举类型
7.4类型定义
课程设计4 单链表插入、删除、查找等操作的实现
本章小结
习题7
第8章位运算
8.1位运算概念
8.2位运算符
8.3 位段
实训24 左右循环移位的实现及位操作
课程设计5 使用位运算符解析IP地址
本章小结
习题8
第9章 文件
9.1 文件类型指针
9.2 文件的打开与关闭
9.3 文件的读/写操作
实训25 文件加密程序的实现及文件的读/写操作—
9.4 文件定位与出错检测
9.4.1 文件定位函数——fseek()函数
9.4.2 出错检测函数——ferror()函数
实训26 加解密数据库程序及文件定位操作
9.5 其他文件函数
课程设计6 给程序加上行号—
本章小结
习题9
第10章 项目实践 文件压缩与解压缩
10.1 预备知识——数据压缩的原理
10.2 结构设计
10.3 功能函数的实现
本章小结
附录A 常用字符与标准ASCII码对照表
附录B 运算符和结合性
附录C Turbo C标准函数库
参考文献
C语言已经成为各类高等职业院校计算机专业程序设计的入门语言。由于C语言具有概念复杂、规则繁多、使用灵活、容易出错等特点,使不少初学者在学习中感到难以在短时间内掌握它。现在,为发展软件产业,教育部批准建立了35所示范性高职软件学院,学制为两年。针对没有任何计算机基础知识的初学者,如何让他们在短时间内掌握C语言是编写本书的目的。
本书总结了编者多年的高职教学经验,以实例为先导,注重在应用中学习,以有趣的实际应用例子来提高学习者的兴趣,帮助学生理解和接受枯燥的概念和规则。我们在编写中充分考虑到学生的知识能力和接受水平,按照精选内容、分散难点、由浅入深的写作思路,通过大量的例题和实训帮助学生循序渐进地学习,同时配有相应的课程设计。
全书在章节的分布上,力求做到合理安排、易于接受。教过C语言课程的老师都知道,指针是学生们最难接受和掌握的的内容。为此,本书打破常规将指针的概念分解到各个章节,贯穿全书,既能自然表现指针在程序设计中的应用,又分解了难点,有利于学生对指针概念 在例题的选取上,先易后难,结合实际,注意实例和实训与知识点和算法的结合,从而提高学生的实际动手能力。
本教材对学时数不作统一要求,根据各院校和学生的实际状况,教师可自行安排。学习过程中要注意实例、知识点、实训的同步进行。根据学时情况,有的实训和课程设计,在教师加以指点后,学生可放到课余时间做。第10章内容可根据学时及专业,酌情选择。
本书由安徽电子信息职业技术学院苏传芳主编,武汉软件职业学院王路群主审。本书第2章由安徽电子信息职业技术学院李媛媛编写;第4章由安徽电子信息职业技术学院杨军编写:第5章及附录由安徽电子信息职业技术学院朱正月编写;第7章由山东信息职业技术学院季昌武编写;第8章和第9章由沈阳职业技术学院关智编写;第1章、第6章和第10章由安徽电子信息职业技术学院朱士明编写;第3章由苏传芳编写。苏传芳负责全书总体设计和最后修改定稿。
开拓一种新的计算机语言课程的教学模式是本书编写的宗旨。但由于水平有限,编写时间较紧,本书肯定存在许多不足之处,恳请各位专家及读者批评指正。