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

 1.若以下对fun函数的调用是正确的:

  x=fun(fun(a,b,c),(a+b,a+c),a+b+c);


  则fun函数的形参个数为()


  A)3 B)4 C)5 D)6


  2.若有说明:int*p, m=5; n;,以下正确的程序段是()


  A)p=&m;


  scanf("%d",&p)


  B)p=&n;


  scanf("%d",&p)


  C)scanf("%d",&p)


  p=&n;


  D)p=&n;


  p=&m;


  3.以下程序调用findmax函数返回数组中的最大值


  findmax(int*a,int n)


  { int*p,*s;


  for(p=a,s=a;p-a  if()s=p;


  return(*s);


  }


  main()


  { intx[5]={12,21,13,6,18};


  printf("%d\n",findmax(x,5));


  }考试用书


  在下划线处应填入的是()


  A)p>s B)*p>*s C)a[p]>a[s] D)p-a>p-s


  4.若指针p已正确定义,要使p指向两个连续的整型动态存储单元,则正确语句是()


  A)p=2*(int*)malloc(sizeof(int));


  B)p=(int*)calloc(2*sizeof(int));


  C)p=(int*)malloc(2* sizeof(int));


  D)p=2*(int*)calloc(sizeof(int));


  5.下列程序的输出结果是()


  main()


  {char *p1,*p2,str[50]="xyz";


  p1="abcd";


  p2="ABCD";


  strcpy(str+2,strcat(p1+2,p2+1));


  printf("%s",str);


  }


  A)xyabcAB B)abcABz C)Ababcz D)XycdBCD


  6.以下叙述中不正确的是()


  A)一个变量的作用域完全取决于变量定义语句的位置


  B)全局变量可以在函数以外的任何部位进行定义


  C)局部变量的“生存期”只限于本次函数调用,因此不可能将局部变量的运算结果保存至下一次调用


  D)一个变量说明为static存储类是为了限制其他编译单位的引用


  7.交换两个变量的值,不允许用临时变量,应该使用下列哪一个位运算符()


  A)~ B)& C)^ D)|


  8.下面的说法不正确的是()


  A)函数调用时,先求出实参表达


  B)函数调用是在程序运行时处理的,分配临时的内存单元。而宏展开则是在编译时进行的,在展开时也要分配内存单元,进行值传递


  C)对于函数中的实参和形参都要定义类型,二者的类型要求一致,而宏不存在类型问题,宏名有类型


  D)调用函数只可得到一个返回值,而用宏可以设法得到几个结果


  9.fscanf函数的正确调用形式是()


  A)fscanf(fp,格式字符串,输出表列);


  B)fscanf(格式字符串,输出表列,fp);


  C)fscanf(格式字符串,文件指针,输出表列);


  D)fscanf(文件指针,格式字符串,输入表列);


  10.以下程序的运行结果是()


  # define MAX 10


  int a[MAX],i;


  main()


  { printf("\n");sub1();sub3(a);sub2();sub3(a);


  }


  sub2()


  { int a[MAX],i,max;


  max=5;


  for(i=0;i  }


  sub1()


  {for(i=0;i  }


  sub3(int a[])


  { int i;


  for(i=0;i  printf("\n");


  }


  A)0 2 4 6 8 10 12 14 16 18


  0 1 2 3 4


  B)0 1 2 3 4


  0 2 4 6 8 10 12 14 16 18


  C)0 1 2 3 4 5 6 7 8 9


  0 1 2 3 4


  D)0 2 4 6 8 10 12 14 16 18


  0 2 4 6 8 10 12 14 16 18


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

就业数据资源平台