![C語(yǔ)言學(xué)校題庫(kù)專(zhuān)項(xiàng)練習(xí)1_第1頁(yè)](http://file4.renrendoc.com/view/8b95fce5087a890531cf7e18d19c114d/8b95fce5087a890531cf7e18d19c114d1.gif)
![C語(yǔ)言學(xué)校題庫(kù)專(zhuān)項(xiàng)練習(xí)1_第2頁(yè)](http://file4.renrendoc.com/view/8b95fce5087a890531cf7e18d19c114d/8b95fce5087a890531cf7e18d19c114d2.gif)
![C語(yǔ)言學(xué)校題庫(kù)專(zhuān)項(xiàng)練習(xí)1_第3頁(yè)](http://file4.renrendoc.com/view/8b95fce5087a890531cf7e18d19c114d/8b95fce5087a890531cf7e18d19c114d3.gif)
![C語(yǔ)言學(xué)校題庫(kù)專(zhuān)項(xiàng)練習(xí)1_第4頁(yè)](http://file4.renrendoc.com/view/8b95fce5087a890531cf7e18d19c114d/8b95fce5087a890531cf7e18d19c114d4.gif)
![C語(yǔ)言學(xué)校題庫(kù)專(zhuān)項(xiàng)練習(xí)1_第5頁(yè)](http://file4.renrendoc.com/view/8b95fce5087a890531cf7e18d19c114d/8b95fce5087a890531cf7e18d19c114d5.gif)
版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
C語(yǔ)言學(xué)校題庫(kù)專(zhuān)項(xiàng)練習(xí)1
專(zhuān)項(xiàng)1選擇題500道
1.設(shè)有如下函數(shù)
fac(intx)
(
floaty=1.0;
return(x*y);
}
則函數(shù)的類(lèi)型為().
AJnt型
B、float型
C、無(wú)法確定
Devoid型
注:不定義時(shí)默認(rèn)是int
2.以下程序輸出的是:()(答案中用大寫(xiě)字母U代表空格)
main()
{inta=-l,b=4,k;
k=(a++<=0)&&(!(b--<=0));
printf("%d%d%d\n",k,a,b);
)
A.0U1U2
B.0U0U3
C、1U0U3
D.1U1U2
注:k=(a++<=0)&&(!(b-<=0));
a=a++=a+1=0
b=b—=b-l=3
a++<=0為真
(b-<)=0為假,則!(b-<)=0為真
所以k=l答案是103
3.執(zhí)行下列程序段后,m的值是().
intw=2,x=3,y=4,z=5,m;
m=(w<x)?w:x;
m=(m<y)?m:y;
m=(m<z)?m:z;
A、5
B、3
C、2
D、4
4.設(shè)有以下定義:
inta[4][3]={l,2z3z4,5,6,7,8,9,10,llz12);
int(*prt)[3]=a,*p=a[0];
則能夠正確表示數(shù)組元素的表達(dá)式是().
A、*(*(p+5))
B、*(*(a+l)+2)
C、*((*prt+1)⑵)
D、(*prt+l)+2
注:參考二維數(shù)組指針如下
1.通過(guò)地址來(lái)引用二維數(shù)組元素若有以下定義:int且當(dāng)04i<3、04j<4,則a數(shù)組
元
素可用以F五種表達(dá)式來(lái)引用:(l)a[i][j](2)*(a[i]+j)(3)*(*(a+i)+j)(4)(*(a+i))[j](5)
*(&a[0][0]+4*i+j)
2.當(dāng)p數(shù)組的每個(gè)元素指向a數(shù)組每行的開(kāi)頭時(shí),則a數(shù)組元素的引用形式*(a[i]+j)
和*(p[i]+j)是完全等價(jià)的。由此可見(jiàn),這時(shí)可以通過(guò)指針數(shù)組p來(lái)引用a數(shù)組元素,它們的等價(jià)
形式如下:(l)*(p[i]+j)(2)*(*(p+i)+j)(3)(*(p+i))[j](4)p[i][j]不同的是:p[i]中的值是可
變的,而a[i]中的值是不可變的。
3.通過(guò)建立一個(gè)行指針來(lái)引用二維數(shù)組元素若有以下定義:inta[3][2],(*prt)[2];在這里,說(shuō)
明符(*prt)[2]中,由于一對(duì)圓括號(hào)的存在,所以*號(hào)首先與prt結(jié)合,說(shuō)明prt是一個(gè)指針變量,
然后再與說(shuō)明符[2]結(jié)合,說(shuō)明指針變量prt的基類(lèi)型是一個(gè)包含有兩個(gè)int元素的數(shù)組。在這
里,prt的基類(lèi)型與a的相同,因此p代=a;是合法的賦值語(yǔ)句。prt+1等價(jià)于a+1、等價(jià)于a[l]
當(dāng)prt指向a數(shù)組的開(kāi)頭時(shí),可以通過(guò)以下形式來(lái)引用*(prt[i]+j)(2)*(*(prt+i)
+j)(3)(*(prt+i))[j](4)prt[i]U]在這里,prt是個(gè)指針變量,它的值可變,而a是一個(gè)常量。
5.下列字符序列中,可用作C標(biāo)識(shí)符的一組字符序列是()。
A,D56,r_l_2,name,_st_l
B,S.b,sum,average,_above
C、#md,&12x,month,student_n!
D,class,day,lotus_l,2day
6.設(shè)j和k都是int類(lèi)型,則下面的for循環(huán)語(yǔ)句0。
for(j=0,k=0;j<=9&&k!=876;j++)scanf("%d",&k);
A、最多執(zhí)行9次
B、是無(wú)限循環(huán)
C、循環(huán)體一次也不執(zhí)行
D、最多執(zhí)行10次
7.執(zhí)行下面程序段后,s的值是()。
ints=5;
switch(++s)
{case6:
case7:s+=2;
case8:
case9:s+=2;
)
A、8
B、7
C.10
D、6
8.若有以下說(shuō)明,則對(duì)結(jié)構(gòu)體變量中成員age的不正確引用為().
structstudent
{intage;intnum;
}studl,*p;
A.studl.age
B、(*p).age
C、p?>age
D.p.age
9.以下程序的輸出結(jié)果是().
#include"stdio.h"
f(char*s)
{
char*p=s;
while(*p!='\0,)p++;
return(p-s);
}
main()
{
printf(,,%d\n",f(,,ABCDEF"));
)
A、0
B、6
C、3
D、8
10.執(zhí)行下面程序中的輸出語(yǔ)句后,輸出的值是:(),
H
main(){inta=5;printf("%d\nz(a=3*5za*4,a+5));}
A、20
B、65
C、10
D、15
IL下列程序段的輸出結(jié)果是:().
voidfun(int*x,int*y)
{printf("%d%d",*x,*y);*x=3;*y=4;}main()
{intx=l,y=2;
fun(&y,&x);
printf("%d%d",x,y);
)
A、2112
B、1234
C、2143
D、1212
12.若fp已正確定義并指向某個(gè)文件,當(dāng)未遇到該文件結(jié)束標(biāo)志時(shí)函數(shù)
feof(fp)的值為()
A.-1
B、1
C、一個(gè)非。值
D、0
注:未遇到文件結(jié)束返回為0,讀取錯(cuò)誤為-1,正常結(jié)尾為1
13.有兩個(gè)整型變量dog和cat,若要從磁盤(pán)文件把數(shù)據(jù)讀到其中,
正確的形式是().
AJscanf(dog,2,1,fp);
B,fscanf(fp,"%d%d",&dog,&cat);
C、fscanf(dog,cat,2,l,fp);
D,fscanf(fp,"%d",&dog,&cat);
14.邏輯表達(dá)式3<2|卜1&&4>3-!0的值為:()
A、1
B、3
c、o
D、2
15.以下程序段中,能夠正確地執(zhí)行循環(huán)的是0。
AJnts=6;m:if(s<100)exit(0);elses-=2;gotom:
BJnts=6;dos-=2;while(s);
C,for(i=l;i>10;i++)
D,staticinta;while(a)
16.chara[]='Thisisaprogram.";輸出前5個(gè)字符的語(yǔ)句是0。
A、puts(a);
B,printf("%5s",a);
C,printf("%s",a);
D,a[5*2]=0;puts(a);
注:Aputs(a);輸出a的整個(gè)字符串
Cprintf("%s",a);輸出a的整個(gè)字符串
Da[5*2]=0;puts(a);將a[10]賦值為0后,輸出a的前十個(gè)字符即Thisisa;
只有B是輸出前5個(gè)字的語(yǔ)句。
17.已知下面的程序段,若使得i=10,j=15,x=9.6,y=81.73正確的輸入語(yǔ)句是().
main()
{inti,j;floatx,y;
A.scanf("%d,%d",&i,&j);scanf("%f,%5.2f',&x,&y);
B,scanf("%d,%d",&i,&j);scanf("%e,%5.2f',&x,&y);
C>scanf("%d,%d",i,j);scanf("%f,%f',&x,&y);
D,scanf("%d,%d",&i,&j);scanf("%f,%f",&x,&y);
18.下述程序的輸出結(jié)果是().
voidprt(int*x)
{printf("%d",++*x);}main()
{inty=30;
Prt(&y);
)
A、32
B、30
C、29
D、31
19.表達(dá)式18/4*sqrt(4.0)/8值的數(shù)據(jù)類(lèi)型為()
A,double
B,float
CJnt
D、不確定
20.若k是整型,則以下程序段的執(zhí)行結(jié)果是:()
k=-3;
if(k<=0)printf("####")
elseprintf("&&&&");
A、####
B、有語(yǔ)法錯(cuò)誤,無(wú)結(jié)果
C、&&&&
D、####&&&&
注:printf后缺少分號(hào)
21.設(shè)有以下定義:
intw[2][3],(*pw)[3];
pw=w;
則對(duì)W數(shù)組元素非法引用是().
A、*(pw+1)[2]
B,*(pw[l]+2)
C.pw[0][0]
D.*(w[0]+2)
22.本程序的輸出結(jié)果是().
main()
{inta[][3]={{l,2,3},{4,5},{7}};printf("%d",*a[l]);)
A,2
B、5
C、1
D、4
23.以下哪一個(gè)函數(shù)的運(yùn)行不可能影響實(shí)參().
A、voidf(char*x[])
B、voidf(charx[])
C.voidf(char*x)
Devoidf(charx,chary)
24.在宏定義#definePI3.14159中,用宏名代替一個(gè)().
A、字符串
B、常量
C、單精度數(shù)
D、雙精度數(shù)
注:編譯預(yù)處理的時(shí)候,宏名PI將被字符串''3.14159''代替,這一替換過(guò)程稱(chēng)為宏展開(kāi),宏
的定義格式為
#define宏名字符串或者字符
25.語(yǔ)句printf("a\bre\h\'y\\\bou\n");的輸出結(jié)果是
(說(shuō)明:'\b'是退格符)()。
A,a\bre\'hiVy\\\bou
B.re'hi'you
C,a\bre\'hi\'y\bou
D,abre'hi'y\bou
26.卜面程序是從鍵盤(pán)輸入4位正整數(shù),輸入0或負(fù)數(shù)時(shí)結(jié)束循環(huán).A處填寫(xiě)內(nèi)容是().
#include"stdio.h1'
main()
{
intnum;
do{
,,,
scanf(%d'/&num);
}while(_A_);
)
A、!num
B、num>0
C、num==0
DJnum!=0
27.假定有以下變量定義:
intk=7,x=12;
則能使值為3的表達(dá)式是:()
A、(x%=k)-(k%=5)
B、x%=(k-k%5)
C、x%=k-k%5
D、x%=(k%=5)
28.char*sl="hello",*s2;s2=sl;則()
A、puts(sl);與puts(s2);結(jié)果相同
B、不能訪(fǎng)問(wèn)"hello"
C、s2指向不確定的內(nèi)存單元
D、sl不能再指向其它單元
29.下面選擇中正確的賦值語(yǔ)句是(設(shè)chara[5],*p=a;)().
A、p="abcd";
B,a="abcd";
C,*a="abcd";
D、*p="abcd";
3O.staticstruct{intal;floata2;chara3;}a[10]={l,3.5,'A');說(shuō)明數(shù)組a是地址常量,它有
10個(gè)結(jié)構(gòu)體型的下標(biāo)變量,采用靜態(tài)存
儲(chǔ)方式,其中被初始化的下標(biāo)變量是()
A、a⑼
B,a[10]
C、a[l]
D.a[-1]
31.以下正確的說(shuō)法是0。
A、用戶(hù)若需調(diào)用標(biāo)準(zhǔn)庫(kù)函數(shù),調(diào)用前不必使用預(yù)編譯命令將該函數(shù)所在文件包括到用戶(hù)源文
件中,系統(tǒng)自動(dòng)去調(diào)
B、用戶(hù)若需調(diào)用標(biāo)準(zhǔn)庫(kù)函數(shù),調(diào)用前必須重新定義
C、系統(tǒng)根本不允許用戶(hù)重新定義標(biāo)準(zhǔn)庫(kù)函數(shù)
D、用戶(hù)可以重新定義標(biāo)準(zhǔn)庫(kù)函數(shù),若如此,該函數(shù)將失去原有含義
32.以下正確的函數(shù)定義是().
A,doublefun(intx,inty){z=x+y;returnz;}
B、fun(x,y){intx,y;doublez;z=x/y;returnz;}
C,floatf(intx,inty){floatz;z=x/y;retrunz;}
DJun(intx,y){intz;returnz;}
33.int按照數(shù)組a的元素在內(nèi)存的排列次序,希望將
1,2,3,4,5,6存入a數(shù)組中,以下語(yǔ)句無(wú)法實(shí)現(xiàn)的是()。
AJor(i=l;i<=6;i++)a[i][i]=i;
BJor(i=0;i<6;i++)a[i/3][i%3]=i+l;
CJor(i=0;i<2;i++)for(j=0;j<3;j++)a[i][j]=i*3+j+l;
D,for(i=0;i<3;i++)for(j=0;j<2;j++)a[j][i]=j*3+i+l;
34.在定義全局變量和局部靜態(tài)變量的同時(shí)賦值,變量的初始化在()時(shí)確定的.
A、運(yùn)行
B、編輯
C、編譯
D、調(diào)試
35.C語(yǔ)言規(guī)定,程序中各函數(shù)之間().
A、允許直接遞歸調(diào)用不允許間接遞歸調(diào)用
B、不允許直接遞歸調(diào)用也不允許間接遞歸調(diào)用
C、既允許直接遞歸調(diào)用也允許間接遞歸調(diào)用
D、不允許直接遞歸調(diào)用允許間接遞歸調(diào)用
36.以下程序的輸出結(jié)果是().
voidfun(inta,intb,intc)
{a=456;b=567;c=678;}
main()
{intx=10,y=20,z=30;
fun(x,y,z);
printf("%d,%d,%d\n",z,y,x);}
A,10,20,30
B、678567456
C.30,20,10
D、456567678
37.下列形式,不屬于編譯預(yù)處理命令的是().
A、#ifdefM
B、#undefM
C、#if(M>1)
D,while(M>1)
38.定義inta[]={0,123,4,5,6,7,8,9},*p=a,i;,其中0Si49,則對(duì)a數(shù)組元素的引用不正確
的是().
A.a[p-a]
B、p[i]
C、*(*(a+i))
D、*(&a[i])
39.在執(zhí)行"文件包含"命令時(shí),下列說(shuō)法正確的是().
A、作為一個(gè)源程序編譯,得到一個(gè)目標(biāo)文件.
B、一個(gè)include命令可指定多個(gè)被包含文件.
C、在編譯時(shí)作為兩個(gè)文件聯(lián)結(jié).
D、被包含的文件可以是源文件或目標(biāo)文件.
40.已定義floatx=1.25,y=3.37;
根據(jù)下面的輸出結(jié)果,正確的輸出語(yǔ)句是().
y+x=4.62,y-x=2.12
A.printf("y+x=%6.2f,y-x=%6,2f\n",y+x,y-x);
B.printf("y+x=%f,y-x=%f\n",y+x,y-x);
C,printf("y+x=%.2f,y-x=%.2f\n",y+x,y-x);
D,printf("y+x=%5.2f,y=%5.2f\n",y+x,y-x);
41.在執(zhí)行fopen函數(shù)時(shí),ferror函數(shù)的初值是(),
A、-l
B、0
C、TRUE
D、1
42.若以"a+"方式打開(kāi)一個(gè)已存在的文件,則以卜敘述正確的是0,
A、文件打開(kāi)時(shí),原有文件內(nèi)容不被刪除,位置指針移到文件末尾,可作添加和讀操作
B、以上各種說(shuō)法皆不正確
C、文件打開(kāi)時(shí),原有文件內(nèi)容不被刪除,位置指針移到文件開(kāi)頭,可作重寫(xiě)和讀操作
D、文件打開(kāi)時(shí),原有文件內(nèi)容被刪除,只可作寫(xiě)操作
43.對(duì)for(表達(dá)式1;;表達(dá)式3)可以理解為().
A、for(表達(dá)式1;表達(dá)式3;表達(dá)式3)
B、for(表達(dá)式1;表達(dá)式1;表達(dá)式3)
C、for(表達(dá)式1;1;表達(dá)式3)
D、for(表達(dá)式1;0;表達(dá)式3)
44.下述錯(cuò)誤的C語(yǔ)言常量是:().
A、Oxf
B、5.
C090
D、.25
注:0開(kāi)頭的話(huà),說(shuō)明是八進(jìn)制數(shù),八進(jìn)制數(shù)里只會(huì)出現(xiàn)字符0~7,不可能有9的
45.如果在一個(gè)函數(shù)中的復(fù)合語(yǔ)句中定義了個(gè)變量,以下正確的說(shuō)法是().
A、該變量在本程序范圍內(nèi)均有效
B、該變量在主函數(shù)中有效
C、該變量只在該復(fù)合語(yǔ)句中有效
D、該變量在該函數(shù)中有效
46.對(duì)于如下的結(jié)構(gòu)體定義,若對(duì)變量person的出生年份進(jìn)行賦值,正確的賦值語(yǔ)句是().
structdate
{intyear,mouth,day;
);
structworklist
{charname[20];
charsex;
structdatebirthday;
}person;
A、year=1976;
B,person.birthday.year=1976;
C、birthday.year=1976;
D,person.year=1976;
47.卜述函數(shù)的功能是().
intfun(char*x)
{char*y=x;
while(*y++);
returny-x-1;
)
A、比較兩個(gè)字符串的大小
B、求字符串存放位置
C、求字符串的長(zhǎng)度
D、將字符串x連接到字符串y后面
48.下面程序的輸出結(jié)果應(yīng)該是().
voidprtv(int*x)
{printf("%d\n",++*x);}
main()
{inta=25;
Prtv(&a);
)
A,24
B、26
C、23
D、25
49.若fp是指向某文件的指針,且已讀到此文件末尾,則庫(kù)函數(shù)feof(fp)
的返回值是0。
A.NULL
B、非零值
C、0
D、EOF
50.若定義inta[12]={l,2z3,4,5,6,7,8,9z10,U,12};charc='a',d,g;
則數(shù)值為4的表達(dá)式是().
A、a[4]
B、a[g-c]
C.afd'-'c']
D,a['d'-c]
51.設(shè)有以下語(yǔ)句,若0<k<4,下列選項(xiàng)中對(duì)字符串的非法引用是()
charstr[4][2]={"aaa","bbb","ccc","ddd"),*strp[4];
intj;
for0=O;j<4;j++)
strp[j]=str[j];
A、str[k]
B.strp
C,strp[k]
D、*strp
52.根據(jù)下面的程序,使a=123,cl='o',c2='k'哪一種是正確的鍵盤(pán)輸入方法?()
(規(guī)定用字符串[CR]表示回車(chē),U表示空格)
main()
{inta;
charcl,c2;
scanf("%d%c%c",&a,&cl,&c2);
)
A,123UoUk[CR]
B、123ok[CR]
C,123Uok[CR]
D、123oUk[CR]
53.若已定義了如下的結(jié)構(gòu)體類(lèi)型變量x,則x所占用的內(nèi)存字節(jié)數(shù)為().
(設(shè)在16位PC機(jī)的環(huán)境下).
structstudent
{intnum;
charname[20];
charsex;
intage;
)X;
A、25
B、20
C、6
D、2
注:2+1*20+1+2=25
54.t為int類(lèi)型,進(jìn)人下面的循環(huán)之前,t的值為0
while(t=l)
{……}
則以下敘述中正確的是()”
A、循環(huán)控制表達(dá)式的值為0
B、循環(huán)控制表達(dá)式不合法
C、循環(huán)控制表達(dá)式的值為1
D、以上說(shuō)法都不對(duì)
55.下面程序的輸出結(jié)果是:().
main()
{inti=2,p;
p=f(i,i+l);
printf("%d",p);
)
intf(inta,intb)
{intc;
c=a;
if(a>b)c=l;
elseif(a==b)c=0;
elsec=-l;
returnc;
)
A、0
B、-l
C、2
D、1
56.以下程序的輸出結(jié)果是().
main()
<charstr[]="ABCD",*p=str;printf("%d\n",*(p+4));}
A,68
B、字符D的地址
C、不確定的值
D、0
57.函數(shù)fun用于將一字符串按相反次序顯示,則橫線(xiàn)上的表達(dá)式為().
voidfun(char*s)
{if(!*s)
return;
printf("%c",*s);
)
A.printf("%s",s+1);
B、fun(*(s+1));
C,printf("%s",s+strlen(s)-l);
DJun(s+1);
注:運(yùn)行第一次的時(shí)候,s為首地址的對(duì)吧,我們假設(shè)為sO,
在調(diào)用fun(s+l州寸,進(jìn)入一個(gè)遞歸,此時(shí),還未調(diào)用到打印的地方,那么此時(shí)s為第二個(gè)
字符,此時(shí)s為si,
依次類(lèi)推,當(dāng)運(yùn)行到最后一位是打印的數(shù)據(jù)為s(end),此時(shí)s(end)為空字符,return了對(duì)
吧,那么返回上一個(gè),也就是字符串最后一個(gè)不為空的字符,并打印結(jié)束后再返回,
然后再逐個(gè)打印,就將字符串逆向打印出來(lái)了
58.filel.c中有命令,#include<file2.c>,若file2.c中有全局靜態(tài)變量a,則().
A、a在filel.c中應(yīng)用extern說(shuō)明.
B、a在filel.c中有效,不必用extern說(shuō)明.
Ca在filel.c中不生效
D、a在filel.c和file2.c中均不生效.
59.設(shè)有宏定義#definePI3.14和#defineS(r)PI*r*r,則S(2)的值為().
A、6.28
B.12.56
C、3.14
D、9.42
60.所謂文本文件又叫()文件.
A、圖象
B、保存
C.ASCII
D、可執(zhí)行
61.在函數(shù)調(diào)用語(yǔ)句中,fopen("my.dat","ab+");的含義是().
A、為讀/寫(xiě)打開(kāi)一個(gè)二進(jìn)制文件
B、讀一個(gè)二進(jìn)制文件
C、為讀/寫(xiě)打開(kāi)一個(gè)文本文件
D、為寫(xiě)打開(kāi)一個(gè)二進(jìn)制文件
62.以下可作為函數(shù)fopen中第個(gè)參數(shù)的正確格式是()
A,"c:\\user\\text.txt"
B、c:user\text.txt
C.c:\user\text.txt
D,"c:\user\text.txt"
注:字符串中的'必須用轉(zhuǎn)義字符\\
63.假定所有變量均已正確定義,下列程序段運(yùn)行后x的值是0
kl=l;
k2=2;
k3=3;
x=15;
if(!kl)x-;
elseif(k2)x=4;
elsex=3;
A、4
B、15
C、3
D、14
64.以下程序段給數(shù)組所有的元素輸入數(shù)據(jù),請(qǐng)選擇正確答案填入(),
#include<stdio.h>
main()
{inta[10],i=0;
while(i<10)scanf("%d",());
)
A、&a[i+1]
B、a+i
C、a+(i++)
D、&a[++i]
注:Ca是數(shù)組首地址a+(i++)先+再++
AB是死循環(huán)
D是先自增即第一次為a[l]最后不是輸入十個(gè)元素
65.在以下給出的表達(dá)式中,與do--while(E)語(yǔ)句中的(E)不等價(jià)的
表達(dá)式是()。
A,(E>0||E<0)
B、(E==O)
C、(!E==O)
D、(日=0)
66.在TurboC運(yùn)行環(huán)境下,下列說(shuō)法中正確的是().
A、雙引號(hào)中字符串的字符,如果與宏名相同,就要替換.
B、用宏定義不可以得到多個(gè)返回值.
C、雙引號(hào)中字符串的字符,即使與宏名相同,也不替換.
D、調(diào)用函數(shù)可以得到多個(gè)返回值.
67.以下能計(jì)算1+2+3+—+10的程序段是().
A、do{i=l;s=0;s=s+i;i++;}while(i<=10);
BJ=l;s=0;while(i<=10){s=s+i;i++;}
CJ=l;s=0;do{s=s+i;i++;}while(i>=10);
D,i=l;s=0;while(i>=10){s=s+i;i++;}
68.在所有函數(shù)之前,定義?個(gè)外部變量的形式為staticintx;那么錯(cuò)誤的敘述是().
A、x的值不可以永久保留
B、將變量存放在靜態(tài)存儲(chǔ)區(qū)
C、使變量x可以山系統(tǒng)自動(dòng)初始化為0
D、使x只能被本文件中的函數(shù)引用
69.設(shè):
longw=65535,t=7654321;
根據(jù)下面的輸出結(jié)果,正確的程序段是().
w=65535,t=7654321
end
A.printf("w=%5d,t=%7d\n",w,t);printf("%s","end');
B,printf("w=%5ld,t=%7ld",w,t);printf("%c","end");
C,printf("w=%5ld,t=%7ld\n",w,t);printf("%s","end");
D,printf("w=%5uzt=%7u\n",w,t);printf("end");
70.函數(shù)調(diào)用:strcat(strcpy(strl,str2),str3)的功能是()
A、將串strl復(fù)制到串str2中后再連接到串str3之后
B、將串str2連接到串strl之后再將串strl復(fù)制到串str3中
C、將串strl連接到串str2之后再?gòu)?fù)制到串str3之后
D、將串str2復(fù)制到串strl中后再將串str3連接到串strl之后
71.若int類(lèi)型數(shù)據(jù)占兩個(gè)字節(jié),則下列語(yǔ)句的輸出為(),
intk="l;printf("%d,%u\n",k,k);
A,-1,-1
B,-1,32767
C-1,32768
D、-1,65535
注:%u為以無(wú)符號(hào)十進(jìn)制輸出。無(wú)符號(hào)整數(shù)能表示的數(shù)范圍是0-65535,即對(duì)應(yīng)的二進(jìn)制
數(shù)0-1111111111111111(16個(gè)1)o
intb=-l;b為有符號(hào)的整型,以1111111111111111(16個(gè)1)的二進(jìn)制數(shù)存儲(chǔ)。(-1-
進(jìn)制表示為10000000000000001,負(fù)數(shù)在計(jì)算機(jī)中用反碼表示,即1111111111111111)1,
如果用%d輸出b,則為-1,但是轉(zhuǎn)換成無(wú)符號(hào)整數(shù)%u輸出,1111111111111111(原來(lái)的
有符號(hào)整數(shù)-1)被解釋成1111111111111111(無(wú)符號(hào)整數(shù)65535),輸出結(jié)果為65535
72.設(shè)a=12,且a定義為整型變量。執(zhí)行語(yǔ)句a+=a-=a*=a;后a的值為()
A、0
B、144
C、132
D、12
73.執(zhí)行語(yǔ)句for(i=l;i++<4;);后變量i的值是()。
A、3
B、5
C、4
D、不定
74.設(shè)有宏定義#defineMA(x)x*(x-l),且a=l,b=2,則MA(l+a+b)的值為().
A、10
B、12
C、8
D、6
注:l+a+b*(l+a+b-l)=l+l+2*3=8
75.在"文件包含"的預(yù)處理中,被包含的文件應(yīng)是().
A、源文件
B、可執(zhí)行文件
C、目標(biāo)文件
D、批處理文件
76.inta[10]={l,2,3,4,5,6,7,8};int*p;p=&a[5];p[-3]的值是(),
A、4
B、2
C、不一定
D、3
77.以下for循環(huán)的執(zhí)行次數(shù)是for(x=0,y=0;(y=123)&&(x<4);x++);()
A、3次
B、循環(huán)次數(shù)不定
C、4次
D、是無(wú)限循環(huán)
注:循環(huán)中止條件語(yǔ)句為:(y!=123)||(x<4),當(dāng)它的值為"真"時(shí),會(huì)繼續(xù)執(zhí)行循環(huán).也就是說(shuō)只
要(y!=123)或(x<4)其中之?為"真"時(shí),會(huì)繼續(xù)執(zhí)行循環(huán).
循環(huán)執(zhí)行的前4次,因(x<4)為"真",所以循環(huán)會(huì)執(zhí)行;之后(x<4)為"假",只要循環(huán)體內(nèi)有語(yǔ)句
對(duì)y變量值進(jìn)行修改,并且在某次修改中令y=123,也就是(y!=123)為"假",循環(huán)即被中止;否
則肯定是死循環(huán)了!
78.執(zhí)行下列程序后,其輸出結(jié)果是。
main()
{inta=9;
a+=a-=a+a;
printf("%d\n",a);
}
A,18
B、-9
C、9
D、-18
79.對(duì)于下述定義,不正確的敘述是().
uniondata
{inti;
charc;
floatf;
}a,b;
A、變量a的地址和它的各成員地址都是相同的
B、可以在定義時(shí)對(duì)a初始化
C、變量a所占內(nèi)存的長(zhǎng)度等于成員f的長(zhǎng)度
D、不能對(duì)變量a賦值,故a=b非法
注:共用體所占內(nèi)存大小就是其中占內(nèi)存最大的變量所占內(nèi)存的大小
80.下面函數(shù)的功能是:().
sss(s,t)
char*s,*t;
{
while((*s)&&(*t)&&(*t++==*s++));
return(*s-*t);
)
A、將字符串s續(xù)接到字符串t中
B、求字符串的長(zhǎng)度
C、比較兩個(gè)字符串的大小
D、將字符串s復(fù)制到字符串t中
81.若a為int類(lèi)型,且其值為3,則執(zhí)行完表達(dá)式a+=a-=a*a后,a的
值是0。
A、6
B、-12
C、9
D、-3
82.執(zhí)行下面程序段后,i的值是().
inti=10;
switch(i)
{case9:i+=l;
case10:i-;
case11:i*=3;
case12:++i;
)
A,28
B,10
C、9
D、27
83.若有以下結(jié)構(gòu)體定義:
structexample
{intx;
inty;
}vl;
則()是正確的引用或定義.
A,example.x=10;
Bsstructv2;v2.x=10;
C.examplev2;v2.x=10;
D.structexamplev2={10};
84.關(guān)于帶參數(shù)的宏,下列說(shuō)法正確的是().
A、宏展開(kāi)只能得到個(gè)結(jié)果.
B、宏展開(kāi)時(shí)要進(jìn)行內(nèi)存單元的分配.
C、宏展開(kāi)時(shí),不求參數(shù)的值,而只進(jìn)行字符替換.
D、宏名無(wú)類(lèi)型,但是它的參數(shù)是有類(lèi)型的.
注:1.函數(shù)調(diào)用時(shí),先求出實(shí)參表達(dá)式的值,然后帶入形參。而使用帶參的宏只是進(jìn)行簡(jiǎn)單
的字符替換。
2.函數(shù)調(diào)用是在程序運(yùn)行時(shí)處理的,分配臨時(shí)的內(nèi)存單元;而宏展開(kāi)則是在編譯時(shí)進(jìn)行的,
在展開(kāi)時(shí)并不分配內(nèi)存單元,不進(jìn)行值的傳遞處理,也沒(méi)有''返回值"的概念。
3.對(duì)函數(shù)中的實(shí)參和形參都要定義類(lèi)型,二者的類(lèi)型要求一致,如不一致,應(yīng)進(jìn)行類(lèi)型轉(zhuǎn)換:
而宏不存在類(lèi)型問(wèn)題,宏名無(wú)類(lèi)型,它的參數(shù)也無(wú)類(lèi)型,只是一個(gè)符號(hào)代表,展開(kāi)時(shí)帶入指
定的字符即可。宏定義時(shí),字符串可以是任何類(lèi)型的數(shù)據(jù)。
4.調(diào)用函數(shù)只可得到一個(gè)返回值,而用宏可以設(shè)法得到幾個(gè)結(jié)果。
5.使用宏次數(shù)多時(shí),宏展開(kāi)后源程序長(zhǎng),因?yàn)槊空归_(kāi)一次都使程序增長(zhǎng),而函數(shù)調(diào)用不使源
程序變長(zhǎng)。
6.宏替換不占運(yùn)行時(shí)間。而函數(shù)調(diào)用則占運(yùn)行時(shí)間(分配單元、保留現(xiàn)場(chǎng)、值傳遞、返回)。
一般來(lái)說(shuō),用宏來(lái)代表簡(jiǎn)短的表達(dá)式比較合適。
85.若有double*p,x[10];inti=5液指針變量p指向元素x[5]的語(yǔ)句為()。
A、p=&x[i];
B、p=x[i];
C、p=x;
D、p=&(x+i)
86.下列變量定義中合法的是0。
A,doubleb=l+5e2.5;
B,unsignedu=10;
C,float2_and=l-e-3;
DJongdo=OxfdaL;
87.定義my_file為文件型指針變量,使用fopen打開(kāi)個(gè)能讀能寫(xiě)的新的文本文件,
正確的調(diào)用形式為().
A、my_file=fopen("my.dat","wb+");
B、my_file=fopen("my.dat","ab+");
C、my_file=fopen("my.dat","r+");
D、my_file=fopen("my.dat","w+");
88.若有inta[10]={0,l,2,3,4,5,6,7,8,9},*p=a;則輸出結(jié)果不為5
的語(yǔ)句為()
A.printf("%d",*p[5]);
B,printf("%d",p[5]);
Cprintf("%d",*(a+5));
D.printf("%d",*(p+5));
89.以下正確的說(shuō)法是().
A、函數(shù)的類(lèi)型決定返回值的類(lèi)型
B、定義函數(shù)時(shí),形參的類(lèi)型說(shuō)明可以放在函數(shù)體內(nèi)
C,return后面不能為表達(dá)式
D、如果形參與實(shí)參的類(lèi)型不致,以實(shí)參類(lèi)型為準(zhǔn)
90.以下程序的輸出結(jié)果是().
main()
{char*alpha[6]={"ABCD","EFGH","DKL","MNOP","QRST","UVWX"};
char**p;
inti;
p=alpha;
for(i=0;i<4;i++)
printf("%s",p[i]);
printf("\n");
)
A.AEIM
B、ABCDEFGHDKLMNOP
C.ABCD
D.ABCDEFGHIJKL
91.inta=l,b=2,c=3;if(a>c)b=a;a=c;c=b;則c的值為()。
A、1
B、3
C、2
D、不一定
92.對(duì)于下列的語(yǔ)句,對(duì)數(shù)組a的元素的不正確引用是().其中0<=i<10;
inta[10]={0,l,2,3,4,5,6,7,8,9},*p=a;
A、a[p-a]
B、*(&a[i])
Cp[i]
D、*(*(a+i))
,
93.下面的scanf函數(shù)輸入數(shù)據(jù),使得a=10,b=15,sl='S',s2='s,xl=1.5,x2=-3.75,x3=67.8/
正確的鍵盤(pán)輸入方法是().
(用"[CR]"表示回車(chē),U表示空格)
main()
{inta,b;
floatxl,x2,x3;
charsl,s2;
scanf("%5d%5d%c%c%f%f%*f%f',&a,&b,&sl,&s2,&xl,&x2,&x3);
)
A,10UUU15Ssl.5U-3.75U+1.5U67.8[CR]
B,10UUU15USUsl.5U-3.75U+1.5U67.8[CR]
C,10UUU15USUsU1.5U-3.75U+1.5U67.8[CR]
D.10UUU15Ssl.5U-3.75U+1.5,67.8[CR]
94.設(shè)以下變量均為int類(lèi)型,則值不等于7的表達(dá)式是()。
A、(x=6,x+l,y=6,x+y)
B、(x=y=6,x+y,y+l)
C、(y=6,y+l,x=y,x+l)
D、(x=y=6,x+y,x+l)
95.若filel中包含file2,file2中要用到file3,若file2中不用#include"file3.h",則在filel.c中
應(yīng)進(jìn)
行如下定義().
A、#include"file2.h"和#include"file3.h"
B、#include"file2.h,file3.h"
C、#include"file2.h","file3.h"
D、#include"file3.h"和#include"file2.h"
96.以下能計(jì)算lx2x3x--xl0的程序段是().
A、do{i=l;s=l;s=s*i;i++;}while(i>=10);
B、do{i=l;s=l;s=s*i;i++;}while(i<=10);
C、i=l;s=l;do{s=s*i;i++;}while(i<=10);
DJ=l;s=l;do{s=s*i;i++;}while(i>=10);
97.設(shè)pl和p2是已經(jīng)賦值的字符指針,則下述有關(guān)運(yùn)算中,
非法的語(yǔ)句是().
A,*(pl-2+p2)=getchar();
BJf(pl==p2)printf("equal.");
C、*(pl+=2)=*p2;
D,pl=pl-(pl-p2)+30;
98.以IBMPC計(jì)算機(jī)為例,-個(gè)實(shí)型變量以二進(jìn)制形式保存到文件后,
該變量需占()字節(jié)空間.
A、2
B、1
C、4
D、3
99.以下程序的輸出結(jié)果是:().
fun(intx,inty,intz)
{z=x*x+y*y;}
main()
{inta=31;
fun(5,2,a);
printf("%d",a);
}
A、無(wú)定值
B、29
C、31
D、0
100.若有#defineS(r)PI*r*r,則S(a+b)展開(kāi)后的形式為(),
A、PI*a*a+PI*b*b
B、PI*a+b*a+b
C、PI*(a+b)*(a+b)
D、Pi*r*r*(a+b)
101.若有定義:inta=7;floatx=2.5,y=4.7;
則表達(dá)式x+a%3*(int)(x+y)%2/4的值是0
A,0.000000
B、2.750000
C,3.500000
D,2.500000
102.下面程序的輸出結(jié)果應(yīng)該是().
chars[]="ABCD";
main()
{char*p;
for(p=s;p<s+4;p++)
printf("%s",p);
)
A、DCBA
B.ABCDBCDCDD
C.ABCDABCABA
D.ABCD
103.程序運(yùn)行結(jié)束后,屏幕上輸出值為().
staticintx=10;
main()
{intx=3;
f();
X-;
printf("%d",x);
)
f()
{x++;
)
A、10
B、2
C.ll
D、3
104.在函數(shù)調(diào)用語(yǔ)句中,fopen("my.dat","rb");的含義是().
A、為寫(xiě)打開(kāi)一個(gè)二進(jìn)制文件
B、讀一個(gè)二進(jìn)制文件
C、為讀/寫(xiě)打開(kāi)一個(gè)二進(jìn)制文件
D、為輸入打開(kāi)一個(gè)二進(jìn)制文件
105.若以卜變量均是整型,且num=sum=7;則計(jì)算表達(dá)式sum=num++,
sum++,++num后sum的值為()。
A、7
B、8
C、9
D,IO
106.下列程序段的輸出結(jié)果為Ofloatk=0.8567;printf("%4.1f%%",k*100);
A、85.6%
B、85.6%%
C、85.7%
D、.857
107.以下程序的輸出結(jié)果是()。
main()
<chars[]="123",*p;
P=s;
printf("%c%c%c\n",*p++,*p++,*p++);
)
A、321
B,123
C、312
D、213
注:此程序在vc下結(jié)果為111,在codeblocks下結(jié)果為321;
因?yàn)楹瘮?shù)參數(shù)入棧時(shí)是從右到左,所用最右邊一個(gè)先入棧,再將p加1,再執(zhí)行第2個(gè),再
P+L因此printf參數(shù)入棧時(shí),第1個(gè)參數(shù)指向(p+2),最后一個(gè)指向(p)
因?yàn)楹瘮?shù)傳參,參數(shù)是通過(guò)堆棧傳入函數(shù)內(nèi),在函數(shù)內(nèi)使用前再?gòu)亩褩V腥〕?,入棧是從?/p>
后一個(gè)參數(shù)開(kāi)始的,出來(lái)時(shí)從第一個(gè)開(kāi)始,相當(dāng)于:
調(diào)用時(shí):push(*p);p++;push(*p);p++;push(*p);p++;,但是第一個(gè)push是最右邊的參數(shù)
出來(lái)時(shí):vl=pop(),v2=pop(),v3=pop().
108.ggg(x)
floatx;
{printf("\n%f,x*x);
)
則函數(shù)的類(lèi)型為().
A、是int
B、無(wú)法確定
C、與參數(shù)x的類(lèi)型相同
D、是void
注:不定義時(shí)默認(rèn)是int
109.下列程序的輸出結(jié)果為0,
main()
{intm=7,n=4;floata=38.4,b=6.4,x;
x=m/2+n*a/b+l/2;
printf("%f\n",x);
)
A,27.000000
B,28.000000
C,27.500000
D,28.500000
110.在#include命令中,文件名可用雙引號(hào)或尖括號(hào)括起來(lái),對(duì)于二者的下列說(shuō)法中正確的是
().
A、用尖括號(hào)時(shí),直接按系統(tǒng)標(biāo)準(zhǔn)方式檢索文件目錄.
B、用雙引號(hào)時(shí),直接按系統(tǒng)標(biāo)準(zhǔn)方式檢索文件目錄.
C、用雙括號(hào)和尖括號(hào)時(shí),都不檢查源文件所在的文件目錄.
D、以上說(shuō)法都不對(duì).
111.打印語(yǔ)句printf("sTUDEND\bT\rS");在屏幕上正確的輸出形式是().
A、sTUDENDS
B.TUDENTS
C.STUDENT
D,STUDENTS
112.本程序的輸出結(jié)果是().
main()
{inta[][3]={{l,2,3},{4,5},{7}};printf("%d\n",*a[l]);}
A、4
B、2
C、1
D、5
113.用戶(hù)定義的函數(shù)不可以調(diào)用的函數(shù)是()
A、本文件外的
B、本函數(shù)下面定義的
C、非整型返回值的
Domain函數(shù)
114.有以下程序段
intn=O,p;
do
{
scanf("%d",&p);
n++;
}while(p!=12345&&n<3);
此處do-while循環(huán)的結(jié)束條件是()
A、p的值等于12345或者n的值大于等于3
B、p的值等于12345并且n的值大于等于3
C、p的值不等于12345并且n的值小于3
D、p的值不等于12345或者n的值小于3
115.如果inta=2,b=3,c=0,下列描述正確的是()。
A、a&&b>c的結(jié)果為假
B、!a!=(b!=c)表達(dá)式的值為1
Ca||(b=c)執(zhí)行后b的值為0
D、a>b!=c和a>(b!=c)的執(zhí)行順序是一樣的
116.若x是整型,且有程序段for(x=3;x<6;x++)printf((x%2)?("**%d"):("##%d"),x);
該程序段的答案是:()
A、##3**4##5
B、**3##4**5
C、**3**5##4
D、**3**4##5
117.若有語(yǔ)句int*point,a=4;和point=&a;下面均代表地址的一組選項(xiàng)是()。
A、&*a,&a,*point
B、a,point,*&a
C,&a,&*point,point
D、*&point,*point,&a
注:&就是取地址,指針就是代表地址
118.若已定義了如下的共用體類(lèi)型變量x,則x所占用的內(nèi)存字節(jié)數(shù)為().
(設(shè)在16位PC機(jī)的環(huán)境下).
uniondata
{
inti;
charch;
doublef;
}x;
A、7
B、ll
C、8
D、10
119.以下程序的輸出結(jié)果是().
main()
{ints=17;
printf("%d,%o,%x\n",s,s,s);
)
A、17,17z17
B、17,0x11,17
C、17,21,11
D、17,oxll,021
120.若有charsl[]="abc"zs2[20]z*t=s2;gets(t);則下列語(yǔ)句中能夠?qū)崿F(xiàn)當(dāng)字符串si大于
字符串s2時(shí),輸出s2的語(yǔ)句是。
A、if(strcmp(s2,sl)>0)puts(s2);
B、if(strcmp(s2,t)>0)puts(s2);
Csif(strcmp(slzt)>0)puts(s2);
D.if(strcmp(sl,sl)>0)puts(s2);
121,從鍵盤(pán)輸入的整數(shù)中找出最小值min,輸入0時(shí)結(jié)束.請(qǐng)?jiān)贏處填寫(xiě)正確語(yǔ)句()
#include"stdio.h"
main()
{intmin=0,a;
do{
scanf(”%cT,&a);
if(min>a)min=a;
}while(_A_);
n
printf(%d"zmin);
)
A、a=0
B、a==0
C.a>0&&a<0
D、a!=0
122.字符串”\\\%85”\\”所占內(nèi)存字節(jié)的長(zhǎng)度是:().
A、11
B、8
C、5
D、7
注:8個(gè),第一個(gè)反斜杠是第二反斜杠的轉(zhuǎn)義字符,同樣的道理適用于雙引號(hào),字符串的最
后還有一個(gè)結(jié)束符。
123.設(shè)有如下函數(shù)定義
intf(char*s)
{char*p=s;
while(*p!='\O')p++;
return(p-s);
}
如果在主程序中用卜面的語(yǔ)句調(diào)用上述函數(shù),
則輸出結(jié)果是().
printf("%d\n",f("goodbye!"));
A、3
B、6
C、8
D、0
124.執(zhí)行下列語(yǔ)句后,a和b的值分別為()
inta,b;
a=l+'a';
b=2+7%-4-'A';
A、1,-60
B、79,78
C、98,-60
D、-63,-64
125.執(zhí)行下面程序段后,k的值是:()
intk=2;
switch(k+l)
{case3:k+=l;
case4:k-;break;
case5:k*=3;
case6:++k;
)
A,10
B、2
C、28
D、27
126.若有chara[80],*s=a;不正確的輸入語(yǔ)句是()。
A、gets⑸;
BJscanf(stdin,"%c",s);
C,fgets(s,80,stdin);
D,scanf("%s",s);
127.設(shè)有宏定義#defineMAX(x,y)(x)>(y)?(x):(y),則F=4*MAX(2,3)的值為().
A、3
B、2
C、12
D、8
128.以下程序的輸出結(jié)果是().
main()
{charstr[]="ABCD",*p=str;printf("%d\n",*(p+3));}
A、68
B、不確定的值
C、字符D的地址
D、0
129.下面程序的輸出結(jié)果應(yīng)該是().
main()
{inta[5]={2,4,6,8,10),*p,**k;
P=a;
k=&p;
printf("%d",*(p++));
printf("%d\n",**k);
)
A、22
B、24
C、46
D.44
130.若給定條件表達(dá)式(m)?(a++):(a-),則其中表達(dá)式m(),
A、和(m==0)等價(jià)
B、和(m!=0)等價(jià)
C、和(m==l)等價(jià)
D、和(m!=l)等價(jià)
131.邏輯表達(dá)式5>3&&2||8<4-!0的值為:()
A、3
B、2
C、1
D、0
132.下面判斷正確的是0
A,charc[4]="abc",d[4]="abc";等價(jià)于charc[4]=d[4]="abc";
B.charstr[10]={"china"};等價(jià)于charstr[10];str[]={"china");
C.char*a="china";等價(jià)于char*a;*a="china";
D.char*s="china";等價(jià)于char*s;s="china";
133.以下程序段的輸出結(jié)果為()。
for(i=4;i>l;i-)
for(j=l;j<i;j++)
putchar('#');
A、無(wú)
B、#
C、######
D、###
134.下列程序的輸出為。
main()
{inty=10;
while(y-);
printf("y=%d\n",y);
)
A、y=-1
B、y=O
C、y=l
D、while構(gòu)成無(wú)限循環(huán)
135.設(shè)pl和p2是指向同一個(gè)字符串的指針變量,c為字符變量,則以下
不能正確執(zhí)行的賦值語(yǔ)句是(),
A、c=*pl*(*p2);
B、pl=p2;
C、p2=c;
D、c=*pl+*p2;
注:pl和p2定義的是指針變量c為字符變量
A項(xiàng)是取其內(nèi)容運(yùn)算不是指針運(yùn)算,是對(duì)的
B項(xiàng)指針就是地址pl和p2是可以相互賦值的。
C項(xiàng)c是字符變量p2是指針變量,指針變量只能付地址改為p2=&c是可以的。
D項(xiàng)*(取內(nèi)容符)將plp2指向的變量的值的和賦給c是可以的。
136.charh,*s=&h;可將字符H通過(guò)指針存入變量h中的語(yǔ)句是()
A、*s='H';
B、s='H'
C、*S=H;
D、s=H;
137.以IBMPC計(jì)算機(jī)為例,一個(gè)長(zhǎng)整型變量以二進(jìn)制形式保存到文件后,
該變量需占()字節(jié)空間.
A、2
B、3
C、1
D、4
注:在IBMPC機(jī)上,普通整型占16位(bit),短整型也占16位(bit),而長(zhǎng)整型占32(bit),4
字節(jié)
138.main()
{intx=l,a=O,b=O;
switch(x)
{case0:b++;
case1:a++;
case2:a++;b++;
)
printf("a=%d,b=%d",a,b);
}該程序的輸出結(jié)果是()
A、a=l,b=l
B、a=l,b=0
C、a=2,b=2
D、a=2,b=l
139.調(diào)用函數(shù)時(shí),基本類(lèi)型變量做函數(shù)參數(shù),實(shí)參和對(duì)應(yīng)的形參().
A、不占用存儲(chǔ)單元
B、各自占用獨(dú)立的存儲(chǔ)單元
C、同名時(shí)才能共用存儲(chǔ)單元
D、共占用一個(gè)存儲(chǔ)單元
140.下面程序的輸出結(jié)果應(yīng)該是().
#include<stdio.h>
#include<string.h>
main()
{char*pl="abc",*p2="ABC",str[50]="xyz";
strcpy(str+2,strcat(pl,p2));
printf("%s\n",str);
}
A.yzabcABC
B、xyabcABC
C.zabcABC
D.xyzabcABC
注:此程序在vc和codeblocks下編譯鏈接正確,運(yùn)行時(shí)出錯(cuò)
141.有一個(gè)已有值的實(shí)型變量voltage,若要把它們保存到一個(gè)磁盤(pán)文件fp中,
正確的形式是().
AJprintf(fp,voltage,1);
Bxfprintf(fp,"%f,voltage);
C、fprintf("%f',voltage,fp);
D,fprintf(voltage,fp);
142.以下不是無(wú)限循環(huán)的語(yǔ)句為()
A、while(l){x++;}
B、for(;;x++=i);
CJor(i=10;;i--)sum+=i;
DJor(y=0,x=l;x>++y;x=i++)i=x;
143.若有如下說(shuō)明,則下列敘述中正確的是(已知int類(lèi)型占兩個(gè)字節(jié))().
structst
{inta;
intb[2];
)a;
A、類(lèi)型名structst可以通過(guò)extern關(guān)鍵字提前引用
B、程序運(yùn)行時(shí)為結(jié)構(gòu)體st分配6字節(jié)存儲(chǔ)單元
C、程序只在執(zhí)行到該定義時(shí)才為結(jié)構(gòu)體st分配存儲(chǔ)單元
D、結(jié)構(gòu)變量a與結(jié)構(gòu)體成員a同名,定義是非法的
144.以下程序的輸出結(jié)果是:()
main()
{intm=5;
if(m++>5)printf("%d\nn,m);
elsepnntf("%d\nH,m-);
)
A、6
B、5
C、7
D、4
145.在C程序中,可把整型數(shù)以二進(jìn)制形式存放到文件中的函數(shù)是0。
A.fprintf函數(shù)
BJread函數(shù)
C.fwrite函數(shù)
D.fputc函數(shù)
146.執(zhí)行下面程序段后,f的值是:()
intf=5;
switch(f)
{case5:f+=l;
case6:f-;
case7:f*=3;break;
case8:++f;
)
A、15
B、10
C、28
D、9
147.函數(shù)定義時(shí)的參數(shù)為形參,調(diào)用函數(shù)時(shí)所用的參數(shù)為實(shí)參,則下列描述正確的是().
A、實(shí)參與形參是雙向傳遞
B、形參可以是表達(dá)式
C、形參和實(shí)參可以同名
D、實(shí)參類(lèi)型一定要在調(diào)用時(shí)指定
148.以下敘述錯(cuò)誤的是().
A、函數(shù)調(diào)用可以出現(xiàn)在一個(gè)表達(dá)式中
B、函數(shù)調(diào)用可以作為個(gè)函數(shù)的形參
C、函數(shù)調(diào)用可以作為一個(gè)函數(shù)的實(shí)參
D、函數(shù)允許遞歸調(diào)用
149.已知有宏定義#defineSQR(a)2*a*a,貝USQR(3+4)的值為().
A、22
B、32
C、98
D、18
注:2*3+4*3+4=22
150.對(duì)于定義,char*aa[2]={"abcd"JABCD"},選項(xiàng)中說(shuō)法正確的是().
A、aa是指針變量,它指向含有兩個(gè)數(shù)組元素的字符型-維數(shù)組
B、aa數(shù)組的兩個(gè)元素中各自存放了上述兩個(gè)字符數(shù)組的首地址
Caa數(shù)組元素的值分別是"abed"和"ABCD"
D、aa數(shù)組的兩個(gè)元素中分別存放的是上述兩個(gè)字符串的首地址
151.若定義:inta=7;floatx=2.5,y=4.7;則表達(dá)式x+a%3*(int)(x+y)%2/4的值是:().
A,2.750000
B,0.000000
C,3.500000
D,2.500000
152.若要打開(kāi)A盤(pán)上user子目錄下名為abc.txt的文本文件進(jìn)行讀、寫(xiě)操作,
下面符合此要求的函數(shù)調(diào)用是()
AJopen("A:\user\abc.txt","rb")
BJopen("A:\\user\\abc.txt","r+")
CJopen("A:\\user\\abc.txt","w")
DJopen("A:\user\abc.txt","r")
153.設(shè)函數(shù)的調(diào)用形式如下:f((xl,x2),(yl,y2,y3)),則函數(shù)有()個(gè)形參.
A、2
B、4
C、3
D、5
154.以下不正確的敘述是()
A、在C程序中所用的變量必須先定義后使用
B、當(dāng)輸入數(shù)值數(shù)據(jù)時(shí),對(duì)于整型變量只能輸入整型值;對(duì)于實(shí)型變量只能輸入實(shí)型值
C、程序中,APH和aph是兩個(gè)不同的變量
D、若a和b類(lèi)型相同,在執(zhí)行了賦值語(yǔ)句a=b;后b中的值將放入a中,b中的值不變
155.下列程序的運(yùn)行結(jié)果是:().
voidfun(int*a,int*b)
{int*k;
k=a;a=b;b=k;
)
main()
{inta=3,b=6,*x=&a,*y=&b;
fun(x,y);
printf("%d%d",a,b);
)
A、63
B、36
CO0
D、編譯出錯(cuò)
156.定義my_file為文件型指針變量,使用fopen以只寫(xiě)方式打開(kāi)一個(gè)文本文件,以下正確的
調(diào)用形式為().
A,my_file=fopen("my.dat","w+");
B,my_file=fopen("my.dat","wb+");
C、my_file=fopen("my.dat","wb");
D、my_file=fopen("my.dat","w");
157.不僅可將C源程序存在磁盤(pán)上,還可將數(shù)據(jù)按數(shù)據(jù)類(lèi)型分別以什么的
形式存在磁盤(pán)上(),
A、文件
B、緩沖區(qū)
C、寄存器
D、內(nèi)存
158.文件包含中,被包含文件().
A、可以是可執(zhí)行文件.
B、可以嵌套其它文件.
C、可以是目標(biāo)文件或源文件.
D、必須用".h"為后綴.
159.定義my.file為文件型指針變量,使用fopen打開(kāi)?個(gè)能讀能寫(xiě)的新的二進(jìn)制文件,
以下正確的調(diào)用形式為().
A、my_file=fopen("my.dat","ab");
B、my_file=fopen("my.dat","ab+");
Cmy_file=fopen("my.dat","wb+");
D,my_file=fopen("my.dat","r+");
160.以卜敘述中錯(cuò)誤的是6
A、不可以用FILE定義指向二進(jìn)制文件的文件指針
B、在程序結(jié)束時(shí),應(yīng)當(dāng)用
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度果園果樹(shù)灌溉系統(tǒng)安裝與承包合同書(shū)
- 2025年度人工智能應(yīng)用合作招投標(biāo)協(xié)議合同范本
- 2025年度新能源發(fā)電項(xiàng)目施工勞務(wù)分包合同示范文本
- 2025年度能源管理優(yōu)化服務(wù)合同范本
- 2025年度水利工程專(zhuān)用管材采購(gòu)合同規(guī)范
- 2025年度股權(quán)并購(gòu)重組項(xiàng)目合同范本(認(rèn)繳制)
- 2025年度高端商務(wù)寫(xiě)字樓租賃合同(二零二五版)
- 二零二五年度餐飲店員工績(jī)效評(píng)估與激勵(lì)合同3篇
- 2025年度國(guó)有企業(yè)股權(quán)轉(zhuǎn)讓及債務(wù)重組執(zhí)行合同
- 2025電梯維修合同(標(biāo)準(zhǔn)版)
- 第三單元 嘆錦繡中華書(shū)傳統(tǒng)佳話(huà)(教學(xué)設(shè)計(jì)) 三年級(jí)語(yǔ)文下冊(cè)大單元教學(xué)(部編版)
- 商業(yè)秘密培訓(xùn)課件模板
- 洛奇化石復(fù)原腳本
- 人教版三年級(jí)上冊(cè)豎式計(jì)算練習(xí)300題及答案
- 【“凡爾賽”網(wǎng)絡(luò)流行語(yǔ)的形成及傳播研究11000字(論文)】
- 建筑工程施工安全管理思路及措施
- 領(lǐng)導(dǎo)干部的情緒管理教學(xué)課件
- 初中英語(yǔ)-Unit2 My dream job(writing)教學(xué)課件設(shè)計(jì)
- 供貨方案及時(shí)間計(jì)劃安排
- 唐山動(dòng)物園景觀規(guī)劃設(shè)計(jì)方案
- 中國(guó)版梅尼埃病診斷指南解讀
評(píng)論
0/150
提交評(píng)論