如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
计算机二级C语言考试试题及答案计算机二级C语言考试试题及答案1.若以下对fun函数的调用是正确的:x=fun(fun(a,b,c),(a+b,a+c),a+b+c);则fun函数的形参个数为()A)3B)4C)5D)62.若有说明: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,intn){int*p,*s;for(p=a,s=a;p-aif()s=p;return(*s);}main(){intx[5]={12,21,13,6,18};printf("%d\n",findmax(x,5));}在下划线处应填入的是()A)p>sB)*p>*sC)a[p]>a[s]D)p-a>p-s4.若指针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)xyabcABB)abcABzC)AbabczD)XycdBCD6.以下叙述中不正确的是()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.以下程序的运行结果是()#defineMAX10inta[MAX],i;main(){printf("\n");sub1();sub3(a);sub2();sub3(a);}sub2(){inta[MAX],i,max;max=5;for(i=0;i}sub1(){for(i=0;i}sub3(inta[]){inti;for(i=0;iprintf("\n");}A)02468101214161801234B)01234024681012141618C)012345678901234D)024681012141618024681012141618答案:1.A2.D3.B4.C5.D6.B7.C8.B9.D10.D