C語言復習題庫_第1頁
C語言復習題庫_第2頁
C語言復習題庫_第3頁
C語言復習題庫_第4頁
C語言復習題庫_第5頁
已閱讀5頁,還剩74頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

PAGE2一1.二進制語言是屬于()A.面向機器語言B.面向過程語言C.面向問題語言D.面向匯編語言八2.關于指針運算符“*”,下列說法中錯誤的是()A.是單目前綴運算符B.運算對象只能是指針變量C.運算結(jié)果是運算對象對應的變量或數(shù)組元素等D.運算結(jié)合律是自右向左的三3.字符串“ABC”在內(nèi)存占用的字節(jié)數(shù)是()A.3B.4C.6D.8一4.不屬于高級語言的計算機語言是()A.BASIC語言B.C語言C.ALGOL語言D.符號語言三5.下列給出的符號串中,不能作為C語言標識符的是()A.a(chǎn)_2B._2aC._a2D.2_a三6.設有定義語句:chars[12]={“string”};則printf(“%d\n”,strlen(s));的輸出是()A.6B.7C.11D.12三7.執(zhí)行語句“x=(a=3,b=a--)”后,x,a,b的值依次為()A.3,3,2B.3,2,2C.3,2,3D.2,3,2三8.設整型變量m,n,a,b的值均為1,執(zhí)行“(m=a>b)&&(n=a>b)”后m,n的值是()A.0,0B.0,1C.1,0D.1,1三9.屬于C語言字符集中可顯示字符的是()A.\B.\nC.\tD.\b九10.設有下列結(jié)構及其變量的定義,能正確引用該結(jié)構型成員的選項是()struct{intx[5];}x1,*p=&x1;A.x1[0]B.x1[0].xC.p->x1[0]D.p->x[0]三11.設有inti=010,j=10;則printf(“%d,%d\n”,++i,j--);的輸出是()A.11,10B.9,10C.010,9D.10,9三12.下列給出的符號串中,不屬于C語言保留字的是()A.switchB.cherC.caseD.else三13.設整型變量i的值為3,則表達式ii的值為()A.0B.1C.2D.3六14.關于系統(tǒng)函數(shù)strcpy(x1,x2,x3)的下列說法中錯誤的是()A.函數(shù)中的參數(shù)x3是可以省略的B.函數(shù)的基本功能是將字符串x2中的前x3個字符組成的字符串復制到字符數(shù)組x1中C.x1可以是數(shù)組名D.x2必須是存放字符串的字符數(shù)組名,不能是字符串三15.設a=1,b=2,c=3,d=4,則表達式:a<b?a:c<d?c:d的結(jié)果為()A.4B.3C.2D.1三16.在C語言中,結(jié)果不等于4的表達式是()A.sizeof(double)B.sizeof(long)C.sizeof(float)D.sizeof(unsignedlong)三17.在PC機中,′\n′在內(nèi)存占用的字節(jié)數(shù)是()A.1B.2C.3D.4三18.若有以下定義語句:chara;intb;floatc;doubled;則表達式a*b+d-c的值的類型為()A.floatB.intC.charD.double五19.在C語言中,下列說法中正確的是()A.不能使用“do語句;whlie(表達式);”實現(xiàn)循環(huán)結(jié)構B.“do語句;whlie(表達式);”的循環(huán)必須使用“break”語句退出循環(huán)C.“do語句;whlie(表達式);”的循環(huán)中,當表達式為非0時將結(jié)束循環(huán)D.“do語句;whlie(表達式);”的循環(huán)中,當表達式為0時將結(jié)束循環(huán)八20.設有數(shù)據(jù)定義語句“inti,j=7,*p=&i;”,則與“i=j;”等價的是()A.j=*pB.*p=*&j;C.i=&j;D.i=&p;三21.表達式“10!=9“的值是()A.trueB.非零值C.0D.1三22.設有宏定義“#defineR2+3”,則R*R的宏替換結(jié)果正確的是()A.(2+3)*(2+3)B.2+3*2+3C.5*5D.5.0*5.0三23.若有以下數(shù)據(jù)定義語句,則數(shù)值為4的表達式是()inta[12]={1,2,3,4,5,6,7,8,9,10,11,12};charc=’a’,d,g;A.a(chǎn)[g-c]B.a(chǎn)[4]C.a(chǎn)[‘d’-‘c’]D.a(chǎn)[‘d’-c]十24.關于使用方式,下列說法中正確的是()A.選用“r”,文件必須存在B.選用“r+”,文件可以不存在C.選用“w”,文件必須存在D.選用“w+”,文件必須存在三25.設a=3,b=4,執(zhí)行語句“printf(“%d,%d”,(a,b),(b,a));”的輸出是()A.3,4B.4,3C.3,3D.4,4三26.不屬于面向機器語言的是()A.符號語言B.二進制語言C.匯編語言D.C語言八27.設有數(shù)據(jù)定義語句“inta=3,b,*p=&a;”,則下列選項中使b不為3的是()A.b=*&a;B.b=*p;C.b=a;D.b=*a;四28.設x,y,z,t均為int型變量,則執(zhí)行下列語句串后,變量t的值為()x=y=z=0;if(x=y)t=z;elset=!z;A.不定值B.2C.1D.0四29.設整型變量m1值為3、m2值為2、m3值為1,執(zhí)行下列語句后,整型變量m4值是()Switch(m1=m2==m3+1){case1:m4=1;break;Case3:m4=3;berak;Case2:m4=2;break;Default;m4=4;A.1B.2C.3D.4六30.若有以下的定義,則值為3的表達式是()inta[]={1,2,3,4,5,6,7,8,9,10},*p=a;A.p+=2,*(p++)B.p+=2,*++pC.p+=3,*p++D.p+=2,++*p八31.若有如下定義和語句,則輸出結(jié)果是()int*p,a=10,b=20;p=&a;p=&b;printf(“%d,%d\n”,*p,*p);A.10,20B.10,10C.20,10D.20,20五32.以下說法中正確的是()A.continue只能在循環(huán)體中使用B.break只能在循環(huán)體中使用C.break不能在循環(huán)體中使用D.break只能在switch語句中使用六33.關于給一維數(shù)組元素賦初值,下列說法中錯誤的是()A.在一個數(shù)據(jù)定義語句中,可以給所有數(shù)組賦初值,也可以只給一部分數(shù)組賦初值B.可以給一維數(shù)組的全部元素賦初值,也可以只給前面的部分元素賦初值C.對某個一維數(shù)組的前若干個元素賦初值,后面的未賦初值的元素無初值D.對某個一維數(shù)組的所有元素賦初值,數(shù)組的長度可以省略八34.執(zhí)行下列程序段,則輸出結(jié)果是()#include<string.h>char*p=“ABC”;printf(“%d”,strlen(p)+*p);A.語句錯誤B.輸出3C.輸出4D.輸出68六35.設有如下定義語句,則正確敘述為()Charx[]={“abcdef”};chary[]={‘a(chǎn)’,’b’,’c’,’d’,’e’,’f’,’g’};A.數(shù)組x和數(shù)組y等價B.數(shù)組x和數(shù)組y的長度相同C.數(shù)組x的長度大于數(shù)組y的長度D.數(shù)組x的長度小于數(shù)組y的長度五36.設有循環(huán)語句“for(i=-1;i<4;i++)i++;”,其循環(huán)體執(zhí)行的次數(shù)是()A.無限次B.0C.3D.4五37.下列語句中,錯誤的是()A.while(x=y)5;B.dox++while(x==10);C.whlie(0);D.do2;whlie(a==b);六38.下列數(shù)據(jù)定義語句中,正確的是()A.chara[3][]={‘a(chǎn)bc’,’1’};B.chara[][3]={‘a(chǎn)bc’,’1’};C.chara[3][]={‘a(chǎn)’,”1”};D.chara[][3]={“a”,”1”};六39.設有下列定義,正確的賦值表達式是()structa{chars[10];intx;floaty[3];}b[2],*p;charpc;intpi;floatpf;A.p=sB.pc=&s[0]C.pi=b[0].xD.pf=&b.y[0]三40.下列選項中,不是轉(zhuǎn)義字符的是()A.\\B.\’C.074D.\0五41.以下敘述正確的是()

A.do-while語句構成的循環(huán)不能用其它語句構成的循環(huán)來代替

B.do-while語句構成的循環(huán)只能用break語句退出

C.用do-while語句構成的循環(huán),在while后的表達式為非零時結(jié)束循環(huán)

D.用do-while語句構成的循環(huán),在while后的表達式為零時結(jié)束循環(huán)

四42.有如下程序

main(

)

{

int

x=1,a=0,b=0;

switch(x){

case

0:

b++;

case

1:

a++

;

case

2:

a++;b++

;

}

printf("a=%d,b=%d\n",a,b);

}

該程序的輸出結(jié)果是

()

A.

a=2,b=1

B.a(chǎn)=1,b=1

C.

a=1,b=0

D.

a=2,b=2

三43.若變量c為char類型,能正確判斷出c為小寫字母的表達式是()A.'a'<=c<='z'B.(c>='a')||(c<='z')

C.('a'<=c)and('z'>=c)D.(c>='a')&&(c<='z')五44.t為int類型,進人下面的循環(huán)之前,t的值為0

while(t=l)

{……}

則以下敘述中正確的是()

A.循環(huán)控制表達式的值為0B.循環(huán)控制表達式的值為1

C.循環(huán)控制表達式不合法D.以上說法都不對

四45.以下程序的輸出結(jié)果是()main()

{inta=4,b=5,c=0,d;

d=!a&&!b||!c;

printf("%d\n",d);

}

A.1B.0C.非0的數(shù)D.-1三46.與數(shù)學式子對應的C語言表達式是()A.3*x^n/(2*x-1)B.3*x**n/(2*x-1)

C.3*pow(x,n)*(1/(2*x-1))D.3*pow(n,x)/(2*x-1)三47.下列關于單目運算符++、--的敘述中正確的是()A.它們的運算對象可以是任何變量和常量

B.它們的運算對象可以是char型變量和int型變量,但不能是float型變量

C.它們的運算對象可以是int型變量,但不能是double型變量和float型變量

D.它們的運算對象可以是char型變量、int型變量和float型變量三48.設有如下程序段:

intx=2002,y=2003;

printf("%d\n",(x,y));

則以下敘述中正確的是()

A.輸出語句中格式說明符的個數(shù)少于輸出項的個數(shù),不能正確輸出

B.運行時產(chǎn)生出錯信息

C.輸出值為2002

D.輸出值為2003

三49.下列程序執(zhí)行后的輸出結(jié)果是()

A.GB.HC.ID.J

main()

{intx='f';printf("%c\n",'A'+(x-'a'+1));}

五50.有以下程序

main()

{ints=0,a=1,n;

scanf("%d",&n);

do

{s+=1;a=a-2;}

while(a!=n);

printf("%d\n",s);

}

若要使程序的輸出值為

2,則應該從鍵盤給n輸入的值是()

A.-1B.-3C.-5D.0

三51.有以下程序段intm=0,n=0;charc='a';

scanf("%d%c%d",&m,&c,&n);

printf("%d,%c,%d\n",m,c,n);

若從鍵盤上輸入:10A10<回車>,則輸出結(jié)果是()

A.10,A,10B.10,a,10C.10,a,0D.10,A,0三52.設有定義:longx=-123456L;,則以下能夠正確輸出變量x值的語句是()A.printf("x=%d\n",x);B.printf("x=%ld\n",x);

C.printf("x=%8dL\n",x);D.printf("x=%LD\n",x);三53.以下程序段的輸出結(jié)果是()chars[]="\\141\141abc\t";

printf("%d\n",strlen(s));

A.9B.12C.13D.14五54.以下程序的輸出結(jié)果是()

main()

{intnum=0;while(num<=2){num++;printf("%d\n",num);}}A.1B.1C.1D.l

222

33

4七55.以下程序的輸出結(jié)果是()A.0B.29C.31D.無定值

fun(intx,inty,intz)

{z=x*x+y*y;}

main()

{inta=31;fun(5,2,a);printf("%d",a);}四56.有如下程序

main(

)

{

float

x=2.0,y;

if(x<0.0)

y=0.0;

else

if(x<10.0)

y=1.0/x;

else

y=1.0;

printf("%f\n",y);

}

該程序的輸出結(jié)果是

()

A.

0.000000

B.

0.250000

C.

0.500000

D.

1.000000

六57.執(zhí)行下面的程序段后,變量k中的值為()

A.不定值B.33C.30D.10

intk=3,s[2];

s[0]=k;k=s[1]*10;

四58.有如下程序

main(

)

{int

a=2,b=-1,c=2;

if(a<b)

if(b<0)c=0;

else

c++

;

printf("%d\n",c);

}該程序的輸出結(jié)果是

()A.

0

B.

1

C.

2

D.

3

八59.下列程序段的輸出結(jié)果是()A.2143B.1212C.1234D.2112

voidfun(int*x,int*y)

{printf("%d%d",*x,*y);*x=3;*y=4;}

main()

{intx=1,y=2;fun(&y,&x);printf("%d%d",x,y);}八60.在調(diào)用函數(shù)時,如果實參是簡單變量,它與對應形參之間的數(shù)據(jù)傳遞方式是()A.地址傳遞B.單向值傳遞

C.由實參傳給形參,再由形參傳回實參D.傳遞方式由用戶指定

六61.以下程序的輸出結(jié)果是()main()

{charch[3][5]={"AAAA","BBB","CC"};

printf("\"%s\"\n",ch[1]);

}A."AAAA"B."BBB"C."BBBCC"D."CC"三62.若有以下程序:main()

{intk=2,i=2,m;

m=(k+=i*=k);printf("%d,%d\n",m,i);

}

執(zhí)行后的輸出結(jié)果是()

A.8,6B.8,3C.6,4D.7,4四63.有以下程序main()

{inti=1,j=1,k=2;

if((j++||k++)&&i++)printf("%d,%d,%d\n",i,j,k);

}

執(zhí)行后輸出的結(jié)果是()

A.1,1,2B.2,2,1C.2,2,2D.2,2,3八64.有以下函數(shù)定義:

voidfun(intn,doublex){……}

若以下選項中的變量都已正確定義并賦值,則對函數(shù)fun的正確調(diào)用語句是()

A.fun(inty,double

m);B.k=fun(10,12.5);

C.fun(x,n);D.voidfun(n,x);

八65.下列程序執(zhí)行后的輸出結(jié)果是()

A.6B.7C.8D.9

voidfunc(int*a,intb[])

{b[0]=*a+6;}

main()

{inta,b[5];

a=0;

b[0]=3;

func(&a,b);

printf("%d\n",b[0]);

}

九66.有以下程序

#include<stdio.h>

main()

{printf("%d\n",NULL

);}

程序運行后的輸出結(jié)果是()

A.0B.1C.-1D.NULL沒定義,出錯六67.有以下程序.main()

{intp[7]={11,13,14,15,16,17,18},i=0,k=0;

while(i<7&&p[i]%2){k=k+p[i];i++;}

printf("%d\n",k);

}

執(zhí)行后輸出的結(jié)果是()

A.58B.56C.45D.24三68.以下選項中,與k=n++完全等價的表達式是()A.k=n,n=n+1B.n=n+1,k=nC.k=++nD.k+=n+1七69.在C語言中,形參的缺省存儲類是()A.a(chǎn)utoB.registerC.staticD.extern七70.以下函數(shù)值的類型是()

fun(floatx)

{floaty;y=3*x-4;returny;}

A.intB.不確定C.voidD.float六71.下面程序的輸出結(jié)果是()A.0B.1C.10D.9

main()

{inta[]={1,2,3,4,5,6,7,8,9,0,},*p;

p=a;

printf("%d\n",*p+9);

}五72.有如下程序

main(

)

{

int

i,sum;

for(i=1;i<=3;sum++)

sum+=i;

printf("%d\n",sum);

}

該程序的執(zhí)行結(jié)果是

()

A.

6

B.

3

C.死循環(huán)D.

0

三73.下列程序的運行結(jié)果是()

A.a(chǎn)=%2,b=%5B.a(chǎn)=2,b=5

C.a(chǎn)=d,b=dD.a(chǎn)=%d,b=%d

#include<stdio.h>

main()

{inta=2,c=5;printf("a=%d,b=%d\n",a,c);}

五74.有如下程序

main(

)

{

int

x=23;

do

{

printf("%d",x--);}

while(!x);

}

該程序的執(zhí)行結(jié)果是

()A.

321

B.

23

C.

不輸出任何內(nèi)容

D.

陷入死循環(huán)

七75.當調(diào)用函數(shù)時,實參是一個數(shù)組名,則向函數(shù)傳送的是()A.數(shù)組的長度B.數(shù)組的首地址

C.數(shù)組每一個元素的地址D.數(shù)組每個元素中的值七76.設有以下函數(shù):f(inta)

{intb=0;

staticintc=3;

b++;c++;

return(a+b+c);

}

如果在下面的程序中調(diào)用該函數(shù),則輸出結(jié)果是()

main()

{inta=2,i;

for(i=0;i<3;i++)printf("%d\n",f(a));

}

A.7B.7C.7D.7

89107

911137三77.以下程序的輸出結(jié)果是()main()

{charx=040;

printf("%o\n",x<<1);

}A.100B.80C.64D.32五78.有以下程序段intn=0,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三79.有以下程序main()

{inti=10,j=1;

printf("%d,%d\n",i--,++j);

}

執(zhí)行后輸出的結(jié)果是()

A.9,2B.10,2C.9,1D.10,1三80.已定義c為字符型變量,則下列語句中正確的是()

A.c='97';B.c="97"C.c=97;D.c="a";

五81.下列程序執(zhí)行后的輸出結(jié)果是()

A.3B.6C.9D.隨機數(shù)

main()

{inta[3][3],*p,i;

p=&a[0][0];

for(i=0;i<9;i++)p[i]=i+1;

printf("%d\n",a[1][2]);

}

六82.以下能正確定義一維數(shù)組的選項是()

A.intnum[];B.#defineN100intnum[N];

C.intnum[0..100];

D.intN=100;

intnum[N];三83.有以下程序main()

{chara,b,c,*d;

a='\';b='\xbc';

c='\0xab';d="\0127";

printf("%c%c%c%c\n",a,b,c,*d);

}

編譯時出現(xiàn)錯誤,以下敘述中正確的是()

A.程序中只有a='\';語句不正確B.b='\xbc';語句不正確

C.d="\0127";語句不正確D.a(chǎn)='\';和c='\0xab';語句都不正確八84.若有說明:intn=2,*p=&n,*q=p;,則以下非法的賦值語句是()A.p=q;B.*p=*q;C.n=*q;D.p=n;九85.若有下面的說明和定義:structtest

{intml;charm2;floatm3;

unionuu{charul[5];intu2[2];}ua;

}myaa;

則sizeof(structtest)的值是()

A.16B.14C.12D.9三86.以下程序的輸出結(jié)果是()main()

{charc='z';printf("%c",c-25);}

A.a(chǎn)B.ZC.z-25D.y九87.設有以下說明語句structex

{intx;floaty;charz;}example;則下面的敘述中不正確的是()A.struct結(jié)構體類型的關鍵字B.example是結(jié)構體類型名C.x,y,z都是結(jié)構體成員名D.structex是結(jié)構體類型五88.有如下程序

main(

)

{

int

n=9;

while(n>6)

{n--;printf("%d",n);}

}

該程序段的輸出結(jié)果是

()

A.

987

B.

876

C.

8765

D.9876

七89.下列程序的輸出結(jié)果是()

A.4B.6C.8D.10

intb=2;

intfunc(int*a)

{b+=*a;return(b);}

main()

{inta=2,res=2;

res+=func(&a);

printf("%d\n",res);

}

七90.有如下程序

int

func(int

a,int

b)

{

return(a+b);}

main(

)

{

int

x=2,y=5,z=8,r;

r=func(func(x,y),z);

printf("%d\n",r);

}

該程序的輸出的結(jié)果是

()

A.

12

B.

13

C.

14

D.

15

七91.以下只有在使用時才為該類型變量分配內(nèi)存的存儲類說明是()A.a(chǎn)uto和staticB.a(chǎn)uto和register

C.register和staticD.extern和register三92.以下選項中,非法的字符常量是()A.'\t'B.'\17'C."\n"D.'\xaa'八93.若有以下定義和語句:ints[4][5],(*ps)[5];

ps=s;則對s數(shù)組元素的正確引用形式是()A.ps+1B.*(ps+3)C.ps[0][2]D.*(ps+1)+3七94.有以下程序floatfun(intx,inty)

{return(x+y);}

main()

{inta=2,b=5,c=8;

printf("%3.0f\n",fun((int)fun(a+c,b),a-c));

}

程序運行后的輸出結(jié)果是()A.編譯出錯B.9C.21D.9.0八95.有以下程序main()

{char*s[]={"one","two","three"},*p;

p=s[1];

printf("%c,%s\n",*(p+1),s[0]);

}

執(zhí)行后輸出結(jié)果是()

A.n,twoB.t,oneC.w,oneD.o,two八96.下列選項中正確的語句組是()

A.chars[8];s={"Beijing"};B.char*s;s={"Bei

jing"};

C.chars[8];s="Beijing";D.char*s;s="Beijing";

五97.下面程序的輸出結(jié)果是()

A.4B.2C.1D.0

main()

{inti,j,m=0,n=0;

for(i=0;i<2;i++)

for(j=0;j<2;j++)

if(j>=i)m=1;n++;

printf("%d\n",n);

}

七98.已定義以下函數(shù)

fun(int*p)

{return*p;}

該函數(shù)的返回值是()

A.不確定的值B.形

參p中存放的值

C.形參p所指存儲單元中的值D.形參p的地址值

六99.有以下程序main()

{intx[8]={8,7,6,5,0,0},*s;

s=x+3;

printf("%d\n",s[2]);

}

執(zhí)行后輸出結(jié)果是()

A.隨機值B.0C.5D.6六100.有以下程序main()

{chara[]={'a','b','c','d','e','f','g','h','\0'};inti,j;

i=sizeof(a);j=strlen(a);

printf("%d,%d\n",i,j);

}

程序運行后的輸出結(jié)果是()

A.9,9B.8,9C.1,8D.9,8六101.以下程序的輸出結(jié)果是()main()

{intb[3][3]={0,1,2,0,1,2,0,1,2},i,j,t=1;

for(i=0;i<3;i++)

for(j=i;j<=i;j++)t=t+b[i][b[j][j]];

printf("%d\n",t);}A.9B.4C.3D.1八102.若有說明:inti,j=2,*p=&i;,則能完成i=j賦值功能的語句是()A.i=*p;B.*p=*&j;C.i=&j;D.i=**p;六103.以下程序的輸出結(jié)果是()A.1,5,9B.1,4,7C.3,5,7D.3,6,9

main()

{inti,x[3][3]={1,2,3,4,5,6,7,8,9};

for(i=0;i<3;i++)printf("%d,",x[i][2-i]);

}八104.對于基類型相同的兩個指針變量之間,不能進行的運算是

()A.

<

B.

=

C.

+

D.

-

六105.下列程序的輸出結(jié)果是()

A.5B.6C.7D.8

structabc

{inta,b,c;};

main()

{structabc

s[2]={{1,2,3},{4,5,6}};intt;

t=s[0].a+s[1].b;

printf("%d\n",t);

}

七106.有如下程序

long

fib(int

n)

{

if(n>2)

return(fib(n-1)+fib(n-2));

else

return(2);

}

main()

{printf("%1d\n",fib(3));}

該程序的輸出結(jié)果是()

A.

2B.4C.

6D.

8五107.以下程序的輸出結(jié)果是()A.18B.19C.20D.21

main()

{inta[3][3]={{1,2},{3,4},{5,6}},i,j,s=0;

for(i=1;i<3;i++)

for(j=0;j<=i;j++)s+=a[i][j];

printf("%d\n",s);

}六108.以下程序的輸出結(jié)果是()main()

{inti,a[10];

for(i=9;i>=0;i--)a[i]=10-i;

printf("%d%d%d",a[2],a[5],a[8]);}

A.258B.741C.852D.369六109.以下程序的輸出結(jié)果是()#include<stdio.h>

#include<string.h>

main()

{charb1[8]="abcdefg",b2[8],*pb=b1+3;

while(--pb>=b1)strcpy(b2,pb);

printf("%d\n",strlen(b2));

}

A.8B.7C.3D.1八110.有以下程序#include<string.h>

main()

{char*p="abcde\0fghjik\0";

printf("%d\n",strlen(p));

}

程序運行后的輸出結(jié)果是()

A.12B.15C.6D.5五111.以下能正確定義數(shù)組并正確賦初值的語句是()A.intN=5,b[N][N];B.inta[1][2]={{1},{3}};

C.intc[2][]={{1,2},{3,4}};D.intd[3][2]={{1,2},{34}};八112.若有定義:int*p[3];,則以下敘述中正確的是()

A.定義了一個基類型

為int的指針變量p,該變量具有三個指針

B.定義了一個指針數(shù)組p,該數(shù)組含

有三個元素,每個元素都是基類型為int的指針

C.定義了一個名為*p的整型數(shù)組,

該數(shù)組含有三個int類型元素

D.定義了一個可指向一維數(shù)組的指針變量p,所指一維數(shù)組應具有三個int類型元素

四113.若有定義:floatw;

inta,b;則合法的switch語句是()

A.switch(w)B.switch(a);

{case1.0:printf("*\n");{case1printf("*\n");

case2.0:printf("**\n");case2printf("**\n");

}}

C.switch(b)

D.switch(a+b);

{case1:

printf("*\n");{case1:

printf("*\n");

default:

printf("\n");case2:

printf("**\n");

case1+2:printf("**\n");default:printf("\n");

}}十114.若fp已正確定義并指向某個文為件,當未遇到該文件結(jié)束標志時函數(shù)feof(fp)的值()

A.0B.1C.-1D.一個非0值七115.以下敘述中正確的是()A.全局變量的作用域一定比局部變量的作用域范圍大

B.靜態(tài)(static)類別變量的生存期貫穿于整個程序的運行期間

C.函數(shù)的形參都屬于全局變量

D.未在定義語句中賦初值的auto變量和static變量的初值都是隨機值三116.有以下程序inta=3;

main()

{ints=0;

{inta=5;s+=a++;}

s+=a++;printf("%d\n",s);

}

程序運行后的輸出結(jié)果是()

A.8B.10C.7D.11八117.在說明語句:int*f();中,標識符f代表的是()A.一個用于指向整型數(shù)據(jù)的指針變量

B.一個用于指向一維數(shù)組的行指針

C.一個用于指向函數(shù)的指針變量

D.一個返回值為指針型的函數(shù)名六118.以下程序的輸出結(jié)果是()main()

{inta[4][4]={{1,3,5},{2,4,6},{3,5,7}};

printf("%d%d%d%d\n",a[0][3],a[1][2],a[2][1],a[3][0]);}

A.0650B.1470C.5430D.輸出值不定七119.假定以下程序經(jīng)編譯和連接后生成可執(zhí)行文件PROG.EXE,如果在此可執(zhí)行文件所在目錄的DOS提示符下鍵入:PROGABCDEFGHIJKL<回車>,則輸出結(jié)果為()

A.ABCDEFGB.IJHLC.ABCDEFGHIJKLD.IJKLABCDEFGH

main(intargc,char*argv[])

{while(--argc>0)printf("%s",argv[argc]);

printf("\n");

}四120.有如下程序段inta=14,b=15,x;

charc='A';

x=(a&&b)&&(c<'B');執(zhí)行該程序段后,x的值為()A.trueB.falseC.0D.1三121.以下選項中合法的字符常量是()A."B"B.'\010'C.68D.D八122.若有說明語句:inta,b,c,*d=&c;,則能正確從鍵盤讀入三個整數(shù)分別賦給變量a、b、c的語句是()A.scanf("%d%d%d",&a,&b,d);B.scanf("%d%d%d",&a,&b,&d);

C.scanf("%d%d%d",a,b,d);D.scanf("%d%d%d",a,b,*d);三123.以下選項中合法的用戶標識符是()A.longB._2TestC.3DmaxD.A.dat九124.下列敘述中正確的是()A.C語言中既有邏輯類型也有集合類型

B.C語言中沒有邏輯類型但有集合類型

C.C語言中有邏輯類型但沒有集合類型

D.C語言中既沒有邏輯類型也沒有集合類型三125.有以下程序main()

{inta=1,b=2,m=0,n=0,k;

k=(n=b>a)||(m=a<b);

printf("%d,%d\n",k,m);

}

程序運行后的輸出結(jié)果是()A.0,0B.0,1C.1,0D.1,1五126.以下敘述正確的是()

A.do-while語句構成的循環(huán)不能用其它語句構成的循環(huán)來代替

B.do-while語句構成的循環(huán)只能用break語句退出

C.用do-while語句構成的循環(huán),在while后的表達式為非零時結(jié)束循環(huán)

D.用do-while語句構成的循環(huán),在while后的表達式為零時結(jié)束循環(huán)四127.有如下程序

main(

)

{

float

x=2.0,y;

if(x<0.0)

y=0.0;

else

if(x<10.0)

y=1.0/x;

else

y=1.0;

printf("%f\n",y);

}

該程序的輸出結(jié)果是

()

A.0.000000

B.0.250000

C.0.500000

D.1.000000

七128.下列程序段的輸出結(jié)果是()A.2143B.1212C.1234D.2112

voidfun(int*x,int*y)

{printf("%d%d",*x,*y);*x=3;*y=4;}

main()

{intx=1,y=2;

fun(&y,&x);

printf("%d%d",x,y);

}三129.若變量a是int類型,并執(zhí)行了語句:a='A'+1.6;,則正確的敘述是()A.a(chǎn)的值是字符CB.a(chǎn)的值是浮點型

C.不允許字符型和浮點型相加D.a(chǎn)的值是字符'A'的ASCII值加上1七130.在調(diào)用函數(shù)時,如果實參是簡單變量,它與對應形參之間的數(shù)據(jù)傳遞方式是()

A.地址傳遞B.單向值傳遞

C.由實參傳給形參,再由形參傳回實參D.傳遞方式由用戶指定七131.以下程序的輸出結(jié)果是()A.0B.29C.31D.無定值

fun(intx,inty,intz)

{z=x*x+y*y;}

main()

{inta=31;

fun(5,2,a);

printf("%d",a);

}四132.有如下程序

main(

)

{

int

x=1,a=0,b=0;

switch(x){

case

0:

b++;

case

1:

a++

;

case

2:

a++;b++

;

}

printf("a=%d,b=%d\n",a,b);

}

該程序的輸出結(jié)果是()

A.a(chǎn)=2,b=1

B.a(chǎn)=1,b=1

C.a(chǎn)=1,b=0

D.a(chǎn)=2,b=2

五133.以下循環(huán)體的執(zhí)行次數(shù)是()

A.3B.2C.1D.0

main()

{inti,j;

for(i=0,j=1;

i<=j+1;i+=2,j--)printf("%d\n",i);

}四134.以下選項中非法的表達式是()

A.0<=x<100B.i=j==0

C.(char)(65+3)D.x+1=x+1一135.在一個C語言程序中()A.main函數(shù)必須出現(xiàn)在所有函數(shù)之前

B.main函數(shù)可以在任何地方出現(xiàn)

C.main函數(shù)必須出現(xiàn)在所有函數(shù)之后

D.main函數(shù)必須出現(xiàn)在固定位置三136.以下選項中合法的實型常數(shù)是()A.5E2.0B.E-3C..2E0D.1.3E七137.以下敘述中正確的是()A.構成C程序的基本單位是函數(shù)

B.可以在一個函數(shù)中定義另一個函數(shù)

C.main()函數(shù)必須放在其它函數(shù)之前

D.所有被調(diào)用的函數(shù)一定要在調(diào)用之前進行定義三138.C語言中用于結(jié)構化程序設計的三種基本結(jié)構是()A.順序結(jié)構、選擇結(jié)構、循環(huán)結(jié)構

B.if、switch、break

C.for、while、do-while

D.if、for、continue三139.有以下程序

main()

{inta;charc=10;

floatf=100.0;doublex;

a=f/=c*=(x=6.5);printf("%d%d%3.1f%3.1f\n",a,c,f,x);

}

程序運行后的輸出結(jié)果是()

A.16516.5B.1651.56.5

C.1651.06.5D.2651.56.5三140.與y=(x>0?1:x<0?-1:0);的功能相同的if語句是()A.if(x>0)y=1;B.if(x)

elseif(x<0)y=-1;if(x>0)y=1;

elsey=0;elseif(x<0)y=-1;

elsey=0;

C.y=-1D.y=0;

if(x)if(x>=0)

if(x>0)y=1;if(x>0)y=1;

elseif(x==0)y=0;elsey=-1;

elsey=-1;四141.能正確表示邏輯關系:“a≥10或a≤0”的C語言表達式是()

A.a(chǎn)>=10

or

a<=0

B.a(chǎn)>=0|a<=10

C.a(chǎn)>=10

&&a<=0

D.a(chǎn)>=10‖a<=0

四142.若變量c為char類型,能正確判斷出c為小寫字母的表達式是()A.'a'<=c<='z'B.(c>='a')||(c<='z')

C.('a'<=c)and('z'>=c)D.(c>='a')&&(c<='z')五143.以下程序的輸出結(jié)果是()

main()

{intnum=0;

while(num<=2)

{num++;printf("%d\n",num);}

}

A.1B.1C.1D.l

222

33

4

六144.以下程序的輸出結(jié)果是()main()

{charch[3][5]={"AAAA","BBB","CC"};

printf("\"%s\"\n",ch[1]);}

A."AAAA"B."BBB"C."BBBCC"D."CC"一145.以下敘述中正確的是()

A.C語言比其他語言高級

B.C語言可以不用編譯就能被計算機識別執(zhí)行

C.C語言以接近英語國家的自然語言和數(shù)學語言作為語言的表達形式

D.C語言出現(xiàn)得最晚,具有其他語言的一切優(yōu)點三146.若有以下程序:main()

{intk=2,i=2,m;

m=(k+=i*=k);printf("%d,%d\n",m,i);

}

執(zhí)行后的輸出結(jié)果是()

A.8,6B.8,3C.6,4D.7,4六147.以下程序段的輸出結(jié)果是()

chars[]="\\141\141abc\t";

printf("%d\n",strlen(s));

A.9B.12C.13D.14五148.t為int類型,進人下面的循環(huán)之前,t的值為0while(t=l)

{……}

則以下敘述中正確的是()

A.循環(huán)控制表達式的值為0B.循環(huán)控制表達式的值為1

C.循環(huán)控制表達式不合法D.以上說法都不對五149.有以下程序段intx=3;

do

{printf("%d",x-=2);}

while(!(--x));

其輸出結(jié)果是()

A.1B.30C.1-2D.死循環(huán)三150.有如下程序

main(

)

{

int

y=3,x=3,z=1;

printf("%d

%d\n",(++x,y++),z+2);

}

運行該程序的輸出結(jié)果是()

A.3

4

B.4

2

C.4

3

D.3

3三151.下列變量定義中合法的是()A.short_a=1-.le-1;B.doubleb=1+5e2.5;C.longdo=0xfdaL;D.float2_and=1-e-3;三152.以下不能定義為用戶標識符的是()

A.scanfB.VoidC._3com_D.int一153.能將高級語言編寫的源程序轉(zhuǎn)換為目標程序的軟件是()A.匯編程序B.編輯程序C.解釋程序D.編譯程序三154.下列程序執(zhí)行后的輸出結(jié)果是(小數(shù)點后只寫一位)()

A.666.06.0B.666.76.7

C.666.06.7

D.666.76.0

main()

{doubled;

floatf;

longl;

inti;

i=f=1=d=20/3;

printf("%d%ld%f%f\n",i,l,f,d);}三155.若變量a、i已正確定義,且i已正確賦值,合法的語句是

()A.a(chǎn)==1

B.++i;

C.a(chǎn)=a++=5;

D.a(chǎn)=int(i);

五156.以下程序執(zhí)行后sum的值是()CA.15B.14C.不確定D.0

main()

{inti,sum;

for(i=1;i<6;i++)sum+=i;

printf("%d\n",sum);

}三157.假定w、x、y、z、m均為int型變量,有如下程序段:

w=1;x=2;y=3;z=4;

m=(w<x)?w:x;m=(m<y)?m:y;m=(m<z)?m:z;

則該程序運行后,m的值是()

A.4B.3C.2D.1四158.以下程序的輸出結(jié)果是()main()

{inta=4,b=5,c=0,d;

d=!a&&!b||!c;

printf("%d\n",d);

}

A.1B.0C.非0的數(shù)D.-1三159.設有定義:longx=-123456L;,則以下能夠正確輸出變量x值的語句是().A.printf("x=%d\n",x);B.printf("x=%ld\n",x);

C.printf("x=%8dL\n",x);D.printf("x=%LD\n",x);四160.有以下程序main()

{inti=1,j=1,k=2;

if((j++||k++)&&i++)printf("%d,%d,%d\n",i,j,k);

}

執(zhí)行后輸出的結(jié)果是()

A.1,1,2B.2,2,1C.2,2,2D.2,2,3一161.高級語言屬于面向的語言。一162.C語句的最后一定要有一個號。一163.C語言的程序是由若干個函數(shù)組成的,其中有且僅有一個函數(shù)名規(guī)定為的主函數(shù)。三164.若d是已定義的雙精度變量,定義一個指向d的指針變量p的語句是。三165.C語言標識符是由或下劃線開頭的字母、數(shù)字、下劃線組成的一串符號。六166.設有定義語句“inta[3][4]={{1},{2},{3}};”則a[1][1]的值為。一167.用高級語言編寫的程序稱為程序。九168.指向結(jié)構體成員運算符是一個雙目中綴運算符,前一個運算對象必須是。三169.轉(zhuǎn)義字符是由符號開始的單個字符或若干個字符組成的。三170.在C語言中“&”稱為運算符。三171.C語言的保留字規(guī)定全部由字母組成。八172.賦值表達式“指針變量=表達式”中的表達式應該是類型的表達式。三173.定義整型有名常量n的初值為199,正確的定義語句是。八174.調(diào)用指針型函數(shù)時,能接受函數(shù)返回值的變量必須是變量。四175.設a=3,b=2,,則a>b的值為。四176.若已知a=10,b=20,則表達式!a<b的值為。三177.在內(nèi)存中存儲"A"要占用個字節(jié)。三178.設整型變量x,y,z均為5,則執(zhí)行“x-=y-z”后x=。三179.printf()系統(tǒng)函數(shù)的第一個參數(shù)是。十180.“FILE*P”的作用是定義一個。六181.設有數(shù)據(jù)定義語句“chars[]={"abc"};”則數(shù)組s的長度為。九182.指向結(jié)構體成員運算符是一個雙目中綴運算符,前一個運算對象必須是。三183.先判斷控制循環(huán)條件,后執(zhí)行循環(huán)體的循環(huán)一般稱為型循環(huán)。七184.函數(shù)形參的作用域為。三185.結(jié)構化程序設計規(guī)定的三種基本結(jié)構是順序結(jié)構、選擇結(jié)構和結(jié)構。六186.執(zhí)行語句“intb[5]={0},a[][3]={1,2,3,4,5,6};”后b[4]=。三187.設有宏定義#defineX3-2;則2*X的宏替換結(jié)果是。七188.若函數(shù)要求返回一個值,則應在該函數(shù)中有一條語句。三189.使用系統(tǒng)函數(shù)getchar(),必須在程序的開頭寫上一條命令。九190.分配給一個結(jié)構型變量的字節(jié)數(shù)等于。三191.設有數(shù)據(jù)定義語句“char*a="ABCD";”則語句"printf("%s",a)"的輸出結(jié)果是。五192.設i,j,k均為int型變量,則執(zhí)行完下面的for循環(huán)后,k的值為。for(i=0,j=10;i<=j;i++,j--)k=i+j;四193.在c語言中用表示邏輯“假”。十194.在C程序中,文件可以用順序方式存取,也可以用____________方式存取。五195.下面的for循環(huán)語句最多可以執(zhí)行____________次。for(x=0,y=0;(y!=99)&&(x<4);x++)六196.已有說明語句如下:inta[2][3]={1,2,3,4,5,6},(*p)[3];p=a;則表達式*(*(p+1)+2)的值是。六197.已有說明語句如下:inta[]={1,2,3,4,5,6,7,8,9,0},*p=a;則通過指針變量P引用值為6的數(shù)組元素的表達式是。三198.對語句scanf("%2d%*3d%2d",&a,&b);,當從鍵盤輸入1234567后回車,則變量a,b的值分別是。三199.已有定義:inta=10,b=9,c=8;,則執(zhí)行語句:c=(a%11)+(b=3);后,變量b的值是。九200.typedefdoubleREAL的作用是說明一個新的類型標識符。201.在c語言中只能給指針變量賦值和0(NULL)值。202.c語言中的文件類型只有文件和二進制文件兩種。203.已知intx=11;,則表達式x++*1/3的值是。204.已知a=10,b=20,則表達式!a<b的值是。205.已有說明語句如下:inta[]={1,2,3,4,5},*p1,*p2;且已知p1指向元素a[1],則通過利用p1給p2賦值,使p2指向a[4]的語句是。206.有宏定義命令#defineA(x,y)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論