2017計(jì)算機(jī)二級(jí)C語(yǔ)言選擇題及答案
練習(xí)做多了自然會(huì)形成自己的做題方法和速度,為此,今天百分網(wǎng)小編為大家整理了以下2017計(jì)算機(jī)二級(jí)C語(yǔ)言選擇題及答案,希望對(duì)大家有幫助!
1.若有說(shuō)明語(yǔ)句:double*p,a;則通過(guò)scanf語(yǔ)句正確給輸入項(xiàng)讀人數(shù)據(jù)的程序段是( )。
A.*p=&a;scanf("%1f”,p);
B.*p=&a;scanf("%f",p);
C.p=&a;scanf("%",*p);
D.p=&a;scanf("%1f",p);
2.下列程序的輸出結(jié)果是( )。
#include
main()
{ int a[2][3]={{1,2,3),{4,5,6)),(*p)[3],i;
p=a ;
for(i=0;i<3;i++)
{ if(i<2)
p[1][i]=p[1][i]-1;
else
p[1][i]=1;
}
printf("%d\n",a[o][1]+a[1][1]+a[1][2]);
}
A.8
B.7
C.12
D.9
3.執(zhí)行下列程序后,輸出的結(jié)果是( )。
#include
#define S(X) X*X
void main()
{ int a=9,k=3,m=2;
a/=S(k+m)/S(k+m):
printf("%d",a);
}
A.1
B.4
C.9
D.0
4.設(shè)x=015,則x=x^017的值是( )。
A.00001111
B.11111101
C.00000010
D.1 1000000
5.若fp是指向某文件的指針,且尚未讀到文件末尾,則函數(shù)feof(fp)的返回值是( )。
A.EOF B.-l
c.非零值D.0
6.設(shè)變量a、b、c、d和y都已正確定義并賦值。若有以下if語(yǔ)句:
if(a if(c==d)y=0;
else y=1;
該語(yǔ)句所表示的含義是( )。
A.y=0,a y=1,a≥b
B.y=0,a y=1,a≥b且c≠d
C.y=0,a y=1,a D.y=0,a y=1,c≠d
7.下列程序的運(yùn)行結(jié)果是( )。
#include
void main()
{int s=0,k;
for(k=7;k>1;k--)
{switch(k)
{case 1:
case 4:
case 7:
s++:
break;
case 2:
case 3:
case 6:break;
case 0:
case 5:
s+=2:
break;
}}
printf("s=%d",s);
}
A.s=3
B.s=4
C.s=5
D.無(wú)輸出結(jié)果
8.若i、j已定義成mt型,則下列程序段中內(nèi)循環(huán)體的總執(zhí)行次數(shù)是( )。
for(i=6;i>0;i--)
for(j=0;j<4;j++){…}
A.20
B.24
C.25
D.30
9.下列敘述中正確的是( )。
A.只能在循環(huán)體內(nèi)和switch語(yǔ)句體內(nèi)使用break語(yǔ)句
B.eotinue語(yǔ)句的作用是結(jié)束整個(gè)循環(huán)的執(zhí)行
C.在循環(huán)體內(nèi)使用break語(yǔ)句或continue語(yǔ)句的作用相同
D.從多層循環(huán)嵌套中退出時(shí),只能使用got0語(yǔ)句
10.有以下程序:
#include
void WriteStr(char*fn.char*str)
{ FILE*fp;
fp=fopen(fn,"w");fputs(str,fp);fclose(fp);}
main()
{ WriteStr("tl.dat","start");
WriteStr("t1.dat","end");)
程序運(yùn)行后,文件t1.dat中的內(nèi)容是( )。
A.start
B.end
C.startend
D.endrt
11.運(yùn)行下列程序時(shí),若輸入的數(shù)據(jù)為“1,2,3”,則輸出結(jié)果是( )。
main()
{ float a,b,c,t;
scanf("%f,%f,%f",&a,&b,&c);
if(a {t=a;a=b.b=t;)
if(a {t=a;a=c;c=t;)
it(b {t=b;b=C;c—=;)
printf("%f\n%f\n%f\n",a,b,c);
}
A.1.00
2.00
3.00
B.1.00
3.00
2.00
C.1
3
2
D.3.00000
2.00000
1.00000
12.設(shè)有程序段:
int k=12:
while(k=1)k=k一1;
則下列描述中正確的是( )。
A.while循環(huán)執(zhí)行10次
B.循環(huán)是無(wú)限循環(huán)
C.循環(huán)體語(yǔ)句一次也不執(zhí)行
D.循環(huán)體語(yǔ)句執(zhí)行一次
13.在執(zhí)行完下列的c語(yǔ)句段之后,則B的`值是( )。
char a=’A’;
int b;
B=((34&&56)&&(a<’b’));
A.0
B.1
C.TRUE
D.FALSE
14.有下列函數(shù)定義:
fun(float h)
{ printf("%f,%f\n",h,h*h);)
該函數(shù)的類(lèi)型是( )。
A.int類(lèi)型
B.float類(lèi)型
C.void類(lèi)型
D.函數(shù)無(wú)類(lèi)型說(shuō)明,定義有錯(cuò)
15.有下列程序段:
int n,t=1,S=0;
scanf("%d",&n);
do{s=s+t;t=t-2;while(t!=n);
為使此程序段不陷入循環(huán),從鍵盤(pán)輸入的數(shù)據(jù)應(yīng)該是( )。
參考答案:
1.D!窘馕觥縟ouble*p,a定義了一個(gè)指向雙精度型的指針變量P和雙精度型變量a,p=&a表示將變量a的地址賦給指針變量p;scanf("%If",p)表示用鍵盤(pán)輸入的數(shù)賦給指針變量P所指向的地址單元中,scanf()函數(shù)要求在輸入double型數(shù)據(jù),格式控制符必須用%1f。否則,數(shù)據(jù)不能正確輸入。所以選項(xiàng)D正確。
2.B!窘馕觥勘绢}考查for循環(huán)及if…else語(yǔ)句嵌套,第1次執(zhí)行for循環(huán),p[1][0]=p[1][0]=p[1][0]-1=3;第2 次執(zhí)行for循環(huán),p[1][1]=p[1][1]-1=4;第3次執(zhí)行for 循環(huán),p[1][2]=l,最后輸出的是a[0][1]+a[1][1]+a[1] [2]=2+4+1=7。
3.D。【解析】本題主要考查帶參數(shù)的宏定義,過(guò)程如下:由于定義為define(x) x*x沒(méi)有括號(hào)優(yōu)先級(jí),所以:a= a/(S(k+m)/S(k+m))=a/(k+m*k+m/k+m*k+m) =9/(3+2*3+2/3+2*3+2)=0。
4.C!窘馕觥勘绢}考查按位異或運(yùn)算,異或就是相同為0,不同為1(化為二進(jìn)制00001101),017的二進(jìn)制為000001111,兩者異或結(jié)果為00000010。
5.D!窘馕觥勘绢}考查leon(tp)函數(shù),其功能是:測(cè)試所指的文件的位置指針是否已達(dá)到文件尾,如果已達(dá)到文件尾,則函數(shù)返回非0值;否則返回0,表示文件未結(jié)束。
6.C!窘馕觥空Z(yǔ)句“if(c==d)y=0;else y=1;”是if(a
7.B!窘馕觥窟\(yùn)行程序,當(dāng)k=7時(shí)switch(7)執(zhí)行case:7,s++后s=1,break跳出。k--,k=7繼續(xù)循環(huán)switch(6),執(zhí)行case 6;直接跳出循環(huán),k--變成5,繼續(xù)循環(huán)switch(5),執(zhí)行case 5后面的語(yǔ)句s+=2,也相當(dāng)于s= s+2,此時(shí)s為3,break跳出,k變?yōu)?,繼續(xù)循環(huán),執(zhí)行case 4為空,繼續(xù)執(zhí)行case 7;s++為4跳出循環(huán),k--變?yōu)?,繼續(xù)循環(huán),執(zhí)行case 3,空語(yǔ)句往下執(zhí)行case 6,跳出,k -- 為2,繼續(xù)循環(huán),執(zhí)行case 2;空語(yǔ)句往下執(zhí)行case 3,空語(yǔ)句再執(zhí)行case 7,跳出循環(huán),k--為1不符合循環(huán),退出,此時(shí)S=4。
8.B!窘馕觥勘绢}考查for循環(huán)的使用。對(duì)于第1個(gè)for循環(huán),任何一個(gè)i,內(nèi)層j的循環(huán)都要使j~0到3,j=4時(shí)不符合,所以退出j循環(huán);然后i減1,J仍然要從0~3,j=4 時(shí)退出J循環(huán)直到i變成0,退出i循環(huán)。第一條for語(yǔ)句執(zhí)行6次,第二條for語(yǔ)句執(zhí)行4次,所以?xún)?nèi)循環(huán)體執(zhí)行6*4 =24次。
9.A!窘馕觥勘绢}考查循環(huán)跳出的知識(shí)點(diǎn):①break語(yǔ)句可以出現(xiàn)在switch循環(huán)體內(nèi)及語(yǔ)句體內(nèi),它的作用是跳出循環(huán)體,不能用于其他的語(yǔ)句;②continue語(yǔ)句的作用是結(jié)束本次循環(huán),即跳過(guò)循環(huán)體中下面尚未執(zhí)行的語(yǔ)句,而接著判定循環(huán)條件是否成立,確定下一次循環(huán)是否繼續(xù)執(zhí)行,執(zhí)行contiune語(yǔ)句不會(huì)使整介循環(huán)終止;③循環(huán)體內(nèi)使用break語(yǔ)句會(huì)使循環(huán)提前終止;④從多層循環(huán)嵌套中退出時(shí),可以使用90t0語(yǔ)句或者break語(yǔ)句。
10.B!窘馕觥坑"w"方式打開(kāi)文件,意思是如果文件名相同則覆蓋原來(lái)的文件,所以當(dāng)再次輸入時(shí)覆蓋了第一次的內(nèi)容,B選項(xiàng)正確。
11.D。【解析】本題考查if語(yǔ)句。第1個(gè)if語(yǔ)句,如果
a 12.C!窘馕觥勘绢}考查while,while循環(huán)表達(dá)式k=1是個(gè)賦值表達(dá)式而不是邏輯表達(dá)式,k的初值為12不符合循環(huán)條件,所以循環(huán)體一次也不執(zhí)行。
13.B!窘馕觥勘绢}考查3個(gè)知識(shí)點(diǎn):將一個(gè)字符賦給一個(gè)字符變量時(shí),是將該字符對(duì)應(yīng)的ASCIl碼存儲(chǔ)到內(nèi)存單元中;常見(jiàn)ASCII碼的值如A和a;只要邏輯與運(yùn)算符&&的兩個(gè)運(yùn)算對(duì)象都為真時(shí),返回值就是1。
14.A。【解析】本題考查函數(shù)值的類(lèi)型,在函數(shù)定義時(shí), 由于函數(shù)沒(méi)有說(shuō)明其類(lèi)型,系統(tǒng)默認(rèn)一律自動(dòng)按整型(int)
處理。
15.D!窘馕觥勘绢}主要考查do—while循環(huán),因?yàn)樽兞縯的初始值等于1,經(jīng)過(guò)第一次do-while循環(huán)后,執(zhí)行t= t-1這條語(yǔ)句一次,所以變量t的值為-1,判斷關(guān)系表達(dá)式t!=n是否成立,如果關(guān)系表達(dá)式成立,則執(zhí)行第二次循環(huán),如果關(guān)系表達(dá)式不成立,退出循環(huán)。由此可見(jiàn),只要輸入變量n的值為負(fù)奇數(shù),則一定會(huì)使t==n成立,故退出do-while循環(huán)。
A.任意正奇數(shù)
B.任意負(fù)偶數(shù)
C.任意正偶數(shù)
D.任意負(fù)奇數(shù)
【2017計(jì)算機(jī)二級(jí)C語(yǔ)言選擇題及答案】相關(guān)文章:
計(jì)算機(jī)二級(jí)《C語(yǔ)言》選擇題訓(xùn)練題及答案10-04
計(jì)算機(jī)二級(jí)C語(yǔ)言試題及答案10-06
計(jì)算機(jī)二級(jí)《C語(yǔ)言》專(zhuān)項(xiàng)試題及答案09-28
2017計(jì)算機(jī)二級(jí)C語(yǔ)言章節(jié)練習(xí)題及答案10-30
計(jì)算機(jī)二級(jí)考試C語(yǔ)言試題與答案(選擇題)10-01
計(jì)算機(jī)二級(jí)C語(yǔ)言選擇題08-31
計(jì)算機(jī)二級(jí)C語(yǔ)言練習(xí)題及答案10-04
計(jì)算機(jī)二級(jí)考試C語(yǔ)言強(qiáng)化題及答案09-28