糯米文學吧

位置:首頁 > 計算機 > C語言

最新計算機C語言測試題附答案解析

C語言3.13W

生活裏沒有書籍,就好像沒有陽光;智慧裏沒有書籍,就好像鳥兒沒有翅膀。以下是小編為大家搜索整理的最新計算機C語言測試題附答案解析,希望能給大家帶來幫助!更多精彩內容請及時關注我們應屆畢業生考試網!

最新計算機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(“%sn”,”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-100n”);

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

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

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

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

default : printf(“error!n”);

}

}

運行結果為: