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

下载本文档

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

文档简介

第2章C语言的基本控制结构,2.3循环结构,2.2选择结构,2.1顺序结构,2.1顺序结构,顺序结构:按照语句的书写顺序依次执行每条语句。,语句:,三.表达式语句(操作语句),a=3a=3;,一.流程控制语句,二.函数调用语句:如printf();,i=i+1i=i+1;,i+;,x+y;,四.空语句;,五.复合语句z=x+y;t=z/100;printf(“%f”,t);,此处没有分号,赋值运算符与赋值表达式,赋值运算符:=右结合,简单赋值运算:变量=表达式,过程:计算、转换、赋值,自反算术赋值运算(复合赋值运算),+=自反加赋值-=自反减赋值*=自反乘赋值/=自反除赋值%=自反模赋值,如:a+=3a=a+3,x*=y+8x=x*(y+8),多重赋值运算,a=(b=5),a=b=5,a=5+(c=6),c的值为6,a的值为11,表达式的值为11,2.2选择结构,选择结构是指根据某些数据的取值或计算结果选取不同操作的处理方式。选择结构的描述由两个基本部分组成,一是对选择条件的描述;二是对处理分支的描述。,2.2.1关系运算与逻辑运算,关系运算符左结合,关系表达式,a=bc,用关系运算符将两个表达式连接起来的式子,优先级:算术关系赋值高低,a=(bc),a=bb)=c,d=ab,d的值为1,f=abc,ab的值为1,1c的值为0,f的值为0,值为1,逻辑运算符,printf(“Enteracharacter:”);c=getchar();if(c=0,if(条件1)语句1elseif(条件2)语句2elseif(条件m)语句melse语句n,格式:switch(表达式)case常量1:语句序列break;case常量2:语句序列break;case常量n:语句序列break;default:语句序列break;,break的作用:终止当前语句的执行,跳出switch结构,首先计算表达式,将该值与每个case后的常量进行比较;如果等于某个常量,则执行该case后的语句序列,直到switch结束;如果该值与每个case常量都不相同,则执行default后的语句序列。,2.2.3多路选择和switch语句,每个case后面的常量不能相同。,例:读入17之间的某个数,输出表示一星期中相应某一天的单词。,#includemain()intnumber;printf(“Enterintnumber:”);scanf(“%d”,#includemain()charc;scanf(“%c”,break,例:判断由键盘输入的字符是数字、字母,还是空格。,允许几种case执行相同的语句序列,#includemain()doublea,b,c;charop;printf(“nEnteraexpression”);scanf(“%lf%c%lf”,P41例3:输入一个格式为x+y的二元算术运算表达式,输出这个表达式的计算结果。,Enteraexpression4.3-2.04.300000-2.000000=2.300000,例4(自学):通过键盘读取两个复数和运算符,完成复数运算的操作,并输出计算的结果。,#includemain()doublea,b,c,d,r,i,t;charop;/*保存运算符*/printf(“nEnterthefirstcomplexnumber:”);scanf(“%lf%lf”,case+:r=a+c;i=b+d;break;case-:r=ac;i=bd;break;case*:r=a*cb*d;i=b*c+a*d;break;case/:t=c*cd*d;if(t=0)printf(“Thedenominatoris0.n”);return0;r=(a*c+b*d)/t;i=(b*ca*d)/t;break;default:printf(“Invalidationoperator.n”);return0;,2.3循环结构,2.3.1while语句格式:while(),例:求,#includevoidmain()inti,sum=0;i=1;while(i=100)sum=sum+i;i+;printf(“%d”,sum);,注意:循环体为多个语句时,必须用大括号括起来构成复合语句,否则循环范围只到while后面的第一个分号处。,P45例5:从键盘输入10个整数,计算它们的平均值,#includemain()intsum=0,i=1;intx;/*保存当前输入的数据*/printf(“nEnter10integers:”);while(i=10)scanf(“%d”,2.3.2for循环语句,格式:for(初值表达式;条件表达式;增量表达式)循环体语句,1,2,3,4,5,真,假,初值表达式:给循环变量赋初值。条件表达式:循环的条件,决定循环是否继续。增量表达式:改变循环变量的值,给循环变量增加一个定量(步长)。,main()inti,n,sum=0;scanf(“%d”,用while实现:i=1;while(i=n)sum=sum+i;i+;,例求,P47例6:从键盘读入5个字符,找出其中ASCII值最大的字符,并将该字符输出10次。,#includemain()inti,x,max=0;for(i=0;imax)max=x;for(i=0;i10;i+)putchar(max);,#include#defineN10main()intscore,i,max,min;max=0;min=100;floatsum=0;for(i=1;imax)max=score;if(scoremin)min=score;printf(“Canceledmaxscore:%dn”,max);printf(“Canceledminscore:%dn”,min);printf(“Averagescore:%fn”,(sum-max-min)/(N-2);,大奖赛评分程序:去掉一个最高分和一个最低分,计算平均分。,说明:,1.for(;条件表达式;)表达式1、3可省,但分号不能省,2.i=1;for(;i=n;i+),for(i=1;i=n;i+),3.表达式1、3省略i=1;for(;i=n;)sum=sum+i;i+;,2.3.3dowhile语句格式:do循环体语句while(条件表达式);,例求,main()inti,sum=0;i=1;dosum=sum+i;i+;while(i=ch,例:输入一串数字,要求以相反的顺序将它们输出,#include“stdio.h”main()intnumber,right;printf(“Enteryournumber:n”);scanf(“%d”,执行情况:Enteryournumber:1234554321第二次:Enteryournumber:00,P49例8:输入一个整数n,打印输出一个由n行字符星号*组成的等边三角形;例如,当输入4时,输出如下所示的三角形:*行号1空格数:3星号数:1*_*行号2空格数:2星号数:2*_*_*行号3空格数:1星号数:3*_*_*_*行号4空格数:0星号数:4行号i空格数:n-i星号数:i,#includemain()intn,i,j;printf(“Enterthesideofthetriangle:”);scanf(“%d”,*_*_*_*_*_*_*,第i行:空格数:n-i星号数:i,语法小结分支结构,1.if-else语句,若:else分结构为空,else分结构及else可省变为:if(条件)语句,if(表达式)语句1(if分结构)else语句2(else分结构),2.switch结构,switch(表达式)case常量表达式1:语句表列break;case常量表达式2:语句表列break;case常量表达式n:语句表列break;default:语句表列break;,语法小结for循环语句的语法规则,for(表达式1;表达式2;表达式3)循环体表达式1:用于给定循环变量的初值表达式2:用于决定是否还继续循环执行表达式3:用于改变循环变量的值,思考?循环体有可能一次都不执行吗?,while循环

温馨提示

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

评论

0/150

提交评论