当前所在位置:珠峰网资料 >> 计算机 >> 计算机等级考试 >> 正文
2015年全国计算机等级二级C语言模拟试题及答案(7)
发布时间:2010/11/4 10:34:20 来源:城市学习网 编辑:ziteng
  一、填空题
  1.在C语言程序设计中,正确的标识符是由____________________组成的。
  2. 设x=4,y=(++x)+(++x);那么y的值为_____,表达式执行后,变量x的值为_______。
  3.一个变量的指针是指_____________________________________________。
  4.能够构成一个数组,其元素满足的特点是__________________________________;
  那么,构成结构体的成员可以是_________________________________________。
  5.下面运算符  <  %  ++  =  按照优先级从高到低排列顺序为______________。
  6.C程序设计中语句后的符号 /*……*/ 所起作用是_________________________。
  7.写出下面表达式的值
  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    _____________________
  二、选择题
  ⑴.在使用TurboC2.0环境编辑程序时,运行某程序使用的菜单项为(         )
  A.FILE
  B.RUN
  C.EDIT
  D.OPTION
  ⑵.下列语句不具有赋值功能的是(                                       )
  A.a*=b
  B.x=1
  C.a+b
  D.a++
  ⑶.C语言程序中,当出现条件分支语句if~else时, else与( )组成配对关系
  A.同一复合语句内部的if
  B.在其之前任意的if
  C.在其之前未配对的最近的if
  D.首行位置相同的if
  ⑷.下列数组定义方式不正确的语句是(                               )
  A.char    x[5];
  B.char   y[]={‘h’, ‘e’, ‘l’, ‘l’, ‘o’};
  C. int    x[10]={12,13,14,15};
  D.int     y[];
  ⑸. 若有如下定义和语句,且0<=i<5,下面(    )是对数值为3数组元素的引用
  int   a[]={1,2,3,4,5},*p,i;
  p=a;
  A. *(a+2)
  B.a[p-3]
  C.p+2
  D.a+3
  ⑹. 下列(                                           )表达式的值为真
  a=5;     b=8;    c=10;   d=0
  A.a*2>8+2
  B.a&&d
  C. (a*2-c)||d
  D.a-b<c*d
  ⑺. 下列字符数组长度为5的是(                                 )
  A.  char    a[]={‘h’, ‘a’, ‘b’, ‘c’, ‘d’};
  B.  char    b[]= {‘h’, ‘a’, ‘b’, ‘c’, ‘d’, ‘\0’};
  C.  char    c[10]= {‘h’, ‘a’, ‘b’, ‘c’, ‘d’};
  D.  char    d[6]= {‘h’, ‘a’, ‘b’, ‘c’, ‘\0’ }
  ⑻.  执行下列程序后,其结果为(                                         )
  int   a[]={2,4,6,8,10,12}; *p;
  p=a;
  *(p+4) =2;
  printf(“%d,%d\n”,*p,*(p+4));
  A.0,10
  B.0,2
  C.2,10
  D.2,2
  ⑼.  有下列结构体,对该结构体变量stu的成员项引用不正确的是(          )
  struct   student
  {     int   m;
  float   n;
  } stu ,*p;
  A. stu.n
  B.p->m
  C.(*p).m
  D.p.stu.n
  ⑽.下列函数中不能用于对文件进行输入输出操作的是(                     )
  A.fscanf( )
  B.printf( )
  C.fgetc( )
  D.  fputs( ) [NextPage]   三、判断题
  1.C语言程序设计可以对计算机硬件进行操作。                    (       )
  2.在循环过程中,使用break语句和continue语句的作用是一样的。   (       )
  3.在函数的定义和调用过程中,形式参数和实在参数数目可以不一致。 (       )
  4.对于某一指针变量可以接收任何类型的值。                      (       )
  5.在C语言程序设计中,不同类型的数在计算机内存中所占空间是不同的。(       )
  6.文件指针是结构体类型,可以用表示file来定义。                    (       )
  7.选择结构不可以使用嵌套形式,但是循环结构可以使用嵌套形式。      (       )
  8.在定义数组时,有时可以将该数组的维数省略。                      (       )
  9.运算符  &&   +     *  的优先级是  *  优先于  +  优先于&&。  (       )
  10.任何数组都可以实现对其进行整体操作。                          (       )
  三、程序填空题
  1.下面是实现输出九九乘法表的程序,在画线的位置填上适当的语句,使该程序完整。
  main()
  {  int  i , j , k;
  for(i=1;_____________; i++)
  {bsp;   {
  for(__________; j<=i ; j++)
  printf(“%d*%d=%d”,_______________);
  printf(________________);
  }
  }
  2.设计一个自定义函数,实现如下功能:求两个数的平方和,并且返回该和。
  自定义函数如下:
  int  max(x,y)
  {
  }
  3.设有如下面的结构体,请用C语言的语句定义出正确的结构体形式:
  学生信息:包括(姓名,性别,年龄,分数:根据合适情况选择各项类型)
  struct   student
  {
  }
  4. 根据给出的程序段,请写出正确的结果
  x=1 ;  p=1 , sum=0 ;
  for (x=1 ; x<=5 ; x++)
  {    p=p*x;
  sum=sum+p ;                }
  上面的程序段实现的功能是计算下面的式子_______________________________ ;
  其运行结果为_________________________________________________________。
  五、阅读程序,写出下列程序段的结果
  1.   int *p,i;
  i=100;
  p=&i;
  i=*p+10;     执行完上面的语句段后, i的值是______
  2.   int A,B,C,m=1,n=0;
  A=(--m=n++)?- -m:++n;
  B=++m;
  C=n--;
  执行完上面的语句段后,A的值为______B的值为______C的值为______
  3.  main()
  {  int  c1=10,c2=10;
  printf(“c1=%d,c2=%d \n c1=%d”,++c1,c2++,c1--);
  }
  该程序的运行结果是_______________________________________________。
  4.main()
  {  int i;
  for(i=3;i<10;i++)
  {    if(i%4==0)
  continue;
  else
  printf(“%d,”,i);
  }                                 }
  该程序输出的结果是  _______________________________________
  5. main()
  {  int x;
  x=3;
  do
  {  printf(“%d”,x--);
  }while(!x);                   }
  该程序运行的结果是___________________________________________________________
  六、编程题
  1.编程实现:从键盘上接收10个整数,并对其进行排序(要求排成升序)。
  2.编程实现求下面的式子的结果
  3.编程实现将文本文件file1.dat中的内容复制到文本文件file2.dat中去,同时将小写字母转换成大写字母。
 [NextPage]   参考答案
  一、填空题
  1.字母、数字、下划线
  2. 12,6
  3.该变量的地址
  4.同一类型;不同类型
  5. ++  %  <  =   6.注释
  6.3,   1,    1,   6    1    2
  二、选择题
  ⑴.B
  ⑵.C
  ⑶. C
  ⑷. C
  ⑸.   A
  ⑹.D
  ⑺. A
  ⑻.  D
  ⑼. D
  ⑽.B
  三、判断题
  1.对 2.不对 3.不对 4.不对  5.对
  6.不对  7.不对  8.对 9.对 10.不对
  四、程序填空题
  1.i<=9   j=1   i , j , i*j    “\n”
  2   2   2.int  max(x,y)
  int  x,y;sp; int  x,y;
  {   int  z;
  z=x*x+y*y;
  return(z);               }
  3. struct   student
  {    char  xm [10];
  char  sex;
  int  age;
  float  score;           }
  4. 1!+2!+3!+4!+5!   1+2+6+24+120=153
  五、阅读程序,写出下列程序段的结果
  1.  110
  2.  –1  0  1
  3.  c1=10   ,c2=10
  c1=10
  4.3,5,6,7,9
  5. 3
  六、编程题
  1.main()
  {    int  a[10];
  int   m,n,t;
  for (m=0;m<10;m++)
  scanf(“%d”,&a[m]);
  for(m=0;m<9;m++)
  for(n=0;n<9;n++)
  if(a[n]>a[n+1])
  {   t=a[n];  a[n]=a[n+1];   a[n+1]=t;}
  for (m=0;m<10;m++)
  printf(“%d”,a[m]);
  }
  2.
  main()
  {   float   x,y;
  scanf(“%f”,&x);
  if(x>6)
  y=(x+2)/(3*x+1);
  else
  y=x*x+3*x+1;
  printf(“%f”,y);
  }
  3.main()
  {   FILE   *fp1 , *fp2;
  char  ch;
  fp1=fopen(“file1.dat”, “r”);
  fp2=fopen(“file1.dat”, “w”);
  ch=fgetc(fp1);
  while(ch!=EOF)
  {
  if(ch>=’a’ && ch<=’z’)
  ch=ch-32;
  fputc(ch,fp2); fputc(ch,fp2);
  ch=fgetc(fp1);
  }bsp;   }
  fclose(fp1);
  fclose(fp2);
  }
广告合作:400-664-0084 全国热线:400-664-0084
Copyright 2010 - 2017 www.my8848.com 珠峰网 粤ICP备15066211号
珠峰网 版权所有 All Rights Reserved