<delect id="sj01t"></delect>
  1. <em id="sj01t"><label id="sj01t"></label></em>
  2. <div id="sj01t"></div>
    1. <em id="sj01t"></em>

            <div id="sj01t"></div>
            C語言

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

            時間:2025-01-04 03:55:48 C語言 我要投稿

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

              練習是幫助我們鞏固知識的最好方法,以下是小編為大家整理的2017年計算機二級C語言測試題及答案,希望對大家有幫助!

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

              1.

              #include "stdio.h"

              main()

              {char c;

              c=getchar();

              while(c!='?') {putchar(c);c=getchar(); }

              }

              如果從鍵盤輸入abcde?fgh(回車)

              運行結果為:abcde

              2.

              #include

              main()

              { char c;

              while((c=getchar())!=’$’)

              { if(‘A’<=c&&c<=‘Z’)putchar(c);

              else if(‘a’<=c&&c<=‘z’)putchar(c-32);}

              }

              當輸入為ab*AB%cd#CD$時,運行結果為:ABABCDCD

              3.

              #include

              main()

              { int x, y =0;

              for(x=1;x<=10;x++)

              { if(y>=10)

              break;

              y=y+x;

              }

              printf(“%d %d”,y,x);

              }

              運行結果為:10 5

              詳見教材p120for語句

              詳見教材p126~128break,continue語句

              for( 表達式1;表達式2;表達式3)

              {

              }

              (1) 先求解表達式1

              (2) 求解表達式2,若其值為真,執行循環體,然后執行 (3). 若為假,則結束循環,轉到(5)

              (3) 求解表達式3

              (4) 轉回上面 (2)繼續執行

              (5) 循環結束,執行for語句下面的一個語句

              break ,跳出循環體;continue,結束本次循環(第i次循環),繼續執行下一次循環(第i+1次循環)

              此題 表達式1為x=1,表達式2(循環條件)為x<=10,表達式3為x++

              初值x為1,y為0,循環條件(即表達式2)x<=10成立,進入循環體

              第1次循環

              執行if語句。0小于10,if語句的條件表達式不成立,不執行break;

              執行y=y+x; y=0+1=1

              轉向表達式3,執行x++,x=x+1=1+1=2。循環條件x<=10成立,進入第2次循環

              第2次循環

              執行if語句。1小于10,if語句的條件表達式不成立,不執行break;

              執行y=y+x; y=1+2=3

              轉向表達式3,執行x++,x=x+1=2+1=3。循環條件x<=10成立,進入第3次循環

              第3次循環

              執行if語句。3小于10,if語句的條件表達式不成立,不執行break;

              執行y=y+x; y=3+3=6

              轉向表達式3,執行x++,x=x+1=3+1=4。循環條件x<=10成立,進入第4次循環

              第4次循環

              執行if語句。6小于10,if語句的條件表達式不成立,不執行break;

              執行y=y+x; y=6+4=10

              轉向表達式3,執行x++,x=x+1=4+1=5。循環條件x<=10成立,進入第5次循環

              第5次循環

              執行if語句。10等于10,if語句的條件表達式成立,執行break,跳出循環。

              從break跳出至for語句的下一條語句。執行printf(“%d %d”,y,x);

              輸出當前的y與x.結果為10 5

              4.

              #include

              main( )

              {char ch;

              ch=getchar( );

              switch(ch)

              {case‘A’ : printf(“%c”,’A’);

              case‘B’ : printf(“%c”,’B’); break;

              default: printf(“%s\n”,”other”);

              } }

              當從鍵盤輸入字母A時,運行結果為:AB

              詳見教材p103,switch語句

              switch(表達式)

              { case常量1 :語句1

              case常量2 :語句2

              ┇┇ ┇

              case常量n :語句n

              default :語句n+1

              }

              其中表達式,常量1,…,常量n都為整型或字符型

              case相當于給出執行程序的入口和起始位置,若找到匹配的常量,則從此處開始往下執行程序,不再匹配常量,直至遇到break或switch結束

              本題過程:

              首先從鍵盤接收一個字符’A’并將其放在變量ch中。

              執行switch語句。Switch后面的條件表達式為ch,因此表達式的值即為字符’A’. 用字符’A’依次與下面的 case中的常量匹配。

              與第1個case后的常量匹配,則從其后的語句開始往下執行程序(在執行過程中不再進行匹配。)因此先執行printf(“%c”,’A’),屏幕上輸出A;再往下繼續執行printf(“%c”,’B’),屏幕上輸出B;再繼續執行break, 此時跳出switch語句。

              5.

              #include

              main( )

              { int a=1,b=0;

              scanf(“%d”,&a);

              switch(a)

              {case 1: b=1;break;

              case 2: b=2;break;

              default : b=10;}

              printf("%d ", b);

              }

              若鍵盤輸入5,運行結果為:10

              本題過程:

              首先用scanf函數為變量a賦值為5。

              執行switch語句。switch后面的條件表達式為a,因此表達式的值即為5. 用5依次與下面 case中的常量匹配。沒有找到匹配的常量,因此兩個case后的語句都不執行。執行default后面的語句b=10;將10賦給變量b。

              輸出變量b,結果為10

              6.

              #include

              main()_

              { char grade=’C’;

              switch(grade)

              {

              case ‘A’: printf(“90-100\n”);

              case ‘B’: printf(“80-90\n”);

              case ‘C’: printf(“70-80\n”);

              case ‘D’: printf(“60-70\n”); break;

              case ‘E’: printf(“<60\n”);

              default : printf(“error!\n”);

              }

              }

              運行結果為:

              70-80

              60-70

              本題過程:

              首先從鍵盤接收一個字符’C’并將其放在變量grade中。

              執行switch語句。switch后面的條件表達式為grade,因此表達式的值即為字符’C’. 用字符’C’依次與下面的 case中的常量匹配。

              與第3個case后的常量匹配,則從其后的語句開始往下執行程序(在執行過程中不再進行匹配。)因此先執行printf(“70-80\n”);,屏幕上輸出70-80,并換行;再往下繼續執行printf(“60-70\n”),屏幕上輸出60-70,并換行;再繼續執行break, 此時跳出switch語句。

              7.

              #include

              main()

              { int y=9;

              for(;y>0;y- -)

              if(y%3==0)

              { printf(%d”,- -y);

              }

              }

              運行結果為:

              852

              詳見教材p53,自增自減符號

              此題 表達式1被省略,表達式2(循環條件)為y>0,表達式3為y--

              初值y為9,循環條件(即表達式2)y>0成立,進入循環體

              第1次循環

              執行if語句。9%3==0,if語句的條件表達式成立,執行printf(%d”,- -y),即y先自減1變為8,然后在輸出,因此屏幕上輸出8

              轉向表達式3,執行y--,y=y-1=8-1=7。循環條件y>0成立,進入第2次循環

              第2次循環

              執行if語句。7%3不為0,if語句的條件表達式不成立,不執行printf(%d”,- -y)

              轉向表達式3,執行y--,y=y-1=7-1=6。循環條件y>0成立,進入第3次循環

              第3次循環

              執行if語句。6%3==0,if語句的條件表達式成立,執行printf(%d”,- -y),即y先自減1變為5,然后在輸出,因此屏幕上輸出5

              轉向表達式3,執行y--,y=y-1=5-1=4。循環條件y>0成立,進入第4次循環

              第4次循環

              執行if語句。4%3不為0,if語句的條件表達式不成立,不執行printf(%d”,- -y)

              轉向表達式3,執行y--,y=4-1=3。循環條件y>0成立,進入第5次循環

              第5次循環

              執行if語句。3%3==0,if語句的條件表達式成立,執行printf(%d”,- -y),即y先自減1變為2,然后在輸出,因此屏幕上輸出2

              轉向表達式3,執行y--,y=y-1=2-1=1。循環條件y>0成立,進入第5次循環

              第6次循環

              執行if語句。1%3不為0,if語句的條件表達式不成立,不執行printf(%d”,- -y)

              轉向表達式3,執行y--,y=1-1=0。循環條件y>0不成立,循環結束。

              8.

              #include

              main()

              { int i,sum=0;i=1;

              do{ sum=sum+i; i++; }while(i<=10);

              printf(“%d”,sum);

              }

              運行結果為: 55

              9.

              #include

              #define N 4

              main()

              { int i;

              int x1=1,x2=2;

              printf("\n");

              for(i=1;i<=N;i++)

              { printf("%4d%4d",x1,x2);

              if(i%2==0)

              printf("\n");

              x1=x1+x2;

              x2=x2+x1;

              }

              }

              運行結果為:

              1 2 3 5

              8 132134

              此題 首先為整型變量賦初值x1=1,x2=2

              表達式1為i=1,表達式2(循環條件)為i<=N即i<=4,表達式3為i++

              循環變量初值i為1,循環條件(即表達式2)i<=4成立,進入第1次循環

              第1次循環

              執行printf("%4d%4d",x1,x2);因此屏幕上輸出12

              執行if語句。1%2不為0,if語句的條件表達式不成立,不執行printf("\n");

              執行x1=x1+x2=1+2=3;此時x1中的值已變為3

              執行x2=x2+x1=2+3=5。

              轉向表達式3,執行i++,i為2。循環條件i<=4成立,進入第2次循環

              第2次循環

              執行printf("%4d%4d",x1,x2);因此屏幕上輸出35

              執行if語句。2%2==0,if語句的條件表達式成立,執行printf("\n");換行

              執行x1=x1+x2=3+5=8;此時x1中的值已變為8

              執行x2=x2+x1=5+8=13。

              轉向表達式3,執行i++,i為3。循環條件i<=4成立,進入第3次循環

              第3次循環

              執行printf("%4d%4d",x1,x2);因此屏幕上輸出813

              執行if語句。3%2不為0,if語句的條件表達式不成立,不執行printf("\n");

              執行x1=x1+x2=8+13=21;此時x1中的值已變為21

              執行x2=x2+x1=21+13=34。

              轉向表達式3,執行i++,i為4。循環條件i<=4成立,進入第4次循環

              第2次循環

              執行printf("%4d%4d",x1,x2);因此屏幕上輸出2134

              執行if語句。4%2==0,if語句的條件表達式成立,執行printf("\n");換行

              執行x1=x1+x2=21+34=55;此時x1中的值已變為55

              執行x2=x2+x1=34+55=89。

              轉向表達式3,執行i++,i為5。循環條件i<=4不成立,結束循環

              10

              #include

              main( )

              {intx, y;

              for(x=30, y=0; x>=10, y<10; x--, y++)

              x/=2, y+=2;

              printf(“x=%d,y=%d\n”,x,y);

              }

              運行結果為:

              x=0,y=12 11.

              #include

              #define N 4

              main( )

              { inti,j;

              for(i=1;i<=N;i++)

              { for(j=1;j  printf(" ");

              printf("*");

              printf("\n");

              }}

              運行結果為:

              *

              *

              *

              *

              詳見教材P41符號常量

              用宏處理指令定義符號常量N為4,在編譯過程中,遇到N即視為整數4。

              外層for循環,表達式1為i=1,表達式2(循環條件)為i<=N,表達式3為 i++

              內層for循環,表達式1為j=1,表達式2(循環條件)為j  首先計算外層循環的表達式1,i為1,使得循環條件i<=4成立,進入外層for循環體

              外層for循環第1次此時i為1

              內層循環j=1,使得循環條件j  執行printf("*");

              執行printf("\n");換行

              至此外層循環體執行完,計算外層循環的表達式3,i++,此時i為2. 使得循環條件i<=4

              成立,再次進入外層for循環體

              外層for循環第2次 此時i為2

              內層循環j=1,使得循環條件j  第1次執行內層循環體printf(" ");

              執行內層循環表達式3,j++為2,j  執行printf("*");

              執行printf("\n");換行

              至此外層循環體執行完,計算外層循環的表達式3,i++,此時i為3. 使得循環條件i<=4

              成立,進入外層for循環體

              外層for循環第3次 此時i為3

              內層循環j=1,使得循環條件j  第1次執行內層循環體printf(" ");

              執行內層循環表達式3,j++為2,j  第2次執行內層循環體printf(" ");

              執行內層循環表達式3,j++為3,j  執行printf("*");

              執行printf("\n");換行

              至此外層循環體執行完,計算外層循環的表達式3,i++,此時i為4. 使得循環條件i<=4

              成立,進入外層for循環體

              外層for循環第4次 此時i為4

              內層循環j=1,使得循環條件j  第1次執行內層循環體printf(" ");

              執行內層循環表達式3,j++為2,j  第2次執行內層循環體printf(" ");

              執行內層循環表達式3,j++為3,j  第3次執行內層循環體printf(" ");

              執行內層循環表達式3,j++為4,j  執行printf("*");

              執行printf("\n");換行

              至此外層循環體執行完,計算外層循環的表達式3,i++,此時i為5. 使得循環條件i<=4

              不成立,跳出外層for循環體

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

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

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

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

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

            計算機二級《C語言》測試題與答案解析10-30

            計算機二級《C語言》測試題及答案202411-02

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

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

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

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

            <delect id="sj01t"></delect>
            1. <em id="sj01t"><label id="sj01t"></label></em>
            2. <div id="sj01t"></div>
              1. <em id="sj01t"></em>

                      <div id="sj01t"></div>
                      黄色视频在线观看