景德镇陶瓷学院期末考试C语言选择题.docx

上传人:b****6 文档编号:7318029 上传时间:2023-01-22 格式:DOCX 页数:20 大小:23.82KB
下载 相关 举报
景德镇陶瓷学院期末考试C语言选择题.docx_第1页
第1页 / 共20页
景德镇陶瓷学院期末考试C语言选择题.docx_第2页
第2页 / 共20页
景德镇陶瓷学院期末考试C语言选择题.docx_第3页
第3页 / 共20页
景德镇陶瓷学院期末考试C语言选择题.docx_第4页
第4页 / 共20页
景德镇陶瓷学院期末考试C语言选择题.docx_第5页
第5页 / 共20页
点击查看更多>>
下载资源
资源描述

景德镇陶瓷学院期末考试C语言选择题.docx

《景德镇陶瓷学院期末考试C语言选择题.docx》由会员分享,可在线阅读,更多相关《景德镇陶瓷学院期末考试C语言选择题.docx(20页珍藏版)》请在冰豆网上搜索。

景德镇陶瓷学院期末考试C语言选择题.docx

景德镇陶瓷学院期末考试C语言选择题

1、以下叙述中正确的是

A)C程序中的注释只能出现在程序的开始位置和语句的后面

B)C程序书写格式严格,要求一行内只能写一个语句

C)C程序书写格式自由,一个语句可以写在多行上

D)用C语言编写的程序只能放在一个程序文件中

2、以下叙述中正确的是..

A)C程序的基本组成单位是语句   

B)C程序中的每一行只能写一条语句

C)简单C语句必须以分号结束  

D)C语句必须在一行内写完

3、计算机能直接执行的程序是.......................................()

A)源程序    B)目标程序    

C)汇编程序   D)可执行程序

4、以下C语言用户标识符中,不合法的是..................................()

 A)_1 B)AaBc

 C)a_bD)a-b

5.以下选项中不合法的标识符是........................................()

A)print  B)FOR  C)&a  D)_00

6、以下选项中合法的标识符是..........................()

A)1_1B)1-1

C)_11D)1__

7以下选项中,能用作数据常量的是.................................()

A)o115B)0118C)1.5e1.5D)115L

8.以下选项中不能作为C语言合法常量的是....................................()

A)'cd'    B)0.1e+6    C)"\a"    D)'\011'

9.C源程序中不能表示的数制是.....................................................()

A)二进制    B)八进制  

C)十进制    D)十六进制

10.以下选项中正确的定义语句是...............................................()

A)double a;b;   B)double  a=b=7;C)double a=7,b=7;D)double,a,b;

11.以下不能正确表示代数式2ab/cd的C语言表达式是..............................()

A)2*a*b/c/d    B)a*b/c/d*2    C)a/c/d*b*2    D)2*a*b/c*d

12.设有定义:

intx=2;,以下表达式中,值不为6的是.............................()

A)x*=x+1B)x++,2*xC)x*=(1+x)D)2*x,x+=2

13、有以下程序,其中k的初值为八进制数

  #include

  main()

  {intk=011;

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

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

  A)12  B)11C)10  D)9

14.设变量a和b已正确定义并赋初值。

请写出a-=a+b等价的赋值表达式【】....................a=-b

15.若有表达式(w)?

(--x):

(++y),则其中与w等价的表达式是.................()

A)w==1    B)w==0    C)w!

=1    D)w!

=0

16.表达式(int)((double)(5/2)+2.5)的值是【】

17、若有定义:

doublea=22;inti=0,k=18;,则不符合C语言规定的赋值语句是........................()

  A)a=a++,i++;  B)i=(a+k)<=(i+k); C)i=a%11;D)i=!

a;

18.若函数中有定义语句:

intk;,则...................................()

A)系统将自动给k赋初值0B)这时k中的值无定义

C)系统将自动给k赋初值-1D)这时k中无任何值

19.程序段:

intx=12;doubley=3.141593;printf("%d%8.6f",x,y);的输出结果是

A)123.141593B)123.141593C)12,3.141593D)123.1415930

20.若整形变量a和b中的值分别为7和9,要求按以下格式输出a和b的值:

a=7b=9请完成输出语句:

printf("【7】",a,b);a=%d\nb=%d\n

21、有以下程序

  #include

  main()

  {chara,b,c,d;

  scanf(“%c%c”,&a,&b);

  c=getchar();d=getchar();

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

  }

  当执行程序时,按下列方式输入数据(从第1列开始,代表回车,注意:

回车也是一个字符)

  12

  34

  则输出结果是..................................................()

  A)1234  B)12

  C)123D)1234

22.若变量已正确定义为int型,要通过语句scanf("%d,%d,%d",&a,&b,&c);给a赋值1、

给b赋值2、给c赋值3,以下输入形式中错误的是(μ代表一个空格符)..............()

A)μμμ1,2,3<回车>          B)1μ2μ3<回车>

C)1,μμμ2,μμμ3<回车>       D)1,2,3<回车>

23.有以下程序

#include 

main()

{ int a1,a2; char c1,c2;

  scanf("%d%c%d%c",&a1,&c1,&a2,&c2);

  printf("%d,%c,%d,%c",a1,c1,a2,c2);

}

若通过键盘输入,使得a1的值为12,a2的值为34,c1的值为字符a,c2的值为字符b,

程序输出结果是:

12,a,34,b则正确的输入格式是(以下_代表空格,代表回车)......()

A)12a34bB)12_a_34_bC)12,a,34,bD)12_a34_b

24、若a是数值类型,则逻辑表达式(a==1)||(a!

=1)的值是..........()

  A)1 B)0 C)2D)不知道a的值,不能确定

25、有如下嵌套的if语句

  

if(a

  if(a

  elsek=c;

  else

  if(b

  elsek=c;

  以下选项中与上述if语句等价的语句是.............................()

  A)k=(a<b)?

a:

b;k=(b<c)?

b:

c;

  B)k=(a<b)?

((b<c)?

a:

b):

((b>c)?

b:

c);

  C)k=(a<b)?

((a<c)?

a:

c):

((b<c)?

b:

c);

  D)k=(a<b)?

a:

b;k=(a<c)?

a:

c;

26、以下选项中与if(a==1)a=b;elsea++;语句功能不同的switch语句是....()

A)switch(a)

  {case1:

a=b;break;

  default:

a++;

  }

B)switch(a==1)

  {case0:

a=b;break;

  case1:

a++;

}

 C)switch(a)

  {default:

a++;break;

  case1:

a=b;

  }

  D)switch(a==1)

  {case1:

a=b;break;

  case0:

a++;}

27.以下是if语句的基本形式:

if(表达式) 语句

其中"表达式".............................()

A)必须是逻辑表达式B)必须是关系表达式C)必须是逻辑表达式或关系表达式D)可以是任意合法的表达式

28.有以下程序

#include 

main()

{ int x;

  scanf("%d",&x);

  if(x<=3) ; else

  if(x!

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

}

28.程序运行时,输入的值在哪个范围才会有输出结果.......................()

A)不等于10的整数B)大于3且不等于10的整数

C)大于3或等于10的整数D)小于3的整数

29.有以下程序

#include 

main()

{ int a=1,b=2,c=3,d=0;

  if (a==1 && b++==2)

  if (b!

=2||c--!

=3)

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

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

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

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

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

C)1,3,3D)3,2,1

30..有以下程序

#include 

main()

{ char c1,c2;

  scanf("%c",&c1);

  while(c1<65||c1>90) scanf("%c",&c1);

  c2=c1+32;

  printf("%c,%c\n",c1,c2);

}

程序运行输入65回车后,能否输出结果,结束运行(请回答能或不能)【不能】

31.有以下程序

#include

main()

{intn=2,k=0;

while(k++&&n++>2);

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

}

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

A)02B)13C)57D)12

32.以下程序运行后的输出结果是5

#include

main()

{inta=1,b=7;

do{

b=b/2;a+=b;

}while(b>1);

printf(“%d\n”,a);}

33.有以下程序

  #include(stdio.h)

  main()

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

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

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

  }

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

  A)6B)10

  C)11D)15

34.设变量已正确定义,以下不能统计出一行中输入字符个数(不包含回车符)的程序段是 .()

A)n=0;while((ch=getchar())!

='\n')n++;B)n=0;while(getchar()!

='\n')n++;

C)for(n=0;getchar()!

='\n';n++);D)n=0;for(ch=getchar();ch!

='\n';n++);

35.有以下程序

  #include(stdio.h>

  main()

  {inta=1;b=2;

  for(;a<8;a++){b+=a;a+=2;}

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

  }

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

  A)9,18  B)8,11 C)7,11  D)10,14

36.以下程序段中的变量已正确定义

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

   for(k=1;k<3;k++); printf("*");

程序段的输出结果是.()

A)********B)****C)**D)*

37.有以下程序

  #include<stdio.h>

  main()

  {inti,j,m=1;

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

  {for(j=3;j>0;j--)

  {if(i*j)>3)break;

  m*=i*j;

  }

  }

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

  }

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

  A)m=6  B)m=2 C)m=4  D)m=5

38.有以下程序

  

#include

  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+=b[i][b[j][i]];

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

  }

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

  A)1  B)3 C)4  D)9

39.有以下程序

#include 

int f(int x,int y)

{ return ((y-x)*x);}

main()

{ int a=3,b=4,c=5,d;

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

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

}

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

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

40.有以下程序

#include 

int fun(int x,int y)

{ if(x==y) return (x);

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

}

main()

{ int a=4,b=5,c=6;

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

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

A)3B)6C)8D)12

41.设函数中有整型变量n,为保证其在未赋初值的情况下初值为0,应该选择的存储类别是.()

A)autoB)registerC)staticD)auto或register

42有以下程序

#include

voidfun(intp)

{intd=2;

p=d++;printf(“%d”,p);}

main()

{inta=1;

fun(a);printf(“%d\n”,a);}

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

A)32B)12C)21D)22

43.有以下程序

#include

intf(intn);

main()

{inta=3,s;

s=f(a);s=s+f(a);printf(“%d\n”,s);

}

intf(intn)

{staticinta=1;

n+=a++;

returnn;

}

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

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

44.有以下程序

 #include

  intfun()

  {staticintx=1;

  x*=2;returnx;

  }

  main()

  {inti,s=1,

  for(i=1;i<=2;i++)s=fun();

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

  }

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

  A)0  B)1 C)4  D)8

45.有以下程序

#include

#definef(x)x*x*x

main()

{inta=3,s,t;

s=f(a+1);t=f((a+1));

printf(“%d,%d\n’,s,t);}

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

A)10,64B)10,10C)64,10D)64,64

46.有以下程序

#include 

#define PT 3.5 ;

#define S(x) PT*x*x ;

main()

{ int a=1,b=2 ;  printf("%4.1f\n",S(a+b));}

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

A)14.0B)31.5C)7.5D)程序有错无输出结果

47.有以下程序  

#include

  #defineSUB(a)(a)-(a)

  main()

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

  d=SUB(a+b)*c;

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

  }

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

  A)0 B)-12 C)-20D)10

48.以下叙述正确的是 .()

A)C语言程序是由过程和函数组成的 B)C语言函数可以嵌套调用,例如:

fun(fun(x))

C)C语言函数不可以单独编译 D)C语言中除了main函数,其他函数不可作为单独文件形式存在

49.若有定义语句:

intm[]={5,4,3,2,1},i=4;,

则下面对m数组元素的引用错误的是.()

A)m[--i]    B)m[2*2]    C)m[m[0]]   D)m[m[i]]

50.有以下程序 

 #include 

  void fun(int a,int b)

  {  int t;

     t=a;a=b;b=t;

  }

  main()

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

     for(i=0;i<10;i+=2)  fun(c[i],c[i+1]);

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

     printf("\n");

  }

程序的运行结果是.()

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

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

51.有以下程序

 void fun(int a[], int n)

  {  int i,t;

     for(i=0;i

{t=a[i];a[i]=a[n-1-i]; a[n-1-i]=t; }

  }

  main()

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

     fun(k,5);

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

     printf("\n");

  }

程序的运行结果是 .()

A)345678    B)876543    C)1098765   D)321678

52.下列选项中,能正确定义数组的语句是 .()

  A)intnum[0..2008];B)intnum[]; 

C)intN=2008;

  intnum[N];

  D)#defineN2008

  intnum[N];

53.有以下程序

main()

{inta[]={2,3,5,4},i;

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

switch(i%2)

{case0:

switch(a[i]%2)

{case0:

a[i]++;break;

case1:

a[i]--;

}break;

case1:

a[i]=0;

}

for(i=0;i<4;i++)printf(“%d”,a[i]);printf(“\n”);

}

程序运行后的结果是:

.()

A)3344B)2050C)3040D)0304

54.有以下程序

 

 #define N 4

  void fun(int a[][N],int b[])

  {  int  i;

     for(i=0;i

  }

  main()

  {  int x[][N]={{1,2,3},{4},{5,6,7,8},{9,10}},y[N],i;

     fun(x,y);

     for(i=0;i

     printf("\n");}

程序的运行结果是   .()

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

5.以下函数findmax拟实现在数组中查找最大值并作为函数值返回,但程序中有错导致不能实现预定功能

#defineMIN-2147483647

intfindmax(intx[],intn)

{inti,max;

for(i=0;i

{max=MIN;

if(max

returnmax;

}

造成错误的原因是.()

A)定义语句inti,max;中max未赋初值B)赋值语句max=MIN;中,不应给max赋MIN值

C)语句if(max

D)赋值语句max=MIN;放错了位置

56.有以下程序

#include

main()

{chars[]={“012xy”};inti,n=0;

for(i=0;s[i]!

=0;i++)

if(s[i]>=’a’&&s[i]<=’z’)n++;

printf(“%d\n”,n);

}

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

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

57.若有定义语句:

char s[10]="1234567\0\0";,则strlen(s)的值是A

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

58.有以下程序

#include

main()

{chara[10]=”abcd”;

printf(“%d,%d\n”,strlen(a),sizeof(a));

}

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

A)7,4B)4,10C)8,8D)10,10

59.设有定义:

  structcomplex

  {intreal,unreal;}data1={1,8},data2;

  则以下赋值语句中错误的是 .()

A)data2=data1;B)data2=(2,6); C)data2.real=data1.real; D)data2.real=data1.unreal;

60.有以下定义和语句

  

struct

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

当前位置:首页 > 小学教育 > 语文

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

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