第一讲 C语言概述、数据类型、运算符和表达式

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

1C语言电子教案本文档由world提供2C语言电子教案(一)第一讲第一章C语言概述第二章算法3第一章C语言概述主要内容:C语言的发展简史C语言的特点简单的C程序介绍教学方法、要求、学习方法C语言环境简介4§1.1C语言的发展简史时间名称发明者特点1960ALGOL60离硬件远,不宜编程1963CPL英国剑桥大学接近一些硬件,规模大1967BCPL英国剑桥大学较CPL简化一些1970B美国贝尔实验室过于简单,功能有限72~73C美国贝尔实验室精炼,接近硬件,功能强5§1.2C语言的特点1.语言简洁、紧凑,使用方便、灵活2.运算符丰富3.数据结构丰富4.具有结构化的控制语句5.语法限制不严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=%d\n,sum);}/*函数的说明部分*//*变量定义*/执行语句函数体注释部分说明部分:用来对函数进行说明函数体变量定义执行部分,由语句组成7C程序的一些规定1.函数名后必须跟有括号,即使空括也不能省。2.程序必须从main函数开始执行,不管main函数位置如何。3.一行可以写多个语句,一个语句也可以分写在多行,但一对双引号不能分行。4.语句最后的;是语句的一个部分,不能省略。5.可以用/*..........*/对程序加以注释,注释中的内容计算机并不执行。8C程序的上机步骤进入TC环境:从开始/程序/MS-DOS方式进入DOS方式转到E盘(E:回车)键入TC回车开始一个新程序:File/New输入并修改源程序:程序存盘:File/Save(或F2)运行程序:Run/Run(或Ctrl+F9)查看结果:Run/UserScreen(或Alt+F5)退出TC:File/Quit(Alt+X)返回Windows桌面:Exit回车说明:•程序也可以先运行后存盘,但先存盘是一个好习惯。•如果运行时程序有错误,修改后重新运行。9教学方法使用计算机、网络、多媒体和数字化技术,使得教学中各个环节用数字化方法实现。包括:数字化教学、数字化课件、数字化答疑、数字化作业、数字化考试。在多媒体数字化教室上课,采用数字化教学方式,使用数字化课件(网上下载课件、网上交作业、网上答疑)。答疑采用上机、现场答疑和网上数字化答疑相结合。10学习要求每次上课要带教材和实验指导书。每次上机要带教材、实验指导书和实验报告。每次上机前预习实验报告,对上机目的和要求要做到胸中有数。有编程的内容要事先编写好程序。上机过程中,按实验指导书的要求填写实验报告,每次实验结束时上交实验报告。独立完成作业,不可照抄作业。11考试方法上机考试——试卷在机器上——在机器上实现给定之命题——考试采用倒计时,交卷或考试时间到后由计算机自动判卷。考试时间考试安排在期末,具体时间由教务处安排。但每部分学完之后,会有不定期的阶段测验。阶段测验成绩作为平时成绩的一部分。12第二章算法主要内容:计算机的基本原理及软硬件组成计算机语言简介程序设计的过程鸡兔同笼问题分析(顺序程序设计)下棋问题分析(选择结构程序设计)100个数求和问题分析(循环结构程序设计)数列求和问题分析C语言环境简介13微型计算机硬件组成微机硬件由运算器、控制器、存储器、输入设备、输出设备五部分组成:主机外设中央处理器(CPU)内存储器外存储器:软盘、硬盘、光盘输入设备:键盘、鼠标输出设备:显示器、打印机运算器控制器微机硬件14计算机软件系统的组成●计算机软件是各种程序及文档资料的总称系统软件应用软件操作系统高级语言编译和解释系统工具软件字处理系统工资、档案管理系统CAD、CAM、CAI软件软件15各种软件的功能操作系统(简称为OS):对计算机的全部硬、软件资源进行管理、统一调度和统一分配的软件系统。是人机间界面,是计算机系统的核心,如Windows98。语言编译软件:将c=a+b;这样的高级语言的程序语句翻译成机器语言的软件,例如tc.exe。字处理软件:具有对文字进行各种各样的编辑、排版功能的软件,例如Word。16为什么要学习程序设计语言掌握了程序设计语言,才能够对计算机的工作过程有较深刻的理解。掌握了程序设计语言,才能够进行系统软件或应用软件的开发,才能成为一个计算机的高级使用者和主动使用者。掌握了程序设计语言,你可以使计算机能够做前人未能做过的工作。17程序设计语言语言就是一种约定,是对话和交流的工具。程序设计语言是人与计算机之间进行对话和交流的一种约定。程序设计语言有:机器语言、汇编语言和高级语言。18机器指令和机器语言★机器指令:能被计算机识别的二进制代码。★机器语言:机器指令的集合。因机器而异,不同机型,机器语言不同,可移植性差。★机器语言程序:用机器语言写出的程序,由0和1组成。其优点是计算机能直接识别和运行,效率高,但不易阅读和修改。19汇编语言机器语言难学难用,而且易错难改,十分枯燥无味,为了便于记忆,计算机专家们又创造了汇编语言。汇编语言是用特定的助记符号代表数字代码,帮助人们记忆,它和机器指令基本上是一一对应的。20例:计算56+43的汇编程序汇编语言程序功能及说明START:LDA,38H将38H送入累加器A中LDB,2BH将2BH送入累加器B中ADDA,B将累加器A和B的值相加后送入A中LD(48H),A将累加器A中的数值送入编号为48H的存储单元中NOP空语句HALT停止语句说明:38H表示38是十六进制数,即为十进制的562BH表示2B是十六进制数,即为十进制的43(48H)表示地址而不是常量21高级语言高级语言是用英语和人们熟悉的数学公式来表达的,因此具有较好的通用性。例:计算32+65的C程序:main(){inta,b,c;a=32;b=65;c=a+b;printf(a+b=%d\n,c);}22编译程序事实上,高级语言程序(通常称为源程序)输入计算机之后,先要被翻译成机器语言程序(通常称为目标程序),然后再执行。这个翻译工作是由一个系统软件“编译程序”完成的。不同的高级语言有不同的编译程序,如果没有C编译程序,计算机是不能运行C源程序的。对于TurboC来讲,这个“翻译”就是编译程序TC.EXE。23输入编译高级语言源程序(*.C)编译程序(TC.EXE)机器语言目标程序(*.OBJ)编译程序功能示意图24常用高级语言语言名称适用范围BASIC教学和小型应用程序的开发FORTRAN科学与工程计算程序的开发PASCAL专业教学与应用程序的开发PROLOG人工智能程序的开发COBOL商业与管理应用程序的开发FoxPro数据库管理程序的开发C中小型系统程序的开发C++面向对象程序的开发VC、VB可视化、面向对象编程语言25程序程序(Program)-是为解决某个问题用计算机语言或命令设计、编写的一系列指令的有序集合。-是人的思维活动的代码化描述。程序的顺序执行一个程序通常分为若干个具有一定独立性的程序段,这些程序段是按逻辑步骤编排执行的,只有当当前程序段执行完成后,才将控制权转交到下一个程序段并执行下一个程序段。26程序设计的基本过程对于初学者,往往把程序设计理解为简单的编制一个程序。实际上,程序设计包括多方面的内容,而编制程序只是其中一个方面。程序设计可用如下公式描述:程序设计=算法+数据结构+方法+工具程序设计的过程:★问题的分析★算法的设计★流程的描述★编写程序★调试与运行27实际问题分析抽象(数学)模型求解(算法)命令编程(流程图)调试程序(源程序)问题模型求解算法编制程序问题实现计算机求解问题步骤28设有一个程序有三个程序段,分别执行I(输入,Input)、C(计算,Calcate)和P(输出,Print)操作。执行顺序为:ICP结果数据简单程序执行举例只有“输入”了数据,才能“计算”这些数据,也只有“计算”产生了结果,才能“输出”它们。这些顺序关系是绝不能随意改变的。29流程图流程图:用图形描述问题的处理过程的工具即用一些约定的几何图形来描述算法。●流程图的符号及意义圆边框工作的开始或停止平行四边框输入或输出判断框逻辑判断或检查矩形框各种处理功能箭头线流程的路线圆圈连接点30鸡兔同笼问题算法分析问题:鸡兔同笼,共头6只,共脚16只,问鸡兔各几?数学分析:设鸡cock只,兔rabbit只,头数量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,f6→h,16→f计算cock=(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=%d\n,h,f,cock,rabbit);}/*每个C程序都要以main()开头,将程序语句写在一对花括号之间*//*定义4个变量*//*为变量h和f赋初值,即输入原始数据*//*计算鸡的数量并赋给变量cock*//*计算鸡的数量并赋给变量cock*//*输出原始数据和计算结果*/33下棋问题34下棋问题流程图开始置原始棋局向左处理1Y向左上N处理2Y向上N处理3Y向右N处理4Y处理5N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);(3)若n100,则转到(7)继续执行,否则执行(4);(4)输入一个数给“收入变量”x;(5)将x和sum的值相加,和放在变量sum中,即x+sumsum;(6)使n的值加1,即n+1n(n的值表示已累加的数据的个数);(7)打印出总和sum的值。37求100个数据之和算法流程图开始定义3个变量x,sum,nYx+sum→sumn+1→n输入x的值结束N输出sum的值0→sum0→nn10038求100个数据之和的程序main(){intx,sum,n;n=0;sum=0;while(n100){scanf(%d,&x);/*从键盘为x输入一个

1 / 47
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功