东华理工学院—学年第学期期考试试题()卷9.若用数组名作为函数调用的实参,传递给形参的是()A数组的首地址B数组元素的个数C数组中全部元素的值D数组第一个元素的值10.请读程序:#defineADD(x)x+xmain(){intm=2,n=3,k=4;intsum=ADD(m+n)*k;printf(“sum=%d”,sum);}上面程序的运行结果是()Asum=40Bsum=25Csum=20Dsum=1911.下面程序段的运行结果是()charstr[]=“ABC”,*p=str;printf(“%d\n”,*(p+3));A0B字符’C’C字符’C’的地址D6712.若有以下定义,则对a数组元素的正确引用是()inta[5],*p=a;A*(p+5)Ba+2C*&a[5]D*(a+2)13.以下程序的运行结果是()#include“stdio.h”main(){structdate{intyear,month,day;}today;printf(“%d\n”,sizeof(structdate));}A6B8C10D1214.表达式0x13|0x17的值是()A0x13B0x17C0xf8D0xec15.以下可作为函数fopen中第一个参数的正确格式是()Ac:user\text.txtBc:\user\text.txtC“c:\user\text.txt”D“c:\\user\\text.txt”二、填空题(每小题2分,共30分)1.若有定义:intb=6;floata=5.5,c=2.7;则下面表达式的值为________。a+(int)(b/3*(int)(a+c)/2)%42.以下程序的输出结果为_______________。main(){printf(“*%4.3f,%f*\n”,3.1415,3.14);}一、选择题(每小题2分,共30分)1.一个C程序的执行是从()A本程序的main函数开始,到本程序文件的最后一个函数结束B本程序文件的第一个函数开始,到本程序文件的最后一个函数结束C本程序文件的第一个函数开始,到本程序main函数结束D本程序的main函数开始,到main函数结束2.若x,i,j,和k都是int型变量,则计算下面表达式后,x的值为()x=(i=6,j=18,k=20)A6B18C20D443.已知ch是字符型变量,下面不正确的赋值语句是()Ach=’c’;Bch=’\018’;Cch=’5’+’9’;Dch=5+9;4.以下程序的运行结果是()mian(){intm=5;if(m++5)printf(“%d\n”,m);elseprintf(“%d\n”,m--);}A7B6C5D45.下面程序段的运行结果是()intn=0;while(n++=3);printf(“%d”,n);A3B4C5D有语法错误6.若有说明:inta[][3]={0,1,2,3,4,5,6,7,8,9};则a数组第一维的大小是()A2B3C4D无确定值7.判断字符串a和b是否相等,应当使用()Aif(strcmp(a,b))Bif(strcpy(a,b))Cif(a==b)Dif(a=b)8.以下正确的函数形式是()Adoublefun(intx,inty)Bfun(intx,y){z=x+y;returnz;}{intz;returnz;}Cfun(x,y)Ddoublefun(intx,inty){intx,y;doublez;{doublez;z=x+y;returnz;}z=x+y;returnz;}说明:1.试题须用碳素墨水钢笔集中填在方格内,答题纸另附并装订于后,字迹须工整清晰;2.试题须经教研室或系(部)领导认真审核并签署本人代号;3.学生只须在第一页试题纸上填写姓名等东华理工学院—学年第学期期考试试题()卷10.若有以下定义和语句:inta[4]={1,2,3,4},*p;p=&a[1];则++(*p)的值是___________。11.下面程序段的运行结果是_____________。charstr[]=“abc\0def\0ghi”,*p=str;printf(“%s”,p+4);12.若有定义:structnum{inta;intb;floatf;}n={1,3,5.0};structnum*pn=&n;则表达式pn-b/n.a*++pn-b的值是________________,表达式(*pn).a+pn-f的值是______________。13.若有如下定义:uniondata{inti;charch;doublef,g;}b;则b占用内存的字节数是__________。14.若a=6,b=4,c=3,则表达式a&b+c|b-c的值为_____________。15.打开文件使用的函数是____________。三、程序填空题(每空3分,共21分)1.用递归法计算学生的年龄,递归公式如下,请填空。)1(3)1()1(10)(nnagennage#includestdio.hage(intn){intc;if(n==1)c=10;elsec=___________________;return(c);}main(){intn=5;3.已知A=5.5,B=3,C=4.6,表达式AB&&CA||AB&&!CB的值是___________。4.执行下面程序段后,k值是____________。k=1;n=362;do{k*=n%10;n/=10;}while(n);5.字符串“ab\n\012\\\””的长度是______________。6.下面程序段的运行结果是_____________。charx[]=“thestudents”;i=0;while(x[++i]!=’\0’)if(x[i-1]==’t’)printf(“%c”,x[i]);7.以下程序的运行结果是______________。inta=3,b=5;max(inta,intb){intc;c=ab?a:b;return(c);}main(){inta=7;printf(“%d”,max(a,b));}8.下面程序的运行结果是________________。main(){inti=6;printf(“%d\n”,sub(i));}sub(intn){inta;if(n==1)return1;a=n+sub(n-1);return(a);}9.设有以下宏定义:#defineWIDTH100#defineLENGTH(WIDTH+50)则执行赋值语句:k=LENGTH*20;(k为int型变量)后,k的值是_____________。说明:1.试题须用碳素墨水钢笔集中填在方格内,答题纸另附并装订于后,字迹须工整清晰;2.试题须经教研室或系(部)领导认真审核并签署本人代号;3.学生只须在第一页试题纸上填写姓名等东华理工学院—学年第学期期考试试题()卷_________________;}}四、编程题(共19分)1.(6分)有一函数:)10(112)101(13)1(xxxxxxy写一程序,输入x,输出y值。2.(6分)写一函数,使给定的一个二维数组(4×4)转置,即行列互换。3.(7分)用选择法对5个整数排序(从大到小),用指针处理。printf(“age:%d\n”,______________);}2.下面程序的功能是将十进制正整数转换成十六进制,请填空。#includestdio.h#includestring.hmian(){inta,i;chars[20];printf(“Inputa:\n”);scanf(“%d”,&a);c10_16(s,a);for(i=___________;i=0;i--)printf(“%c”,*(s+i));printf(“\n”);}c10_16(char*p,intb){intj;while(b0){j=b%16;if(______________)*p=j+48;else*p=j+55;b=b/16;________________;}*p=’\0’;}3.以下程序是求矩阵a,b的和,结果存入矩阵c中并按矩阵形式输出,请填空。main(){inta[3][4]={{3,-2,7,5},{1,0,4.-3},{6,8,0,2}};intb[3][4]={{-2,0,1,4},{5,-1,7.6},{6,8,0,2}};inti,j,c[3][4];for(i=0;i3;i++)for(j=0;j4;j++)c[i][j]=_______________________;for(i=0;i3;i++){for(j=0;j4;j++)printf(“%3d”,c[i][j]);说明:1.试题须用碳素墨水钢笔集中填在方格内,答题纸另附并装订于后,字迹须工整清晰;2.试题须经教研室或系(部)领导认真审核并签署本人代号;3.学生只须在第一页试题纸上填写姓名等