欢迎大家进入C语言程序设计第二部分的学习。
相信大家已经掌握了C语言的基本语法,学会用三种基本结构编写程序,能够解决一般的数值处理问题、穷举问题等。 就如同学习汉语,大家已经学习了字、组词、造句,能够写短文了,接下来是怎样写长文章?对应C语言来说,我们如何设计较长的程序?如何解决相对复杂的问题?如何重复使用某一段代码?
有人说编程是艺术,用C就可以写出很“美“的代码。例如如果我们不用循环结构,不用递归算法,能不能在屏幕上输出从1到1000?学完这部分,大家就可以试试啦。
C语言的基本结构是函数,其基本含义是:一个软件可以由多个源程序(文件)组成;一个源程序(文件)可以由多个函数组成;函数就是一段具有某种功能的程序,除主函数之外,用户写的这段程序叫做用户定义函数,由函数名,参数,说明语句和执行语句构成。定义后的函数可以重复被主函数或其他函数调用。所以说,函数是实现模块化设计的基础。
更为神奇的是,如果我们把函数的组成部分细化,列出一个树状的结构,你会发现你学过的C语言的基础知识内容都在里面啦,学过函数后,你也可以试试啊。
怎么使用函数呢?函数的递归调用是难点,要掌握编写递归算法的关键,通过典型的递归问题掌握编写递归程序的技巧;其次要将前面各章中的一些题目用递归算法实现,通过对比分析,加深对递归的理解和掌握。
接下来,我们学习指针。指针是C语音的特色,也是C语言中最灵活的地方。
如何学习指针呢? C语言中指针就是地址。大家要掌握指向变量的指针,指向数组的指针,指向函数的指针,指向指针的指针,指针数组等。注意从定义和引用的形式上区分不同功能的指针,要理解指针与数组的关系,以及定义了指针之后,如何引用变量的值等具体问题,
结构、联合与枚举都是C语言中的构造数据类型,是基本数据类型的某种组合。
链表是指针、结构体的高级应用,也是C语言各阶段语法知识的综合体现。链表就是动态的数据结构。要掌握链表如何定义,如何建立简单的单向链表,以及学会编写链表中节点的插入、删除等基本操作。在上述知识和练习基础上,练习编写小软件,例如:学生档案管理系统等。
以往程序中对数据的操作均在内存上实现,随着程序运行的结束,变量的内存空间和变量的值均消失。C语言中可以利用文件实现数据在外存上的存取操作。
首先要掌握文件的基本概念,其中重要的是文件型指针,文件通过文件指针操作。要学会使用文件读写函数,分别实现文件的按字符读写、按字符串读写、按数据块读写和按格式读写;还有文件当前状态的测试函数等,必须熟练使用这些函数。
通过学习该课程,学习者将具备基本的程序设计能力。
本课程需要先学习《C语言程序设计(上)》,掌握基本的程序设计结构(顺序、选择、循环)和数组的知识,同时建议自学一些简单的信息在计算机中的表达和计算机硬件基本结构的相关知识。
1.参考教材
《C语言程序设计教程》(第三版)
北京理工大学出版社 李凤霞等编
《C语言程序设计教程习题与上机指导》
北京理工大学出版社 王树武等编
其他的C语言的教材也可以参考
2.相关链接:
爱课程国家精品资源共享课
Q:学习过程中可能出现的问题有哪些?
A:注重理论学习,忽视上机编程实践;入门时以为难度大,产生畏难情绪;太注重学习语句的语法规则,忽视了对编程思路和方法的训练;急于求成,总想编写综合性的程序,忽视基本概念,忽视基本功的训练。
Q:学好C语言的关键是什么?
A:上机编程是学好C语言的关键,多上机,多练习,提高动手能力。
Q:整个学习过程是什么样的?
A:整个学习过程分为两个阶段。初级阶段:重点掌握C语言的语法;从模仿起步;必要的记忆;养成良好的编程习惯;掌握上机编写程序的方法;熟练掌握程序调试方法。中级阶段:重点掌握编程思路和基本算法;学会分析问题;开始进行算法设计。
Q:编程需要什么样的操作系统和编程工具?
A:微软Windows系列,苹果 OS X系列,各种版本的Linux都可以作为练习C语言的操作系统, DEV-C++, MS Visual Studio、C-Free等都可以作为练习C语言的编程工具。课程演示将使用DEV-C++。