当前所在位置:珠峰网资料 >> 计算机 >> 计算机等级考试 >> 正文
2015年全国计算机等级二级C语言模拟试题及答案(9)
发布时间:2010/11/4 10:36:24 来源:城市学习网 编辑:ziteng
  一、选择题
  1.一个C语言程序是由(      )构成。
  A.语句
  B.行号
  C.数据
  D.函数
  2.下面标识符中正确的是(       )。
  A.d&ef
  B.6a
  C.z4x5c
  D.a3/b4
  3.在C语言中,存储一个字符型、整型、单精度实型变量所需的空间是()。型、单精度实型变量所需的空间是()。
  A.1、2、4
  B.1、1、4
  C.1、2、8
  D.2、2、8
  4.为了避免嵌套的条件分支语句 if--else中的else总是与(  ) 组成成对关系。
  A. 缩排位置相同的
  B. 在其之前未配对的
  C. 在其之前未配对的最近的if
  D. 在同一行上的if
  5.下列表达式的结果正确的是(            )。
  int  aa,bb,cc,dd;
  aa=bb=cc=dd=1;sp; aa=bb=cc=dd=1;sp; aa=bb=cc=dd=1;
  (aa+1==2)?bb=aa+2:aa+3
  A.2
  B.3
  C.  1
  D.5
  6.设有int x=11 ;则表达式(x+1/3)的值是(   )。
  A.3
  B. 4
  C. 11
  D.12
  7.设有字符串A=“He has 钱!”,则该字符串的长度为(   )。
  A.  9
  B.  10
  C. 11
  D. 8
  8.有如下程序段,则正确的执行结果是(        )
  int m=3;
  while(m<=5)
  {   printf(“%d   ”,m-3); m++;}
  A. 0  0   0
  B.0  1   2
  C.1  2   3
  D.无结果
  9.执行语句:printf("%d",(a=2)&&(b= -2);后,输出结果是(   )。
  A.无输出
  B.结果不确定
  C.-1
  D. 1
  10.有如下定义类型语句,若从键盘输入数据,正确的输入语句是(   )。
  int  x;   char  y;   char  z[20];
  A. scanf("%d%c%c",&x,&y,&z);
  B. scanf("%d%c%s",&x,&y,&z);
  C. scanf("%d%c%c",&x,&y,z);
  D. scanf("%d%c%s",&x,&y,z);
  11. struct ex
  { int x ; float y; char z ;} example;
  则下面的叙述中不正确的是(   )。
  A. struct结构体类型的关键字
  B.  example是结构体类型名
  C. x,y,z都是结构体成员名
  D.  struct ex是结构体类型
  12.在C语言中对于实型数组,其每个数组元素的类型是(         )。
  A.  实型
  B. 整型
  C.  可以为任何类型
  D.  不确定
  13. 若已定义:int a[9],*p=a;不能表示a[1] 地址的表达式是(         )。
  A.  p+1
  B.  a+1
  C.  a++
  D.  ++p
  14. 在TC2.0环境中,对文件进行保存使用的命令是(         )。
  A.  OPEN
  B.  SAVE
  C.  LOAD
  D. WRITE TO
  15.在C++的类中,用于表示公共类型的关键字是(         )。
  A. class
  B.  private
  C.  protect
  D. public [NextPage]  二、填空题
  1.在C语言中,正确的标识符是由____________组成的,且由____________开头的。
  2. 设p=30,那么执行q=(++p)后,表达式的结果q为______,变量p的结果为________。
  若a为int类型,且其值为3,则执行完表达式a+=a-=a*a后,a的值是_________。
  3. 一个变量的指针是指___________________________________________________。
  4. 在C语言程序中,对文件进行操作首先要____________________;然后对文件进行操作,最后要对文件实行__________________________操作,防止文件中信息的丢失。
  5. 以下程序运行后的输出结果是_________。该程序的功能是_________ 。
  main()
  { int  x=10,y=20 ,t=0;
  if(x!=y) t=x; x=y; y=t;
  printf("%d,%d\n",x,y);   }
  6. 若fp已正确定义为一个文件指针,d1.dat为二进制文件,请填空,以便为"读"而打开此文件:fp=fopen(                     );。
  7. 有以下程序,当输入的数值为2,3,4时,输出结果为_________。
  main()
  {   int x,y,z;
  cout  <<  “please input  three number”;
  cin >>x>>y>>z;
  sum=x*x+y*2+z;
  cout<<“sum of number is :”<}
  8. 有以下程序
  main()
  {   char c;
  while((c=getchar())!='?')  putchar( - - c );   }
  程序运行时,如果从键盘输入:YDG?N?<回车>,则输出结果为_________ 。
  9.在循环中,continue语句与break语句的区别是:continue语句是语句的区别是:continue语句是 _________ ,break 是 _________。
  三、程序填空与算法题
  1. 下面程序是计算10个整数中奇数的和及其偶数的和,请填空。
  #include
  main()
  {   int a,b,c,i;
  a=c=0;
  for(i=1;i<=10;i++)
  {  scanf(“%d”,&b);canf(“%d”,&b);
  _________
  _________
  _________                           }
  printf("偶数的和=%d\n",a);
  printf("奇数的和=%d\n",c); }
  2.编写一个自定义函数,实现求两个实数的平方和
  3. 以下程序运行后的输出结果是_________。
  main()
  {   char s[ ]="GFEDCBA";
  int  p=6;
  while(s[p]!=‘D’)
  {     printf("%c  ", p);
  p=p-1;     }                 }
  4.定义一个反映学生信息的结构体,包括学生的姓名,性别,年龄,成绩等。
  5.以下程序输出的结果是 _________。
  int ff(int n)
  {   static int f=l;
  f=f*n;
  return f;     }
  main()
  {   int i;
  for(i=1;i<=5;i++) printf("%d\n",ff(i));    }
  6. 设有以下程序:
  main()
  {  int n1,n2;
  scanf("%d",&n2);
  while(n2!=0)
  {   n1=n2;
  n2=n2/10;
  printf("%d    ",n1);   }     }
  程序运行后,如果从键盘上输入1298;则输出结果为_________。
  7.下面程序的功能是:输出 100以内(不包含100)能被 3整除且个位数为 6的所有整数,请填空。
  #Include<stdio.h>
  main()
  {   int i, j;
  for(i=1; ____________; i++)
  if (________________)
  printf("%d", j);               }
  8.现有一个单链表Head,如下图所示,如果要在元素B和D之间插入一个字符型元素C。
  所需要的语句为:(如果用到指针,在图中标出指针的位置)
  四、编程题
  1.   编程实现求解下面的式子的结果
  s=1*2+2*3+3*4+…+20*21
  2.编程实现求下面的式子的结果
  3.编程实现将文本文件file1.dat的内容读出来,显示到屏幕上。
  [NextPage]   参考答案
  一、选择题
  1.D       2.  C        3. A         4.  C       5.  B
  6.C       7.  B        8. B         9.  D       10. D
  11.B      12. A        13. C        14.  B      15. D
  二、填空题
  1.字母、数字、下划线;以字母、下划线开头。
  2.4,4    -12
  3.该变量的地址。
  4.打开;关闭。
  5.20 , 10     变量的交换
  6.“d1.dat”, “rb”
  7. sum of number is :14
  8. xcf 9   9   9
  9.结束本次循环,进入下一次循环;结束循环。
  三、程序填空与阅读程序题(参考答案)
  1.  if (b%2==0)   a=a+b    else    c=c+b
  2.  float  sum(float  x,float  y)
  {   return  x*x+y*y;   }
  3. A B C
  4. struct  student{
  char  name[10];
  char  sex;
  int  age;
  float  score;   }
  5. 1   2   6    24    120
  6.8  9  2  1
  7.i<100    if(i%3==0 && i==6)
  8.P->NEXT=Q->NEXT;      P->NEXT=NEW;
  四、编程题
  1.参考答案
  main()
  {   int  m,n,sum=0;
  for (m=1;m<=20;m++)
  sum=sum+m*(m+1);
  printf(“%s”,sum);
  }
  2.参考答案
  # include “math.h”
  main()
  {  float x,y;
  scanf(“%f”&x);
  if (x>6)
  y=(x-3)/(2*x-12);
  else
  y=-2*x*x+4*x-10;
  printf(“y=%f”,y);             }
  3.main()
  {  char ch;
  FILE *fp1,*fp2;
  fp1=fopen(“file1.dat”, “r”);
  fp2=fopen(“file2.dat”, “r”);
  fp3=fopen(“file3.dat”, “w”);
  Ch=fgetc(fp1);
  While(ch!=EOF)
  {   fputc(ch,fp3); fputc(ch,fp3);
  Ch=fgetc(fp1);  }
  Ch=fgetc(fp2);
  While(ch!=EOF)
  {   fputc(ch,fp3); fputc(ch,fp3);
  Ch=fgetc(fp2);  }
  Fclose(fp1);
  Fclose(fp2);
  Fclose(fp3);
  }
广告合作:400-664-0084 全国热线:400-664-0084
Copyright 2010 - 2017 www.my8848.com 珠峰网 粤ICP备15066211号
珠峰网 版权所有 All Rights Reserved