C语言终极题库.docx

上传人:b****7 文档编号:8691963 上传时间:2023-02-01 格式:DOCX 页数:55 大小:43.51KB
下载 相关 举报
C语言终极题库.docx_第1页
第1页 / 共55页
C语言终极题库.docx_第2页
第2页 / 共55页
C语言终极题库.docx_第3页
第3页 / 共55页
C语言终极题库.docx_第4页
第4页 / 共55页
C语言终极题库.docx_第5页
第5页 / 共55页
点击查看更多>>
下载资源
资源描述

C语言终极题库.docx

《C语言终极题库.docx》由会员分享,可在线阅读,更多相关《C语言终极题库.docx(55页珍藏版)》请在冰豆网上搜索。

C语言终极题库.docx

C语言终极题库

1.有以下程序

intf1(intx,inty)

{returnx>y?

x:

y;}

intf2(intx,inty)

{returnx>y?

y:

x;}

main()

{inta=4,b=3,c=5,d,e,f;

d=f1(a,b);d=f1(d,c);

e=f2(a,b);e=f2(e,c);

f=a+b+c-d-e;

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

}

执行后输出的结果是______。

A:

3,4,5

B:

5,3,4

C:

5,4,3

D:

3,5,4

答案:

C

348、有以下程序

intf1(intx,inty){returnx>y?

x:

y;}

intf2(intx,inty){returnx>y?

y:

x;}

main()

{

inta=4,b=3,c=5,d=2,e,f,g;

e=f2(f1(a,b),f1(c,d));

f=f1(f2(a,b),f2(c,d));

g=a+b+c+d-e-f;

printf("%d,%d,%d\n",e,f,g);

}

程序运行后的输出结果是______。

A:

4,3,7

B:

3,4,7

C:

5,2,7

D:

2,5,7

答案:

A

2.设有定义:

floata=2,b=4,h=3;,以下C语言表达式中与代数式1/2(a+b)h计算结果不相符的是______。

A:

(a+b)*h/2

B:

(1/2)*(a+b)*h

C:

(a+b)*h*1/2

D:

h/2*(a+b)

答案:

B

3.设有定义:

floata=2,b=4,h=3;,以下C语言表达式中与代数式1/2(a+b)h计算结果不相符的是______。

A:

(a+b)*h/2

B:

(1/2)*(a+b)*h

C:

(a+b)*h*1/2

D:

h/2*(a+b)

答案:

B

261、已有定义:

charc;,程序前面已在命令中包含ctype.h文件。

不能用于判断c中的字符是否为大写字母的表达式是______。

A:

isupper(c)

B:

'A'<=c<='Z'

C:

'A'<=c&&c<='Z'

D:

c<=('z'-32)&&('a'-32)<=c

答案:

B

469、有以下程序

main()

{charp[]={'a','b','c'},q[]="abc";

printf("%d%d\n",sizeof(p),sizeof(q));

}

程序运行后的输出结果是______。

A:

44

B:

33

C:

34

D:

43

答案:

C

617、设有以下定义和语句

charstr[20]="Program",*p;

p=str;

则以下叙述中正确的是______。

A:

*P与str[0]中的值相等

B:

str与p的类型完全相同

C:

str数组长度和p所指向的字符串长度相等

D:

数组str中存放的内容和指针变量p中存放的内容相同

答案:

A

513、以下能正确定义数组并正确赋初值的语句是______。

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},{3,4}};

答案:

D

533、以下不能正确定义二维数组的选项是______。

A:

inta[2][2]={{1},{2}};

B:

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

C:

inta[2][2]={{1},2,3}

D:

inta[2][]={{1,2},{3,4}}

答案:

D

567、有以下程序:

voidsort(inta[],intn)

{inti,j,t;

for(i=0;i

for(j=i+2;j

if(a[i]

}

main()

{intaa[10]={1,2,3,4,5,6,7,8,9,10},i;

sort(aa,10);

for(i=0;i<10;i++)printf("%d,",aa[i]);

printf("\n");

}

其输出结果是______。

A:

1,2,3,4,5,6,7,8,9,10,

B:

10,9,8,7,6,5,4,3,2,1,

C:

9,2,7,4,5,6,3,8,1,10,

D:

1,10,3,8,5,6,7,4,9,2,

答案:

C

137、以下程序中函数sort的功能是对a所指数组中的数据进行由大到小的排序。

voidsort(inta[],intn)

{inti,j,t;

for(i=0;i

for(j=i+1;j

if(a[i]

}

main()

{intaa[10]={1,2,3,4,5,6,7,8,9,10},i;

sort(&aa[3],5);

for(i=0;i<10;i++)printf("%d,",aa[i]);

printf("\n");

}

程序运行后的输出结果是______。

A:

1,2,3,4,5,6,7,8,9,10,

B:

10,9,8,7,6,5,4,3,2,1,

C:

1,2,3,8,7,6,5,4,9,10,

D:

1,2,10,9,8,7,6,5,4,3,

答案:

C

119、以下程序的输出结果是______。

#inclue

#inclue

main()

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

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

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

}

A:

8

B:

3

C:

1

D:

7

答案:

D

180、以下选项中不能正确把cl定义成结构体变量的是______。

1、typedefstruct

{intred;

intgreen;

intblue;

}COLOR;

COLORcl;

2、structcolorcl

{intred;

intgreen;

intblue;

};

3、structcolor

{intred;

intgreen;

intblue;

}cl;

4、struct

{intred;

intgreen;

intblue;

}cl;

A:

1

B:

2

C:

3

D:

4

答案:

B

694、以下结构体类型说明和变量定义中正确的是______。

A:

typedefstruct

{intn;charc;}REC;

RECt1,t2;

B:

structREC;

{intn;charc;};

RECt1,t2;

C:

typedefstructREC;

{intn=0;charc='A';}t1,t2;

D:

struct

{intn;charc;}REC;

RECt1,t2;

答案:

A

6、能正确表示a和b同时为正或同时为负的逻辑表达式是______。

A:

(a>=0||b>=0)&&(a<0||b<0)

B:

(a>=0&&b>=0)&&(a<0&&b<0)

C:

(a+b>0)&&(a+b<=0)

D:

a*b>0

答案:

D

62、有如下程序

main()

{

intn[5]={0,0,0},i,k=2;

for(i=0;i

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

}

该程序的输出结果是______。

A:

不确定的值

B:

2

C:

1

D:

0

答案:

D

98、以下程序的输出结果是______。

structHAR

{intx,y;structHAR*p;}h[2];

main()

{h[0].x=1;h[0].y=2;

h[1].x=3;h[1].y=4;

h[0].p=&h[1];h[1].p=h;

printf("%d%d\n",(h[0].p)->x,(h[1].p)->y);

}

A:

12

B:

23

C:

14

D:

32

答案:

D

448、以下程序段的输出结果是______。

inta=1234;

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

A:

12

B:

34

C:

1234

D:

提示出错、无结果

答案:

C

260、设有条件表达式:

(EXP)?

i++:

j--,则以下表达式中与(EXP)完全等价的是______。

A:

(EXP==0)

B:

(EXP!

=0)

C:

(EXP==1)

D:

(EXP!

=1)

答案:

B

557、设有定义:

intn=0,*p=&n,**q=&p;则以下选项中,正确的赋值语句是______。

A:

p=1;

B:

*q=2;

C:

q=p;

D:

*p=5;

答案:

D

51、有如下程序

main()

{intx=1,a=0,b=0;

switch(x){

case0:

b++;

case1:

a++;

case2:

a++;b++;

}

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

}

该程序的输出结果是______。

A:

a=2,b=1

B:

a=1,b=1

C:

a=1,b=0

D:

a=2,b=2

答案:

A

 

663、设变量x和y均已正确定义并赋值。

以下if语句中,在编译时将产生错误信息的是______。

A:

if(x++);

B:

if(x>y&&y!

=0);

C:

if(x>0)x--

elsey++;

D:

if(y<0){;}

elsex++;

答案:

C

190、设有定义:

floata=2,b=4,h=3;,以下C语言表达式中与代数式1/2(a+b)h计算结果不相符的是______。

A:

(a+b)*h/2

B:

(1/2)*(a+b)*h

C:

(a+b)*h*1/2

D:

h/2*(a+b)

答案:

B

201、有以下程序

structSTU{

charname[10];

intnum;

};

voidf1(structSTUc)

{structSTUb={"LiSiGuo",2042};

c=b;

}

voidf2(structSTU*c)

{structSTUb={"SunDan",2044};

*c=b;

}

main()

{structSTUa={"YangSan",2041},b={"WangYin",2043};

f1(a);f2(&b);

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

}

执行后输出结果是______。

A:

20412044

B:

20412043

C:

20422044

D:

20422043

答案:

A

509、有以下程序

#include

structSTU

{charname[10];

intnum;

};

voidf(char*name,intnum)

{structSTUs[2]={{"SunDan",20044},{"Penghua",20045}};

num=s[0].num;

strcpy(name,s[0].name);

}

main()

{structSTUs[2]={{"YangSan",20041},{"LiSiGao",20042}},*p;

p=&s[1];f(p->name,p->num);

printf("%s%d\n",p->name,p->num);

}

程序运行后的输出结果是______。

A:

SunDan20042

B:

SunDan20044

C:

LiSiGuo20042

D:

YangSan20041

答案:

A

294、不能把字符串:

Hello!

赋给数组b的语句是______。

A:

charb[10]={'H','e','l','l','0','!

'};

B:

charb[10]={'h','e','l','l','0','!

'};

C:

charb[10];strcpy(b,"Hello!

");

D:

charb[10]="Hello!

";

答案:

B

730、假定已建立以下链表结构,且指针p和q已指向如图所示的结点:

则以下选项中可将q所指结点从链表中删除并释放该结点的语句组是______。

A:

(*p).next=(*q).next;free(p);

B:

p=q->next;free(q);

C:

p=q;free(q);

D:

p->next=q->next;free(q);

答案:

D

326、若fp是指向某文件的指针,且已读到此文件的末尾,则函数feof(fp)的返回值是______。

A:

EOF

B:

0

C:

非零值

D:

NULL

答案:

C

394、以下语句或语句组中,能正确进行字符串赋值的是______。

A:

char*sp;*sp="right!

";

B:

chars[10];s="right!

";

C:

chars[10];*s="right!

";

D:

char*sp="right!

";

答案:

D

44、以下程序的输出结果是______。

main()

{char*s="12134211";intv[4]={0,0,0,0},k,i;

for(k=0;s[k];k++)

{switch(s[k])

{case'1':

i=0;

case'2':

i=1;

case'3':

i=2;

case'4':

i=3;

}

v[i]++;

}

for(k=0;k<4;k++)printf("%d",v[k]);

}

A:

4211

B:

0008

C:

4678

D:

8888

答案:

B

14、若x和y都是int型变量,x=100、y=200,且有下面的程序片段

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

上面程序片段的输出结果是______。

A:

200

B:

100

C:

100200

D:

输入格式符不够,输出不确定的值

答案:

A

71、若变量已正确说明为float类型,要通过语句scanf("%f%f%f",&a,&b,&c);给a赋予10.0,b赋予22.0,c赋予33.0,不正确的输入形式是:

______。

A:

102233

B:

10.0,22.0,33.0

C:

10.022.033.0

D:

102233

答案:

B

167、有以下程序

main()

{inta[][3]={{1,2,3},{4,5,0}},(*pa)[3],i;

pa=a;

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

if(i<2)pa[1][i]=pa[1][i]-1;

elsepa[1][i]=1;

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

执行后输出结果是______。

A:

7

B:

6

C:

8

D:

无确定值

答案:

A

215、已有定义:

inti,a[10],*p;,则合法的赋值语句是______。

A:

p=100;

B:

p=a[5];

C:

p=a[2]+2;

D:

p=a+2;

答案:

D

124、以下选项中合法的用户标识符是______。

A:

long

B:

_2Test

C:

3Dmax

D:

A.dat

答案:

B

328、以下对结构体类型变量的定义中,不正确的是______。

①typedefstructaa

{

intn;

floatm;

}AA;

AAtd1;

②#defineAAstructaa

AA{

intn;

floatm;

}td1;

③struct

{

intn;

floatm;

}aa;

structaatd1;

④struct

{

intn;

floatm;

}td1;

A:

B:

C:

D:

答案:

C

413、以下程序的输出结果是______。

main()

{intnum=0;

while(num<=2)

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

}

A)B)C)D)

1111

222

33

4

A:

A)

B:

B)

C:

C)

D:

D)

答案:

B

231、请读程序:

#include

main()

{

intnum=0;

while(num<=2){

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

}

}

上面程序的输出结果是______。

①1②1③1④1

222

33

4

A:

B:

C:

D:

答案:

C

562、有以下程序

inta=2;

intf(int*a)

{return(*a)++;}

main()

{ints=0;

{inta=5;

s+=f(&a);

}

s+=f(&a);

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

}

执行后输出结果是______。

A:

10

B:

9

C:

7

D:

8

答案:

C

349、已有定义:

chara[]="xyz",b[]={'x','y','z'};,以下叙述中正确的是______。

A:

数组a和b的长度相同

B:

a数组长度小于b数组长度

C:

a数组长度大于b数组长度

D:

上述说法都不对

答案:

C

387、当执行下面的程序时,如果输入ABC,则输出结果是______。

#include"stdio.h"

#include"string.h"

main()

{charss[10]="12345";

gets(ss);strcat(ss,"6789");

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

}

A:

ABC6789

B:

ABC67

C:

12345ABC6

D:

ABC456789

答案:

A

471、有以下程序

main()

{chara1='M',a2='m';

printf("%c\n",(a1,a2));

}

以下叙述中正确的是______。

A:

程序输出大写字母M

B:

程序输出小写字母m

C:

格式说明符不足,编译出错

D:

程序运行时产生出错信息

答案:

B

472、有以下程序

#include

main()

{charc1='1',c2='2';

c1=getchar();c2=getchar();putchar(c1);putchar(c2);

}

当运行时输入:

a<回车>后,以下叙述正确的是______。

A:

变量c1被赋予字符a,c2被赋予回车符

B:

程序将等待用户输入第2个字符

C:

变量c1被赋予字符a,c2中仍是原有字符2

D:

变量c1被赋予字符a,c2中将无确定值

答案:

A

284、以下程序的输出结果是______。

#include

#include

main(){

charstr[12]={'s','t','r','i','n','g'};

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

}

A:

6

B:

7

C:

11

D:

12

答案:

A

338、对于基类型相同的两个指针变量之间,不能进行的运算是______。

A:

<

B:

=

C:

+

D:

-

答案:

C

583、若有以下说明和语句

intc[4][5],(*p)[5];

p=c;

能够正确引用c数组元素的是______。

A:

p+1

B:

*(p+3)

C:

*(p+1)+3

D:

*(p[0]+2)

答案:

D

63、有如下程序

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);

}

该程序的输出结果是______。

A:

18

B:

19

C:

20

D:

21

答案:

A

181、已定义以下函数

fun(int*p)

{return*p;}

该函数的返回值是______。

A:

不确定的值

B:

形参p中存放的值

C:

形参p所指存储单元中的值

D:

形参p的地址值

答案:

C

197、有以下程序

main()

{inti,n=0;

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

{do

{if(i%3)continue;

n++;

}while(!

i);

n++;

}

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

}

程序执行后输出结果是______。

A:

n=5

B:

n=2

C:

n=3

D:

n=4

答案:

D

681、以下定义语句中正确的是______。

A:

inta=b=0;

B:

charA=65+1,b='b';

C:

floata=1,*b=&a,*c=&b;

D:

doublea=0.0;b=1.1;

答案:

B

131、有一函数

┌1x>0

y=┤0x=0

└-1x<0

以下程序段中不能根据x的值正确计算出y的值的是______。

A:

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

B:

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

C:

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

D:

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

答案:

C

719、有以下程序

#include

main()

{inti,j;

for(i=3;i>=1;i--)

{for(j=1;j<=2;j++)printf("%d",i+j);

printf("\n");

}

}

程序的运行结果是___

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 管理学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1