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

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

2008-11-16 
C语言笔试练习

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

    1.若有如下程序:
  void s(char *m,int n)
  {*m=*m+3;n=n+3;
  printf("%c,%c,",*m,n);}
  main()
  {char p=′b′,q=′B′;
  s(&q,p);
  printf("%c,%c\n",p,q);}
  则程序运行后的输出结果是()
  A)E,e,b,E
  B)e,E,b,F
  C)E,e,e,E
  D)e,E,b,E

  2.在C语言的函数中()
  A)必须有形参
  B)形参必须是变量名
  C)可以有也可以没有形参
  D)数组名不参与形参

  3.若有如下程序:
  sub(int *t,int n)
  {int *p1,*p2;
  for(p1=t,p2=t;p1-t<n;p1++)
  if(*p1<*p2)p2=p1;
  return(*p2); }
  main()
  {int a[9]={9,36,19,39,26,5,6,33,15};
  printf("%d\n",sub(a,9)); }
  则程序运行后的输出结果是()
  A)5
  B)9
  C)15
  D)39

  4.在表示C语言的整型变量时,表示“无符号整型”的符号是()
  A)unsigned int
  B)unsigned short
  C)long int
  D)unsigned long

  5.以下程序段给数组所有的元素输入数据,请选择正确答案填入。()
  #include<stdio.h>
  main()
  { int a[10],i=0;
  while(i<10) scanf("%d",);
  …
  }
  A)a+(i++)
  B)&a[i+1]
  C)a+i
  D)&a[i++]

  6.若输入60和13,以下程序的输出结果为()
  #define SURPLUS(a,b)((a)%(b))
  main()
  { int a,b;
  scanf("%d,%d",&a,&b);
  printf("\n",SURPLUS(a,b));
  }
  A)60
  B)13
  C)73
  D)8

  7.在下列叙述中,正确的一条是()
  A)语句int *pt中的*pt是指针变量名
  B)语句“int *p=a;”等价于“int *p;p=&a[0];”
  C)运算符*和&都是取变量地址的运算符
  D)已知指针变量p指向变量a,则&a和*p值相同,都是变量a的值

  8.设有定义:#defineSTR"12345";,则以下叙述中正确的是()
  A)宏名STR代替的是数值常量12345
  B)宏定义以分号结束,编译时一定会产生错误信息
  C)宏名STR代替的是字符串"12345";
  D)宏名STR代替的是字符串常量"12345"

  9.fprintf函数的一般调用方式是()
  A)fprintf(格式字符串,文件指针,输出表列);
  B)fprintf(文件指针,格式字符串,输出表列)
  C)fprintf(文件指针,格式字符串,输出表列);
  D)fprintf(fp,格式字符串,输出表列);

  10.函数调用语句:fseek(fp,-20L,SEEK_END);的含义是()
  A)将文件位置指针移到距离文件头20个字节处
  B)将文件位置指针从当前位置向后移动20个字节
  C)将文件位置指针从文件末尾处向后退20个字节
  D)将文件位置指针移到离当前位置20个字节处

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

        11.下面程序的输出结果是()
  func (int x)
  { static int a=2;
  return (a+=x); }
  main()
  { int b=2, c=4, d;
  d=func (b);
  d=func (c);
  printf("%d\n",d); }
  A)4
  B)6
  C)8
  D)12

  12.以下程序运行后的输出结果是()
  main()
  { chars[]="1234",*ps;
  for(ps=s;ps<s+3;ps++) printf("%c",ps);
  printf("\n");
  }
  A)123
  B)112123
  C)1234
  D)乱码

  13.以下关于宏的叙述中正确的是()
  A)宏名必须用大写字母表示
  B)宏替换时要进行语法检查
  C)宏替换不占用运行时间
  D)宏定义中不允许引用已有的宏名

  14.如果文件1包含文件2,文件2中要用到文件3的内容,而文件3中要用到文件4的内容,则可在文件1中用三个#include命令分别包含文件2、文件3和文件4。在下列关于这几个文件包含顺序的叙述中,正确的一条是()
  A)文件4应出现在文件3之前,文件3应出现在文件2之前
  B)文件2应出现在文件3之前,文件3应出现在文件4之前
  C)文件3应出现在文件2之前,文件2应出现在文件4之前
  D)出现的先后顺序可以任意

  15.有以下程序段
  main()
  { char a[7]="abcdef";
  char b[4]="ABC";
  strcpy(a,b);
  printf("%c",a[5]);
  }
  程序段运行后的输出结果是()
  A)a
  B)\0
  C)e
  D)f

  16.下面程序的输出结果是()
  # include<stdio.h>
  f (b,n)
  int b[], n;
  { int i, r;
  r=1;
  for (i=0; i<=n; i++)
  r=r*b[i];
  return r;
  }
  main ()
  { int x, a[]={2,3,4,5,6,7,8,9};
  x=f(a,3);
  printf("%d\n",x);
  }
  A)720
  B)120
  C)24
  D)6

  17.下面程序的输出结果是()
  # include"stdio.h"
  fun (x)
  intx;
  {
  int y=0;
  static int z=5;
  z=x++,y++;
  return (z);
  }
  main ()
  {
  int a=4, i, j;
  for(i=0; i<2; i++)
  j=fun (a++);
  printf ("%d",j);
  }
  A)0
  B)3
  C)4
  D)5

  18.对于以下程序段,设a和q都是整型变量,
  …
  a=q;
  Loop∶if(a==0)goto End;
  Else if(a>0){printf("&");a--;goto Loop;}
  Else goto End;
  End;
  …
  不能与上面程序等价的是()
  A)a=q;
  do
  {f(a<0)break;
  a--;printf("*");
  }while(a);
  B)a=q;
  for(;a>0;a--)printf("&");
  C)a=q;
  while(a)
  { printf("&");a--;}
  D)for(a=q;a>0;--a,printf("*"));

  19.有以下程序
  #include<stdio.h>
  #define PT 5.5
  #define S(x) PT*x*x
  main()
  {int a=1,b=2;
  printf("%4.1f\n",S(a+b));
  }
  程序运行后的输出结果是()
  A) 49.5
  B) 9.5
  C) 22.0
  D) 45.0

  20.设有以下语句:
  structSS
  {intno;charname[10];}PERSON;
  则下面叙述中错误的是()
  A)struct是结构体类型的关键字
  B)struct SS是结构体类型
  C)PERSON是结构体类型名
  D)name是结构体成员名

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

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

热点排行