还剩6页未读,继续阅读
文本内容:
厦门工学院2019-2020学年2019级第一学期C语言程序设计期末试卷学院班级:姓名:序号:日期:—年月—日诚信应考,考试作弊将带来严重后果!
一、选择题36分1若已定义inta[]={0123456789}*p=ai;其中ov=i=9则对a数组元素的引用不正确的是Aa[p-aB*a[i]Cp[iD**a+i2以下程序段数组所有元素输入数据,应在下划线填入的是Aa+i++Ba[i+lCa+iDa[++i]main{inta
[10]i=0;whilei10scanf〃%d〃,;3以下程序的输出结果是A3B4C1D2main{inta
[10]={l2345678910}*p=a;printf%d\n〃*p+2;}4以下程序的输出结果是A不确定的值B3C2D1main{intn
[2]={0}ijk=2;fori=0;ik;i++forj=0;ik;j++n[j]=n[i]+l;printf〃%d\n〃,n[k];5以下程序的输出结果是A17B18019D20main{inta口二{246810}y=lx*p;p=a[l];forx=0;x3;x++y+=*p+x;printf〃%d\n〃y;6以下程序的输出结果是A6B8C4D2main{inta[]={2468}*p=ai;fori=0;ia4;i++a[i]=*p++;printf〃%d\n〃,a
[2];7以下程序的输出结果是A720B120C24D6fintb[]intn{intir=l;fori=0;i=n;i++r=r*b[i];returnr;main{intxa[]={23456789};x=fa3;printf〃%d\n〃x;}8以下程序中若第一个printf语句输出的是194则第二个printf语句的输出结果是A212B204Cla4Dla6main{inta口二{1234567890}*p;P二a;printf〃%x\n〃p;printf〃%x\n〃,p+9;9以下程序的输出结果是A0987654321B4321098765C5678901234D0987651234funint*sintnlintn2{intijt;i=nl;j=n2;whileij{t=*s+i;*s+i=*s+j;*s+j=t;i++;j—;}main{inta
[10]={l234567890}i*p=a;funp03;funp49;funp09;fori=0;i10;i++printf〃%d〃,*a+i;10以下程序的输出结果是A44B22C24D46main{inta
[5]={246810}*p**k;p=a;k=p;printf〃%d〃,*P++;printf〃%d\n〃,**k;11当运行以下程序时输入三行,每行都是在第一列上开始,VCR代表Enter键;aCRbCRcdefCR则程序的输出结果是12若有定义和语句intc
[4]
[5]*cp
[5];cp=c;则对C数组元素的引用正确的是Acp+1B*cp+3C*cp+l+313若已定义inta
[4]
[3]={123456789101112}*prt
[3]=a*p=a
[0];则能够正确表示数组元素a[l]
[2]的表达式是A**prt+l
[2]B**p+5C*prt+l+2D**a+l+214若有定义和语句inta
[4]
[3]={123456789101112}*prt
[3]=a*p
[4]i;fori=0;i4;i++p[i]=a[i];则下能够正确表示a数组元素的表达式是Aa
[4][3Bp
[0][0Cprt
[2][2D*p+l
[1]15以下程序的输出结果是A23B26C33D36main{intaa
[3]
[3]={{2}{4}{6}}i*p=aa
[0]
[0];fori=0;i2;i++{ifi==0aa[i][i+l]=*P+l;else++p;printf〃%d〃,*p;}printf〃\n〃;16以下程序的输出结果是A60B68C99D108main{inta
[3]
[4]={1357911131517192123;int*p
[4]=aijk=0;fori=0;i3;i++forj=0;j2;j++k+=**p+i+j;printf级d\n〃,k;}17以下程序的输出结果是A159B147C357D369main{intix
[3]
[3]={123456789};fori=0;i3;i++printf%dx[i][2-i];18若有定义语句int*p[M];其中的标识符是AM个指向整型变量的指针B指向M个整型变量的函数指针O一个指向具有M个整型元素的一维数组指针D具有M个指针元素的一维指针数组,每个元素都只能指向整型量
二、填空题16分19若有以下定义doublew
[10];则数组元素下标的上限是下限是20以下程序的输出结果是omain{inta[]={246}*ptr=a
[0]x=8yz;fory=0;y3;y++z=*prt+yx*prt+y:x;printf〃%d\n〃,z;21以下程序的输出结果是omain{intarr
[10]ik=0;fori=0;i10;i++arr[i]=i;fori=0;i4;i++k+=arr[i]+i;printf〃%d\n〃,k;22以下程序的输出结果是.^defineN5funchar*scharaintn{intj;*s=a;j=n;whileaa[j]j—;returnj;}mainO{chars[N+l];intkp;fork=l;k=N;k++s[k]=A+k+l;printf〃%d\n〃,funsEN;23若输入3个整数
3、
2、1则以下程序的输出结果是一voidsubintnintuu[]{intt;t=uu[n--];t+=3*uu[n];n++;ift=10{uu[n++]=t/10;uu[n]=t%10;}elseuu[n]=t;}main{intinaa
[10]={0};scanf〃%d%d%d〃,naa
[0]aa[l];fori=l;in;i++subiaa;fori=0;i=n;i++printf〃%d〃,aa[i24以下程序的输出结果是.main{intijrowcolm;intarr
[3]
[3]={{100200300}{2872-30}{-85026}};m=arr
[0]
[0];fori=0;i3;i++forj=0;j3;j++ifarr[i][j]m{m=arr[i][j];row=i;col=j;}printf〃%d%d%d\n〃mrowcol;}25以下findniax返回数组s中最大元素的下标,数组中元素的个数由t传入,请填空findmaxints[]intt{intkp;forp=0k=p;pt;p++ifs[p]s[k];return_;26以下程序统计从终端入的字符中每个大写字母的个数,中统计字母的个数,其它依次类推用井号结束输入,请填空ttinclude〃stdip.h〃^include〃ctype.h〃main{intnum
[26]={0}i;charc;while_!=〃#〃ifisuppercnum[_]+=1;fori=0;i26;i++ifnum[i]printf〃%c:%d\n〃,i+Anum[i];}
三、编程题48分27输入一行数字字符请用数组元素作为计数器来统计每个数字字符的个数用下标为0元素统计字符“1”的个数,下标为1的元素统计字符“2”的个数,.・.28编写函数,对具有效期0个整数的数组进行如下操作从第n个元素开始直到最后一个元素,依次向前移动一个位置输出移动后的结果29编写函数把数组中所有奇数放在另一个数组中返回30编写函数对字符数组中的输入字母,按由大到小的字母顺序进行排序31输入若干有序数放在数组中然后输入一个数,插入到此有序数列中,插入后,数组中的数仍然有序请对以下三种情况运行你的程序,以便验证你的程序是否下确1插在最前2插在最后3插在中间32编写函数把任意十进制下整数转换成二进制数提示把十进制数不断被2除余数放在一个一维数组中,直到商数为零在主函数中进行输出,要求不得按逆序输出33编写函数调用随机函数产生0到19之间的随机数,在数组中存入15个互不重复的整数要求在主函数中输出结果若已定义为类型,调用随机函数步骤如下^includestdlib.h〃x=rand%20/*产生0到19的随机数*/34编写程序求任意方阵每行、每列、两对角线一元素之和。