C语言的基本控制结构.ppt_第1页
C语言的基本控制结构.ppt_第2页
C语言的基本控制结构.ppt_第3页
C语言的基本控制结构.ppt_第4页
C语言的基本控制结构.ppt_第5页
已阅读5页,还剩54页未读 继续免费阅读

下载本文档

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

文档简介

第2章C语言的基本控制结构,算法进行某一工作的方法和步骤称为算法算法的组成要素操作算术运算、关系运算、逻辑运算、函数运算等控制结构顺序结构选择结构循环结构,算法的图形表示,流程图图形元素,算法的描述,2.1顺序结构,语句格式:常见表达式包含:算术运算、关系运算、逻辑运算表达式,赋值表达式,函数调用表达式,顺序结构是指按照语句的书写顺序依次执行每条语句的语句结构,2.2选择结构,应用问题根据不同条件,完成不同的计算处理语言支持条件判断的支持关系运算、逻辑运算选择结构选择结构的描述对选择条件的描述对处理分支的描述,例1:分析整数绝对值的计算过程。,#includemain()intinput,output;printf(“nEnterainteger:”);scanf(“%d”,条件:关系运算表达式,条件分支(真、假),#includemain()intx,y;printf(“请输入两个整数:”);scanf(“%d%d”,说明x和y是整数,条件:关系运算表达式,条件分支(真、假),例2:要求:输入两个整数,进行比较;输出比较结果(“等于”,“大于”或“小于”),main()intx,y;printf(“Enterx:”);scanf(“%d”,算法:s1:输入一个整数s2:若x0,执行yxs3:若x=0,执行y2s4:若x小于=小于等于b=c等价于(ab)=cab!=bb)!=(ba值为0(假)(a的ASCII码是97)z=(1+3)=0printf(nEnter3integersseparatedbyspace:);scanf(%d%d%d,if语句的嵌套使用,if语句的嵌套问题:if语句的分支形式,可以嵌套,但容易产生问题。问题出在条件后直接又出现分支语句。例:if(x0)if(y1)z=1;elsez=2;/*这个部分属于哪个if?*/C规定:每个else部分总与它前面最近的(没有配对的)if配对。,上例写法不好,易被误解。如果想else部分属于外层的if,可以采用下面加花括号的写法:if(x0)if(y1)z=1;elsez=2;,多情况选择的实现,题目:输入一个格式为x+y的二元算术运算表达式,输出这个表达式的计算结果。,switch的使用,#includemain()floatx,y;charop;scanf(“%f%c%f”,多路选择,结束case分支,程序读解,新的语言现象switch语句:按照条件表达式求值结果,决定转向哪个case的执行case分支:当条件式的值等于开关值(必须是常量)时,执行default分支:在所有case不匹配时,执行(可缺省)break语句:用于结束case分支的执行,转向switch后续语句的执行,switch语句,一般形式:switch(e)/*条件式*/casec1:/*常量*/stmt1。casecnstmtndefault:stmt0/*语句组*/*语句组中常使用break*/,注意:switch语句的每一个case判断,都只负责指明流程分支的入口点,而不负责指定分支的出口点,出口点由编程人员用相应的跳转语句来表明。break是流程跳转语句。,2.3循环结构,考虑计算任务从键盘读入5个整数,输出它们的和;设计思路设置一个整型变量,保存整数的和设置另一个变量,保存刚读入的整数每读入一个整数,将它累加到整数和实现需求为5个整数的处理提供循环控制,程序例,为实现循环,设置变量i,保存循环次数(计数器)。while语句检查条件i5控制循环终止循环条件成立时执行循环体中语句循环条件不成立时执行后面的语句,#includemain()intsum,x;inti;/*循环变量*/sum=0;i=0;while(i5)scanf(“%d”,循环语句,格式while(条件表达式)语句/*循环体*/控制逻辑表示为流程图循环主要用于在指定条件下重复执行某些操作的情形,上例的另一种实现方法(实现2),讨论内存空间的使用实现1:3个整型变量实现2:6个整型变量算法实现1:存储概念实现2:数学概念程序运行和数学计算区别:存储器和赋值的概念提倡用实现1方法,#includemain()intx1,x2,x3,x4,x5,sum;scanf(“%d%d%d%d%d”,例2-5:从键盘输入10个整数,计算它们的平均值。,#includemain()intsum=0,i=1;intx;/*保存当前输入的数据*/printf(“nEnter10integers:”);while(i=10)scanf(“%d”,还可写成:(double)sum/(i-1),while语句的特点,表达式为“真”则执行循环体一次;为“假”则结束循环先判断表达式的值,后执行循环体循环体内应有改变循环条件的语句,并且有机会执行如果循环中使用的某些变量需要有初始值,则初始值的赋值应在while语句之前完成,for语句,语法格式:for(初值表达式;条件表达式;改变量表达式)/*循环体*/,只在循环开始时计算一次,在每次执行循环体之前先计算,再根据计算结果决定是否执行循环体,在循环体执行完一次后计算,用于修改循环条件,for语句三要素初值条件改变量执行过程,for循环常见的应用形式,for(循环变量赋初值;循环条件;循环变量增量)例如s=0;for(i=1;i=100;i+)s=s+i;可以计算1+2+3+100,结果在s中再如t=1;n=5;for(i=1;i=ch,要点计数器num要赋初始值,且初始值为0只有符合条件的字符才计数判输入是否为回车符决定是否继续循环,三种循环的比较,共同点:都具备三要素不同点for、while的循环体有可能一次也不执行do-while循环体中的语句至少执行一次do.while语句的最后要有一个分号,2.4循环控制语句,break语句出现在循环体中,用于终止循环(最内层);出现在switch语句中,用于终止多路选择;continue语句出现在循环体中,用于终止循环体的本次执行(最内层)goto语句gotolabel;转向执行label指定的语句label:定义在某个语句前;破坏程序的结构化,不推荐使用;,break语句,break语句用来从循环体内跳出,即提前结束循环。main()inti;for(i=100;i=0;i-)if(i%13)=0)break;printf(“%dn”,i);,结果:91,continue语句,continue语句只能用在循环语句中,遇到continue语句,则结束这次循环,结果:7910,main()intx;for(x=7;x=等于不等大于小于大于等于小于等于逻辑运算for(y=2001;y2100;y+)/*枚举每年*/if(0!=y%4)continue;/*不能整除4*/if(0=y%400)printf(“%dn”,y);/*能整除400*/elseif(0!=y%100)printf(“%dn”,y);/*能整除4不能整除100*/,第二章作业,阅读第一章、第二章练习题5455页2、355页5、6、7、10上机作业P55页1、P56页2,选作上机题,编写程序:输入一位同学的生日(年:y0、月:m0、日:d0),并输入当前的日期(年:y1、月:m1

温馨提示

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

评论

0/150

提交评论