欧美亚洲中文,在线国自产视频,欧洲一区在线观看视频,亚洲综合中文字幕在线观看

      1. <dfn id="rfwes"></dfn>
          <object id="rfwes"></object>
        1. 站長(zhǎng)資訊網(wǎng)
          最全最豐富的資訊網(wǎng)站

          《C語(yǔ)言實(shí)驗(yàn)指導(dǎo)》實(shí)驗(yàn)四 選擇結(jié)構(gòu)程序設(shè)計(jì)

          實(shí)驗(yàn)四 選擇結(jié)構(gòu)程序設(shè)計(jì)

          【目的與要求】

                1.了解C語(yǔ)句表示邏輯量的方法(以0代表“假”以1代表“真”);

                 2.學(xué)會(huì)正確使用邏輯運(yùn)算符和邏輯表達(dá)式;

                 3 熟練掌握if語(yǔ)句和switch語(yǔ)句。

          【上機(jī)內(nèi)容】

          【一般示例】

          【例1 已知三個(gè)數(shù)a,b,c,找出最大值放于max中。

          分析:由已知可得在變量定義時(shí)定義四個(gè)變量a,b,cmax,a,b,c是任意輸入的三個(gè)數(shù),max是用來(lái)存放結(jié)果最大值的。第一次比較ab,把大數(shù)存入max中,因ab都可能是大值,所以用if語(yǔ)句中if——else 形式。第二次比較maxc,把最大數(shù)存入max中,用if語(yǔ)句的第一種形式if形式。Max即為ab,c中的最大值。

          include “stdio.h”

          main()

          {    

          int a,b,c,max;          /*定義四個(gè)整型變量*/

          scanf(“a=%d,b=%d,c=%d”,&a,&b,&c);

          if (a>=b)

          max=a;              /*a>=b*/

          else

            max=b;              /*a<b*/

          if (c>max)

            max=c;              /*c是最大值*/

          printf(“max=%d”,max);

          }

            若輸入下列數(shù)據(jù),分析程序的執(zhí)行順序并寫(xiě)出運(yùn)行結(jié)果

          1a=1,b=2c=3   

          2a=2,b=1,c=3 

          3a=3b=2,c=1 

          4a=3,b=1c=2  

          5a=3,b=3,c=2 

          6a=2,b=1,c=2 

          【例2】輸入某學(xué)生的成績(jī),經(jīng)處理后給出學(xué)生的等級(jí),等級(jí)分類如下:

                 90分以上(包括90): A

                 8090分(包括80):B

                 7080分(包括70):C

                 6070分(包括60):D

                 60分以下:           E

          方法一:(if嵌套`)

          分析:

          由題意知如果某學(xué)生成績(jī)?cè)?/span>90分以上,等級(jí)為A;否則,如果成績(jī)大于80分,等級(jí)為B;否則,如果成績(jī)大于70分,等級(jí)為C;否則,如果成績(jī)大于60分為D;否則,如果成績(jī)小于60分,等級(jí)為E;但當(dāng)我們輸入成績(jī)時(shí)也可能輸錯(cuò),出現(xiàn)小于0或大于100,這時(shí)也要做處理,輸出出錯(cuò)信息。因此,再用if嵌套前,應(yīng)先判斷輸入的成績(jī)是否在0~100之間。

          #include”stdio.h”

          main()

          {

           int  score;

           char  grade;

           printf(“nplease input a student score:”);

           scanf(“%f”,&score);

           if(score>100||score<0)

            printf(“ninput error!”);

           else

            { if(score>=90)

              grade=’A’;

             else

              { if(score>=80)

                grade=’B’;

               else

                {if(score>=70)

                      grade=’C’;

                 else

                    { if(score>=60)

                      grade=’D’;

                     else grade=’E’;

                    }

                }

              }

            printf(“nthe student grade:%c”,grade);

           }

          }      

          輸入測(cè)試數(shù)據(jù),調(diào)試程序。測(cè)試數(shù)據(jù)要覆蓋所有路徑,注意臨界值,例如此題中得100分,60分,0分以及小于0和大于100的數(shù)據(jù)。

           

          方法二:用switch語(yǔ)句

          分析:

          switch 語(yǔ)句是用于處理多分支的語(yǔ)句。注意,case后的表達(dá)式必須是一個(gè)常量表達(dá)式,所以在以用switch語(yǔ)句之前,必須把0~100之間的成績(jī)分別化成相關(guān)的常量。所有A(除100以外),B,C,D類的成績(jī)的共同特點(diǎn)是十位數(shù)相同,此外都是E類。則由此可得把score除十取整,化為相應(yīng)的常數(shù)。

          #include”stdio.h”

          main()

          {

          int g,s;

          char ch;

          printf(“ninput a student grade:”);

          scanf(“%d”,&g);

          s=g/10;

          if(s<0||s>10)

           printf(“ninput error!”);

          else

              { switch (s)

              { case 10:

               case 9:  ch=’A’;  break;

               case 8:  ch=’B’;  break;

               case 7:  ch=’C’;  break;

               case 6:  ch=’D’;  break;

               default: ch=’E’;

               }

              printf(“nthe student scort:%c”,ch);

           }

          }                       

          輸入測(cè)試數(shù)據(jù),同方法一一樣調(diào)試程序并寫(xiě)出結(jié)果。

          【例3】有一函數(shù):

          y= 《C語(yǔ)言實(shí)驗(yàn)指導(dǎo)》實(shí)驗(yàn)四 選擇結(jié)構(gòu)程序設(shè)計(jì)
          x x<1
          2x-1 1=<x<10
          3x-11 x>=10

          scanf函數(shù)輸入x的值(分別為x<1,1~10,>=10三種情況),y值。

          分析:y是一個(gè)分段表達(dá)式。要根據(jù)x的不同區(qū)間來(lái)計(jì)算y的值。所以應(yīng)使用If語(yǔ)句。

          main()

          {

          int x,y;

          printf(“please input x :”);

          scanf(“%d”,&x);

          if (x<1)

          {

          y=x;

          printf(“y=%dn”,y);

          }

          else if (x<10)

                 {

                   y=2*x-1;

          printf(“y=%dn”,y);

          }

          else

          {

          y=3*x-11;

          printf(“y=%dn”,y);

          }

           

          【作業(yè)】

          1.       c語(yǔ)言如何表示“真”與“假”?系統(tǒng)如何判斷一個(gè)量的“真”與“假”?

          2.       寫(xiě)出下面各邏輯表達(dá)式的值。設(shè)a=3,b=4,c=5

          (1)    a+b>c&&b= =c

          (2)    a||b+c&&b-c

          (3)    (a>b)&&!c||1

          (4)    !(x=a)&&(y=b)&&0

          (5)    !(a+b)+c-1&&b+c/2

          3.       3個(gè)整數(shù)a、b、c,由鍵盤(pán)輸入,輸出其中最大的數(shù)。

          4.有一函數(shù):

          y= 《C語(yǔ)言實(shí)驗(yàn)指導(dǎo)》實(shí)驗(yàn)四 選擇結(jié)構(gòu)程序設(shè)計(jì)
          x x<1
          2x-1 1=<x<10
          3x-11 x>=10

          寫(xiě)一程序,輸入x, 輸出y

          5.給出一百分制成績(jī),要求輸出成績(jī)等級(jí)AB、C、DE。90分以上為A,80~89B  70~79分為C,60~69分為D,60分以下為E。

          6 給一個(gè)不多于5位的正整數(shù),要求:

          a.       求出它是幾位數(shù);

          b.       分別打出每一位數(shù)字;

          c.       按逆序打出各位數(shù)字,例如原數(shù)為321,應(yīng)輸出123。

          7.輸入4個(gè)整數(shù),要求按由小到大的順序輸出。

           

          贊(0)
          分享到: 更多 (0)
          網(wǎng)站地圖   滬ICP備18035694號(hào)-2    滬公網(wǎng)安備31011702889846號(hào)