21.若程序前面已在命令中包含math.h文件,不能夠正確
計算上述公式的程序段是( )。A. if(x>=0)y=-sqrt(x);
else y=sqrt(-x);B. y=sqrt(x)
if(x<0)y=sqrt(~x);C. if(x>=0)y—sqrt(x);
If(x<0)y=sqrt(一x);D. y=sqrt(x>=0?x:-x);
本題共1分,參考答案:B:B!窘馕觥窟x項A、C、D分別用一個ifelse語句、兩
個if語句和條件表達式表達了計算公式的含義。
22當(dāng)輸入為"hello?"時,下面程序的執(zhí)行結(jié)果是( )。
#includedstdio.h>
main()
( char C;
c=getchar();
while(c!='?')
(putchar(c);break;
)
}A. RvfsuB. hC. ?D. hello
本題共1分,參考答案:B:B!窘馕觥勘绢}考查getchar()函數(shù)與putchar()函
數(shù),通過9etchar()函數(shù)讀入字符,并通過putchar()函數(shù)將字符逐個輸出,當(dāng)用戶輸入“?”時停止輸出,且C是一個字符變量只占一個字節(jié)。
23下列選項中不是C語句的是( )。A. { int i;i++;printf(”%d\n”,i);)B. ;C. a=5,c=10D. {;}
本題共1分,參考答案:C:C!窘馕觥緾項缺少分號。因為賦值語句兩個標(biāo)志: 賦值(就是”=”)和語句(加上”;”)。
24若有下列定義和語句:
int u一011,v一0x11,w一11:
printf(”%o,%x,%d\n”,u,v,w):
則輸出結(jié)果是( )。A. 9,17,11B. 9,11。11C. 11,11,11D. 11,17。11
本題共1分,參考答案:C:C!窘馕觥俊%O”表示八進制無符號型輸出整型數(shù)據(jù)(即不帶前導(dǎo)o);“%X”表示以十六進制無符號型輸出整型數(shù)據(jù)(即不帶前導(dǎo)ox或OX);“%d”表示輸出帶符號的十進制整型數(shù)。
25執(zhí)行下列程序中的輸出語句后,a的值是( )。
main()
{ int a;
printf(”%dkn”,(a=2*3,a*5,a+7));
)A. 17B. 37C. 6D. 13
本題共1分,參考答案:C:C!窘馕觥勘绢}考查逗號表達式。程序輸出時輸出一個%d,所以輸出第一個a的值與后續(xù)無關(guān)。
26下列選項中不會引起二義性的宏定義是( )。A. #define S(x)X*xB. #define S(x) (x)*(x)C. #define S(x) (x*x)D. #define S(x) ((x)*(x))
本題共1分,參考答案:D:D。【解析】本題考查參數(shù)的宏替換。為避免二義性有些參數(shù)表達式必須加括號,否則在實參表達式替換時,會出現(xiàn)錯誤。例如x為(m+n)時替換A:m+rl*m+n,所以選項D最符合條件。
27下列程序的輸出結(jié)果是( )。
#include%stdio.h>
main()
{ int i;
for(i=1;i<=10,i++)
f if((i*i>=20)&&(i*i<=100))
break;
)
print[(”%d\n”,i*i);
)A. 49B. 36C. 25D. 64
本題共1分,參考答案:C:C。【解析】本題考查for循環(huán)及if語句。當(dāng)執(zhí)行到第一個滿足(i*i>=20)&&(i*i-<=100)這個條件的i出現(xiàn)時,break跳出循環(huán),執(zhí)行下列的printf語句。
28有以下程序:
#included stdio.h>
main()
{ char cl='1',c2='2';
cl=getchar():c2=getchar();putchar(c1);putchar
(c2);
}
當(dāng)程序運行時輸入a<回車>后,下列敘述中正確的是( )。A. 變量c1被賦予字符a,c2被賦予回車符B. 程序?qū)⒌却脩糨斎氲?個字符C. 變量c1被賦予字符a,c2中仍是原有字符2D. 變量c1被賦予字符a,c2中將無確定值
本題共1分,參考答案:A:A!窘馕觥勘绢}考查getchar()函數(shù),從終端讀入一個字符作為函數(shù)值。在輸入時,空格、回車符都將作為字符讀入,而且只有在用戶敲入回車鍵時,讀入才開始執(zhí)行。所以當(dāng)輸入a<回車>后,變量cl被賦予字符a,而變量c2被賦予回車符。
29有如下程序:
main()
( int x=1,a=O,b=0;
switch(x)
{
CgtSC 0:b++;
case 1:a++;
CaSe 2:a++;b++;
)
printf(”a=%d.b=%d\n”,a.b);
}
該程序的輸出結(jié)果是( )。A. a=2,b=1B. a=1,b=1C. a=1,b=0D. a=2 b=2
本題共1分,參考答案:A:A。【解析】當(dāng)X為1時,執(zhí)行casel,a自加等于l,因為casel后沒有break,接著執(zhí)行case2,此時a的值為2,b自加為1,故選擇A選項。
30有以下程序:
#include
main()
{ int k=-3:
if(k<=0)printf(”****\n”)
else printf(”&&&&\n”);
}
程序的輸出結(jié)果是( )。A. 輸出####B. 輸出&&&&C. 輸出####&&&&D. 有語法錯不能通過編譯
本題共1分,參考答案:D:D。【解析】{intk=一3;if(k<=0)printf(”*”**\n”)elseprintf(”&&&&\n”);)中printf(”****\rl”)缺少分號,因此會報編譯錯誤。
相關(guān)推薦:
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |