c语言试题.docx

上传人:b****3 文档编号:24674333 上传时间:2023-05-31 格式:DOCX 页数:29 大小:23.56KB
下载 相关 举报
c语言试题.docx_第1页
第1页 / 共29页
c语言试题.docx_第2页
第2页 / 共29页
c语言试题.docx_第3页
第3页 / 共29页
c语言试题.docx_第4页
第4页 / 共29页
c语言试题.docx_第5页
第5页 / 共29页
点击查看更多>>
下载资源
资源描述

c语言试题.docx

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

c语言试题.docx

c语言试题

一、选择题答案

1.以下所列的C语言常量中,错误的是

A)0xFF

B)1.2e0.5

C)2L

D)'\72'

你所选择的答案是:

*,正确答案是:

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

A)10<回车>

22<回车>

33<回车>

B)10.0,22.0,33.0<回车>

C)10.0<回车>

22.033.0<回车>

D)1022<回车>

33<回车>

你所选择的答案是:

*,正确答案是:

3.下面程序的输出结果是

main()

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

p=a;

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

}

A)0

B)1

C)10

D)9

你所选择的答案是:

*,正确答案是:

4.若定义了以下函数:

voidf(……)

{……

*p=(double*)malloc(10*sizeof(double));

……

}

p是该函数的形参,要求通过p把动态分配存储单元的地址传回主调函数,则形参p的正确定义应当是

A)double*p

B)float**p

C)double**p

D)float*p

你所选择的答案是:

*,正确答案是:

5.设a、b、C、d、m、n均为int型变量,且a=5、b=6、c=7、d=8、m=2、n=2,则逻辑表达式(m=a>b)&&(n=c>d)运算后,n的值位为

A)0

B)1

C)2

D)3

你所选择的答案是:

*,正确答案是:

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

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

B)char*a[3];

C)chars[10]="test";

D)intn=5,a[n];

你所选择的答案是:

*,正确答案是:

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

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

B)1470

C)5430

D)输出值不定

你所选择的答案是:

*,正确答案是:

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

main()

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

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

}

A)"AAAA"B)"BBB"C)"BBBCC"D)"CC"

你所选择的答案是:

*,正确答案是:

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

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

你所选择的答案是:

*,正确答案是:

10.以下非法的赋值语句是

A)n=(i=2,++i);

B)j++;

C)++(i+1);

D)x=j>0;

你所选择的答案是:

*,正确答案是:

11.若有以下程序:

#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

你所选择的答案是:

*,正确答案是:

12.下列关于单目运算符++、--的叙述中正确的是( )。

 A)它们的运算对象可以是任何变量和常量

 B)它们的运算对象可以是char型变量和int型变量,但不能是float型变量

 C)它们的运算对象可以是int型变量,但不能是double型变量和float型变量

 D)它们的运算对象可以是char型变量、int型变量和float型变量

你所选择的答案是:

*,正确答案是:

13.有以下程序

main()

{

charstr[]="xyz",*ps=str;

while(*ps)ps++;

for(ps--;ps-str>=0;ps--)puts(ps);

}

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

A)yz

 xyz

 xyz

B)z

yz

xyz

C)z

yz

D)x

xy

你所选择的答案是:

*,正确答案是:

14.有以下程序

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

  }

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

 A)16516.5

 B)1651.56.5

 C)1651.06.5

 D)2651.56.5

你所选择的答案是:

*,正确答案是:

15.有以下程序

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

 B)-3

 C)-5

 D)0

你所选择的答案是:

*,正确答案是:

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

 A)ch='\';

 B)ch=62+3;

 C)ch=NULL;

 D)ch='\xaa';

你所选择的答案是:

*,正确答案是:

17.下列函数定义中,会出现编译错误的是( )。

A)max(intx,inty,int*z)

{*z=x>y?

x:

y;}

B)intmax(intx,y)

 {intz;

z=x>y?

x:

y;

  returnz;

 }

C)max(intx,inty)

{intz;

z=x>y?

x:

y;return(z);

}

D)intmax(intx,inty)

 {return(x>y?

x:

y);}

你所选择的答案是:

*,正确答案是:

18.以下4组用户定义标识符中,全部合法的一组是( )。

A)_main

 enclude

 sin

B)If

 -max

 turbo

C)txt

 REAL

 3COM

D) int

 k_2

 _001

你所选择的答案是:

*,正确答案是:

19.有以下程序

main()

{

intx=0,y=5,z=3;

while(z-->0&&++x<5)y=y-1;

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

}

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

A)3,2,0  B)3,2,-1  C)4,3,-1  D)5,-2,-5

你所选择的答案是:

*,正确答案是:

20.有以下程序段

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

你所选择的答案是:

*,正确答案是:

21.有以下程序

#definef(x)x*x

main()

{

inti;

i=f(4+4)/f(2+2);

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

}

执行后输出结果是( )。

A)28  B)22  C)16  D)4

你所选择的答案是:

*,正确答案是:

22.有以下程序

#include

main()

{FILE*fp;inti,k=0,n=0;

fp=fopen(“d1.dat”,”w”);

for(i=1;i<4;i++)fprintf(fp,”%d”,i);

fclose(fp);

fp=fopen(“d1.dat”,”r”);

fscanf(fp,”%d%d”,&k,&n);printf(“%d%d\n”,k,n);

fclose(fp);

}

执行后输出结果是( )。

A)12  B)1230  C)123  D)00

你所选择的答案是:

*,正确答案是:

23.结构化程序由三种基本结构组成,三种基本结构组成的算法( )。

A)可以完成任何复杂的任务

B)只能完成部分复杂的任务

C)只能完成符合结构化的任务

D)只能完成一些简单的任务

你所选择的答案是:

*,正确答案是:

24.有以下程序

main()

{

inta=3,b=4,c=5,d=2;

if(a>b)

if(b>c)

printf("%d",d+++1);

else

printf("%d",++d+1);

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

}

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

A)2

B)3

C)43

D)44

你所选择的答案是:

*,正确答案是:

25.若变量已正确定义,要求程序段完成求5!

的计算,不能完成此操作的程序段是( )。

A)for(i=1,p=1;i<=5;i++)p*=i;

B)for(i=1;i<=5;i++){p=1;p*=i;}

C)i=1;p=1;while(i<=5){p*=i;i++;}

D)i=1;p=1;do{p*=i;i++;}while(i<=5);

你所选择的答案是:

*,正确答案是:

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

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

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

C)称为函数的循环调用

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

你所选择的答案是:

*,正确答案是:

27.有以下程序

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

你所选择的答案是:

*,正确答案是:

28.设有定义:

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

  A)k=k>=k  B)-k++   C)k%int(f)   D)k>=f>=m

你所选择的答案是:

*,正确答案是:

29.设有定义:

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

  A)(!

a==1)&&(!

b==0)  B)a    C)a&&b  D)a||(b+b)&&(c-a)

你所选择的答案是:

*,正确答案是:

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

的程序段是( )。

A)f=1;

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

f*=i;

B)f=0;

for(i=1;i<=n;i--)

 f*=i;

C)f=1;         

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

f=f*i;

D)f=1;

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

f=f*i

你所选择的答案是:

*,正确答案是:

31.有以下程序

  #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中将无确定值

你所选择的答案是:

*,正确答案是:

32.有以下程序

  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,

你所选择的答案是:

*,正确答案是:

33.以下叙述中错误的是

 A)算法正确的程序最终一定会结束

 B)算法正确的程序可以有零个输出

 C)算法正确的程序可以有零个输入

 D)算法正确的程序对于相同的输入一定有相同的结果

你所选择的答案是:

*,正确答案是:

34.下列叙述中正确的是________。

 A)每个C程序文件中都必须有一个main()函数

 B)在C程序中main()函数的位置是固定的

 C)C程序可以由一个或多个main函数组成

 D)在C程序的函数中不能定义另一个函数

你所选择的答案是:

*,正确答案是:

35.设有定义:

inta;floatb;执行scanf("%2d%f",&a,&b);语句时,若从键盘输入876543.0<回车>,a和b的值分别是________。

 A)876和543.000000 B)87和6.000000

 C)87和543.000000 D)76和543.000000

你所选择的答案是:

*,正确答案是:

36.下列叙述中正确的是________。

 A)break语句只能用于switch语句

 B)在switch语句中必须使用default

 C)break语句必须与switch语句中的case配对使用

 D)在switch语句中,不一定使用break语句

你所选择的答案是:

*,正确答案是:

37.有以下程序

 main()

 {inti;

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

 {if((i++%5==0)&&(++i%8=0))

printf("%d",i)

 }

 printf("\n")

 }

 执行后的输出结果是________。

 A)5 B)24 C)32 D)40

你所选择的答案是:

*,正确答案是:

38.有以下程序

voidchange(intk[]){k[0]=k[5];}

main()

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

while(n<=4){change(&x[n]);n++;}

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

printf("\n");

}

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

  A)678910 B)13579 C)12345 D)62345

你所选择的答案是:

*,正确答案是:

39.以下语句中存在语法错误的是________。

  A)charss[6][20];ss[1]="right?

";

  B)charss[][20]={"right?

"};

  C)char*ss[6];ss[1]="right?

";

  D)char*ss[]={"right?

"};

你所选择的答案是:

*,正确答案是:

40.有以下程序段'

charname[20];

intnum;

scanf("name=%s,num=%d"name;&num);

当执行上述程序段,并从键盘输入:

name=Lilinum=1001<回车>后,name的值为

A)Lili

B)name=Lili

C)Lilinum=

D)name=Lilinum=1001

你所选择的答案是:

*,正确答案是:

41.有以下程序段

inti,n;

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

{n=rand()%5;

switch(n)

{case1:

case3:

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

case2:

case4:

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

case0:

exit(0);

}

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

}

以下关于程序段执行情况的叙述,正确的是

A)for循环语句固定执行8次

B)当产生的随机数n为4时结束循环操作

C)当产生的随机数n为1和2时不做任何操作

D)当产生的随机数n为0时结束程序运行

你所选择的答案是:

*,正确答案是:

42.若有定义语句:

chars[3][10],(*k)[3],*p;,则以下赋值语句正确的是

A)p=s;

B)p=k;

C)p=s[0];

D)k=s;

你所选择的答案是:

*,正确答案是:

43.有以下程序

#include"stdio.h"

voidfun(char*c)

{while(*c)

{if(*c>='a'&&*c<='z')*c=*c-('a'-'A');

c++;

}

}

main()

{chars[81];

gets(s);fun(s);puts(s);

}

当执行程序时从键盘上输入HelloBeijing<回车>,则程序的输出结果是

A)hellobeijing

B)HelloBeijing

C)HELLOBEIJING

D)hELLOBeijing

你所选择的答案是:

*,正确答案是:

44.以下函数的功能是:

为数组中的所有元素赋值。

#include"stdio.h"

#defineN10

voidfun(intx[N])

{inti=0;

while(i<_____

x[i]=i++;

}

在程序中下划线处应填入的是

A)x+i

B)x[i]

C)N

D)&x[++i]

你所选择的答案是:

*,正确答案是:

45.设有如下函数定义

intfun(intk)

{if(k<1)return0;

elseif(k==1)return1;

elsereturnfun(k-1)+1;

}

若执行调用语句:

n=fun(3);,则函数fun总共被调用的次数是

A)2

B)3

C)4

D)5

你所选择的答案是:

*,正确答案是:

46.有以下程序

#include"stdio.h"

intfun(intx,inty)

{if(x!

=y)return((x+y)/2);

elsereturn(x);

}

main()

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

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

}

程序运行后的输出结果是

A)3

B)6

C)8

D)12

你所选择的答案是:

*,正确答案是:

47.有以下程序

#include"stdio.h"

intfun()

{staticintx=1;

x*=2;

returnx;

}

main()

{inti,s=1;

for(i=1;i<=3;i++)s*=fun();

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

}

程序运行后的输出结果是

A)0

B)10

C)30

D)64

你所选择的答案是:

*,正确答案是:

48.以下叙述中错误的是

A)C程序在运行过程中所有计算都以二进制方式进行

B)C程序在运行过程中所有计算都以十进制方式进行

C)所有C程序都需要编译链接无误后才能运行

D)C程序中整型变量只能存放整数,实型变量只能存放浮点数

你所选择的答案是:

*,正确答案是:

49.有以下定义:

inta;longb;doublex,y;则以下选项中正确的表达式语句是

A)a%(int)(x-y)

B)a=x!

=y;

C)(a*y)%b

D)y=x+y=x

你所选择的答案是:

*,正确答案是:

50.若变量已正确定义,在if(W)printf("%d\n,k");中,以下不可替代W的是

A)a<>b+c

B)ch=getchar()

C)a==b+c

D)a++

你所选择的答案是:

*,正确答案是:

51.#include

main()

{inta=1,b=0;

if(!

a)b++;

elseif(a==0)if(a)b+=2;

elseb+=3;

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

}

程序运行后的输出结果是

A)0

B)1

C)2

D)3

  

你所选择的答案是:

*,正确答案是:

52.有以下程序

#include

main()

{inta=1,b=2;

while(a<6){b+=a;a+=2;b%=10;}

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

}

程序运行后的输出结果是

A)5,11

B)7,1

C)7,11

D)6,1

你所选择的答案是:

*,正确答案是:

53.有以下程序

#include

main()

{chars[]="rstuv";

printf("%c\n",*s+2);

}

程序运行后的输出结果是

A)tuv

B)字符t的ASCII码值

C)t

D)出错

你所选择的答案是:

*,正确答案是:

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

当前位置:首页 > 考试认证 > 财会金融考试

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

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