C语言 百分网手机站

C语言自测试题

时间:2020-10-08 11:00:29 C语言 我要投稿

C语言自测试题

  引导语:C语言的难度,是相对于个人而言的,以下是小编整理的C语言自测试题,欢迎参考阅读!

  一、选择题:(20分,每题2分)

  1.以下不正确的C语言标识符是    。

  A. ABC

  B. abc

  C. a_bc

  D. ab.c

  2.C程序是由   构成的。

  A. 主程序与子程序

  B. 主函数与若干子函数

  C. 一个主函数与一个其它函数

  D. 主函数与子函数

  3.以下说法中正确的是:。

  A. 在C语言中,实参与其对应的形参各占独立的存储单元;

  B.在C语言中,实参与其对应的形参共占同一个存储单元;

  C.在C语言中,只有当实参与其对应的形参同名时,才共占同一个存储单元;

  D. 在C语言中,形参是虚拟的`,不占存储单元。

  4.设n=3;则n++的结果是    。

  A. 2 B. 3  C. 4 D. 5

  5.设整型变量n=10,i=4,则赋值运算n%=i+1执行后,n的值是    。

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

  6.凡是函数中未指定存储类别的局部变量其隐含的存储类别是    。

  A. 自动(auto)

  B. 静态(static)

  C. 外部(extern)

  D. 寄存器(register)

  7.在while(x)语句中的x与下面条件表达式等价的是:    。

  A. x= =0B. x= =1

  C. x!=1D. x!=0

  8.若有以下说明和语句:

  struct worker

  {

  int no;

  char *name;

  } work, *p=&work;

  则以下引用方法不正确的是    。

  A. work.no

  B. (*p).no

  C. p->no

  D. work->no

  9.以下对二维数组进行正确初始化的是    。

  A. int a[2][3]={{1,2},{3,4},{5,6}};

  B. int a[][3]={1,2,3,4,5,6};

  C.int a[2][]={1,2,3,4,5,6};

  D.int a[2][]={{1,2},{3,4}};

  10.二维数组a有m列,则在a[i][j]之前的元素个数为:    。

  A. j*m+i

  B. i*m+j

  C. i*m+j-1

  D. i*m+j+1

C语言自测试题

  二、给出下列程序的运行结果:(20分,前四题每题3分,后两题每题4分)

  1.

  #include

  main()

  {

  int i=16,j,x=6;

  j=i+++1;

  x*=i=j;

  printf(“%d,%d ”,j,x);

  }

  运行结果是:

  2.

  #include

  #include

  main()

  {

  int a=1,b=4,c=2;

  float x=10.5,y=4.0,z;

  z=(a+b)/c+sqrt((double)y)*1.2/c+x;

  printf(“%f ”,z);

  }

  运行结果是:

  3.

  #include

  main()

  {

  int a,b,c,d;

  a=c=0;

  b=1;

  d=20;

  if(a) d=d-10;

  else if(!b)

  if(!c) d=25;

  else d=15;

  printf(“d=%d ”,d);

  }

  运行结果是:

  4.

  main()

  {

  int i=10;

  switch(i){

  case 9: i+=1;

  case 10: i+=1;

  case 11: i+=1;

  default : i+=1;

  }

  printf(“%d”,i);

  }

  运行结果是:

  5.

  #include

  main()

  {

  int a[]={1,2,3,4},i,j,s=0;

  j=1;

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

  {

  s=s+a[i]*j;

  j=j*10;

  }

  printf("s=%d ",s);

  }

  运行结果是:

  6.

  func(int x)

  {x=20; }

  main( )

  {

  int x=10;

  func(x);

  printf(“%d”,x);

  }

  运行结果是:

  三、阅读程序,在标有下划线的空白处填入适当的表达式或语句,使程序完整并符合题目要求。(20分,每空2分)

  1.已知能被4整除而不能被100整除的或者能被400整除的年份是润年,则判断某一年是否是润年的程序如下:

  main( )

  {

  int year,leap;

  scanf("%d",&year);

  if()

  leap=1;

  else leap=0;

  if() printf("是润年");

  else printf("不是润年");

  }

  2.将100至200间不能被3整除的数输出:

  main( )

  {

  int n;

  for(n=100;n<=200;n++)

  {

  if(n%3==0)     ;

  printf("%d ",n);

  }

  }

  3.判断m是否是素数

  #include

  main()

  {

  int m,i,k;

  scanf("%d",&m); k=sqrt(m);

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

  if(m%i==0)     ;

  if(i>=k+1) printf("%d is a primenumber ",m);

  else printf("%d is not a prime number ",m);

  }

  4.给定一3*4的矩阵,求出其中值最大的元素的值,及所在的行列号。

  main()

  {

  int i,j,row=0,colum=0,max;

  static int a[3][4]={{1,2,3,4}{9,8,7,6}{10,-10,-4,4}};

     ;

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

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

  if(a[i][j]>max)

  {

  max=a[i][j];

     ;

     ;

  }

  printf("max=%d,row=%d,colum=%d ",max,row,colum);

  }

  5.下面函数的功能是将两个字符串s和t连接起来。

  char *conj(char *s, char *t)

  {

  char*p=s;

  while(*s);

  while(*t)

  {

  *s=;

  s++;

  t++;

  }

  *s=’’;

  ;

  }

  四、编程(40分)

  1.计算1-1/2+1/3-1/4+…+1/99-1/100+…,直到最后一项的绝对值小于10-4为止。(13分)

  2.输入一行字符,分别统计求出其中英文字母、空格、数字和其他字符的个数并输出结果。(13分)

  3.任意从键盘输入10个整数,按从小到大的顺序排序,并输出结果。(14分)

【C语言自测试题】相关文章:

1.C语言试题(精选)

2.C语言试题大全

3.C语言试题训练

4.标准c语言笔试题

5.c语言经典笔试题

6.C语言练习测试试题

7.c语言常见笔试题总结

8.计算机考试C语言预习自测题