C程序的流程控制Word文档格式.doc

上传人:b****1 文档编号:13160557 上传时间:2022-10-07 格式:DOC 页数:20 大小:145.50KB
下载 相关 举报
C程序的流程控制Word文档格式.doc_第1页
第1页 / 共20页
C程序的流程控制Word文档格式.doc_第2页
第2页 / 共20页
C程序的流程控制Word文档格式.doc_第3页
第3页 / 共20页
C程序的流程控制Word文档格式.doc_第4页
第4页 / 共20页
C程序的流程控制Word文档格式.doc_第5页
第5页 / 共20页
点击查看更多>>
下载资源
资源描述

C程序的流程控制Word文档格式.doc

《C程序的流程控制Word文档格式.doc》由会员分享,可在线阅读,更多相关《C程序的流程控制Word文档格式.doc(20页珍藏版)》请在冰豆网上搜索。

C程序的流程控制Word文档格式.doc

0){        if(n>

0){

       if(a>

        if(a>

       elsez=b;

        }

       }           elsez=b;

    答案是前者。

注意:

else总是离它最近的一个if配对,如果你想表达的是后者,必须要用{}。

例3.1:

输入2个数,找出其中最大一个并显示出来。

#include<

iostream.h>

voidmain()

{

inti,j;

cout<

<

"

请输入2个整数:

;

cin>

>

i>

j;

2个数中最大的是:

if(i>

=j)

i<

endl;

else

j<

}

在编程中多使用cout输出提示性的文字,否则上来就用cin接收键盘输入,用户将不知所措。

例3.2:

输入3个数,找出其中最大一个并显示出来。

inti,j,k;

请输入3个整数:

j>

k;

3个数中最大的是:

=j){

=k)

k<

else{

if(j>

本例的思想是将“从3个数中找出最大者”的问题转化成两个“从2个数中找出最大者”的问题。

例3.3:

(例3.2的另解)

if(i<

j)i=j;

k)i=k;

本例的思想是:

假设第一个变量i中的数为最大,分别用i和j、k比较,只要遇到比i大的数就存到i中,否则什么也不做,这样保证i中始终存放的是当前比较到的最大者。

这一思想很重要,请注意学习。

例3.4:

输入3个数,然后按从大到小的顺序把它们显示出来。

inti,j,k,p;

j){p=i;

i=j;

j=p;

k){p=i;

i=k;

k=p;

if(j<

k){p=j;

j=k;

3个数从大到小排列:

endl<

'

'

本例的思想:

用i、j、k从大到小存放三个数,其中涉及到交换两个变量的值问题。

若要交换两个变量x、y的值,不能只做简单的对换:

x=y;

y=x;

,这样将导致xy中都存放着原来y中的值。

  假设x=2,y=3,下面作简单的对换,以实现x=3,y=2

  x=y;

//现在x=3

  y=x;

//现在y=3,最终x=3y=3

  正确的做法是使用一个中间变量p

  p=x;

//现在p=2

  y=p;

//现在y=2,最终x=3,y=2

思考:

不借助中间变量交换xy两个变量的值,应执行哪3个赋值语句?

例3.5:

输入工资薪金所得,计算应纳个人所得税并显示计算结果。

假定工资薪金所得扣除1000元后剩余部分为应纳税所得额,税率如下:

级数

全月应纳税所得额

税率(%)

1

不超过500元的部分

5

2

超过500元至2000元的部分

10

3

超过200元至5000元的部分

15

4

超过5000元至20000元的部分

20

超过20000元至40000元的部分

25

6

超过40000元至60000元的部分

30

7

超过60000元至80000元的部分

35

8

超过80000元至100000元的部分

40

9

超过100000元的部分

45

分析:

假设某人的工资是6830元,扣除1000元后应纳税额为5830,这5830元被分为4级分别计税:

本级应纳税所得额

本级应纳税额

尚未计税的应纳税额

超过5000元部分:

5830-5000=830

166

5000

超过2000元部分:

5000-2000=3000

450

2000

超过500元部分:

 2000-500=1500

150

500

不超过500元的部分:

    500

 

合计:

          5830

791

doubleincome,tax=0.0;

请输入全月工资薪金所得:

income;

income-=1000;

if(income>

100000.0)

tax+=(income-100000.0)*0.45;

income=100000.0;

80000.0)

tax+=(income-80000.0)*0.40;

income=80000.0;

60000.0)

tax+=(income-60000.0)*0.35;

income=60000.0;

40000.0)

tax+=(income-40000.0)*0.30;

income=40000.0;

20000.0)

tax+=(income-20000.0)*0.25;

income=20000.0;

5000.0)

tax+=(income-5000.0)*0.20;

income=5000.0;

2000.0)

tax+=(income-2000.0)*0.15;

income=2000.0;

500.0)

tax+=(income-500.0)*0.10;

income=500.0;

0.0)

tax+=income*0.05;

应纳个人所得税:

tax<

按任意键结束"

cin.get();

if多分支结构

  if(条件1)

    语句1

  else

   if(条件2)

     语句2

   else

    if(条件3)

      语句3

    ...

        else

         if(条件n)

           语句n

         else

           语句n+1

  这是通过规范化的if嵌套所构成的条件分支结构,在这种结构中if语句嵌套在else之后。

但通常我们采用下面更简洁的格式:

   if(条件1)语句1

   elseif(条件2)语句2

   elseif(条件3)语句3

   …

   elseif(条件n)语句n

   else语句n+1

  这种结构的工作原理:

先检测条件1,若满足就执行语句1;

否则检测条件2,若满足就执行语句2;

否则检测条件3,若满足就执行语句3 ...若所有条件都不满足则执行语句n+1,若没有else语句n+1就什么也不做。

这里的n个条件是互斥的,即只要满足其中一个条件则其他条件肯定不满足,也就是说多分支结构中的n+1个语句只有一个能被执行。

例3.6:

输入一个0-100分范围内的一个成绩,显示相应的等级:

   90-100   优

   80--89   良

   70--79   中

   60--69   及格

   60分以下  不及格

floatscore;

请输入成绩:

score;

if(score<

0||score>

100)

输入错误!

成绩必须在0-100分之!

elseif(score<

60)cout<

不及格"

70)cout<

及格"

80)cout<

中"

90)cout<

良"

elsecout<

优"

   

switch语句和switch多分支结构

  switch语句的格式:

 

    switch(整型表达式){

     case整型常量表达式1:

语句序列1

     case整型常量表达式2:

语句序列2

     ...

     case整型常量表达式k:

语句序列k

     default:

语句序列k+1

    }

  switch语句通过判断整型表达式的值来确定程序的去向。

若整型表达式的值与整型常量表达式1的值相同,则依次执行语句序列1开始的各个语句序列,即语句序列1,语句序列2...语句序列k+1;

若整型表达式的值与整型常量表达式2的值相同,则依次执行语句序列2开始的各个语句序列,即语句序列2,语句序列3...语句序列k+1;

如果整型表达式的值不等于任何列出的整型常量表达式的值,则执行从default后的语句序列k+1;

如果没有default则什么也不做;

在依次执行各个语句序列的过程中,若遇见break语句,则立即跳出switch分支结构。

  若每个语句序列的最后一个语句都是break,则这样的switch多分支结构可以用等效的if多分支结构替代。

例3.7:

输入一个表示

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

当前位置:首页 > 初中教育 > 科学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1