c语言程序设计电子讲稿

上传人:jiups****uk12 文档编号:54305944 上传时间:2018-09-10 格式:PPT 页数:571 大小:4.74MB
返回 下载 相关 举报
c语言程序设计电子讲稿_第1页
第1页 / 共571页
c语言程序设计电子讲稿_第2页
第2页 / 共571页
c语言程序设计电子讲稿_第3页
第3页 / 共571页
c语言程序设计电子讲稿_第4页
第4页 / 共571页
c语言程序设计电子讲稿_第5页
第5页 / 共571页
点击查看更多>>
资源描述

《c语言程序设计电子讲稿》由会员分享,可在线阅读,更多相关《c语言程序设计电子讲稿(571页珍藏版)》请在金锄头文库上搜索。

1、C语言程序设计基础,孙 辉,南昌水利水电高等专科学校信息工程系,版权所有,欢迎引用。引用请注明出处,前 言,本电子课件是在近几年作者为计算机专业、计算机第二专业授课课件的基础上,为2000级计算机科学与技术(本科)(80学时)、计算机应用与维护及计算机网络专业(60学时)授课而开发的。在开发中借鉴了作者以前开发的QUICK BASIC 程序设计、计算机应用基础及网络规划电子课件的经验。在2000级授课完成后,对课件进行了修改。为使该课件适合99信息试点班(100学时)的教学要求,又对课件的内容进行了一次较大规模的增加。在用该课件给2001级计算机科学与技术班(80学时)授课时,又结合本人主持的

2、教育部教学科研课题,按照现代新的认知教学理论建构主义的教学理论,对课件进行了第三次大规模的修改。,1 根据人们学习程序语言的规律,课件全部以实例为主线。学生在学习程序之后,对不懂的语法现象再学习,就有了感性认识,也比较容易接受。这种方法其实是建构主义的案例教学法;,2 利用超级链接功能模拟人在学习时的联想功能。课件可按传统的方式从头开始讲授或自学,也可以随机进入课件的任何部分,无需从头开始。这是建构主义的随机进入式教学方法的应用;,3 在教学中,我们发现,学生往往能读懂一些简单的程序,但对一些简单的问题进行程序设计比较困难。因此,课件中的例题,除少量较容易的例题外,全部给予了详细的算法分析,改

3、变了以往教材或教学中的给出问题,然后给出程序,再给学生讲解程序教学方法。本课件以C语言程序设计课程为基础,但对于其它高级语言的学习,也有参考价值。,课件的主要特点如下:,4 在以往的教材中,例题大多是为了说明语法而设计的,因此,各例题之间少有联系。在本电子课件中,大多数的例题之间是有联系的,单独使用时可以用来说明语言的语法现象,到课程结束时,这些例题又可以组合成一个较大的程序,以帮助学生进行程序设计训练。,5 在教学过程中,特别注意了对同一个问题用多种方法进行程序设计,这主要是为了培养学生的发散性思维的能力,也就是创造性思维能力。,6 为了方便学生学习,本课件以网页的方式在校园网信息工程系的主

4、页上发布,同时在地址 202.101.214.75 上也可访问该电子课件。,第1章 C 语言简介,第2章 顺序程序设计,第3章 分支结构,第4章 循环结构,第8章 结构与共用体,第10章 C windows程序设计简介,第7章 指针,第5章 函数,第9章 文件,第6章 数组,第一章 C语言简介,一.程序的概念,程序就是一系列的操作步骤,计算机程序就是由人事先规定的计算机完成某项工作的操作步骤。每一步骤的具体内容由计算机能够理解的指令来描述,这些指令告诉计算机“做什么”和“怎样做”。,二.程序设计语言的概念,编写计算机程序所使用的语言称为程序设计语言。,四 高级程序设计语言(简称高级语言),高级

5、语言是相对低级语言而言的。低级语言是计算机能直接识别的语言(机器语言)或符号化的机器语言(汇编语言),高级语言是一种通用的,面向用户的各类需要,与特定的机器相分离,并遵循一定的严格规定与形式的语言,其语言格式接近于自然语言或接近于数学函数形式。,三 计算机语言发展过程,机器语言,汇编语言,高级语言,BASIC,QUICK BASIC,FORTRAN,COBOL,PASCAL, C,LISP,PROLOG, ADA,PL/1,VISUAL BASIC,C+,五 常用高级语言,六 过程式语言,面向解题过程,告诉计算机“怎么做”,这种语言称为过程式语言。面向处理对象,告诉计算机“做什么”而不必指出“

6、怎么做”,计算机就能完成所要求的任务.这种语言称为非过程式语言.,BASIC,QUICK BASIC,FORTRAN,PASCAL,C等均为过程式语言,SQL查询语言,SMALLTALK等均为非过程式语言.,七 解释型与编译型语言,计算机不能直接识别高级语言,要让计算机能执行高级语言,需要将高级语言翻译成等价的机器语言,这种翻译有两种形式:,(1)边翻译边执行; (2)全部翻译完成后才执行。,前一种方式称为解释方式,后一种称为编译方式.,C,FORTRAN,PASCAL 等为编译型语言 BASIC,java等为解释型语言 QUICK BASIC 有解释和编译两种方式.,用高级语言写成的程序称为

7、源程序(或源代码) 翻译成的机器语言称为目标程序(目标代码),八 C 语言的特点,1 语言简单、紧凑、使用方便、灵活。C语言一共只有32个关键字,9种控制语句,大小写区别;,2 运算符丰富 共有34种运算符,表达式类型多样化,使用灵活;,3 数据结构丰富,具有现代化的语言的各种结构;,4 具有结构化的控制语句,用函数作为程序模块,以实现程序的模块化,是结构化的理想语言,符合现代编程风格的要求;,7 生成的目标代码质量高,一般只比汇编语言生成的目标代码效率低10%20%;,8 用C语言编写的程序可移植性好(与汇编语言相比)。,6 C语言允许直接访问物理地址,能进行位(bit)操作,可以直接对硬件

8、进行操作,能实现汇编语言的大部分功能;,5 语法限制不太严格,程序设计自由度大。例如,对数组下标越界不作检查,对变量的类型使用比较灵活。如整型量与字符型数据及逻辑型数据可通用。,九 C 语言学习中要注意的问题及学习方法,1 C语言关键字少,而且与其它高级语言类似,掌握标准C并不难。,2 C语言是基于函数的语言,C语言的大部分功能需要调用库函数去实现。,DOS下的C编译器Turbo C 2.0大约有440个函数, BC+2.0大约有500多个函数,VC+除了标准的C运行库之及C语言扩展外,还有600多个Windows API,以及VC+中的类库,Linux的 C也有很多扩展。,要掌握好库函数是不

9、太容易的。,3 C语言可以直接对硬件进行操作,因此,对计算机的硬件要有一定的了解,否则,就发挥不了C语言的这一特长。,4 C语言的指针使用极为灵活,这往往会给使用者带来困难。,5 C语言的语法不太严格,给熟练的使用者以很大的灵活性,但给初学者带来很多困难,尤其是程序的调试。学会调试程序是非常重要的。,6 学习计算机语言要多实践,学习C语言更要多实践,只有通过大量的上机实践才能真正掌握C语言。,十 其它常用高级语言,面向对象的C语言。它是在C语言的基础上增加了面向对象的内容。C+的学习比C语言更为困难。从目前的发展看,C+的应用更为普及。,1 C+语言,PASCAL语言是一种有着良好结构化特性的

10、高级语言,它是在软件危机的70年代所创造的一种完全符合结构化原则,有着严格的语法规则的高级语言。该语言在语言教学中有着良好的声誉,但在实际使用中,利用该语言开发软件并不多。所以许多人认为PASCAL 只是一种教学语言。,2 PASCAL语言,3 FORTRAN 语言,FORTRAN是最早出现的高级语言之一。它是针对科学计算而设计的一种高级语言(早期计算机的主要任务就是进行科学计算),到目前为止,FORTRAN仍主要是用于科学计算。 C语言出现后,有人给FORTRAN语言判了死刑,但事实上,在科学计算上,尤其是在大规模科学计算上,FORTRAN仍是首选的高级语言。FORTRAN 自身也在发展,目

11、前,FORTRAN已发展到90和95版本。 微机上的FORTRAN编译器也有多种,在国内最流行的是VISUAL FORTRAN 5.0及更高的版本。此外还有其它的编译器如NDP FORTRAN等,只是在国内不大流行。,4 VISUAL BASIC,是由微软公司开发的,支持WINDOWS平台下开发的BASIC语言。它支持面向对象的开发,是目前WINDOWS平台下流行的开发工具之一。,5 其它语言,在实际应用中,还有许多其它的高级语言或开发工具。一般来说,每一种高级语言或开发工具都有它的使用范围,到目前为止,还没有一种语言能包打天下。,十一 学习高级语言目的,对于计算机或电子专业来说, C语言的学

12、习有这样几个目的:,1 学会使用C语言,能用C语言编制程序。2 掌握高级语言的基本特点,为学习其它的高级语言或开发工具打下坚实的基础。同时,为后续有关课程的学习打下基础3 对计算机程序的工作过程有所了解,增强使用程序的能力,而且,在学习C语言过程中所得到的能力,很容易迁移到其它软件的使用中。,十二 C语言与后续课程的关系,对于计算机专业,C语言程序设计课程是一门核心课程,同时,它也是为后续课程的先行课。,一般来说,学习C语言,最好是先学习一门高级语言。在后续课程如“数据结构(C语言描述)”、“操作系统”、“C+或面向对象的程序设计”等课程中,都要用到C语言。因此,学习C语言,不但是学好本门课程

13、,还是学好后续有关课程的基础。,由于没有学习先行课程,刚开始学习时会遇到一定的困难,但只要坚持,多上机实践,就能学好C语言。在学习C语言时,要记住,计算机是机器,不是人,不能用人的思维方式来理解计算机。,第二章 顺序结构程序的设计,顺序结构程序是指在程序的每次执行过程中,程序中的各条语句按照在程序中的先后顺序依次执行。 每个顺序结构程序中的可执行语句在每一次程序执行的过程中,执行且只执行一次。 顺序程序是最简单的程序。,设计一个程序,首先要将问题分析清楚,然后用适当的方法将问题描述出来,再根据问题的描述编成程序,最后调试运行。,描述问题的方法很多,有各种流程图,层次图、伪代码等,更多的时候是多

14、种手段混合使用。,/* exam21.c */ /* 最简单的C程序 */#includemain() printf(“Hello,world!n”);,例2.1 最简单的C程序,这也是世界上第一个C程序。,头文件,主函数,例2.2 已知圆的半径为10,求圆的面积和周长,用计算机求解,程序如下,/* exam22.c */ /* 计算圆的面积和周长 */ #include #define pi 3.1415 / 定义符号常量 main()float area,s;area=pi*10.0*10.0;s=2*pi*10.0;printf(“面积= %f, 周长=%fn”,area,s); ,数值

15、常量,例2.3 已知圆的半径为R(R是一个可变的量),求圆的面积和周长,用计算机求解,程序如下,/* exam23.c*/ /* 计算圆的面积和周长 */ #include main()float r,area,s;scanf(“%f“, ,1、注释,2、数据说明,3、数据输入,4、数据处理,5、结果输出,例2.4 从键盘输入两个数a、b,求a除b的余数。即整除后剩下的数。,源程序代码如下:,/ exam24.c / 求两个数的余数 #include main()int a,b,c; /说明整型变量scanf (“%d,%d”, ,整除运算符,输出语句,main() int i,j,m,n;

16、i=8; j=10; m=+i; n=j+; printf(“%d,%d,%d,%d”,i,j,m,n); ,例2.5 以我国1992年工业产值为100,如果以9%的年增长率增长计算到2000年时的工业产值。,1 算法分析:,对此问题,要找出问题的数学模型。设r为年增长率,n为年数,v为第n年的总产值。 则有 v=100*(1+r)n,2 数据结构,根据算法分析,至少要用到这么几个量,年增长率、年数、第n年的总产值。而这几个量中,年增长率肯定是小数(浮点)型数据,年数是整数(整型),总产值不会是整数,应为浮点数。这些数据都要放在相应的变量中,并要进行相应的数据说明。,/ exam25.c / 计算到2000年的工业产值 #include #include main()int n;float rate,value;n=2000-1992;rate=0.09;value=100*pow(float)(1+r),(float)n);printf( “2000年的产值为%f:”,value); ,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号