為大家收集整理了《2014計(jì)算機(jī)等級(jí)二級(jí)C語言模擬試題》供大家參考,希望對(duì)大家有所幫助?。。?BR> 1.
#include "stdio.h"
main()
{char c;
c=getchar();
while(c!='?') {putchar(c);c=getchar(); }
}
如果從鍵盤輸入abcde?fgh(回車)
運(yùn)行結(jié)果為:abcde
2.
#include
main()
{ char c;
while((c=getchar())!=’$’)
{ if(‘A’<=c&&c<=‘Z’)putchar(c);
else if(‘a(chǎn)’<=c&&c<=‘z’)putchar(c-32);}
}
當(dāng)輸入為ab*AB%cd#CD$時(shí),運(yùn)行結(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);
}
運(yùn)行結(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語句下面的一個(gè)語句
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成立,進(jìn)入循環(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成立,進(jìn)入第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成立,進(jìn)入第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成立,進(jìn)入第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成立,進(jìn)入第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’ : printf(“%c”,’A’);
case‘B’ : printf(“%c”,’B’); break;
default: printf(“%s\n”,”other”);
} }
當(dāng)從鍵盤輸入字母A時(shí),運(yùn)行結(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é)束
本題過程:
首先從鍵盤接收一個(gè)字符’A’并將其放在變量ch中。
執(zhí)行switch語句。Switch后面的條件表達(dá)式為ch,因此表達(dá)式的值即為字符’A’. 用字符’A’依次與下面的 case中的常量匹配。
與第1個(gè)case后的常量匹配,則從其后的語句開始往下執(zhí)行程序(在執(zhí)行過程中不再進(jìn)行匹配。)因此先執(zhí)行printf(“%c”,’A’),屏幕上輸出A;再往下繼續(xù)執(zhí)行printf(“%c”,’B’),屏幕上輸出B;再繼續(xù)執(zhí)行break, 此時(shí)跳出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,運(yùn)行結(jié)果為:10
本題過程:
首先用scanf函數(shù)為變量a賦值為5。
執(zhí)行switch語句。switch后面的條件表達(dá)式為a,因此表達(dá)式的值即為5. 用5依次與下面 case中的常量匹配。沒有找到匹配的常量,因此兩個(gè)case后的語句都不執(zhí)行。執(zhí)行default后面的語句b=10;將10賦給變量b。
輸出變量b,結(jié)果為10
#include "stdio.h"
main()
{char c;
c=getchar();
while(c!='?') {putchar(c);c=getchar(); }
}
如果從鍵盤輸入abcde?fgh(回車)
運(yùn)行結(jié)果為:abcde
2.
#include
main()
{ char c;
while((c=getchar())!=’$’)
{ if(‘A’<=c&&c<=‘Z’)putchar(c);
else if(‘a(chǎn)’<=c&&c<=‘z’)putchar(c-32);}
}
當(dāng)輸入為ab*AB%cd#CD$時(shí),運(yùn)行結(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);
}
運(yùn)行結(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語句下面的一個(gè)語句
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成立,進(jìn)入循環(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成立,進(jìn)入第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成立,進(jìn)入第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成立,進(jìn)入第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成立,進(jìn)入第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’ : printf(“%c”,’A’);
case‘B’ : printf(“%c”,’B’); break;
default: printf(“%s\n”,”other”);
} }
當(dāng)從鍵盤輸入字母A時(shí),運(yùn)行結(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é)束
本題過程:
首先從鍵盤接收一個(gè)字符’A’并將其放在變量ch中。
執(zhí)行switch語句。Switch后面的條件表達(dá)式為ch,因此表達(dá)式的值即為字符’A’. 用字符’A’依次與下面的 case中的常量匹配。
與第1個(gè)case后的常量匹配,則從其后的語句開始往下執(zhí)行程序(在執(zhí)行過程中不再進(jìn)行匹配。)因此先執(zhí)行printf(“%c”,’A’),屏幕上輸出A;再往下繼續(xù)執(zhí)行printf(“%c”,’B’),屏幕上輸出B;再繼續(xù)執(zhí)行break, 此時(shí)跳出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,運(yùn)行結(jié)果為:10
本題過程:
首先用scanf函數(shù)為變量a賦值為5。
執(zhí)行switch語句。switch后面的條件表達(dá)式為a,因此表達(dá)式的值即為5. 用5依次與下面 case中的常量匹配。沒有找到匹配的常量,因此兩個(gè)case后的語句都不執(zhí)行。執(zhí)行default后面的語句b=10;將10賦給變量b。
輸出變量b,結(jié)果為10

