?一、选择题(单选,每题2分,共20分)1.已知intx=1,y=2,z=3;则z+=x>y?++x:++y的值是(D)A,2B,4C,3D,62.已知inta[]={10,9,8,7,6},*p=a;则*(p+1)*(p+2)[2]的值是(C)A,72B,80C,54D,有语法错误3.已知inti,j;表达式(j=i=5,i=j<=5+i>=3<=5)的值是(A)A,1B,5C,3D,04.从计算机所用资源(时间和空间)角度分析,宏与函数的主要区别是(B)A,宏的使用节省了存储空间,函数消耗了时间;B,宏的使用耗费了存储空间,函数消耗了时间;C,宏的使用耗费了存储空间,函数节省了时间;D,宏的使一、选择题(单选,每题2分,共20分)1.已知intx=1,y=2,z=3;则z+=x>y?++x:++y的值是(D)A,2B,4C,3D,62.已知inta[]={10,9,8,7,6},*p=a;则*(p+1)*(p+2)[2]的值是(C)A,72B,80C,54D,有语法错误3.已知inti,j;表达式(j=i=5,i=j<=5+i>=3<=5)的值是(A)A,1B,5C,3D,04.从计算机所用资源(时间和空间)角度分析,宏与函数的主要区别是(B)A,宏的使用节省了存储空间,函数消耗了时间;B,宏的使用耗费了存储空间,函数消耗了时间;C,宏的使用耗费了存储空间,函数节省了时间;D,宏的使用节省了存储空间,函数节省了时间;5.一维指针数组名作为实参,若有以下说明:int*p[5];....sub(p);则sub函数中对应的形参可以是(D)A.sub(int*p[5]);B.sub(int*p[]);C.sub(int**p);D.以上答案都正确。6.C语言函数中的形参和在函数中定义的变量,都是在调用该函数时系统会给他们分配存储空间,在函数调用结束时就释放他们所占的空间,该说法(A)A错误B正确7.若有以下说明:union{intn[3];charch;floatf;}a;如果a.n[0]的地址为:158,则a.ch和a.f的地址分别为(A)A158,158B164,165C159,160D170,1718.程序的3种基本控制结构是(C)A顺序,转移,选择;B选择,I/O,递归;C重复,选择,顺序;D重复,递归,子程序。9.程序段:scanf(“%d%d”,&a,&b);c=5*a+b;if(c==0)a=1;elsea=1/c+1/b;保证该程序段运行不出错的必要条件是(C)Ab>0Ba>0&&b>0Cb!=0Dc!=0&&b!=010.在进行文件操作时,写文件的一般含义是(B)A将磁盘中的信息存入计算机CPU;B将计算机内存中的信息存入磁盘;C将计算机CPU中的信息存入磁盘;D将磁盘中的信息存入计算机内存。二、按要求完成下列各题(共50分)1.写出下列程序的输出结果(5分)inta=1;main(){inta;for(a=1;a<10;a++){sub(a++);printf(“%d”,a);}}sub(inta){a=a*a;return;}答案:2468102.写出下列程序的输出结果(5分)f(intx,inty){intr;if(y==1)r=x;elser=f(x,y-1)+x;returnr;}main(){inta=6,b=5;printf(“%d”,f(a,b));}答案:363.写出下列程序的输出结果(5分)func(int*s,int*y){staticintt=3;*y=s[t];t--;}main(){inta[]={10,20,30,40},i,x=0;for(i=0;i<4;i++){func(a,&x);printf(“%d”,x);}printf(“n”);}答案:403020104.写出下列程序的输出结果(5分)intsum1(intn){intp=0,s=0,i;for(i=1;i