首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 计算机考试 > 等级考试 > 复习指导 >

09年4月全国计算机等级二级C语言笔试练习(6)

2008-11-15 
二级C语言笔试练习题

    特意为大家整理的09年4月全国计算机等级二级C语言考前练习,希望对大家的备考有好的帮助!

1.打开一个已经存在的非空文本文件,若文件名为stu,则正确的打开语句为()
  A)FILE *fp;
  fp=fopen("stu.txt","r")
  B)FILE *fp;
  fp=fopen(stu.txt,r)
  C)FILE *fp;
  fp=fopen("stu.txt","wb")
  D)FILE *fp;
  fp=fopen("stu.txt",wb)

  2.设有如下程序:
  char sub(char *q)
  { while(*q!=′\0′)
  {if(*q>=′A′&&*q<=′Z′) *q=*q+32;
  elseif(*q>=′a′&&*q<=′z′) *q=*q-32;
  printf("%c",*q);
  q++;}}
  main()
  {char *s="abcABC";
  sub(s);}
  则程序运行后的输出结果是()
  A)ABCabc
  B)abcABC
  C)abcabc
  D)ABCABC

  3.在下列语句中,正确的是()
  A)static char str[]="China";
  B)static char str[];str="China";
  C)static char str1[5],str2[]={"China"};str1=str2;
  D)static char str1[],str2[];str2={"China"};strcpy(str1,str2);

  4.若在fopen函数中使用文件的方式是"wb+",该方式的含义是()
  A)为读/写打开一个文本文件
  B)为输出打开一个文本文件
  C)为读/写建立一个新的文本文件
  D)为读/写建立一个新的二进制文件

  5.以下关于宏与函数的叙述中正确的是()
  A)使用函数或宏命令对C的源程序都没有影响
  B)函数具有类型,宏不具有类型
  C)函数调用和带参的宏调用都是将实参的值传给形参
  D)使用函数比使用宏运行速度快

  6.有以下程序:
  intx=1,y=2;
  void fun1()
  {x=3;y=4;}
  void fun2(intx,inty)
  {printf("%d,%d,\n",x,y);}
  main()
  {fun1();
  printf("%d,%d,"x,y);
  fun2(5,6);
  }
  程序的运行结果是()
  A)1,2,3,4
  B)1,2,5,6
  C)3,4,5,6
  D)3,4,1,2

  7.若有如下调用函数:
  int sub(int *t)
  { return(t);}
  该函数的返回值是()
  A)形参t中存放实参变量的地址值
  B)形参t自身的地址值
  C)指针变量t所指的实参变量的值
  D)随机的值

  8.下面程序的输出结果是()
  #define PI3.1415
  #define ARE(x)PI*x*x
  main ()
  { int r=2;
  printf ("%f",ARE (r+1));
  }
  A)28.26
  B)28.260000
  C)9.28
  D)9.280000

  9.以下程序的输出结果是()
  main()
  {
  int a=2, k;
  for (k=0; k<3; k++) printf ("M",f1(a));
  }
  f1(int a)
  {
  int b=0; static int c=3;
  b++;c++;
  return (a+b+c); }
  A)7 7 7
  B)7 10 13
  C)7 9 11
  D)7 8 9

  10.在下面关于指针的说法中,错误的一条是()
  A)变量的指针就是变量的地址
  B)可以将一个整型量或任何其他非地址类型的数据赋给一个指针变量
  C)一个指针变量只能指向同一个类型的变量
  D)指针变量中只能存放地址(指针)

  答案:
  1.A 2.A 3.A 4.D 5.B 6.C 7.A 8.D 9.D 10.B


        11.sizeof(double)是()
  A)一种函数调用
  B)一个双精度型表达式
  C)一个整型表达式
  D)一个不合法的表达式

  12.以下选项中错误的是()
  A)char*sp;gets(sp);
  B)charsp[5];gets(sp);
  C)char *sp="12345";gets(sp);
  D)char sp[5]="\0";gets(sp);

  13.在宏定义#define PI 3.14159中,用宏名PI代替一个()
  A)单精度数
  B)双精度数
  C)常量
  D)字符串

  14.设有如下定义:
  char *aa[2]={"abcd","ABCD"};
  则以下说法中正确的是()
  A)aa数组元素的值分别是"abcd"和"ABCD"
  B)aa是指针变量,它指向含有两个数组元素的字符型一维数组
  C)aa数组的两个元素分别存放的是含有4个字符的一维字符数组的首地址
  D)aa数组的两个元素中各自存放了字符′a′和′A′的地址

  15.有以下程序:
  #include<stdlib.h>
  void fun(int*s,int**d)
  {**d=*(s+2);}
  main()
  { inta[]={1,2,3,4,5},*b;
  b=(int*)malloc(sizeof(int));
  fun(a,&b);
  printf("%d\n",*b+1);
  }
  程序的输出结果是()
  A)2
  B)3
  C)4
  D)5

  16.若有如下程序:
  sub(int x)
  {int y=0;static int z=1;
  y+=x+2;z+=y+x;
  return(z);}
  main()
  {int t=1,n;
  for(n=0;n<3;n++)printf("%d,",sub(t));}
  则程序运行后的输出结果是()
  A)5,5,5
  B)5,9,13,
  C)5,7,9,
  D)5,8,11,

  17.若有如下定义和声明:
  structs
  { int m;char ch;double x;
  union t {char a[6];int b[3];} tt;} ss;
  则sizeof(struct s)的值是()
  A)6
  B)14
  C)17
  D)20

  18.以下选项中的表达式调用库函数依次求-4.5的绝对值、-4.0的平方根值、30°角的正弦值和2的3次方值。正确的调用是()
  A)abs(-4.5)
  B)sqrt(-4.0)
  C)sin(3.1416/6.0)
  D)paw(2.0,3.0)

  19.若有如下程序:
  #definePI3.1415926
  #defineA(r)2*PI*r
  main()
  {floata,l;
  a=3.0;
  l=A(a);
  printf("r=%.2f,l=%.2f\n",a,l);}
  则程序运行后的输出结果是()
  A)r=3.00l=18.85
  B)3.00,18.85
  C)r=3.000000l=18.8495555
  D)r=3.0 l=18.8495555

  20.若有如下程序:
  #include"stdio.h"
  voidmain()
  {FILE*fp;
  fp=fopen("test","wb")
  fprintf(fp,"%d%.1f,%c%c",5,238.41,′B′,′h′);
  fclose(fp);}
  则程序运行后向文件输出的结果是()
  A)5 238.41
  B hB)5238.4,Bh
  C)5,238.4,B,h
  D)5238.41Bh

  答案:1.C 2.A 3.D 4.C 5.C 6.B 7.C 8.C 9.A 10.B

3COME考试频道为您精心整理,希望对您有所帮助,更多信息在http://www.reader8.com/exam/

热点排行