2023年c語言測試試題及答案 c語言測試題目及答案文檔精選

字號:

    在日常的學(xué)習(xí)、工作、生活中,肯定對各類范文都很熟悉吧。相信許多人會覺得范文很難寫?以下是我為大家搜集的優(yōu)質(zhì)范文,僅供參考,一起來看看吧
    c語言測試試題及答案 c語言測試題目及答案文檔篇一
     一個愛書的人,他必定不致于缺少一個忠實的朋友,一個良好的老師,一個可愛的伴侶,一個溫情的安慰者。以下是小編為大家搜索整理的c語言測試試題及答案,希望能給大家?guī)韼椭?更多精彩內(nèi)容請及時關(guān)注我們應(yīng)屆畢業(yè)生考試網(wǎng)!
     1.
     #include "stdio.h"
     main()
     {char c;
     c=getchar();
     while(c!='?') {putchar(c);c=getchar(); }
     }
     如果從鍵盤輸入abcde?fgh(回車)
     運行結(jié)果為:abcde
     2.
     #include
     main()
     { char c;
     while((c=getchar())!=’$’)
     { if(‘a(chǎn)’<=c&&c<=‘z’)putchar(c);
     else if(‘a(chǎn)’<=c&&c<=‘z’)putchar(c-32);}
     }
     當(dāng)輸入為ab*ab%cd#cd$時,運行結(jié)果為: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);
     }
     運行結(jié)果為:10 5
     詳見教材p120for語句
     詳見教材p126~128break,continue語句
     for( 表達(dá)式1;表達(dá)式2;表達(dá)式3)
     {
     }
     (1) 先求解表達(dá)式1
     (2) 求解表達(dá)式2,若其值為真,執(zhí)行循環(huán)體,然后執(zhí)行 (3). 若為假,則結(jié)束循環(huán),轉(zhuǎn)到(5)
     (3) 求解表達(dá)式3
     (4) 轉(zhuǎn)回上面 (2)繼續(xù)執(zhí)行
     (5) 循環(huán)結(jié)束,執(zhí)行for語句下面的一個語句
     break ,跳出循環(huán)體;continue,結(jié)束本次循環(huán)(第i次循環(huán)),繼續(xù)執(zhí)行下一次循環(huán)(第i+1次循環(huán))
     此題 表達(dá)式1為x=1,表達(dá)式2(循環(huán)條件)為x<=10,表達(dá)式3為x++
     初值x為1,y為0,循環(huán)條件(即表達(dá)式2)x<=10成立,進入循環(huán)體
     第1次循環(huán)
     執(zhí)行if語句。0小于10,if語句的條件表達(dá)式不成立,不執(zhí)行break;
     執(zhí)行y=y+x; y=0+1=1
     轉(zhuǎn)向表達(dá)式3,執(zhí)行x++,x=x+1=1+1=2。循環(huán)條件x<=10成立,進入第2次循環(huán)
     第2次循環(huán)
     執(zhí)行if語句。1小于10,if語句的條件表達(dá)式不成立,不執(zhí)行break;
     執(zhí)行y=y+x; y=1+2=3
     轉(zhuǎn)向表達(dá)式3,執(zhí)行x++,x=x+1=2+1=3。循環(huán)條件x<=10成立,進入第3次循環(huán)
     第3次循環(huán)
     執(zhí)行if語句。3小于10,if語句的條件表達(dá)式不成立,不執(zhí)行break;
     執(zhí)行y=y+x; y=3+3=6
     轉(zhuǎn)向表達(dá)式3,執(zhí)行x++,x=x+1=3+1=4。循環(huán)條件x<=10成立,進入第4次循環(huán)
     第4次循環(huán)
     執(zhí)行if語句。6小于10,if語句的條件表達(dá)式不成立,不執(zhí)行break;
     執(zhí)行y=y+x; y=6+4=10
     轉(zhuǎn)向表達(dá)式3,執(zhí)行x++,x=x+1=4+1=5。循環(huán)條件x<=10成立,進入第5次循環(huán)
     第5次循環(huán)
     執(zhí)行if語句。10等于10,if語句的條件表達(dá)式成立,執(zhí)行break,跳出循環(huán)。
     從break跳出至for語句的下一條語句。執(zhí)行printf(“%d %d”,y,x);
     輸出當(dāng)前的y與x.結(jié)果為10 5
     4.
     #include
     main( )
     {char ch;
     ch=getchar( );
     switch(ch)
     {case‘a(chǎn)’ : printf(“%c”,’a’);
     case‘b’ : printf(“%c”,’b’); break;
     default: printf(“%s\n”,”other”);
     } }
     當(dāng)從鍵盤輸入字母a時,運行結(jié)果為:ab
     詳見教材p103,switch語句
     switch(表達(dá)式)
     { case常量1 :語句1
     case常量2 :語句2
     ┇┇ ┇
     case常量n :語句n
     default :語句n+1
     }
     其中表達(dá)式,常量1,…,常量n都為整型或字符型
     case相當(dāng)于給出執(zhí)行程序的入口和起始位置,若找到匹配的常量,則從此處開始往下執(zhí)行程序,不再匹配常量,直至遇到break或switch結(jié)束
     本題過程:
     首先從鍵盤接收一個字符’a’并將其放在變量ch中。
     執(zhí)行switch語句。switch后面的條件表達(dá)式為ch,因此表達(dá)式的值即為字符’a’. 用字符’a’依次與下面的 case中的常量匹配。
     與第1個case后的常量匹配,則從其后的語句開始往下執(zhí)行程序(在執(zhí)行過程中不再進行匹配。)因此先執(zhí)行printf(“%c”,’a’),屏幕上輸出a;再往下繼續(xù)執(zhí)行printf(“%c”,’b’),屏幕上輸出b;再繼續(xù)執(zhí)行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,運行結(jié)果為:10
     本題過程:
     首先用scanf函數(shù)為變量a賦值為5。
     執(zhí)行switch語句。switch后面的條件表達(dá)式為a,因此表達(dá)式的值即為5. 用5依次與下面 case中的常量匹配。沒有找到匹配的常量,因此兩個case后的語句都不執(zhí)行。執(zhí)行default后面的語句b=10;將10賦給變量b。
     輸出變量b,結(jié)果為10
     6.
     #include
     main()_
     { char grade=’c’;
     switch(grade)
     {
     case ‘a(chǎn)’: 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”);
     }
     }
     運行結(jié)果為:
     70-80
     60-70
     本題過程:
     首先從鍵盤接收一個字符’c’并將其放在變量grade中。
     執(zhí)行switch語句。switch后面的條件表達(dá)式為grade,因此表達(dá)式的`值即為字符’c’. 用字符’c’依次與下面的 case中的常量匹配。
     與第3個case后的常量匹配,則從其后的語句開始往下執(zhí)行程序(在執(zhí)行過程中不再進行匹配。)因此先執(zhí)行printf(“70-80\n”);,屏幕上輸出70-80,并換行;再往下繼續(xù)執(zhí)行printf(“60-70\n”),屏幕上輸出60-70,并換行;再繼續(xù)執(zhí)行break, 此時跳出switch語句。
     7.
     #include
     main()
     { int y=9;
     for(;y>0;y- -)
     if(y%3==0)
     { printf(%d”,- -y);
     }
     }
     運行結(jié)果為:
     852
     詳見教材p53,自增自減符號
     此題 表達(dá)式1被省略,表達(dá)式2(循環(huán)條件)為y>0,表達(dá)式3為y--
     初值y為9,循環(huán)條件(即表達(dá)式2)y>0成立,進入循環(huán)體
     第1次循環(huán)
     執(zhí)行if語句。9%3==0,if語句的條件表達(dá)式成立,執(zhí)行printf(%d”,- -y),即y先自減1變?yōu)?,然后在輸出,因此屏幕上輸出8
     轉(zhuǎn)向表達(dá)式3,執(zhí)行y--,y=y-1=8-1=7。循環(huán)條件y>0成立,進入第2次循環(huán)
     第2次循環(huán)
     執(zhí)行if語句。7%3不為0,if語句的條件表達(dá)式不成立,不執(zhí)行printf(%d”,- -y)
     轉(zhuǎn)向表達(dá)式3,執(zhí)行y--,y=y-1=7-1=6。循環(huán)條件y>0成立,進入第3次循環(huán)
     第3次循環(huán)
     執(zhí)行if語句。6%3==0,if語句的條件表達(dá)式成立,執(zhí)行printf(%d”,- -y),即y先自減1變?yōu)?,然后在輸出,因此屏幕上輸出5
     轉(zhuǎn)向表達(dá)式3,執(zhí)行y--,y=y-1=5-1=4。循環(huán)條件y>0成立,進入第4次循環(huán)
     第4次循環(huán)
     執(zhí)行if語句。4%3不為0,if語句的條件表達(dá)式不成立,不執(zhí)行printf(%d”,- -y)
     轉(zhuǎn)向表達(dá)式3,執(zhí)行y--,y=4-1=3。循環(huán)條件y>0成立,進入第5次循環(huán)
     第5次循環(huán)
     執(zhí)行if語句。3%3==0,if語句的條件表達(dá)式成立,執(zhí)行printf(%d”,- -y),即y先自減1變?yōu)?,然后在輸出,因此屏幕上輸出2
     轉(zhuǎn)向表達(dá)式3,執(zhí)行y--,y=y-1=2-1=1。循環(huán)條件y>0成立,進入第5次循環(huán)
     第6次循環(huán)
     執(zhí)行if語句。1%3不為0,if語句的條件表達(dá)式不成立,不執(zhí)行printf(%d”,- -y)
     轉(zhuǎn)向表達(dá)式3,執(zhí)行y--,y=1-1=0。循環(huán)條件y>0不成立,循環(huán)結(jié)束。
     8.
     #include
     main()
     { int i,sum=0;i=1;
     do{ sum=sum+i; i++; }while(i<=10);
     printf(“%d”,sum);
     }
     運行結(jié)果為: 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;
     }
     }
     運行結(jié)果為:
     1 2 3 5
     8 132134
     此題 首先為整型變量賦初值x1=1,x2=2
     表達(dá)式1為i=1,表達(dá)式2(循環(huán)條件)為i<=n即i<=4,表達(dá)式3為i++
     循環(huán)變量初值i為1,循環(huán)條件(即表達(dá)式2)i<=4成立,進入第1次循環(huán)
     第1次循環(huán)
     執(zhí)行printf("%4d%4d",x1,x2);因此屏幕上輸出12
     執(zhí)行if語句。1%2不為0,if語句的條件表達(dá)式不成立,不執(zhí)行printf("\n");
     執(zhí)行x1=x1+x2=1+2=3;此時x1中的值已變?yōu)?
     執(zhí)行x2=x2+x1=2+3=5。
     轉(zhuǎn)向表達(dá)式3,執(zhí)行i++,i為2。循環(huán)條件i<=4成立,進入第2次循環(huán)
     第2次循環(huán)
     執(zhí)行printf("%4d%4d",x1,x2);因此屏幕上輸出35
     執(zhí)行if語句。2%2==0,if語句的條件表達(dá)式成立,執(zhí)行printf("\n");換行
     執(zhí)行x1=x1+x2=3+5=8;此時x1中的值已變?yōu)?
     執(zhí)行x2=x2+x1=5+8=13。
     轉(zhuǎn)向表達(dá)式3,執(zhí)行i++,i為3。循環(huán)條件i<=4成立,進入第3次循環(huán)
     第3次循環(huán)
     執(zhí)行printf("%4d%4d",x1,x2);因此屏幕上輸出813
     執(zhí)行if語句。3%2不為0,if語句的條件表達(dá)式不成立,不執(zhí)行printf("\n");
     執(zhí)行x1=x1+x2=8+13=21;此時x1中的值已變?yōu)?1
     執(zhí)行x2=x2+x1=21+13=34。
     轉(zhuǎn)向表達(dá)式3,執(zhí)行i++,i為4。循環(huán)條件i<=4成立,進入第4次循環(huán)
     第2次循環(huán)
     執(zhí)行printf("%4d%4d",x1,x2);因此屏幕上輸出2134
     執(zhí)行if語句。4%2==0,if語句的條件表達(dá)式成立,執(zhí)行printf("\n");換行
     執(zhí)行x1=x1+x2=21+34=55;此時x1中的值已變?yōu)?5
     執(zhí)行x2=x2+x1=34+55=89。
     轉(zhuǎn)向表達(dá)式3,執(zhí)行i++,i為5。循環(huán)條件i<=4不成立,結(jié)束循環(huán)
     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);
     }
     運行結(jié)果為:
     x=0,y=1211.
     #include
     #define n 4
     main( )
     { inti,j;
     for(i=1;i<=n;i++)
     { for(j=1;jprintf(" ");
     printf("*");
     printf("\n");
     }}
     運行結(jié)果為:
     *
     *
     *
     *
     詳見教材p41符號常量
     用宏處理指令定義符號常量n為4,在編譯過程中,遇到n即視為整數(shù)4。
     外層for循環(huán),表達(dá)式1為i=1,表達(dá)式2(循環(huán)條件)為i<=n,表達(dá)式3為 i++
     內(nèi)層for循環(huán),表達(dá)式1為j=1,表達(dá)式2(循環(huán)條件)為j首先計算外層循環(huán)的表達(dá)式1,i為1,使得循環(huán)條件i<=4成立,進入外層for循環(huán)體
     外層for循環(huán)第1次此時i為1
     內(nèi)層循環(huán)j=1,使得循環(huán)條件j執(zhí)行printf("*");
     執(zhí)行printf("\n");換行
     至此外層循環(huán)體執(zhí)行完,計算外層循環(huán)的表達(dá)式3,i++,此時i為2. 使得循環(huán)條件i<=4
     成立,再次進入外層for循環(huán)體
     外層for循環(huán)第2次 此時i為2
     內(nèi)層循環(huán)j=1,使得循環(huán)條件j第1次執(zhí)行內(nèi)層循環(huán)體printf(" ");
     執(zhí)行內(nèi)層循環(huán)表達(dá)式3,j++為2,j執(zhí)行printf("*");
     執(zhí)行printf("\n");換行
     至此外層循環(huán)體執(zhí)行完,計算外層循環(huán)的表達(dá)式3,i++,此時i為3. 使得循環(huán)條件i<=4
     成立,進入外層for循環(huán)體
     外層for循環(huán)第3次 此時i為3
     內(nèi)層循環(huán)j=1,使得循環(huán)條件j第1次執(zhí)行內(nèi)層循環(huán)體printf(" ");
     執(zhí)行內(nèi)層循環(huán)表達(dá)式3,j++為2,j第2次執(zhí)行內(nèi)層循環(huán)體printf(" ");
     執(zhí)行內(nèi)層循環(huán)表達(dá)式3,j++為3,j執(zhí)行printf("*");
     執(zhí)行printf("\n");換行
     至此外層循環(huán)體執(zhí)行完,計算外層循環(huán)的表達(dá)式3,i++,此時i為4. 使得循環(huán)條件i<=4
     成立,進入外層for循環(huán)體
     外層for循環(huán)第4次 此時i為4
     內(nèi)層循環(huán)j=1,使得循環(huán)條件j第1次執(zhí)行內(nèi)層循環(huán)體printf(" ");
     執(zhí)行內(nèi)層循環(huán)表達(dá)式3,j++為2,j第2次執(zhí)行內(nèi)層循環(huán)體printf(" ");
     執(zhí)行內(nèi)層循環(huán)表達(dá)式3,j++為3,j第3次執(zhí)行內(nèi)層循環(huán)體printf(" ");
     執(zhí)行內(nèi)層循環(huán)表達(dá)式3,j++為4,j執(zhí)行printf("*");
     執(zhí)行printf("\n");換行
     至此外層循環(huán)體執(zhí)行完,計算外層循環(huán)的表達(dá)式3,i++,此時i為5. 使得循環(huán)條件i<=4
     不成立,跳出外層for循環(huán)體
    s("content_relate");
    【c語言測試試題及答案】相關(guān)文章:
    1.
    常用c語言測試題及答案
    2.
    c語言筆試試題及答案
    3.
    c語言練習(xí)測試試題
    4.
    c語言自我檢測試題
    5.
    c語言自測試題
    6.
    c語言考試模擬測試題
    7.
    計算機二級c語言測試題及答案解析
    8.
    計算機二級c語言預(yù)測試題及答案
    9.
    c語言經(jīng)典例題及答案