亚洲最大看欧美片,亚洲图揄拍自拍另类图片,欧美精品v国产精品v呦,日本在线精品视频免费

  • 站長(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è)變量ab,cmax,ab,c是任意輸入的三個(gè)數(shù),max是用來(lái)存放結(jié)果最大值的。第一次比較ab,把大數(shù)存入max中,因a,b都可能是大值,所以用if語(yǔ)句中if——else 形式。第二次比較maxc,把最大數(shù)存入max中,用if語(yǔ)句的第一種形式if形式。Max即為a,bc中的最大值。

    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=2,c=3   

    2a=2b=1,c=3 

    3a=3,b=2c=1 

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

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

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

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

           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類(lèi)的成績(jī)的共同特點(diǎn)是十位數(shù)相同,此外都是E類(lèi)。則由此可得把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、bc,由鍵盤(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、CD、E。90分以上為A,80~89B,  70~79分為C60~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)