就业数据资源平台
当前位置:首页 > C语言程序设计
2010上半年等考二级C语言笔试精选试题(7)

  1.以下程序运行后,输出结果是()


  #include


  ss(char *s)


  {char *p=s;


  while(*p)p++;


  return(p-s);


  }


  main()


  {char*a="abded";


  inti;


  i=ss(a);


  printf("%d\n",i);


  }


  A)8 B)7 C)6 D)5


  2.若有如下程序:


  int sub()


  {static int n=1;


  int x=1;


  x*=n;n++;


  return x;}


  main()


  {int n,t=1;


  for(n=1;n<6;n++)t*=sub();


  printf("%d\n",t);}


  则程序运行后的输出结果是()


  A)15 B)120 C)34560 D)-30976


  3.在C语言中,函数的隐含存储类别是()


  A)static B)auto C)extern D)register


  4.有以下程序:


  intf1(doublea)


  {returna*a; }


  intf2(doublex,doubley)


  {doublea,b;


  a=f1(x);


  b=f1(y);


  returna+b;


  }


  main()


  {doublew;


  w=f2(1.1,2.0);


  …


  }


  变量w中的值是()


  A)5.21 B)5 C)5.0 D)0.0


  5.下面被调用函数sub的函数值的类型是()


  sub(float a)


  {float b;


  b=a*a+1;


  return b;}


  A)单精度型 B)双精度型 C)空类型 D)整型


  6.若有以下定义语句:


  doublea[5];inti=0;http://www.Examw.com


  能正确给a数组元素输入数据的语句是()


  A)scanf("%lf%lf%lf%lf%lf",a);


  B)for(i=0;i<=5;i++)scanf("%lf",a+i);


  C)while(i<5)scanf("%lf",&a[i++]);


  D)while(i<5)scanf("%lf",a+i);


  7.以下程序的输出结果是()


  main()


  { charss[16]="test\0\n\"";


  printf("%d,%d\n",strlen(ss),sizeof(ss));


  }


  A)4,16 B)7,7 C)16,16 D)4,7


  8.以下说法正确的是()


  A)宏定义是C语句,所以要在行末加分号


  B)可以使用#undef命令来终止宏定义的作用域


  C)在进行宏定义时,宏定义不能层层置换


  D)对程序中用双引号括起来的字符串内的字符,与宏名相同的要进行置换


  9.以下程序的输出结果是()


  #include


  main()


  {struct stru{int a,b;


  char c[6];


  };


  printf("%d\n",sizeof(stru));


  }


  A)2 B)4 C)8 D)10


  10.若有如下定义:


  int s[3];


  则下面表达式中不能代表数组元素s[1]的地址的是()


  A)&s[1] B)&s[0]+1 C)s+1 D)s++


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

就业数据资源平台