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

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

2008-11-14 
C语言笔试练习题

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

    1.若有如下程序:
  main()
  {chara[]="china\0name\0";
  printf("%d,",strlen(a));
  printf("%d\n",sizeof(a));}
  则程序运行后的输出结果是()
  A)5,11
  B)5,12
  C)11,11
  D)12,12

  2.指针变量p的基类型为int,并已指向一连续存储区,若p中当前的地址值为1234,则执行p++后,p中的值为()
  A)1234
  B)1235
  C)1236
  D)1237

  3.函数调用“strcat(strcpy(str1,str2),str3)”的功能是()
  A)将串str1拷贝到串str2中后再连接到串str3之后
  B)将串str1连接到串str2之后再拷贝到串str3之后
  C)将串str2拷贝到串str1中后再将串str3连接到串str1之后
  D)将串str2连接到串str1之后再将串str1拷贝到串str3中

  4.下面宏定义正确的是()
  A)#defineSa*b
  B)#definePI3.14;
  C)#definemax(a,b) ((a)>(b)?(a)∶(b))
  D)#defines(x)(x)*(x);

  5.下面叙述正确的是()
  A)函数调用不可以出现在表达式中
  B)函数调用可以作为一个函数的实参
  C)函数调用可以作为一个函数的形参
  D)函数不可以直接调用其本身

  6.有如下程序
  #include
  main()
  {int v1=0,v2=0;
  char ch;
  while ((ch=getchar())!='#')
  switch(ch)
  {case ′a′:
  case ′h′:
  default:v1++;
  case ′0′: v2++;
  }
  printf("%d,%d\n",v1,v2);
  }
  如果从键盘上输入china#<回车>,则程序运行结果为()
  A)2,0
  B)5,0
  C)5,5
  D)2,5

  7.程序中头文件type1.h的内容是:
  #defineN5
  #defineM1N*3
  程序如下:
  #include"type1.h"
  #defineM2N*2
  main()
  {inti;
  i=M1+M2;printf("%d\n",i);}
  程序编译运行后的输出结果是()
  A)10
  B)20
  C)25
  D)30

  8.C语言规定函数返回值的类型由()
  A)在定义时所指定的函数类型所决定
  B)调用该函数时的主调函数类型所决定
  C)return语句中的表达式类型所决定
  D)调用该函数时系统临时决定

  9.若有如下程序:
  main()
  {int a[3][4]={1,2,3,4,5,6,7,8,9};
  printf("%d%d%d\n",a[0][1],a[1][2],a[2][3]);}
  则程序运行后的输出结果是()
  A)270
  B)480
  C)160
  D)不定值

  10.以下能将字符串:youareluck!正确读入的语句组是()
  A)chars[80];scanf("%s",s);
  B)char*s;scanf("%s",s);
  C)chars[80];gets(s);
  D)char*s;gets(s);

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

        11.执行下面的程序段
  int x=40;
  char z=′B′;
  int B;
  B=((x&0xff)&&(z>′a′));
  后,B的值为()
  A)0
  B)1
  C)2
  D)3

  12.已知下列函数定义
  setw(int *b,int m,int n,int dat)
  { int k;
  for(k=0;k  {*b=dat;b++;}
  }
  则调用此函数的正确写法是(假设变量a的说明为int a[50])()
  A)setw(*a,5,8,1);
  B)setw(&a,5,8,1);
  C)setw((int*)a,5,8,1);
  D)setw(a,5,8,1);

  13.若有以下定义和语句:
  double r=99, *p=7;
  *p=r;
  则以下正确的叙述是()
  A)两处的*p含义相同,都说明给指针变量p赋值3
  B)在“double r=99, *p=7; *p=r;”中,把r的地址赋给了p所指的存储单元
  C)语句“*p=r;”把变量r的值赋给指针变量p
  D)语句“*p=r;”把变量r的值放回p中

  14.设有char str[10],下列语句正确的是()
  A)scanf("%s",&str);
  B)printf("%c",str);
  C)printf("%s",str[0]);
  D)printf("%s",str);

  15.下列描述说明正确的是()
  A)定义结构体时,它的每个成员的数据类型可以不同
  B)不同结构体的成员名不能相同
  C)结构体定义时,其成员的数据类型不能是结构体本身
  D)结构体定义时各成员项之间可用分号也可用逗号隔开

  16.以下函数的功能是()
  intfun(char *a)
  { char*b=a;
  while(*b)b++;
  {return b-a; }
  }
  A)比较两个字符串的大小B)字符串的复制
  C)计算字符串的长度D)字符串的连接

  17.若有如下程序:
  #define X3
  #define YX+1
  #define ZY*Y/2
  main()
  { intn;
  for(n=1;n<=Z;n++)printf("%d",n);}
  则程序运行后的输出结果是()
  A)12345
  B)1234567
  C)12345678
  D)123456

  18.以下叙述中错误的是()
  A)局部变量的定义可以在函数体和复合语句的内部
  B)全局变量的定义可以在函数以外的任何部位
  C)同一程序内局部变量和全局变量不允许同名
  D)函数的形参属于局部变量

  19.以下叙述中错误的是()
  A)二进制文件打开后可以先读文件的末尾,而顺序文件不可以
  B)在程序结束时,应当用fclose函数关闭已打开的文件
  C)在利用fread函数从二进制文件中读数据时,可以用数组名给数组中所有元素读入数据
  D)不可以用FILE定义指向二进制文件的文件指针

  20.若fp是指向某文件的指针,且已读到此文件末尾,则库函数feof(fp)的返回值是()
  A)EOF
  B)0
  C)非零值
  D)NULL

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

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

热点排行