电大C语言程序设计 第章 流程控制语句_第1页
电大C语言程序设计 第章 流程控制语句_第2页
电大C语言程序设计 第章 流程控制语句_第3页
电大C语言程序设计 第章 流程控制语句_第4页
电大C语言程序设计 第章 流程控制语句_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

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

文档简介

《C语言程序设计》计算机科学与技术专业本科第3章流程控制语句

(一)教学内容1.if语句的定义格式和作用;2.switch语句的定义格式和作用;3.for语句的定义格式和作用;4.while语句的定义格式和作用;5.do---while语句的定义格式和作用;6.continue和break语句的定义格式和作用;7.return和goto语句的定义格式和作用。第3章流程控制语句

(二)教学要求理解:各种语句的定义格式;应用:分析程序,按照解决问题的需要编写出相应程序。第3章流程控制语句3.1流程控制语句概述1.流程控制:控制语句执行的顺序2.流程控制的方式(三种)

①顺序控制

②条件分支控制

③循环控制3.程序结构的分类

①顺序结构

②条件分支结构:由if语句和switch语句实现。

③循环结构:由while语句、for语句和do…while语句实现。第3章流程控制语句3.2if语句1.if语句格式(设p为条件表达式,s为语句)格式1:ifp

s;N-S图

Y

PNS第3章流程控制语句3.2if语句1.if语句格式(设p为条件表达式,s为语句)格式2:ifp

s1;

else

s2;N-S图

Y

PNS1S2第3章流程控制语句3.2if语句2.语句执行过程3.语句格式举例

(1)if(x!=-1)c++;

(2)if(x<=a)s1+=x;elses2+=x;

(3)if(grade<0||grade>100)printf(“error!\n”);

(4)if(x){y=3*x+1;z=sqrt(fabs(x)+2);}else{y=6;z=y*pow(y,4)-3;}第3章流程控制语句3.2if语句4.if语句嵌套c++规定,else总是和其前面最近的尚未配对的且可见的if配对。(1)if(p1)if(p2)s1elses2

(2)if(p1){if(p2)s1s2}elsep3

(3)if(p1)s1

elseif(p2)s2

elses3第3章流程控制语句3.2if语句5.程序举例程序3_1程序3_2程序3_36.应用编程举例例3_1编写一个程序,判断从键盘输入的任一个年份是否为公历的闰年。公历闰年的计算方法是:若一个年份能够被4整除而不能被100整除的是闰年,若一个年份能够被400整除的也是闰年。例3_2编写一个程序,求一元二次方程ax2+bx+c=0的实数根。第3章流程控制语句3.3switch语句1.语句格式格式1(不带break语句)

switch(表达式)

{case常量表达式1:语句1;

case常量表达式2:语句2;

case常量表达式n:语句n;

[default:语句n+1;]}第3章流程程控制语语句3.3switch语句1.语句格式式例:#include<iostream.h>voidmain(){intdayOfTheWeek;cin>>dayOfTheWeek;switch(dayOfTheWeek){case0:cout<<“Sunday";case1:cout<<“Monday";case2:cout<<““Tuesday";case3:cout<<““Wednesday";case4:cout<<“Thursday";case5:cout<<““Friday";case6:cout<<“Saturday";default:cout<<“Unknowweekday";}}第3章流流程控控制语语句3.3switch语句1.语句格格式格式2(带break语句)switch(表达式式){case常量表表达式式1:语句句1;break;case常量表表达式式2:语句句2;break;…case常量表表达式式n:语句句n;break;[default:语句n+1;]}第3章流流程控控制语语句3.3switch语句1.语句格格式例:#include<iostream.h>voidmain(){intdayOfTheWeek;cin>>dayOfTheWeek;switch(dayOfTheWeek){case0:cout<<““Sunday";break;case1:cout<<““Monday";break;case2:cout<<“Tuesday";break;case3:cout<<““Wednesday";break;case4:cout<<““Thursday";break;case5:cout<<“Friday";break;case6:cout<<““Saturday";break;default:cout<<“Unknowweekday";}}第3章流流程控控制语语句3.3switch语句2.语句执执行过过程3.语句格格式举举例p68.c4.程序举举例程程序序3_4程序3_5程序3_65.应用编编程举举例例例3_3编写一一个程程序,,要求求把从从键盘盘上输输入的的一个个0~15的整数数转换换为一一位16进制数数后输输出。。第3章流流程控控制语语句3.4for语句1.语句格格式for(表达式式1;表达式式2;表达式式3)语句说明::表表达式式1-----循环变变量赋赋初值值表表达达式2-----循环结结束条条件表达式式3-----循环变变量增增值第3章流流程控控制语语句3.4for语句2.语句执执行过过程第3章流流程控控制语语句3.4for语句3.语句格格式举举例(1)for(i=1;i<10;i++)printf(““%d”,i);(2)for(i=1;i++<=1000;);(3)for(i=0,y=0;i<n;i++){scanf(““%d”,&x);y+=x;}(4)for(;b;a=b,b=r)r=a%b;(5)for(k=20;k!=0;k--){a=rand()%100;printf(“%d””,a);if(a%2)c1++;elsec2++;}第3章流流程控控制语语句3.4for语句4.语句嵌嵌套(1)for(i=1;i<=5;i++)for(j=1;j<=6;j++)s+=i*j;(2)for(i=1;i<=5;i++){for(j=1;j<=i;j++)printf(“%c””,’’*’’);printf(““\n”);}(3)for(i=0;i<m;i++){for(j=0;j<n;j++)if(aa[i][j]>max){max=aa[i][j];row=i;col=j;}第3章流流程控控制语语句3.4for语句5.程序举举例程序3_7程序3_8程序3_9程序3_106.应用编编程举举例例3_4:编一一个程程序计计算1+22+42+62+…+502的值。。例3_5:已知知一组组实验验数据据为3.62,2.93,3.16,3.73,2.86,3.40,2.86,3.07,3.29,3.24,编一程程序计计算其其平均均值、、方差差和均均方差差,要要求每每一结结果只只保留留两位位小数数。第3章流流程控控制语语句3.4for语句6.应用编编程举举例例3_5:假设设平均均值、、方差差和均均方差差用变变量v,f和t表示,,则有有:第3章流流程控控制语语句3.4for语句6.应用编编程举举例例3_6:由勾勾股定定理可可知,,在一一个直直角三三角形形中,,两条条直角角边a和b与斜边边c的关系系为a2+b2=c2,编一程程序求求出每每条直直角边边均不不大于于30的所有有整数数解。。如(3,4,5),(5,12,13)都是解解。例3_7:编一一程序序求出出2~99之间的的所有有素数数。第3章流流程控控制语语句3.5while语句1.语句格格式格式::while(表达式式)语句2.执行过过程第3章流流程控控制语语句3.5while语句3.格式举举例(1)while(x<10){printf(““重输x的值::”);scanf(“%d””,&x);}(2)while(i<n&&x!=a[i])i++;(3)while(i++<N){x=rand()%100;if(x%2==0)c2++;if(x%3==0)c3++;if(x%5==0)c5++;}第3章流流程控控制语语句3.5while语句4.程序举举例程序3_11程序3_12程序3_135.应用编编程举举例例3_8编一个个程序序求出出满足足不等等式的的最小小n值。第3章流流程控控制语语句3.5while语句5.应用编编程举举例例3_9有一家家企业业,若若年产产值平平均增增长率率分别别按2%,4%,6%,…,20%计算,,问分分别需需要经经过多多少年年才能能使年年产值值翻一一番。。分分析::假定定把当当年的的年产产值定定为1个单位位,则则翻一一番就就为2。设年年产值值平均均增长长率为为x,经过过的年年数为为n,n年后的的产值值为y,则y的计算算公式式为y=(1+x)n第3章流流程控控制语语句3.6do--while语句1.语句格格式格式::do语句while(表达式式);2.执行过过程第3章流流程控控制语语句3.6do--while语句3.格式举举例(1)doi++;while(x[i]<y);(2)do{scanf(““%d”,&x);s+=x;}while(--n>0);(3)do{intx=rand()%98+2;inty=(int)(sqrt(x)+1e-5);for(i=2;i<=y;i++)if(x%i==0)break;if(i>y){n++;printf(““%disprime\n””,x);}}while(n<5);第3章流流程控控制语语句3.6do--while语句4.程序举举例程序3_14程序3_155.应用编编程举举例例3_10编一个个程序序把从从键盘盘上输输入的的一个个十进进制整整数转转换为为对应应的十十六进进制数数字串串后输输出。。例3_11编一个个程序序利用用牛顿顿法求求解方方程ex+3x-2的根,,要求求两相相邻近近似根根之差差的绝绝对值值不大大于0.001。第3章流流程控控制语语句3.7跳转类类语句句跳转类类语句句包括括goto,continue,break和return四种语语句。。1.goto语句语句格格式::goto<语句标标号>;功能::将程程序的的执行行转

温馨提示

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

评论

0/150

提交评论