当前所在位置:珠峰网资料 >> 计算机 >> 计算机等级考试 >> 正文
2015年全国计算机等级二级C语言模拟试题及答案(12)
发布时间:2010/11/7 23:24:31 来源:城市学习网 编辑:ziteng
  一、 填空与选择
  1.   C语言从源程序的书写到上机运行输出结果要经过_______________四个步骤。
  2.   C语言的表达式与语句的区别在于___________________________________。
  3.   C语句_____________ (有、没有)输入、输出语句。
  4.   结构化程序的编写有_______________________________三种程序结构。
  5.   表达式10/3*9/2的值是___________________。
  6.   设有“int x=2,y”说明,则逗号表达式“y=x+5,x+y”的值是_________________。
  7.   设有“int x=1”,则“x>0?2*x+1: 0”表达式的值是______________________。
  8.   变量Y满足以下两条件中的任意一个:①能被4整除,但不能被100整除;②能被400整除。请用逻辑表达式表示所给条件。
  _________________________________________________________________
  9. 逻辑运算符“&&、||、 !”中的优先级是____________________
  10. C语言是由________________基本单位组成的。
  A.过程
  B.语句
  C.函数
  D.程序
  11.有如下语句: X+Y*Z>39 && X*Z||Y*Z是什么表达式__________
  A.算术表达式
  B.逻辑表达式
  C.关系表达式
  D.字符表达式
  12.下面几种说法中哪个是正确的?_____________
  A. else语句需与它前面的if语句配对使用;
  B. else语句需与前面最接近它的if语句配对使用;
  C. else语句需与前面最接近它,且没有和其它else语句配对的if语句配对;
  D. 以上都正确。
  13.有说明语句:char a[ ]=“this is a book”。请问该数组到底占了几个字节?
  A.11
  B.12
  C.14
  D.15
  14.设整型变量a为5,使b不为2的表达式是___________
  A. b=a/2
  B. b=6-(--a)
  C. b=a%2
  D.b=a>3?2:1
  15.设整型变量n的值为2,执行语句“n+=n-=n*n”后,n的值是_________
  A.0
  B.2
  C.-4
  D. 4
  16.执行语句“x=(a=3,b=a--)”后,x,a,b的值依次为_________
  A. 3, 3, 2
  B. 3,2,2
  C.3,2,3
  D.2,3,2
  17.如果X=5,执行语句X*=X+=X*3后,则X的值为__________
  A.100
  B. 400
  C. 450
  D. 900
  18.下列常量中哪个是不合法的_________________
  A.2e32.6
  B. 0.2e-5
  C. “basic”
  D. 0x4b00
  19.下列标识符错误的是_______
  A. x1y
  B._123
  C. 2ab
  D. _ab
  20. c语言中int型数-8在内存中的存储形式为_____
  A.1111111111111000
  B. 1000000000001000
  C. 0000000000001000
  D. 1111111111110111 [NextPage]   二、 读程序(结果写在试卷的右边)
  1. 写出下列程序段的输出结果:
  main()
  {int x=5;  int y=10;
  printf("%d\n",x++);
  printf("%d\n",++y);    }
  2. 下面程序的输出结果是什么?
  #include "stdio.h"
  main()
  { int x=3;
  switch(x)
  { case 1:
  case 2:printf("x<3\n");
  case 3:printf("x=3\n");
  case 4:
  case 5:printf("x>3\n");
  default:printf("x unknow\n");   }  }
  3.根据源程序,写出相应的数学表达式
  #include “stdio.h”
  main()
  { int x,y;
  scanf(“%d”,&x);
  if (x<0) y= -1;
  else if (x= = 0)
  y=0;
  else y=1;
  printf(“x=%d,y=%d\n”,x,y);  }
  4. 读出下列程序的输出结果:
  main()
  { int a=1,b=1,c=1;
  printf(“%d,%d,%d\n”,a,b,c)
  a+=b+=++c;
  printf(“%d,%d,%d\n”,a,b,c);
  printf(“%d,%d,%d\n”,a++,--b,++c);
  printf(“%d,%d,%d\n”,a,b,c);             }
  三、 程序填空:(根据题意,将空缺的语句补上。)
  1.   下列程序的功能是计算圆的面积,将程序补充完整。
  #define  PI = 3.14159
  main()
  { float  r,s;
  printf(“Enter a number  r:”);
  ____________________________
  s=PI*r*r
  ___________________;              }
  2.  该程序完成的功能是求1+2+3+…+10的累加和,并进行累加和的输出打印。变量sum是存放累加值的。
  #include "stdio.h"
  main()
  {  ________________
  i=1,sum=0;
  for(; i<=10;)
  { sum+=i;
  _________ }
  printf("%d\n",sum);         }
  四、改错:
  求Fibonacci数列40个数。
  这个数列有如下特点:第1,2 两个数为1,1。从第3个数开始,该数是其前面两个数之和。即:
  F1=1       (n=1)   F2=1          (n=2)   Fn=Fn-1+Fn-2           (n≥3)
  程序如下,请改正:
  main()
  {  long int f1,f2
  int i;
  f1=f2=1;
  for (i=1, i<=20 , i- -);
  {    printf(“ld ld”,f1,f2);
  if (i%4=0) printf(“\n”);
  f1=f1+f2
  f2=f2+f1;     }    }
  五、编程:
  1.     给定一个正整数,判断它是否能同时被3、5、7整除。
  2.计算分段函数:
  3.从键盘录入10个数到数组A,请将它们进行由小到大的排序(方法不限)。
 [NextPage]   参考答案
  一、 填空与选择
  1.  编辑、编译、连接、执行
  2. “表达式”未尾加“;”号就成“语句”
  3.  没有
  4.  顺序、分支、循环
  5. 3    6. 9    7. 3 8. y%4= =0 && y0!=0 || y@0==0
  9. !  &&||
  10.  11.  12. 13. 14.  15.  16.  17.  18.  19.  20.
  C    B   C   D   C   C    C   B   A     C     A
  二、  读程序
  1.   5                  2.  X=3                4.       1,1,1
  11                      X>3                         4,3,2
  X  unknow 4,2,3         5,2,3
  3.
  三、 程序填空:(根据题意,将空缺的语句补上。)
  1.   下列程序的功能是计算圆的面积,将程序补充完整。
  #define  PI = 3.14159
  main()
  {float  r,s;
  printf(“Enter a number  r:”);
  ____scanf(“%f”,&r);________________________
  s=PI*r*r
  ____printf(“s=%f ”,_s); }
  2.   int  I ,  sum
  I++;
  四、 改错:
  main()
  {    long int f1,f2;
  int i;
  f1=f2=1;
  for (i=1;i<=20; i++);
  {    printf(“ld ld”,f1,f2);
  if (i%4=0) printf(“\n”);
  f1=f1+f2;
  f2=f2+f1;  }   }
  五、 编程:(略)
  1.main()
  {
  int a;
  scanf(“%d”,&a);
  if(a%3==0&&a%5==0&&a%7==0)
  printf(“%d”,a);
  }
  2.#include
  main()
  {
  float x,y;
  scanf(“%f”,&x);
  if(x>20)
  y=x*x+3*x+2;
  if(x>=10&&x<20)
  y=sqrt(3*x)-2;
  if(x>10)
  y=1/x+fabs(x);
  printf(“%f”,y);
  }
  3. main()
  {     int a[10]={10,9,8,7,6,5,4,3,2,1};
  int  b,c,d;
  for(b=0;b<9;b++)
  for(c=0;c<9-b;c++)
  if(a[b]>a[c])
  {  b=a[b];a[b]=a[c];a[c]=d;}
  for(b=0;b<9;b++)
  printf(“%d”,a[b]);
  }bsp;   }
广告合作:400-664-0084 全国热线:400-664-0084
Copyright 2010 - 2017 www.my8848.com 珠峰网 粤ICP备15066211号
珠峰网 版权所有 All Rights Reserved