本书分十四章,主要介绍了程序语言的基础语法知识,包括顺序、分支、循环三种程序结构,以及一维数组、二维数组、函数、指针、结构体、文件等内容;本书最后介绍了如何利用程序语言知识进行综合应用开发。本书把程序语言的基础知识与日常生活中的应用案例相结合,讲解清晰、透彻,针对书中的每个经典案例,提炼求解问题的关键思路,归纳总结编程过程中的易错点。书中的二维码链接的是部分重点内容的讲解视频,帮助初学者理解书中相应的知识点,快速掌握程序语言的编程方法与技巧。
C语言是一门结构化编程语言,用途广泛、功能强大、使用灵活方便。“C语言程序设计”是计算机相关专业的一门基础性课程,是绝大多数理工科专业学生学习编程的入门课程。传统的程序设计语言教材大多围绕知识点进行讲解,先讲原理,后讲应用,强调知识细节本身。由于C语言知识点众多,初学者很难在短时间内掌握,导致学生学完该课程后无法将C语言应用到解决现实问题中。本书围绕解决实际问题来组织相关知识点的讲解。让学生在解决问题中感性切入并逐步提升,而不是在C语言的知识细节中徘徊。本书强调编程实践与编程经验总结,侧重以案例来带动对语言知识的深入理解,将程序设计与开发以及部分算法的思想等渗透和贯穿到每个知识点模块的讲解中。
本书具有以下特点:①知识框架完整。知识细节不必死记硬背,通过案例讲解,学生更容易理解。每个案例均对思路、过程、方法进行解析,对容易出现的编译错误和逻辑错误做了多方位剖析,并提供了案例模板。②按问题求解的过程组织章节内容。通过层次化、模块化、系统化,循序渐进地讲解问题的C语言编程求解。由解决问题的想法映射到算法思想,形成□终的代码,让学生能够使用C语言编程解决一般的实际应用问题。每章的综合案例是本章知识点和重点算法的综合应用。③采用OJ系统标准案例描述方式。传统的手工写程序进行验证的方法已基本淘汰了,目前主流高校基本都采用OJ在线测试平台进行程序功能的验证,为了配合OJ平台的使用,本书绝大多数案例、课后习题均采用OJ系统的标准案例描述方式,及多组输入输出测试方式,便于学生无缝对接各类在线测试平台。④注重与后继课程衔接。本书针对后继的数据结构、算法设计与分析等课程进行了铺垫和延伸,有助于学生过渡到后续课程的学习。
本书的编者都具有十几年程序设计类课程的教学经验,并辅导过学生参加各类程序设计竞赛(如ICPC-ACM、蓝桥杯、CCPC、天梯赛等),本书是近几年来课程组成员精品课程建设、优质课程建设、课程教学改革、专业认证的成果结晶,被河南省教育厅列入了河南省“十四五”省级规划系列教程立项教材。
本书由鄢靖丰编写□□、□、3、5、9、14章,李梅莲编写第6、7、8、13章,邱颖豫编写10、11、1□章,徐尽编写第4章,本书由鄢靖丰统稿。
本书适合作为普通高校计算机专业的教材,也适合非计算机专业的学生作为程序设计的入门教材。本书所有的代码都经过调试、测试,运行结果正确。由于时间仓促,加上编者能力有限,书中存在不妥之处,敬请读者批评指正。
前言
第1章C语言初探
1.1C语言简介
1.2C语言编程环境
1.3简单编程案例
1.4本章小结
习题1
第2章数据类型与表达式
2.1案例初探
2.2数据类型
2.32量
2.4常量
2.5运算符
2.6位运算
2.7数据类型强制转换
2.8格式化输入输出
2.9编译预处理
2.10本章小结
习题2
第3章简单分支及其应用
3.1案例初探
3.2关系运算、逻辑运算、条件运算
3.3if分支
3.4if语句嵌套
3.5简单分支综合应用
3.6本章小结
习题3
第4章多分支语句
4.1案例初探
4.2switch分支
4.3多分支综合应用
4.4本章小结
习题4
第5章简单循环
5.1案例初探
5.2for语句
5.3while和do while语句
5.4简单循环综合应用
5.5本章小结
习题5
第6章复杂循环及其应用
6.1案例初探
6.2多重循环、循环嵌套
6.3break和continue语句
6.4复杂循环综合应用
6.5本章小结
习题6
第7章一维数组及其应用
7.1一维数组初探
7.2一维数组定义、使用
7.3选择排序与冒泡排序
7.4一维数组综合应用
7.5本章小结
习题7
第8章二维数组及其应用
8.1二维数组初探
8.2二维数组定义、使用、初始化
8.3二维数组综合应用
8.4本章小结
习题8
第9章函数及其应用
9.1函数初探
9.2函数定义、调用关系
9.3函数参数传递
9.42量的作用域与存储类别
9.5递归函数
9.6字符串处理函数
9.7函数应用综合案例
9.8本章小结
习题9
第10章简单指针及其应用
10.1指针初探
10.2一维指针定义、使用
10.3一维指针与数组的关系
10.4一维指针及其应用
10.5本章小结
习题10
第11章复杂指针及其应用
11.1复杂指针初探
11.2二级指针
11.3指针数组、数组指针
11.4指针函数、函数指针
11.5复杂指针综合应用
11.6本章小结
习题11
第12章结构体及其应用
12.1结构体案例初探
12.2结构体定义与使用
12.3结构体与数组、指针的关系
12.4链表
12.5结构体综合应用
12.6本章小结
习题12
第13章文件
13.1文件初探
13.2文件定义、打开关闭
13.3常用的文件处理函数
13.4文件的输入、输出重定位
13.5文件综合应用
13.6本章小结
习题13
第14章综合案例
14.1学生成绩管理系统
14.2学生信息管理系统
14.3链表的综合运算
习题14
附录
附录A相关参考表
附录BDev C++的调试步骤
参考文献