C语言电子教案_第1页
C语言电子教案_第2页
C语言电子教案_第3页
C语言电子教案_第4页
C语言电子教案_第5页
已阅读5页,还剩41页未读 继续免费阅读

下载本文档

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

文档简介

1C语言电子教案(一)第一讲第一章C语言概述第二章算法2第一章C语言概述主要内容:

C语言的发展简史

C语言的特点简单的C程序介绍教学方法、要求、学习方法

C语言环境简介3§1.1C语言的发展简史时间 名称 发明者 特点1960 ALGOL60

离硬件远,不宜编程1963 CPL 英国剑桥大学 接近一些硬件,规模大1967 BCPL 英国剑桥大学 较CPL简化一些1970 B 美国贝尔实验室 过于简单,功能有限72~73 C 美国贝尔实验室 精炼,接近硬件,功能强4§1.2C语言的特点1.语言简洁、紧凑,使用方便、灵活

2.运算符丰富

3.数据结构丰富

4.具有结构化的控制语句

5.语法限制不严

6.允许直接访问物理地址,能进行位操作

7.生成目标代码质量高,程序执行效率高

8.用C语言写的程序可移植性好5§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); }/*函数的说明部分*/

/*变量定义*/

执行语句

函数体注释部分说明部分:用来对函数进行说明函数体变量定义执行部分,由语句组成6C程序的一些规定1.函数名后必须跟有括号,即使空括也不能省。2.程序必须从main函数开始执行,不管main函数位置如何。3.一行可以写多个语句,一个语句也可以分写在多行,但一对双引号不能分行。4.语句最后的";"是语句的一个部分,不能省略。5.可以用/*..........*/

对程序加以注释,注释中的内容计算机并不执行。7C程序的上机步骤进入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<回车>

说明:程序也可以先运行后存盘,但先存盘是一个好习惯。如果运行时程序有错误,修改后重新运行。8教学方法使用计算机、网络、多媒体和数字化技术,使得教学中各个环节用数字化方法实现。包括:数字化教学、数字化课件、数字化答疑、数字化作业、数字化考试。在多媒体数字化教室上课,采用数字化教学方式,使用数字化课件(网上下载课件、网上交作业、网上答疑)。答疑采用上机、现场答疑和网上数字化答疑相结合。我的电子邮件信箱:sunnyzhangxl@教学网站网址:

欢迎同学光临教学网站,提交作业和实验报告、提出问题、建议、批评等.9学习要求每次上课要带教材和实验指导书。每次上机要带教材、实验指导书和实验报告。每次上机前预习实验报告,对上机目的和要求要做到胸中有数。有编程的内容要事先编写好程序。上机过程中,按实验指导书的要求填写实验报告,每次实验结束时上交实验报告。独立完成作业,不可照抄作业。10考试方法上机考试

——试卷在机器上

——在机器上实现给定之命题

——考试采用倒计时,交卷或考试时间到

后由计算机自动判卷。考试时间

考试安排在期末,具体时间由教务处安排。但每部分学完之后,会有不定期的阶段测验。阶段测验成绩作为平时成绩的一部分。11第二章算法主要内容:计算机的基本原理及软硬件组成计算机语言简介程序设计的过程鸡兔同笼问题分析(顺序程序设计)下棋问题分析(选择结构程序设计)

100个数求和问题分析(循环结构程序设计)

数列求和问题分析

C语言环境简介12微型计算机硬件组成微机硬件由运算器、控制器、存储器、输入设备、输出设备五部分组成:

主机外设

中央处理器

(CPU)

内存储器

外存储器:软盘、硬盘、光盘输入设备:键盘、鼠标输出设备:显示器、打印机

运算器

控制器微机硬件13计算机软件系统的组成计算机软件是各种程序及文档资料的总称

系统软件应用软件

操作系统高级语言编译和解释系统

工具软件

字处理系统工资、档案管理系统

CAD、CAM、CAI软件

软件14各种软件的功能操作系统(简称为OS):对计算机的全部硬、软件资源进行管理、统一调度和统一分配的软件系统。是人机间界面,是计算机系统的核心,如Windows98。语言编译软件:将c=a+b;这样的高级语言的程序语句翻译成机器语言的软件,例如tc.exe。字处理软件:具有对文字进行各种各样的编辑、排版功能的软件,例如Word。15为什么要学习程序设计语言掌握了程序设计语言,才能够对计算机的工作过程有较深刻的理解。掌握了程序设计语言,才能够进行系统软件或应用软件的开发,才能成为一个计算机的高级使用者和主动使用者。掌握了程序设计语言,你可以使计算机能够做前人未能做过的工作。16程序设计语言语言就是一种约定,是对话和交流的工具。程序设计语言是人与计算机之间进行对话和交流的一种约定。程序设计语言有:机器语言、汇编语言和高级语言。17机器指令和机器语言★

机器指令:能被计算机识别的二进制代码。★

机器语言:机器指令的集合。因机器而异,不同机型,机器语言不同,可移植性差。★

机器语言程序:用机器语言写出的程序,由

0和1组成。其优点是计算机能直接识别和运行,效率高,但不易阅读和修改。18汇编语言机器语言难学难用,而且易错难改,十分枯燥无味,为了便于记忆,计算机专家们又创造了汇编语言。汇编语言是用特定的助记符号代表数字代码,帮助人们记忆,它和机器指令基本上是一一对应的。19例:计算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)表示地址而不是常量20高级语言高级语言是用英语和人们熟悉的数学公式来表达的,因此具有较好的通用性。例:计算32+65的C程序:

main()

{

inta,b,c;a=32;b=65;c=a+b;printf("a+b=%d\n",c);}21编译程序事实上,高级语言程序(通常称为源程序)输入计算机之后,先要被翻译成机器语言程序(通常称为目标程序),然后再执行。这个翻译工作是由一个系统软件“编译程序”完成的。不同的高级语言有不同的编译程序,如果没有C编译程序,计算机是不能运行C源程序的。对于TurboC来讲,这个“翻译”就是编译程序

TC.EXE。22输入编译高级语言源程序(*.C)编译程序(TC.EXE)机器语言目标程序(*.OBJ)编译程序功能示意图23常用高级语言

语言名称 适用范围BASIC 教学和小型应用程序的开发FORTRAN 科学与工程计算程序的开发PASCAL 专业教学与应用程序的开发PROLOG 人工智能程序的开发COBOL 商业与管理应用程序的开发FoxPro 数据库管理程序的开发C 中小型系统程序的开发C++ 面向对象程序的开发VC、VB 可视化、面向对象编程语言24程序程序(Program)

-是为解决某个问题用计算机语言或命令

设计、编写的一系列指令的有序集合。

-是人的思维活动的代码化描述。程序的顺序执行

一个程序通常分为若干个具有一定独立性的程序段,这些程序段是按逻辑步骤编排执行的,只有当当前程序段执行完成后,才将控制权转交到下一个程序段并执行下一个程序段。25程序设计的基本过程对于初学者,往往把程序设计理解为简单的编制一个程序。实际上,程序设计包括多方面的内容,而编制程序只是其中一个方面。程序设计可用如下公式描述:

程序设计=算法+数据结构+方法+工具程序设计的过程:

★问题的分析

★算法的设计

★流程的描述

★编写程序

★调试与运行26实际问题分析抽象(数学)模型求解(算法)命令编程(流程图)调试程序(源程序)问题模型求解算法编制程序问题实现计算机求解问题步骤27设有一个程序有三个程序段,分别执行

I(输入,Input)、C(计算,Calcate)和

P(输出,Print)操作。执行顺序为:

ICP

结果

数据简单程序执行举例

只有“输入”了数据,才能“计算”这些数据,也只有“计算”产生了结果,才能“输出”它们。这些顺序关系是绝不能随意改变的。28流程图流程图:用图形描述问题的处理过程的工具即用一些约定的几何图形来描述算法。流程图的符号及意义圆边框工作的开始或停止平行四边框输入或输出判断框逻辑判断或检查矩形框各种处理功能箭头线流程的路线圆圈连接点29鸡兔同笼问题算法分析问题:鸡兔同笼,共头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赋值;再按照模型的求解结果计算鸡兔的数量;最后输出计算结果。30鸡兔同笼问题流程图开始输出cock,rabbit的值定义变量cock,rabbit,h,f6→h,16→f计算cock=(4*f-h)/2计算rabbit=(f-2*h)/2结束31鸡兔同笼问题程序所编写的程序如下: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*//*输出原始数据和计算结果*/32下棋问题

33下棋问题流程图开始置原始棋局向左处理1Y向左上N处理2Y向上N处理3Y向右N处理4Y处理5N34举例:求100个数据之和

商店结帐,要求将当天100笔收入累加

打印出总和。可以写出下面的算法:(1)将第一笔收入输入给计算机;(2)将第二笔收入输入给计算机;(3)将以上两笔收入相加;(4)将第三笔收入输入给计算机;(5)将它和前二笔收入的和相加;

……

(198)将第100笔收入输入给计算机;(199)将它和前99笔收入之和相加;(200)打印出100笔收入的总和。35求100个数据之和算法分析以上算法计算机重复执行了一些操作,引入了“循环”结构,算法可改写为:(1)定义“计数变量”n,使n的初值为零,

n=0;(2)定义“累加变量”sum,初值为零(sum=0);(3)若n<100,则转到(7)继续执行,否则执行(4);(4)输入一个数给“收入变量”x;(5)将x和sum的值相加,和放在变量sum中,

即x+sumsum;(6)使n的值加1,即n+1n(n的值表示已累加的

数据的个数);(7)打印出总和sum的值。36求100个数据之和算法流程图开始定义3个变量x,sum,nYx+sum→sumn+1→n输入x的值结束N输出sum的值0→sum0→nn<10037求100个数据之和的程序

main(){intx,sum,n;n=0;sum=0;while(n<100){scanf("%d",&x);/*从键盘为x输入一个值*/sum=sum+x;n=n+1;}printf("sum=%d\n",sum);}

38如果收入不是100笔而是1000笔,只需将条件(即步骤(3))中的n<100改为n<1000即可。算法中变量sum的值是不断改变的,在每次循环中以一个新的值(x+sum的原值)代替它的原值,然后再以sum的新值作为下一次运算的基础,再求出sum的下一次的值,如此一次次地求下去直到达到要求为止,这种方法称为“迭代”,即

x+sumsum

。sum称为迭代变量。计算机算法的最大特点就是“迭代”。利用计算机高速运算的特点,执行多次循环,通过“迭代”实现各种运算。求100个数据之和算法总结39(1)使s=0(s作为累加变量);(2)使n=1(n代表分母);(3)s+1/n

s(执行迭代,s为迭代变量);(4)n+1

n;(5)若n≤100,转去执行(3)以及其后的操作;

否则执行(6);(6)打印s的值(即所求之总和)。举例:级数求和算法分析可以抽象出下面的算法:40级数求和流程图开始定义3个变量x,s,n结束N输出s

温馨提示

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

评论

0/150

提交评论