C語(yǔ)言學(xué)校題庫(kù)專(zhuān)項(xiàng)練習(xí)1_第1頁(yè)
C語(yǔ)言學(xué)校題庫(kù)專(zhuān)項(xiàng)練習(xí)1_第2頁(yè)
C語(yǔ)言學(xué)校題庫(kù)專(zhuān)項(xiàng)練習(xí)1_第3頁(yè)
C語(yǔ)言學(xué)校題庫(kù)專(zhuān)項(xiàng)練習(xí)1_第4頁(yè)
C語(yǔ)言學(xué)校題庫(kù)專(zhuān)項(xiàng)練習(xí)1_第5頁(yè)
已閱讀5頁(yè),還剩120頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論