第一讲 C语言概述、数据类型、运算符和表达式_第1页
第一讲 C语言概述、数据类型、运算符和表达式_第2页
第一讲 C语言概述、数据类型、运算符和表达式_第3页
第一讲 C语言概述、数据类型、运算符和表达式_第4页
第一讲 C语言概述、数据类型、运算符和表达式_第5页
已阅读5页,还剩42页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、1,C语言电子教案,本文档由world提供,2,C语言电子教案(一),第一讲第一章C语言概述第二章算法,3,第一章C语言概述,主要内容:C语言的发展简史C语言的特点简单的C程序介绍教学方法、要求、学习方法C语言环境简介,4,1.1C语言的发展简史,时间名称发明者特点1960ALGOL60离硬件远,不宜编程1963CPL英国剑桥大学接近一些硬件,规模大1967BCPL英国剑桥大学较CPL简化一些1970B美国贝尔实验室过于简单,功能有限7273C美国贝尔实验室精炼,接近硬件,功能强,5,1.2C语言的特点,1.语言简洁、紧凑,使用方便、灵活2.运算符丰富3.数据结构丰富4.具有结构化的控制语句5

2、.语法限制不严6.允许直接访问物理地址,能进行位操作7.生成目标代码质量高,程序执行效率高8.用C语言写的程序可移植性好,6,1.3简单的C程序介绍,C程序的构成:1.一个C程序由若干个函数组成,其中要有而且只能有一个main函数,main后面必须跟一对圆括号。2.每个函数由二个部分组成,如:求两个整数之和的C程序:main()inta,b,sum;a=123;b=248;sum=a+b;printf(sum=%dn,sum);,/*函数的说明部分*/*变量定义*/执行语句,函数体,注释部分,说明部分:用来对函数进行说明,函数体,变量定义,执行部分,由语句组成,7,C程序的一些规定,1.函数名

3、后必须跟有括号,即使空括也不能省。2.程序必须从main函数开始执行,不管main函数位置如何。3.一行可以写多个语句,一个语句也可以分写在多行,但一对双引号不能分行。4.语句最后的;是语句的一个部分,不能省略。5.可以用/*.*/对程序加以注释,注释中的内容计算机并不执行。,8,C程序的上机步骤,进入TC环境:从开始/程序/MS-DOS方式进入DOS方式转到E盘(E:)键入TC开始一个新程序:File/New输入并修改源程序:程序存盘:File/Save(或F2)运行程序:Run/Run(或Ctrl+F9)查看结果:Run/UserScreen(或Alt+F5)退出TC:File/Quit(

4、Alt+X)返回Windows桌面:Exit,说明:程序也可以先运行后存盘,但先存盘是一个好习惯。如果运行时程序有错误,修改后重新运行。,9,教学方法,使用计算机、网络、多媒体和数字化技术,使得教学中各个环节用数字化方法实现。包括:数字化教学、数字化课件、数字化答疑、数字化作业、数字化考试。在多媒体数字化教室上课,采用数字化教学方式,使用数字化课件(网上下载课件、网上交作业、网上答疑)。答疑采用上机、现场答疑和网上数字化答疑相结合。,10,学习要求,每次上课要带教材和实验指导书。每次上机要带教材、实验指导书和实验报告。每次上机前预习实验报告,对上机目的和要求要做到胸中有数。有编程的内容要事先编

5、写好程序。上机过程中,按实验指导书的要求填写实验报告,每次实验结束时上交实验报告。独立完成作业,不可照抄作业。,11,考试方法,上机考试试卷在机器上在机器上实现给定之命题考试采用倒计时,交卷或考试时间到后由计算机自动判卷。考试时间考试安排在期末,具体时间由教务处安排。但每部分学完之后,会有不定期的阶段测验。阶段测验成绩作为平时成绩的一部分。,12,第二章算法,主要内容:计算机的基本原理及软硬件组成计算机语言简介程序设计的过程鸡兔同笼问题分析(顺序程序设计)下棋问题分析(选择结构程序设计)100个数求和问题分析(循环结构程序设计)数列求和问题分析C语言环境简介,13,微型计算机硬件组成,微机硬件

6、由运算器、控制器、存储器、输入设备、输出设备五部分组成:,主机外设,中央处理器(CPU)内存储器,外存储器:软盘、硬盘、光盘输入设备:键盘、鼠标输出设备:显示器、打印机,运算器控制器,微机硬件,14,计算机软件系统的组成,计算机软件是各种程序及文档资料的总称,系统软件应用软件,操作系统高级语言编译和解释系统工具软件,字处理系统工资、档案管理系统CAD、CAM、CAI软件,软件,15,各种软件的功能,操作系统(简称为OS):对计算机的全部硬、软件资源进行管理、统一调度和统一分配的软件系统。是人机间界面,是计算机系统的核心,如Windows98。,语言编译软件:将c=a+b;这样的高级语言的程序语

7、句翻译成机器语言的软件,例如tc.exe。,字处理软件:具有对文字进行各种各样的编辑、排版功能的软件,例如Word。,16,为什么要学习程序设计语言,掌握了程序设计语言,才能够对计算机的工作过程有较深刻的理解。掌握了程序设计语言,才能够进行系统软件或应用软件的开发,才能成为一个计算机的高级使用者和主动使用者。掌握了程序设计语言,你可以使计算机能够做前人未能做过的工作。,17,程序设计语言,语言就是一种约定,是对话和交流的工具。程序设计语言是人与计算机之间进行对话和交流的一种约定。程序设计语言有:机器语言、汇编语言和高级语言。,18,机器指令和机器语言,机器指令:能被计算机识别的二进制代码。机器

8、语言:机器指令的集合。因机器而异,不同机型,机器语言不同,可移植性差。机器语言程序:用机器语言写出的程序,由0和1组成。其优点是计算机能直接识别和运行,效率高,但不易阅读和修改。,19,汇编语言,机器语言难学难用,而且易错难改,十分枯燥无味,为了便于记忆,计算机专家们又创造了汇编语言。汇编语言是用特定的助记符号代表数字代码,帮助人们记忆,它和机器指令基本上是一一对应的。,20,例:计算5643的汇编程序,汇编语言程序功能及说明START:LDA,38H将38H送入累加器A中LDB,2BH将2BH送入累加器B中ADDA,B将累加器A和B的值相加后送入A中LD(48H),A将累加器A中的数值送入编

9、号为48H的存储单元中NOP空语句HALT停止语句,说明:38H表示38是十六进制数,即为十进制的562BH表示2B是十六进制数,即为十进制的43(48H)表示地址而不是常量,21,高级语言,高级语言是用英语和人们熟悉的数学公式来表达的,因此具有较好的通用性。例:计算3265的C程序:,main()inta,b,c;a=32;b=65;c=a+b;printf(a+b=%dn,c);,22,编译程序,事实上,高级语言程序(通常称为源程序)输入计算机之后,先要被翻译成机器语言程序(通常称为目标程序),然后再执行。这个翻译工作是由一个系统软件“编译程序”完成的。不同的高级语言有不同的编译程序,如果

10、没有C编译程序,计算机是不能运行C源程序的。对于TurboC来讲,这个“翻译”就是编译程序TC.EXE。,23,输入,编译,编译程序功能示意图,24,常用高级语言,语言名称适用范围BASIC教学和小型应用程序的开发FORTRAN科学与工程计算程序的开发PASCAL专业教学与应用程序的开发PROLOG人工智能程序的开发COBOL商业与管理应用程序的开发FoxPro数据库管理程序的开发C中小型系统程序的开发C+面向对象程序的开发VC、VB可视化、面向对象编程语言,25,程序,程序(Program)-是为解决某个问题用计算机语言或命令设计、编写的一系列指令的有序集合。-是人的思维活动的代码化描述。程

11、序的顺序执行一个程序通常分为若干个具有一定独立性的程序段,这些程序段是按逻辑步骤编排执行的,只有当当前程序段执行完成后,才将控制权转交到下一个程序段并执行下一个程序段。,26,程序设计的基本过程,对于初学者,往往把程序设计理解为简单的编制一个程序。实际上,程序设计包括多方面的内容,而编制程序只是其中一个方面。程序设计可用如下公式描述:程序设计=算法+数据结构+方法+工具程序设计的过程:问题的分析算法的设计流程的描述编写程序调试与运行,27,实际问题,分析抽象(数学),模型求解(算法),命令编程(流程图),调试程序(源程序),问题模型,求解算法,编制程序,问题实现,计算机求解问题步骤,28,设有

12、一个程序有三个程序段,分别执行I(输入,Input)、C(计算,Calcate)和P(输出,Print)操作。执行顺序为:ICP,简单程序执行举例,只有“输入”了数据,才能“计算”这些数据,也只有“计算”产生了结果,才能“输出”它们。这些顺序关系是绝不能随意改变的。,29,流程图,流程图:用图形描述问题的处理过程的工具即用一些约定的几何图形来描述算法。,流程图的符号及意义圆边框工作的开始或停止平行四边框输入或输出判断框逻辑判断或检查矩形框各种处理功能箭头线流程的路线圆圈连接点,30,鸡兔同笼问题算法分析,问题:鸡兔同笼,共头6只,共脚16只,问鸡兔各几?,数学分析:设鸡cock只,兔rabbi

13、t只,头数量h,脚数量f,则有下列方程:cock+rabbit=h2*cock+4*rabbit=f,模型求解:计算机不会解方程,而需要对模型进行求解。应分别求出鸡兔的数量与头、脚数量之关系,即抽象出下列方程:cock=(4*h-f)/2rabbit=(f-2*h)/2,算法分析:先定义2个变量cock和rabbit分别存放鸡、兔的数量,定义2个变量h和f分别存放和头脚数量;然后输入原始数据,即为h和f赋值;再按照模型的求解结果计算鸡兔的数量;最后输出计算结果。,31,鸡兔同笼问题流程图,开始,输出cock,rabbit的值,定义变量cock,rabbit,h,f,6h,16f,计算cock=

14、(4*f-h)/2,计算rabbit=(f-2*h)/2,结束,32,鸡兔同笼问题程序,所编写的程序如下:main()intcock,rabbit,h,f;h=6;f=16;cock=(4*h-f)/2;rabbit=(4*h-f)/2;printf(h=%d,f=%d,cock=%d,rabbit=%dn,h,f,cock,rabbit);,/*每个C程序都要以main()开头,将程序语句写在一对花括号之间*/*定义4个变量*/*为变量h和f赋初值,即输入原始数据*/*计算鸡的数量并赋给变量cock*/*计算鸡的数量并赋给变量cock*/*输出原始数据和计算结果*/,33,下棋问题,34,下

15、棋问题流程图,开始,35,举例:求100个数据之和,商店结帐,要求将当天100笔收入累加打印出总和。可以写出下面的算法:(1)将第一笔收入输入给计算机;(2)将第二笔收入输入给计算机;(3)将以上两笔收入相加;(4)将第三笔收入输入给计算机;(5)将它和前二笔收入的和相加;(198)将第100笔收入输入给计算机;(199)将它和前99笔收入之和相加;(200)打印出100笔收入的总和。,36,求100个数据之和算法分析,以上算法计算机重复执行了一些操作,引入了“循环”结构,算法可改写为:(1)定义“计数变量”n,使n的初值为零,即n=0;(2)定义“累加变量”sum,初值为零(sum=0);(

16、3)若n100,则转到(7)继续执行,否则执行(4);(4)输入一个数给“收入变量”x;(5)将x和sum的值相加,和放在变量sum中,即x+sumsum;(6)使n的值加1,即n+1n(n的值表示已累加的数据的个数);(7)打印出总和sum的值。,37,求100个数据之和算法流程图,开始,38,求100个数据之和的程序,main()intx,sum,n;n=0;sum=0;while(n100)scanf(%d,39,如果收入不是100笔而是1000笔,只需将条件(即步骤(3)中的n100改为n1000即可。算法中变量sum的值是不断改变的,在每次循环中以一个新的值(x+sum的原值)代替它

17、的原值,然后再以sum的新值作为下一次运算的基础,再求出sum的下一次的值,如此一次次地求下去直到达到要求为止,这种方法称为“迭代”,即x+sumsum。sum称为迭代变量。计算机算法的最大特点就是“迭代”。利用计算机高速运算的特点,执行多次循环,通过“迭代”实现各种运算。,求100个数据之和算法总结,40,(1)使s=0(s作为累加变量);(2)使n=1(n代表分母);(3)s+1/ns(执行迭代,s为迭代变量);(4)n+1n;(5)若n100,转去执行(3)以及其后的操作;否则执行(6);(6)打印s的值(即所求之总和)。,举例:级数求和算法分析,可以抽象出下面的算法:,41,级数求和流程图,开始,N,Y,42,级数求和程序,main()floats,n;n=1.0;s=0;dos=s+1/n;n=n+1;while(n=100);printf(s=%fn,s);,43,举例:求y/x之值的算法分析,例如:描述计算并输出z=y/x的流程,可以用自然语言描述如下:(1)输入x,y的值。(2)判断x是否为0:若x=0,则输出错误信息;否则将y/xz后输出z。,44,求y/x之值的算法流程图,开始,Y,N,45,求y/x之值的程序,main()floatx,y,z;scanf(%f%f,/*注意先输入后计算*/,46,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论