<address id="ousso"></address>
<form id="ousso"><track id="ousso"><big id="ousso"></big></track></form>
  1. 試題

    計算機二級C語言測試題及答案

    時間:2025-05-11 22:45:13 試題 我要投稿

    2015年計算機二級C語言測試題及答案

      基本輸入輸出及流程控制

    2015年計算機二級C語言測試題及答案

      1.

      #include

      main()

      { int a=1,b=3,c=5;

      if (c==a+b)

      printf("yes\n");

      else

      printf("no\n");

      }

      運行結果為:no

      詳見教材p89 選擇結構

      詳見教材p91關系符號

      詳見附錄D p378符號的優先級

      ==表示判斷符號兩邊的值是否相等;=表示將符號右邊的值賦給左邊的變量

      本題考點是選擇結構3種基本形式的第二種

      選擇結構三種一般形式中的“語句”皆為復合語句,復合語句要用{ }括起來,只有當復合語句中只包括一條語句時可以省略{ },此題即如此,因此兩個printf操作沒有加{ }

      若c==a+b成立,則執行printf("yes\n");

      否則(即c==a+b不成立),執行printf("no\n");

      +的優先級高于==,因此先算a+b,值為4, 表達式5==4不成立,因此執行printf("no\n");即輸出字符串no

      2.

      #include

      main()

      { int a=12, b= -34, c=56, min=0;

      min=a;

      if(min>b)

      min=b;

      if(min>c)

      min=c;

      printf("min=%d", min);

      }

      運行結果為: min=-34

      詳見教材p89 選擇結構

      本題考點是選擇結構3種基本形式的第一種

      一共包含了兩個選擇結構(兩個if語句)

      定義變量,并賦值 此時a=12, b= -34, c=56, min=0

      將a中值拷貝,賦給min,覆蓋了min中的0,此時min中的值被更新為12。

      若min>b成立,則執行min=b;

      若min>c成立,則執行min=c;

      輸出min中的值

      12大于-34,第一個if語句的表達式成立,因此執行min=b; 執行后min中的值被更新為-34.

      -34小于56,第二個if語句的表達式不成立,因此不執行min=c;

      最后輸出min中的值,為-34.

      3.

      #include

      main()

      { int x=2,y= -1,z=5;

      if(x  if(y<0)

      z=0;

      else

      z=z+1;

      printf(“%d\n”,z);

      }

      運行結果為:5

      遇到選擇結構,首先要明確條件表達式成立時執行哪些操作。本題中,第一個if語句,其后的復合語句沒有大括號{ },說明復合語句中只包含一條語句,進而省略了{ }。內層的if...else...是選擇結構的第二種基本形式,在結構上視為一條語句。因此內層的if...else...作為第一個if語句的復合語句。

      若表達式x  若y<0,則執行z=0;

      否則(即y>=0),執行z=z+1;

      輸出z

      2>-1,表達式x  輸出z中的值為5

      4.

      #include

      main()

      { float a,b,c,t;

      a=3;

      b=7;

      c=1;

      if(a>b)

      {t=a;a=b;b=t;}

      if(a>c)

      {t=a;a=c;c=t;}

      if(b>c)

      {t=b;b=c;c=t;}

      printf("%5.2f,%5.2f,%5.2f",a,b,c);

      }

      運行結果為:1.00,2.00,7.00

      詳見教材p72數據的輸出形式

      本題包含了3個if語句,每個if語句后的{ }都不可省略,因為每個{ }中都包含了多條語句

      若表達式a>b成立,則執行{t=a;a=b;b=t;}

      若表達式a>c成立,則執行{t=a;a=c;c=t;}

      若表達式b>c成立,則執行{t=b;b=c;c=t;}

      輸出a,b,c中的值,要求輸出的每個數據寬度為5個空格,小數部分保留2位,數據右對齊

      3小于7,因此表達式a>b不成立,因此不執行{t=a;a=b;b=t;}

      3大于1,因此表達式a>c成立,則執行{t=a;a=b;b=t;}。第一句,將a中的3拷貝,粘貼到t中;第二句,將c中的1拷貝,粘貼到a中,覆蓋掉先前的3;第三句。將t中的3拷貝到c中,覆蓋掉c中先前的1. 執行完復合語句后實現了a,c元素的值的互換,a為1,c為3,t為3,。

      7大于c中的3,因此b>c成立,執行則執行{t=b;b=c;c=t;},過程同上,執行后b為3,c為7,t為7

      此時輸出a,b,c中的值為1.00,2.00,7.00

      5.

      #include< stdio .h >

      main ( )

      {floatc=3.0 , d=4.0;

      if ( c>d ) c=5.0;

      else

      if ( c==d ) c=6.0;

      elsec=7.0;

      printf ( “%.1f\n”,c ) ;

      }

      運行結果為:7.0

      此題為if...else...語句的嵌套,第二if...else...作為第一個if...else...語句else部分的復合語句。

      若表達式c>d成立,則執行c=5.0;

      否則(表達式c>d不成立)

      若表達式c==d成立,則執行c=6.0;

      否則,執行c=7.0;

      輸出c中的值

      3.0小于4.0,因此表達式c>d不成立,執行第二個if…else…。

      3.0不等于4.0,因此表達式c==d不成立,執行c=7.0,將7.0賦給c, 覆蓋掉c中的3.0,此時c中的值為7.0

      輸出此時的c中的值

      6.

      #include

      main()

      { int m;

      scanf("%d", &m);

      if (m >= 0)

      { if (m%2 == 0) printf("%d is a positive even\n", m);

      else printf("%d is a positive odd\n", m); }

      else

      { if (m % 2 == 0)printf("%d is a negative even\n", m);

      else printf("%d is a negative odd\n", m); }

      }

      若鍵入-9,則運行結果為: -9 is a negative odd

      7.

      #include

      main()

      { int num=0;

      while(num<=2){ num++;printf("%d\n",num);}

      }

      運行結果為:

      1

      2

      3

      詳見教材p115循環結構

      當循環條件num<=2成立的時候,執行循環體{ num++;printf("%d\n",num);}中的語句。

      循環初值num為0;

      循環條件num<=2成立

      第1次循環:執行num++;即將num中的值加1,執行后num為1;

      執行printf("%d\n",num);在屏幕上輸出num中的值,即輸出1,之后換行

      此時num中的值為1,循環條件num<=2成立

      第2此循環:執行num++;即將num中的值加1,執行后num為2;

      執行printf("%d\n",num);在屏幕上輸出num中的值,即輸出2,之后換行

      此時num中的值為2,循環條件num<=2成立

      第3此循環:執行num++;即將num中的值加1,執行后num為3;

      執行printf("%d\n",num);在屏幕上輸出num中的值,即輸出3,之后換行

      此時num中的值為3,循環條件num<=2不成立,結束循環。

      8.

      #include

      main( )

      { int sum=10,n=1;

      while(n<3) {sum=sum-n;n++; }

      printf(“%d,%d”,n,sum);

      }

      運行結果為:3,7

      當循環條件n<3成立的時候,執行循環體{sum=sum-n;n++; }中的語句。

      循環初值sum為10,n為1;

      循環條件n<3成立

      第1次循環:執行sum=sum-n=10-1=9;

      執行n++,即將n中的值加1,執行后n為2;

      此時n中的值為2,sum中的值為9,循環條件n<3成立,繼續執行循環

      第2次循環:執行sum=sum-n=9-2=7;

      執行n++,即將n中的值加1,執行后n為3;

      輸出此時n,sum中的值,即為3,7。需要注意,在printf(“%d,%d”,n,sum); 中要求輸出的數據彼此間用逗號間隔,因此結果的兩個數據間一定要有逗號

      9.

      #include

      main()

      { int num,c;

      scanf("%d",&num);

      do{c=num%10;printf("%d",c);}while((num/=10)>0);

      printf("\n");

      }

      從鍵盤輸入23,則運行結果為:32

      詳見教材p117循環結構;p60復合的賦值運算符

      do{ }while(表達式);

      先無條件執行循環體,再判斷循環條件。注意while(表達式)后有分號

      定義整型變量num,c;

      為num賦一個整型值;

      執行{c=num%10;printf("%d",c);}直到循環條件(num/=10)>0不成立;

      輸出換行

      已知為num賦值23

      第1次執行循環體

      執行c=num%10=23%10=3;

      執行printf("%d",c);輸出3

      判斷循環條件 num/=10等價于num=num/10; 因此num=23/10=2, 2大于0,因此循環條件(num/=10)>0成立,繼續執行循環體。執行完第1次循環時,num為2,c為3

      第2次執行循環體

      執行c=2%10=2;

      執行printf("%d",c);再輸出2

      判斷循環條件num=2/10=0,0等于0,因此循環條件(num/=10)>0不成立。結束循環

      10

      #include

      main()

      { int s=0,a=5,n;

      scanf("%d",&n);

      do { s+=1;a=a-2; }while(a!=n);

      printf("%d,%d\n",s,a);

      }

      若輸入的值1,運行結果為: 2,1

      詳見教材p117循環結構;p60復合的賦值運算符

      執行{ s+=1;a=a-2; }直到循環條件a!=n不成立;

      已知為n賦值1,s為0,a為5

      第1次執行循環體

      執行s+=1;等價于s=s+1=0+1

      執行a=a-2; a=5-2=3

      判斷循環條件,3不等于1,因此循環條件a!=n成立,繼續執行循環體。

      執行完第1次循環時,s為1,a為3

      第2次執行循環體

      執行s+=1;等價于s=s+1=1+1=2

      執行a=a-2; a=3-2=1

      判斷循環條件,1等于1,因此循環條件a!=n不成立,結束循環。

      執行完第2次循環時,s為2,a為1

      輸出此時s,a中的值,結果為2,1

    【計算機二級C語言測試題及答案】相關文章:

    計算機二級C語言測試題及答案08-13

    計算機二級C語言測試題與答案09-16

    2017計算機二級C語言測試題及答案08-09

    計算機二級C語言測試題含答案08-17

    計算機二級C語言預測試題及答案10-30

    計算機二級C語言測試題及答案解析07-11

    計算機二級《C語言》預測試題及答案06-10

    2023計算機二級C語言測試題及答案10-23

    計算機二級C語言測試題及答案201610-09

    計算機二級C語言的測試題及答案解析08-25

    <address id="ousso"></address>
    <form id="ousso"><track id="ousso"><big id="ousso"></big></track></form>
    1. 日日做夜狠狠爱欧美黑人