欢迎大家进入C语言程序设计第二部分的学习。
本学期开始本课程注入全新的智能学习体验:我们融合知识图谱技术,系统梳理C语言核心知识与编程范式,帮助学习者构建清晰的知识脉络;引入AI助教,随时答疑解惑、提供个性化学习路径与实时反馈;更结合AI辅助编程,助力代码调试、优化与理解,让编程实践更加高效与深入。
相信大家已经掌握了C语言的基本语法,学会用三种基本结构编写程序,能够解决一般的数值处理问题、穷举问题等。 就如同学习汉语,大家已经学习了字、组词、造句,能够写短文了,接下来是怎样写长文章?对应C语言来说,我们如何设计较长的程序?如何解决相对复杂的问题?如何重复使用某一段代码?
有人说编程是艺术,用C就可以写出很“美“的代码。例如如果我们不用循环结构,不用递归算法,能不能在屏幕上输出从1到1000?学完这部分,大家就可以试试啦。
C语言的基本结构是函数,其基本含义是:一个软件可以由多个源程序(文件)组成;一个源程序(文件)可以由多个函数组成;函数就是一段具有某种功能的程序,除主函数之外,用户写的这段程序叫做用户定义函数,由函数名,参数,说明语句和执行语句构成。定义后的函数可以重复被主函数或其他函数调用。所以说,函数是实现模块化设计的基础。
更为神奇的是,如果我们把函数的组成部分细化,列出一个树状的结构,你会发现你学过的C语言的基础知识内容都在里面啦,学过函数后,你也可以试试啊。
怎么使用函数呢?函数的递归调用是难点,要掌握编写递归算法的关键,通过典型的递归问题掌握编写递归程序的技巧;其次要将前面各章中的一些题目用递归算法实现,通过对比分析,加深对递归的理解和掌握。
接下来,我们学习指针。指针是C语音的特色,也是C语言中最灵活的地方。
如何学习指针呢? C语言中指针就是地址。大家要掌握指向变量的指针,指向数组的指针,指向函数的指针,指向指针的指针,指针数组等。注意从定义和引用的形式上区分不同功能的指针,要理解指针与数组的关系,以及定义了指针之后,如何引用变量的值等具体问题。
结构、联合与枚举都是C语言中的构造数据类型,是基本数据类型的某种组合。
链表是指针、结构体的高级应用,也是C语言各阶段语法知识的综合体现。链表就是动态的数据结构。要掌握链表如何定义,如何建立简单的单向链表,以及学会编写链表中节点的插入、删除等基本操作。在上述知识和练习基础上,练习编写小软件,例如:学生档案管理系统等。
以往程序中对数据的操作均在内存上实现,随着程序运行的结束,变量的内存空间和变量的值均消失。C语言中可以利用文件实现数据在外存上的存取操作。
首先要掌握文件的基本概念,其中重要的是文件型指针,文件通过文件指针操作。要学会使用文件读写函数,分别实现文件的按字符读写、按字符串读写、按数据块读写和按格式读写;还有文件当前状态的测试函数等,必须熟练使用这些函数。