当前所在位置:珠峰网资料 >> 计算机 >> 计算机等级考试 >> 正文
2015年全国计算机等级二级C语言模拟试题及答案(8)
发布时间:2010/11/4 10:35:23 来源:城市学习网 编辑:ziteng
  一、选择题
  1.一个C语言程序是由( )构成。
  A.语句
  B.行号
  C.数据
  D.函数
  2.下面标识符中正确的是( )。
  A.a#bc
  B.123ABC
  C.sime
  D.Y·M·D
  3.在C语言中,存储一个整型、字符型、双精度实型变量所需的字节数是( )。 )。 )。 )。
  A.2、1、8
  B.4、1、4
  C.4、1、4
  D.2、2、8
  4.为了避免嵌套的条件分支语句 if--else中的else总是与( ) 组成成对关系。
  A. 缩排位置相同的
  B. 在其之前未配对的
  C. 在其之前未配对的最近的if
  D. 在同一行上的if
  5.下列表达式的结果正确的是( )。
  int a,b,c,d;
  a=b=c=d=2;
  d=a+1==3?b=a+2:a+3
  A.2 B.4 C.3 D.5
  二、填空题
  1.在C语言中,正确的标识符是由______________________组成的,且由_______________开头的。
  2. 设x=3,那么表达式y=(++x)+(++x)的结果为_________,表达式执行后,变量x的结果为_________。
  3. 一个变量的指针是指_________________________________________________________________。
  4. 组成数组元素的特点是_______________________________________________;
  组成结构体元素的特点是________________________________________________。
  5. 在C语言程序中,对文件进行操作首先要______________________________;然后对文件进行操作,最后要对文件实行__________________________________操作,防止文件中信息的丢失。
  6. 对字符串进行操作的函数有_______________________________________________________等。
  7. C语言程序是由___________________构成的,而C语言的函数是由____________________构成的。
  8. 要想定义整型变量a , 实型变量 b , 字符型的变量c,应该使用的正确语句为___________________________________________________________
___________________________。
  9. 写出下面表达式的值
  3*5/7+7%3_______________________ x=2 ; y=4; (x++)+y _________________________
  3+4>=7-10_______________________ 3>4 ? 3%2: 1 ______________________________
  x=2,y=2;++x&&++y_________________ x=3 ; x+=x-=2 ______________________________
  三、判断题
  1. C语言的一个特点是可以对计算机硬件进行操作 ( )
  2. 在循环过程中,使用break语句和continue语句的作用是一样的 ( )
  3. 在函数的定义和调用过程中,形式参数和实在参数数目可以不一致 ( )
  4. 指针变量可以接收任何类型的值 ( )
  5. 在C语言程序设计中,字符数组和字符串不是完全一样的概念 ( )
  6. 文件指针是结构体类型,用符号file来表示 ( )
  7. 选择结构(if语句)和循环结构都可以使用嵌套形式 ( )
  8. 在定义二维数组时,可以将该数组的两个维数全部省略 ( )
  9. 逻辑运算符 && || ! 的运算顺序是 ! 优先于 && 优先于 || ( )
  10. 任何数组都可以实现整体使用操作 ( ) [NextPage]   四、程序填空题
  1.下面是实现打印九九乘法表的程序,请在画线的位置填上适当的语句,使程序(段)完整。
  main()
  { int i , j , k;
  for(i=1;_____________; i++)
  { for(j=1;______________; j++)
  printf(“%d*%d=%d”,_______________);
  printf(________________);
  }
  }
  2.自己设计一个自定义函数,实现求两个数的最大数的功能,自定义函数如下:
  int max(x,y)
  int x , y ;
  {
  }
  3.设有如下面的结构体,请用C语言的语句定义出正确的结构体形式:
  学生信息:包括(姓名,性别,年龄,分数),并且定义变量stud和数组stud1[30]
  struct student
  {
  }
  4. 根据给出的程序段,请写出正确的结果
  x=1 ; sum=1 ;
  for (x=1 ; x<=5 ; x++)
  sum=sum*x;
  上面的程序段实现的功能是:______________________________________________________ ;
  其运行结果为______________________________________________________________________。
  5.设有如下的语句。
  int a=43,b,c;
  b=23;
  c=a++ * --b;
  (1)上面的语句段执行后a= b= c= ;
  (2)简述a++和++a的相同点和不同点:
  6.设有如下的程序:
  main( )
  { int i=3,*p1;
  int a[3]={15,30,45},*p2;
  p1=&i; p2=a;
  p1=p2+2;
  printf(“%d,%d\n”,*p1,*p2);
  }
  程序运行结果是:_______。
  五、编程题 (25分)
  1.编程实现对10个整数进行冒泡排序(要求排成升序)。
  2.编程实现求下面的式子的结果
  3.编程实现将文本文件file1.dat中的内容复制到文本文件file2.dat中去
  六、附加题
  用C语言程序实现在已知链表中的第三个位置插入数值为a的程序
 [NextPage]   参考答案
  一、选择题
  1.D       2.  C        3. A         4.  C       5.  B
  二、填空题
  1.字母、数字、下划线;以字母、下划线开头。
  2.10;5。
  3. 该变量的地址。
  4.一组数据类型相同的元素构成的;一组数据类型不同的元素构成的。
  5.  打开;关闭。
  6.字符串长度、取子字符串、字符串替换、字符串复制等。
  7. 函数;语句。
  8. int a ;  float b ;  char c ;
  9   9   9.3   6   1   1  1   2
  三、判断题
  1. 对   2.  错    3. 错   4. 错  5. 对
  6. 错  7. 对  8. 错  9.对  10. 错
  四、程序填空题
  1.   i<=9     j<=9
  printf(“%d*%d=%d”,i,j,i*j);
  printf(“\n”); i , j , k;
  2.  int z;
  if (x>=y)   z=x;
  else          z=y;
  return  z;
  3.  char  name[20];
  char  sex;
  int  age;
  float  score;
  4. 实现功能:计算连续数之积,  即sum=1*2*3*4*5  ;
  运行结果:sum=120
  5. 44   22   946
  a++:先加1,后使用表达式的值;++a表示先加1,后使用表达式的值,它们最后的结果使a加1。
  6.45,15
  五、编程题
  1.编程实现对12个整数进行冒泡排序(要求排成升序)。
  Main()
  {   int  a[12];  int  m,n,p;
  for (m=0;m<=11;m++)(m=0;m<=11;m++)
  scanf(“%d”,&a[m]);
  for (m=0;m<=11;m++)
  for(n=0;n<11-m;n++)
  if(a[n]>a[n+1])
  {   p=a[n];   a[n]=a[n+1];    a[n+1]=p;   }
  for (m=0;m<=11;m++)
  printf(“%d”,a[m]);                  }
  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.编程实现将文本文件file1.dat中的内容复制到文本文件file2.dat中去
  main()
  {  char ch;
  FILE *fp1,*fp2;
  Fp1=fopen(“file1.dat”, “r”);
  Fp2=fopen(“file2.dat”, “w”);
  Ch=fgetc(fp1);
  While(ch!=EOF)
  {   fputc(ch,fp2);
  Ch=fgetc(fp1);  }
  Fclose(fp1);
  Fclose(fp2);                 }
  六、附加题
  p=H;K=0;
  While(p!=NULL && k<i-1)
  {   p=p->next;
  k++;           }
  if(p==NULL  &&  H!=NULL)   printf(“this is invilid”);
  else
  {  q=(Struct Linklist *)malloc(sizeof(Struct Linklist));
  q->data=x; q->data=x;
  q->next=p->next;
  p->next=q;            }
广告合作:400-664-0084 全国热线:400-664-0084
Copyright 2010 - 2017 www.my8848.com 珠峰网 粤ICP备15066211号
珠峰网 版权所有 All Rights Reserved