C语言复习题一.docx

上传人:b****3 文档编号:4344198 上传时间:2023-05-07 格式:DOCX 页数:23 大小:21.77KB
下载 相关 举报
C语言复习题一.docx_第1页
第1页 / 共23页
C语言复习题一.docx_第2页
第2页 / 共23页
C语言复习题一.docx_第3页
第3页 / 共23页
C语言复习题一.docx_第4页
第4页 / 共23页
C语言复习题一.docx_第5页
第5页 / 共23页
C语言复习题一.docx_第6页
第6页 / 共23页
C语言复习题一.docx_第7页
第7页 / 共23页
C语言复习题一.docx_第8页
第8页 / 共23页
C语言复习题一.docx_第9页
第9页 / 共23页
C语言复习题一.docx_第10页
第10页 / 共23页
C语言复习题一.docx_第11页
第11页 / 共23页
C语言复习题一.docx_第12页
第12页 / 共23页
C语言复习题一.docx_第13页
第13页 / 共23页
C语言复习题一.docx_第14页
第14页 / 共23页
C语言复习题一.docx_第15页
第15页 / 共23页
C语言复习题一.docx_第16页
第16页 / 共23页
C语言复习题一.docx_第17页
第17页 / 共23页
C语言复习题一.docx_第18页
第18页 / 共23页
C语言复习题一.docx_第19页
第19页 / 共23页
C语言复习题一.docx_第20页
第20页 / 共23页
亲,该文档总共23页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

C语言复习题一.docx

《C语言复习题一.docx》由会员分享,可在线阅读,更多相关《C语言复习题一.docx(23页珍藏版)》请在冰点文库上搜索。

C语言复习题一.docx

C语言复习题一

一、选择题

1.下列选项中可作为C语言合法常量的是(d)。

A)-80B)-080

C)-8e1.0D)-80.0e

2.下列不能定义的用户标识符是(d)。

A)MainB)_0

C)_intD)sizeof

3.下列选项中,不能作为合法常量的是(b)。

A)1.234e04B)1.234e0.4

C)1.234e+4D)1.234e0

4.数字字符0的ASCII值为48,运行下列程序的输出结果是(c)。

main()

{chara='1',b='2';

printf("%c,",b++);

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

}

A)3,2B)50,2

C)2,2D)2,50

5.下列程序的输出结果是(c)。

main()

{intm=12,n=34;

printf("%d%d",m++,++n);

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

}

A)12353514B)12353513

C)12343514D)12343513

6.有定义语句:

intb;charc[10];,则正确的输入语句是(b)。

A)scanf("%d%s",&b,&c);B)scanf("%d%s",&b,c);

C)scanf("%d%s",b,c);D)scanf("%d%s",b,&c);

7.下列程序的输出结果是(b)。

main()

{inta,b,d=25;

a=d/10%9;

b=a&&(-1);

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

}

A)6,1B)2,1

C)6,0D)2,0

8.下列程序的输出结果是(d)。

main()

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

if(i++==1&&(++j==3‖k++==3))printf("%d%d%d\n",i,j,k);

}

A)123B)234

C)223D)233

9.若整型变量a、b、c、d中的值依次为:

1、4、3、2。

则条件表达式a

a∶c

c∶

d的值是(a)。

A)1B)2

C)3D)4

10.下列程序的输出结果是(b)。

main()

{intp[8]={11,12,13,14,15,16,17,18},i=0,j=0;

while(i++<7)

if(p[i]%2)j+=p[i];

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

}

A)42B)45

C)56D)60

11.下列程序的输出结果是(c)。

main()

{chara[7]="a0\0a0\0";inti,j;

i=sizeof(a);

j=strlen(a);

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

}

A)22B)76

C)72D)62

12.下列能正确定义一维数组的选项是(b)。

A)inta[5]={0,1,2,3,4,5};B)chara[]={0,1,2,3,4,5};

C)chara={'A','B','C'};D)inta[5]="0123";

13.下列程序的输出结果是(c)。

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,7B)3,4,7

C)5,2,7D)2,5,7

14.已有定义:

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

A)数组a和b的长度相同B)a数组长度小于b数组长度

C)a数组长度大于b数组长度D)上述说法都不对

15.(下列程序的输出结果是(d)。

voidf(int*x,int*y)

{intt;

t=*x,*x=*y;*y=t;

}

main()

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

p=a;q=&a[7];

while(p

{f(p,q);p++;q--;}

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

}

A)8,2,3,4,5,6,7,1B)5,6,7,8,1,2,3,4

C)1,2,3,4,5,6,7,8D)8,7,6,5,4,3,2,1

16.下列程序的输出结果是(d)。

main()

{inta[3][3],*p,i;p=&a[0][0];

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

for(i=0;i<3;i++)printf("%d",a[1][i]);

}

A)012B)123

C)234D)345

17.下列程序的输出结果是(b)。

#defineN20

fun(inta[],intn,intm)

{inti,j;

for(i=m;i>n;i--)a[i+1]=a[i];

}

main()

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

fun(a,2,9);

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

}

A)10234B)12344

C)12334D)12234

18.下列程序的输出结果是(c)。

main()

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

for(p=a;p

printf("%d,",*p);

}

A)1,2,3,4,5,6,7,8,9,0,B)2,3,4,5,6,7,8,9,10,1,

C)0,1,2,3,4,5,6,7,8,9,D)1,1,1,1,1,1,1,1,1,1,

19.下列语句或语句组中,能正确进行字符串赋值的是(d)。

A)char*sp;*sp="right!

";B)chars[10];s="right!

";

C)chars[10];*s="right";D)char*sp="right!

";

20.下列叙述中错误的是(a)。

A)用户所定义的标识符允许使用关键字

B)用户所定义的标识符应尽量做到“见名知意”

C)用户所定义的标识符必须以字母或下划线开头

D)用户定义的标识符中、大、小写字母代表不同标识

21.下列能正确定义且赋初值的语句是(d)。

A)intnl=n2=10;B)charc=32;

C)floatf=f+1.1;D)doublex=12.3E2.5;

22.下列程序的功能是:

给r输入数据后计算半径为r的圆面积s。

程序在编译时出错。

main()

/*Beginning*/

{intr;floats;

scanf("%d",&r);

s=*π*r*r;

printf("s=%f\n",s);

}

出错的原因是(d)。

A)注释语句书写位置错误

B)存放圆半径的变量r不应该定义为整型

C)输出语句中格式描述符非法

D)计算圆面积的赋值语句中使用了非法变量

23.设有定义:

intk=1,m=2;floatf=7;则下列选项中错误的表达式是(c)。

A)k=k>=kB)-k++

C)k%int(f)D)k>=f>=m

24.设有定义:

inta=2,b=3,c=4;,则下列选项中值为0的表达式是(d)。

A)(!

a==1)&&(!

b==0)B)(a<b)&&!

c‖1

C)a&&bD)a‖(b+b)&&(c-a)

 

25.有下列程序段:

intk=0,a=1,b=2,c=3;

k=a<b?

b:

a;k=k>c?

c:

k;

执行该程序段后,k的值是(b)。

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

26.设变量已正确定义,则以下能正确计算f=n!

的程序段是(c)。

A)f=0;B)f=1;

for(i=1;i<=n;i++)f*=i;for(i=1;i<n;i++)f*=i;

C)f=1;D)f=1;

for(i=n;i>1;i++)f*=i;for(i=n;i>=2;i--)f*=i;

27.设有定义:

intn1=0,n2,*p=&n2,*q=&n1;,以下赋值语句中与n2=n1;语句等价的是

(b)。

A)*p=*q;B)p=q;C)*p=&n1;D)p=*q;

(29)若有定义:

intx=0,*p=&x;,则语句printf("%d\n",*p);的输出结果是(b)。

A)随机值B)0C)x的地址D)p的地址

28.设fun()函数的定义形式为(b)。

voidfun(charch,floatx){…}

则下列对函数fun的调用语句中,正确的是

A)fun("abc",3.0);B)t=fun('D',16.5);

C)fun('65',2.8);D)fun(32,32);

29.有下列程序:

main()

{inta[10]={1,2,3,4,5,6,7,8,9,10},*p=&a[3],*q=p+2;

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

}

程序运行后的输出结果是(b)。

A)16B)10C)8D)6

30.有下列程序:

main()

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

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

};

程序运行后的输出结果是(c)。

A)44B)33C)34D)43

31.有下列程序:

main()

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

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

}

下列叙述中正确的是(d)。

A)程序输出大写字母MB)程序输出小写字母m

C)格式说明符不足,编译出错D)程序运行时产生出错信息

32.有下列程序:

#include

main()

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

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

}

当运行时输入:

a后,下列叙述正确的是(d)。

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

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

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

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

33.有下列程序:

main()

{intk=5,n=0;

while(k>0)

{switch(k)

{default:

break;

case1:

n+=k;

case2:

case3:

n+=k;

}

k--;

}

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

}

程序运行后的输出结果是(a)。

A)0B)4C)6D)7

34.有下列程序:

main()

{inta[]={2,4,6,8,10},y=0,x,*p;

p=&a[1];

for(x=1;x<3;x++)y+=p[x];

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

}

程序运行后的输出结果是(a)。

A)10B)11C)14D)15

35.有下列程序:

voidsum(inta[])

{a[0]=a[-1]+a[1];

}

main()

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

sum(&a[2]);

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

}

程序运行后的输出结果是(a)。

A)6B)7C)5D)9

36.下列不合法的用户标识符是(c)。

A)j2_KEYB)Double

C)4dD)_8_

37.下列不合法的数值常量是(c)。

A)011B)1e1

C)8.0E0.5D)0xabcd

38.下列不合法的字符常量是(b)。

A)'\018'B)'\"'

C)'\\'D)'\xcc'

39.表达式3.6-5/2+1.2+5%2的值是(d)。

A)4.3B)4.8

C)3.3D)3.8

40.下列能正确定义字符串的语句是(b)。

A)charstr[]={'\064'};B)charstr="kx43";

C)charstr=";D)charstr[]="\0";

41.下列数组定义中错误的是(b)。

A)intx[][3]={0};

B)intx[2][3]={{l,2},{3,4},{5,6}};

C)intx[][3]={{l,2,3},{4,5,6}};

D)intx[2][3]={l,2,3,4,5,6};

42.下列4个程序中,完全正确的是(a)。

A)#includeB)#include

main();main()

{/*programming*/{/*/programming/*/

printf("programming!

\n");}printf("programming!

\n");}

C)#includeD)include

main()main()

{/*/programming*/*/{/*programming*/

printf("programming!

\n");}printf("programming!

\n");}

43.若有定义:

floatx=1.5;inta=1,b=3,c=2;则正确的switch语句是(b)。

A)switch(x)B)switch((int)x);

{case1.0:

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

printf("*\n");

case2.0:

printf("**\n");case2:

printf("**\n");

}}

C)switch(a+b)D)switch(a+b)

{case1:

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

printf("*\n");

case2+1:

printf("**\n");casec:

printf("**\n");

}}

44.若各选项中所用变量已正确定义,fun()函数中通过return语句返回一个函数值,下列

选项中错误的程序是(a)。

A)main()B)floatfun(inta,intb){……}

{……x=fun(2,10);……}main()

floatfun(inta,intb){……}{……x=fun(i,j);……}

C)floatfun(int,int);D)main()

main(){floatfun(intI,intj);

{……x=fun(2,10);……}……x=fun(i,j);……}

floatfun(inta,intb){……}floatfun(inta,intb){……}

45.在下列给出的表达式中,与while(E)中的(E)不等价的表达式是(d)。

A)(!

E==0)B)(E>0‖E<0)

C)(E==0)D)(E!

=0)

46.要求通过while循环不断读入字符,当读入字母N时结束循环。

若变量已正确定义,

下列正确的程序段是(a)。

A)while((ch=getchar())!

='N')printf("%c",ch);

B)while(ch=getchar()!

='N')printf("%c",ch);

C)while(ch=getchar()=='N')printf("%c",ch);

D)while((ch=getchar())=='N')printf("%c",ch);

47.已定义下列函数:

intfun(int*p)

{return*p;}

fun函数返回值是(b)。

A)不确定的值B)一个整数

C)形参p中存放的值D)形参p的地址值

48.若有说明语句:

double*p,a;则能通过scanf语句正确给输入项读入数据的程序段是

(b)。

A)*p=&a;scanf("%1f",p);B)*p=&a;scanf("%f",p);

C)p=&a;scanf("%1f",*p);D)p=&a;scanf("%1f",p);

49.有下列程序段

structst

{intx;int*y;}*pt;

inta[]={l,2},b[]={3,4};

structstc[2]={10,a,20,b};

pt=c;

下列选项中表达式的值为11的是(d)。

A)*pt−>yB)pt−>x

C)++pt−>xD)(pt++)->x

50.有下列程序:

main()

{inty=10;

while(y--);

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

}

程序执行后的输出结果是(d)。

A)y=0B)y=-1

C)y=1D)while构成无限循环

51.有下列程序:

main()

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

if(a=1)b=1;c=2;

elsed=3;

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

}

程序输出(b)。

A)0,1,2,0B)0,0,0,3

C)1,1,2,0D)编译有错

52.(32)有下列程序:

main()

{inti,j,x=0;

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

{x++;

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

{if(j%2)continue;

x++;

}

x++;

}

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

}

程序执行后的输出结果是(c)。

A)x=4B)x=8

C)x=6D)x=12

53.有下列程序:

main()

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

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

}

程序执行后的输出结果是(b)。

A)753B)357

C)369D)751

54.有下列程序:

fun(charp[][10])

{intn=0,i;

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

if(p[i][0]=='T')n++;

returnn;

}

main()

{charstr[][10]={"Mon","Tue","Wed","Thu","Fri","Sat","Sun"};

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

}

程序执行后的输出结果是(b)。

A)1B)2

C)3D)0

55.有下列程序:

main()

{inti,s=0,t[]={l,2,3,4,5,6,7,8,9};

for(i=0;i<9;i+=2)s+=*(t+i);

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

}

程序执行后的输出结果是(c)。

A)45B)20

C)25D)36

56.有下列程序:

voidswap(char*x,char*y)

{chart;

t=*x;*x=*y;*y=t;

}

main()

{char*s1="abc",*s2="123";

swap(s1,s2);printf("%s,%s\n",s1,s2);

}

程序执行后的输出结果是(c)。

A)123,abcB)abc,123

C)1bc,a23D)321,cba

57.有下列程序:

intfun(intn)

{if(n==1)return1;

else

return(n+fun(n-1));

}

main()

{intx;

scanf("%d",&x);x=fun(x);printf("%d\n",x);

}

执行程序时,给变量x输入10,程序的输出结果是(a)。

A)55B)54

C)65D)45

58.有下列程序:

intfun(intx[],intn)

{staticintsum=0,i;

for(i=0;i

returnsum;

}

main()

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

s=fun(a,5)+fun(b,4);printf("%d\n",s);

}

程序执行后的输出结果是(b)。

A)45B)50

C)60D)55

59.设有下列定义和语句

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

p=str;

则下列叙述中正确的是(a)。

A)*p与str[0]的值相等

B)str与p的类型完全相同

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

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

60.在一个单链表中,若p所指结点不是最后结点,在p之后插入s所指结点,则执行(a)

A)s->next=p;p->next=s;B)s->next=p->next;p->next=s;

C)s->next=p->next;p=s;D)p->next=s;s->next=p;

 

二、填充题

1.下列程序运行后的输出结果是【】。

main()

{inta,b,c;

a=10;b=20;c=(a%b<1)‖(a/b>1);

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

}

2.下列程序运行后的输出结果是【】。

main()

{charc1,c2;

for(c1='0',c2='9';c1

printf("\n");

}

 

3.已知字符A的ASCII代码值为65,下列程序运行时若从键盘输入:

B33

则输

出结果是【】。

#include

main()

{chara,b;

a=getchar();scanf(

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

当前位置:首页 > 法律文书 > 调解书

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2