程序结构和流程控制语句Word文档下载推荐.docx

上传人:b****3 文档编号:7797241 上传时间:2023-05-09 格式:DOCX 页数:33 大小:173.38KB
下载 相关 举报
程序结构和流程控制语句Word文档下载推荐.docx_第1页
第1页 / 共33页
程序结构和流程控制语句Word文档下载推荐.docx_第2页
第2页 / 共33页
程序结构和流程控制语句Word文档下载推荐.docx_第3页
第3页 / 共33页
程序结构和流程控制语句Word文档下载推荐.docx_第4页
第4页 / 共33页
程序结构和流程控制语句Word文档下载推荐.docx_第5页
第5页 / 共33页
程序结构和流程控制语句Word文档下载推荐.docx_第6页
第6页 / 共33页
程序结构和流程控制语句Word文档下载推荐.docx_第7页
第7页 / 共33页
程序结构和流程控制语句Word文档下载推荐.docx_第8页
第8页 / 共33页
程序结构和流程控制语句Word文档下载推荐.docx_第9页
第9页 / 共33页
程序结构和流程控制语句Word文档下载推荐.docx_第10页
第10页 / 共33页
程序结构和流程控制语句Word文档下载推荐.docx_第11页
第11页 / 共33页
程序结构和流程控制语句Word文档下载推荐.docx_第12页
第12页 / 共33页
程序结构和流程控制语句Word文档下载推荐.docx_第13页
第13页 / 共33页
程序结构和流程控制语句Word文档下载推荐.docx_第14页
第14页 / 共33页
程序结构和流程控制语句Word文档下载推荐.docx_第15页
第15页 / 共33页
程序结构和流程控制语句Word文档下载推荐.docx_第16页
第16页 / 共33页
程序结构和流程控制语句Word文档下载推荐.docx_第17页
第17页 / 共33页
程序结构和流程控制语句Word文档下载推荐.docx_第18页
第18页 / 共33页
程序结构和流程控制语句Word文档下载推荐.docx_第19页
第19页 / 共33页
程序结构和流程控制语句Word文档下载推荐.docx_第20页
第20页 / 共33页
亲,该文档总共33页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

程序结构和流程控制语句Word文档下载推荐.docx

《程序结构和流程控制语句Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《程序结构和流程控制语句Word文档下载推荐.docx(33页珍藏版)》请在冰点文库上搜索。

程序结构和流程控制语句Word文档下载推荐.docx

a>

b;

m=max(a,b);

//函数调用语句

max="

m<

endl;

system("

pause"

);

return0;

(4)表达式语句:

由一个表达式后加一个分号构成一个语句。

由一个赋值表达式加一个分号构成一个赋值表达式语句:

y=x*x+2*x;

注意:

i=i+1//是一个赋值表达式

i=i+1;

//是一个赋值语句

(5)空语句:

只有一个分号所构成的语句称为空语句。

下面就是一个空语句:

空语句什么也不做,它将在特殊的时候是有用的,讲循环时再细讲。

(6)复合语句(语句块):

用{}将若干语句括起来构成的语句。

“{}”后不再需要分号。

复合语句主要用于控制语句中。

{t=a;

a=b;

b=t;

}//实现a,b数值的交换。

程序的三种基本结构即顺序结构、分支结构和循环结构,都是通过语句来实现的。

1.顺序结构:

按语句顺序依次执行的结构称为顺序结构。

2.分支结构

(1)两路分支:

在两种可能的操作中按条件选取一个执行的结构称为分支结构。

(2)多路分支:

在多种可能的操作中按条件选取一个执行的结构称为分支结构,

3.循环结构:

在人们所要处理的问题中常常遇到需要反复执行某一操作的情况,计算机实现这一操作的程序就要用到循环结构。

循环结构有两种形式,即当型循环结构和直到型循环结构。

分支语句

分支语句用于实现分支程序设计。

分支程序有两路分支结构和多路分支结构,两路分支结构可用if语句实现,多路分支结构可以用嵌套的if语句或switch语句实现。

1.if语句的三种形式

(1)单选条件语句

语句格式:

if(<

表达式>

)<

语句>

执行过程:

当表达式的值为非0(真)时,执行语句,

否则不执行语句。

说明:

①表达式必须用“()”括起来;

②语句只能是单个语句或复合语句。

(2)两选条件语句

<

语句1>

else

语句2>

当表达式的值为非0(真)时,执行语句1,

否则执行语句2。

(3)多选条件语句

多选条件语句的格式为:

表达式1>

elseif(<

表达式2>

elseif(<

语句3>

......

表达式n-1>

语句n-1>

else<

语句n>

【例2】输入两个整数a和b,用单选条件语句实现输出其中较大的一个数。

程序流程图如右图所示。

程序如下:

{

inta,b,max;

max=a;

if(b>

max)max=b;

max<

程序执行后屏幕显示:

Inputa,b:

38

max=8

【例3】输入两个整数a和b,用两选条件语句实现输出其中较大的一个数。

程序流程图如右图所示,程序代码如下:

if(a>

b)max=a;

elsemax=b;

程序执行后提示:

Inputa,b:

max=8

【例4】已知下列分段函数,要求编一程序,输入x,输出相应的y的值。

分段函数

程序代码如下:

floatx,y;

请输入一个实数x="

x;

if(x<

0)y=x+1;

elseif(x<

10)y=x*x-5;

elsey=x*x*x;

y="

y<

请输入一个实数x=3

y=4

2.if语句的嵌套

在if语句中又包含一个或多个if语句称为if语句的嵌套。

if(<

<

else

else总是与其前面最近的

还没有配对的if进行配对.

<

if(<

表达式3>

语句4>

【例5】使用if语句嵌套的方法实现【例4】

程序流程图及程序代码如下:

if(x>

=0)

=10)

y=x*x*x;

else

y=x*x-5;

y=x+1;

请输入一个实数x=-3

y=-2

在该程序中,内层的if语句嵌套在外层的if语句的if部分。

C++规定if语句嵌套使用时,else与if的的配对关系是:

else总是与其前面最近的还没有配对的if进行配对。

如果要改变这种约定,则应该用花括号构成复合语句。

{if(<

}

【例6】求三个整数a、b、c中的最大者,a、b、c由键盘输入。

(自行完成)

请输入三个整数a,b,c:

145

a,b,c中最大的数max=5

inta,b,c,max;

请输入三个整数a,b,c:

b>

c;

b)

c)max=a;

elsemax=c;

c)max=b;

elsemax=c;

a,b,c中最大的数max="

2.switch语句(开关语句):

实现多路分支程序。

将条件表达式的值与case后常量值比较,若相等就执行此case后语句,完后再执行下一个case语句,最后执行default后的语句。

语句格式

switch(<

条件表达式>

case<

常量表达式1>

:

〔<

case<

常量表达式2>

......

常量表达式n-1>

〔default:

(1)条件表达式与常量表达式只能是整型或字符型表达式;

(2)每个case后面的常量表达式的值必须互不相同;

(3)一个case后可有多个语句(不必用花括号),也可以没有任何语句。

在执行switch语句的过程中,每当执行完一个case后面的语句后,程序会不加判断地自动执行下一个case后面的语句。

每个case后面的常量表达式只起语句标号的作用,是switch语句中执行各语句的入口,并不在此进行条件判断

【例7】输入0~6的整数,将其转换成对应的星期几。

{inta;

请输入一个0-6的整数(分别对应周日至周六):

a;

switch(a)

{

case0:

cout<

Sunday\n"

case1:

Monday\n"

case2:

Tuesday\n"

case3:

Wednesday\n"

case4:

Thursday\n"

在本例中,若运行程序时输入4,则执行结果为:

Thursday

Friday

Saturday

Inputdataerror

case5:

Friday\n"

case6:

Saturday\n"

default:

Inputdataerror.\n"

程序执行后发现结果并不是我们希望的,而要想实现我们的要求,就应该在执行完指定的一个case分支后,使程序跳出switch语句,即终止switch语句的执行,而这操作可用break语句来实现。

3.break语句:

中止当前语句的执行,并跳转到下一条语句处执行。

break;

若将上例程序中switch语句的内嵌代码改写如下,请分析结果;

case0:

TodayisSunday\n"

TodayisMonday\n"

TodayisTuesday\n"

TodayisWednesday\n"

TodayisThursday\n"

TodayisFriday\n"

TodayisSaturday\n"

从开关语句的执行过程可知,任一开关语句均可用条件语句来实现,但并不是任何条件语句均可用开关语句来实现,这是由于开关语句限定了表达式的取值类型,而条件语句中的条件表达式可取任意类型的值。

250(元)250≤m<

500500≤m<

10001000≤m<

2000m≥2000

d=0%d=5%d=7.5%d=10%d=15%

【例8】商店打折售货。

购货金额数量越大,折扣越大。

具体标准如下(m:

购货金额,d:

折扣率)。

要求从键盘上输入购货金额,计算并输出实付的金额。

分析:

首先找出购货金额与折扣率之间对应关系变化的规律。

从题意知,当购货金额m每变化250元或250元的倍数时,折扣率就会变化。

用m/250来表示折扣率的分档情况,商店打折售货分档情况表:

{intm,c;

floatd,f;

Inputm:

m;

if(m>

=2000)c=8;

m

c=m/250

d

250

0%

250≤m<

500

1

5%

500≤m<

1000

2,3

7.5%

1000≤m<

2000

4,5,6,7

10%

m≥2000

8

15%

elsec=m/250;

switch(c)

{case0:

d=0;

d=5;

d=7.5;

根据购货金额确定好折扣率后,再计算出实付金额。

Inputm:

f=462.5

case7:

d=10;

case8:

d=15;

f=m*(1-d/100.0);

f="

f<

【例9】2005年修改后的《中华人民共和国个人所得税法》规定,个人所得,应纳个人所得税。

具体办法是,每月收入总和扣除1600元后的金额为应缴纳所得税额,应纳税所得额不超过500元的税率为5%,超过500元至2000元的部分税率为10%,超过2000元至5000元的部分税率为15%, 超过5000元至20000元的部分税率为20%超过20000元至40000元的部分税率为25%,超过40000元至60000元的部分税率为30%,超过60000元至80000元的部分税率为35%,超过80000元至100000元的部分税率为40%,超过100000元的部分税率为45%。

现要求编写程序,从键盘上输入某人本月的总收入,输出应缴纳的税额。

(要求学生自行完成)

循环语句(共三种,即while,do…while和for)

在人们所要处理的问题中常常遇到需要反复执行某一操作的情况。

被重复执行的程序段为循环程序,实现循环结构的语句称为循环语句。

在C++中,循环语句有while语句、do…while语句和for语句。

1.while语句

(1)作用:

实现“当型”循环结构。

即当条件成

立时冲复执行while语句中的内嵌语句。

(2)格式:

while(<

语句

执行流程图如右图所示

相关说明:

①上述格式中的<

称为循环条件表达式,

一般为关系表达式或逻辑表达式,必须用“()”括起来;

②语句称为循环体,也称While的内嵌语句,可以是单个或复合语句。

(3)执行过程:

先计算表达式的值,当表达式值非0时重复执行指定的语句;

当表达式值为0时结束循环。

【例10】:

求从键盘上输入一个正整数n,计算S=1+2+3+4+……+n,并输出到屏幕上。

由于n可能是不断变化的,因而计算S值的程序不可能依次列出1~n个数,要完成以上的累加求和运算,可设两个整型变量sum和i,sum存放累加的和,i从1变化到n,并按下列步骤进行操作:

(1)给sum赋值0,i赋值1;

//循环初始化

(2)令sum=sum+i,i=i+1;

//循环体与循环修改

(3)若i≤n,则重复执行步骤

(2);

//判断循环是否结束

(4)输出sum的值。

//结束处理

在以上步骤中,步骤

(2)和步骤(3)是需要重复执行的操作,其工作流程如下图所示。

这种重复执行的操作可由程序中的循环结构来完成。

下面用while语句来实现。

(1)while语句是先判断表达式i≤n是否成立,

若条件成立,则将sum加i后赋给sum及i增加1;

若条件不成立,则不执行相应语句,退出循环。

(2)当表达式的值一开始不成立,语句一次也不执行。

如当输入n为0时,i≤n不成立,语句sum=sum+i;

和i++;

一次也不执行。

(3)在循环体中必须有不断修改循环条件的语句,能使循环最终结束而不形成“死循环”。

如i++;

语句,使i不断加1,直到大于n为止。

程序代码和程序流程图如下:

inti,n,sum;

请输入一个正整数n="

n;

sum=0;

i=1;

while(i<

=n)

{sum=sum+i;

i++;

sum="

sum<

【例11】用while语句计算T=n!

(n!

=1×

4…×

n)。

程序代码和程序流程图如下(用while语句):

inti,n,mult;

mult=1;

{mult=mult*i;

mult="

mult<

2.do…while语句

实现“直到型”循环结构。

即重复执

行while语句中的内嵌语句直到条件不成立时停止。

do

);

这里的语句与表达式跟上面讲到的while语句当中的意义完全相同,只是while语句是先判断条件再执行循环体语句,而在do…while语句的执行过程是:

先执行语句,然后计算表达式的值,当表达式值非0时重复执行语句;

直到表达式值为0才结束循环。

【例12】用do…while语句实现【例10】

do

{sum=sum+i;

i++;

}

while(i<

=n);

1到"

n<

的和sum="

(1)do…while语句是先执行sum=sum+i;

语句,后判断表达式i≤n是否成立。

若条件成立,则继续执行循环体;

(2)即使表达式的值一开始就不成立,语句仍要执行一次。

如当输入n为0时,i≤n不成立,但语句sum=sum+i;

也要执行一次。

(3)在循环体中要能不断修改循环条件的语句,最终能使循环结束,否则会形成“死循环”。

【例13】用do…while语句实现【例11】。

(要求学生自行完成程序流程图并调试程序)

3.for语句

for语句的一般格式为:

for(<

(1)表达式1称为循环初始化表达式,通常为循环变量赋初值;

(2)表达式2称为循环条件表达式,通常是关系表达式或逻辑表达式作循环结束条件;

(3)表达式3称为循环增量表达式,通常为赋值表达式,简单情况下为循环变量增量。

(4)语句部分为循环体,它可以是单个或复合语句。

for语句的执行过程

(1)计算表达式1的值;

(2)计算表达式2的值,

若表达式2的值为非0(“真”)时,则转到(3);

若表达式2的值为0(“假”)时,则结束循环;

(3)执行循环体语句;

(4)计算表达式3的值,返回

(2)继续执行。

for语句的执行过程如右图所示。

3.for语句可以和下列while语句等效:

{

【例14】用for语句实现【例10】

for(i=1;

i<

=n;

i++)sum=sum+i;

在上例中,表达式1:

i=1完成对循环变量i的初始化赋值工作,使i的初值为1;

表达式2:

=n判断循环变量i的值是否小于或等于n,若不成立则结束循环;

若成立则执行sum=sum+i;

语句,再执行表达式3;

表达式3:

i++,使用循环变量i加1。

转表达式2继续判断i<

=n是否成立。

(1)for语句中的三个表达式都可省略,但其中的两个分号不能省略;

(2)若表达式1省略,则应在for语句之前给循环变量赋初值。

i=1;

for(;

i++)sum=sum+i;

(3)若表达式2省略,则不判断循环条件,循环无终止地进行下去,形成“死循环”,即认为表达式2始终为真,因此表达式2通常不能省略;

(4)若表达式3省略,则在循环体中应有能不断修改循环条件的语句。

for(i=1;

){sum=sum+i;

(5)若省略表达式1和表达式3,只有表达式2,即只给出循环条件。

for(;

){sum=sum+i;

}

此时,for语句和while语句完全相同。

上述语句相当于:

=n){sum=sum+i;

(6)表达式1和表达式3可以是一个

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 总结汇报 > 学习总结

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2