东北大学秦皇岛c语言考试题17.docx

上传人:b****7 文档编号:9730851 上传时间:2023-02-06 格式:DOCX 页数:30 大小:22.83KB
下载 相关 举报
东北大学秦皇岛c语言考试题17.docx_第1页
第1页 / 共30页
东北大学秦皇岛c语言考试题17.docx_第2页
第2页 / 共30页
东北大学秦皇岛c语言考试题17.docx_第3页
第3页 / 共30页
东北大学秦皇岛c语言考试题17.docx_第4页
第4页 / 共30页
东北大学秦皇岛c语言考试题17.docx_第5页
第5页 / 共30页
点击查看更多>>
下载资源
资源描述

东北大学秦皇岛c语言考试题17.docx

《东北大学秦皇岛c语言考试题17.docx》由会员分享,可在线阅读,更多相关《东北大学秦皇岛c语言考试题17.docx(30页珍藏版)》请在冰豆网上搜索。

东北大学秦皇岛c语言考试题17.docx

东北大学秦皇岛c语言考试题17

一、选择题答案

1.以下所列的各函数首部中,正确的是

A)voidplay(var:

Integer,varb:

Integer)

B)voidplay(inta,b)

C)voidplay(inta,intb)

D)Subplay(aasinteger,basinteger)

你所选择的答案是:

*,正确答案是:

2.以下程序的输出结果是

#defineSQR(X)X*X

main()

{inta=16,k=2,m=1;

a/=SQR(k+m)/SQR(k+m);

printf("d\n",a);

}

A)16

B)2

C)9

D)1

你所选择的答案是:

*,正确答案是:

3.在C语言中,合法的长整型常数是

A)OLB)4962710C)324562&D)216D

你所选择的答案是:

*,正确答案是:

4.假定x和y为double型,则表达式x=2,y=x+3/2的值是

A)3.500000

B)3

C)2.000000

D)3.000000

你所选择的答案是:

*,正确答案是:

5.若有说明:

inti,j=2,*p=&i;,则能完成i=j赋值功能的语句是

A)i=*p;

B)p*=*&j;

C)i=&j;

D)i=**p;

你所选择的答案是:

*,正确答案是:

6.以下定义语句中,错误的是

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

B)char*a[3];

C)chars[10]="test";

D)intn=5,a[n];

你所选择的答案是:

*,正确答案是:

7.以下程序的输出结果是

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

B)741

C)852

D)369

你所选择的答案是:

*,正确答案是:

8.以下程序的输出结果是

main()

{charst[20]="hello\0\t\\\";

printf(%d%d\n",strlen(st),sizeof(st));

}

A)99

B)520

C)1320

D)2020

你所选择的答案是:

*,正确答案是:

9.以下程序的输出结果是

#include"stdio.h"

main()

{

inta,b;

for(a=1,b=1;a<=100;a++)

{

if(b>=10)break;

if(b%3==1)

{b+=3;continue;}

}

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

}

A)101

B)6

C)5

D)4

你所选择的答案是:

*,正确答案是:

10.以下程序的输出结果是

unionmyun

{struct

{intx,y,z;}u;

intk;

}a;

main()

{a.u.x=4;a.u.y=5;a.u.z=6;

a.k=0;

printf(%d\n",a.u.x);

}

A)4

B)5

C)6

D)0

你所选择的答案是:

*,正确答案是:

11.在16位C编译系统上,若定义longa;,则能给a赋40000的正确语句是

A)a=20000+20000;

B)a=4000*10;

C)a=30000+10000;

D)a=4000L*10L;

你所选择的答案是:

*,正确答案是:

12.以下程序段的输出结果是

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

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

A)9

B)12

C)13

D)14

你所选择的答案是:

*,正确答案是:

13.以下程序的输出结果是

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

B)4

C)1

D)9

你所选择的答案是:

*,正确答案是:

14.以下叙述中正确的是

A)构成C程序的基本单位是函数

B)可以在一个函数中定义另一个函数

C)main()函数必须放在其它函数之前

D)所有被调用的函数一定要在调用之前进行定义

你所选择的答案是:

*,正确答案是:

15.若有以下程序:

#include"stdio.h"

main()

{

intk=2,i=2,m;

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

}

执行后的输出结果是

A)8,6

B)8,3

C)6,4

D)7,4

你所选择的答案是:

*,正确答案是:

16.有以下程序段

intn=0,p;

do{scanf("%d",&p);n++;}while(p!

=12345&&n<3);

此处do-while循环的结束条件是

A)P的值不等于12345并且n的值小于3

B)P的值等于12345并且n的值大于等于3

C)P的值不等于12345或者n的值小于3

D)P的值等于12345或者n的值大于等于3

你所选择的答案是:

*,正确答案是:

17.有以下程序

#include

main()

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

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

}

程序运行后的输出结果是

A)12

B)15

C)6

D)5

你所选择的答案是:

*,正确答案是:

18.有以下程序

inta=3;

main()

{ints=0;

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

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

}

程序运行后的输出结果是

A)8

B)10

C)7

D)11

你所选择的答案是:

*,正确答案是:

19.以下叙述中正确的是( )。

 A)C语言比其他语言高级

 B)C语言可以不用编译就能被计算机识别执行

 C)C语言以接近英语国家的自然语言和数学语言作为语言的表达形式

 D)C语言出现的最晚,具有其他语言的一切优点

你所选择的答案是:

*,正确答案是:

20.有以下程序段

  intm=0,n=0;charc='a';

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

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

  若从键盘上输入:

10A10<回车>,则输出结果是:

( )。

 A)10,A,10

 B)10,a,10

 C)10,a,0

 D)10,A,0

你所选择的答案是:

*,正确答案是:

21.有以下程序

main()

{inti=0,s=0;

 do{

 if(i%2){i++;continue;}

i++;

 s+=i;

 }while(i<7);

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

}

执行后输出结果是( )。

A)16

B)12

C)28

D)21

你所选择的答案是:

*,正确答案是:

22.有如下程序

  voidf(intx,inty)

  {intt;

  if(x  }

  main()

  {inta=4,b=3,c=5;

  f(a,b);f(a,c);f(b,c);

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

  }

执行后输出结果是( )。

 A)3,4,5

 B)5,3,4

 C)5,4,3

 D)4,3,5

你所选择的答案是:

*,正确答案是:

23.有以下程序

  main()

  {chars[]="\n123\\";

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

  }

  执行后输出结果是( )。

A)赋初值的字符串有错

 B)6,7

 C)5,6

 D)6,6

你所选择的答案是:

*,正确答案是:

24.以下程序企图把从终端输入的字符输出到名为abc.txt的文件中,直到从终端读入字符#号时结束输入和输出操作,但程序有错。

  #include

  main()

  {FILE*fout;charch;

  fout=fopen('abc.txt','w');

  ch=fgetc(stdin);

  while(ch!

='#')

  {fputc(ch,fout);

  ch=fgetc(stdin);

  }

  fclose(fout);

  }

出错的原因是( )。

A)函数fopen调用形式错误

B)输入文件没有关闭

C)函数fgetc调用形式错误

D)文件指针stdin没有定义

你所选择的答案是:

*,正确答案是:

25.设变量x为float型且已赋值,则以下语句中能将x中的数值保留到小数点后两位,并将第三位四舍五入的是( )。

 A)x=x*100+0.5/100.0;

 B)x=(x*100+0.5)/100.0;

 C)x=(int)(x*100+0.5)/100.0;

 D)x=(x/100+0.5)*100.0;

你所选择的答案是:

*,正确答案是:

26.已定义ch为字符型变量,以下赋值语句中错误的是( )。

 A)ch='\';

 B)ch=62+3;

 C)ch=NULL;

 D)ch='\xaa';

你所选择的答案是:

*,正确答案是:

27.若程序中已包含头文件stdio.h,以下选项中,正确运用指针变量的程序段是( )。

A)int*i=NULL;

B)float*f=NULL;

  scanf("%d",i);*f=10.5;

C)chart='m',*c=&t;

D)long*L;

  *c=&t;L='\0';

  

你所选择的答案是:

*,正确答案是:

28.有以下程序

  #include

  main()

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

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

 A)0

 B)1

 C)-1

 D)NULL没定义,出错

你所选择的答案是:

*,正确答案是:

29.有以下程序

main()

{chark;intI;

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

 {scanf(“%c”,&k);

  switch(k)

   {case‘0’:

printf(“another\n”);

    case‘1’:

printf(“number\n”);

   }

 }

}

程序运行时,从键盘输入:

01<回车>,程序执行后的输出结果是( )。

A)another

 number

another

B)another

number

 number

C)another

 number

D)number

number

你所选择的答案是:

*,正确答案是:

30.有以下程序

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

你所选择的答案是:

*,正确答案是:

31.有以下程序

voidf(intv,intw)

{intt;

t=v;v=w;w=t;

}

main()

{intx=1,y=3,z=2;

if(x>y)f(x,y);

elseif(y>z)f(y,z);

elsef(x,z);

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

}

执行后输出结果是( )。

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

你所选择的答案是:

*,正确答案是:

32.有以下程序段

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

b=p[5];

b中的值是( )。

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

你所选择的答案是:

*,正确答案是:

33.有以下程序

  main()

  {intm=0256,n=256;

  printf("%o%o\n",mn,n);

  }

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

A)02560400

B)0256256

C)256400

D)400400

你所选择的答案是:

*,正确答案是:

34.有以下程序

  main()

  {charstr[][10]={"China","Beijing"},*p=str;

  printf("%s\n",p+10);

  }

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

A)China

B)Bejing

C)ng

D)ing  

你所选择的答案是:

*,正确答案是:

35.37.在函数调用过程中,如果函数funA调用了函数funB,函数funB又调用了函数funA,则( )。

A)称为函数的直接递归调用

B)称为函数的间接递归调用

C)称为函数的循环调用

D)C语言中不允许这样的递归调用

你所选择的答案是:

*,正确答案是:

36.有以下程序

  main()

  {unsignedinta;

  intb=-1;

  a=b;

  printf("%u",a);

  }

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

A)-1

B)65535

C)32767

D)-32768

你所选择的答案是:

*,正确答案是:

37.有以下程序

  main()

  {intx[]={1,3,5,7,2,4,6,0},i,j,k;

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

  for(j=2;j>=i;j--)

  if(x[j+1]>x[j]){k=x[j];x[j]=x[j+1];x[j+1]=k;}

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

  for(j=4;j<7-i;j++)

  if(x[j+1]>x[j]){k=x[j];x[j]=x[j+1];x[j+1]=k;}

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

  for(j=4;j<7-i;j++)

  if(x[j]>x[j+1]){k=x[j];x[j]=x[j+1];x[j+1]=k;}

  for(i=0;i<8;i++)printf("%d",x);

  printf("\n");

  }

程序运行后的输出结果是:

( )。

A)75310246

B)01234567

C)76310462

D)13570246

你所选择的答案是:

*,正确答案是:

38.有如下程序

  #include

  main()

  {FILE*fp1;

  fp1=fopen("f1.txt","w");

  fprintf(fp1,"abc");

  fclose(fp1);

  }

若文本文件f1.txt中原有内容为:

good,则运行以上程序后文件f1.txt中的内容为( )。

A)goodabc

B)abcd

C)abc

D)abcgood

你所选择的答案是:

*,正确答案是:

39.数字字符0的ASCII值为48,若有以下程序

main()

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

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

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

}

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

 A)3,2

 B)50,2

 C)2,2

 D)2,50

你所选择的答案是:

*,正确答案是:

40.有以下程序

main()

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

if(i++==1&&(++j==3||k++==3))

printf("%d%d%d",i,j,k);

}

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

 A)123

 B)234

 C)223

 D)233

你所选择的答案是:

*,正确答案是:

41.有以下程序

main()

{

intc=35;printf("%d",c&c);

}

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

 A)0

 B)70

 C)35

 D)1

你所选择的答案是:

*,正确答案是:

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

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

";

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

";

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

";

 D)char*sp="right!

";

你所选择的答案是:

*,正确答案是:

43.有以下程序

main()

{

intnum[4][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12},{13,14,15,16}},i,j;

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

{

for(j=1;j<=i;j++)printf("%c",'');

for(j=j<4;j++)printf("%4d",num[i][j]);

printf("");

}

}

若要按以下形式输出数组右上半三角

1234

678

1112

16

则在程序下划线处应填入的是( )。

 A)i-1

 B)i

 C)i+1

 D)4-i

你所选择的答案是:

*,正确答案是:

44.有以下程序段

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

  k=a

b:

k;

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

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

你所选择的答案是:

*,正确答案是:

45.有以下程序段

  intn,t=1,s=0;

  scanf("%d",&n);

  do{s=s+t;t=t-2;}while(t!

=n);

为使此程序段不陷入死循环,从键盘输入的数据应该是( )。

A)任意正奇数B)任意负偶数C)任意正偶数D)任意负奇数

你所选择的答案是:

*,正确答案是:

46.设有定义:

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

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

你所选择的答案是:

*,正确答案是:

47.有以下程序

#definef(x)(x*x)

main()

{

inti1,i2;

i1=f(8)/f(4);i2=f(4+4)/f(2+2);

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

}

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

  A)64,28B)4,4C)4,3D)64,64

你所选择的答案是:

*,正确答案是:

48.有以下程序

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)0   B)4   C)6   D)7

你所选择的答案是:

*,正确答案是:

49.有以下程序

  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+2,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)1,2,7,6,3,4,5,8,9,10,

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

你所选择的答案是:

*,正确答案是:

50.有以下程序

voidsum(inta[])

{

a[0]=a[1]+a[2];

}

main()

{

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

sum(&a[2]);

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

}

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

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

你所选择的答案是:

*,正确答案是:

51.有以下程序

  voidswap1(intc0[],intc1[])

  {intt;

  t=c0[0];c0[0]=c1[0];c1[0]=t;

  }

  voidswap2(int*c0,int*c1)

  {intt;

  t=*c0;*c0=*c1;*c1=t;

  }

  main()

  {inta[2]={3,5},b[2]={3,5};

  swap1(a,a+1);swap2(&b[0],&b[1]);

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

  }

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

  A)3553   B)5335  C)3535  D)5353

你所选择的答案是:

*,正确答案是:

52.有以下程序

  flo

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

当前位置:首页 > 总结汇报 > 学习总结

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

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