二级C语言:数组中比较经典的11个真题

发布时间:2011-08-29 共1页

  1.一下程序
  main()
  { char s[]="abcde";
  s+=2;
  printf("%d\n",s[0]);
  }
  答案:程序出错

  2.一下程序
  fun(int x,int y)
  { static int m=0,i=2;
  i+=m+1; m=i+x+y;return m;}
  main()
  { int j=1,m=1,k;
  k=fun(j,m); printf("%d,",k);
  k=fun(j,m); printf("%d\n",k);
  }
  答案:5,11

  3.若有定义:char*x="abcdefghi"; ,能正确运用了 strcpy函数的是:
  char y[10]; *s; strcpy(s=y+1,x+1);

  4.有以下程序执行后W结果是;
  int fun1(double a) {return a*a;}
  int fun2(double x,double y)
  { double a=0,b=0;
  a=fun1(x); b=fun1(y);return(int)(a+b);}
  main()
  { double w, w=fun2(1.1,2.0);.......}
  答案:5.0

  5.设函数的fun定义形式为:void fun(char ch,flaot x) {.....}
  则对函数fun的调用语句是: fun(32,32);

  6.已有定义char a[]="xyz",b[]={'x','y','z'};,则叙述正确的是:
  a数组的长度大于b数组长度

  7.一下叙述错误的是C)
  A.对于double类型数组,不可以直接用数组名进行整体输入或输出
  B.数组名代表的是数组所占存储区的首地址,其值不可改变
  C.当程序执行中,数组元素的下标超出所定义的下标范围时,系统将给出"下标越界"的出错信息
  D. 可以通过赋值的方式确定数组元素的个数

  8.有以下程序:
  char fun(char x,char y)
  { if (x<y) return x;
  return y; }
  main()
  { int a='9',b='8',c='7';
  printf("%c\n", fun(fun(a,b),fun(b,c)));
  }
  答案是:7

  9.若定义以下函数:
  double myadd(double a,double b)
  { return (a+b);}
  并将其放在调用语句之后,则在调用之前应对其说明,正确的说明有:
  double myadd(double,double);
  double myadd(double b,double a);
  double myadd(doubie x,double y);

  10有以下程序,执行后输出的是:
  fun( int x, inty)
  return(x+y);}
  main()
  int a=1,b=2,c=3,sum;
  sum=fun((a++,b++,a+b),c++);
  printf("%d\n",sum);}
  答案:8

  11.有以下程序结果是
  #define P 3
  F(int x)
  { return (P*x*x);}
  main()
  { printf("%d\n",F(3+5));}
  答案:192

百分百考试网 考试宝典

立即免费试用