您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 项目/工程管理 > C语言程序设计练习题第23部分答案
-1-C程序设计语言练习题第二部分44.数组定义为inta[3][2]={1,2,3,4,5,6},值为6的数组元素是______A)a[3][2]B)a[2][1]C)a[1][2]D)a[2][3]45.设有数组定义chararray[]=“China”;则数组array所占的空间为_____A)4个字节B)5个字节C)6个字节D)7个字节46.以下程序段的输出结果是________。charch[3][5]={“AAAA”,“BBB”,“CC”};printf(“%s\n”,ch[1]);A)BBBB)AAAAC)BBBCCD)CC47.以下能对二维数组x正确进行初始化的语句是_________。A)intx[2][]={{1,0,1},{5,2,3}};B)intx[][3]={{1,2,3},{4,5,6}};C)intx[2][4]={{1,2,3},{4,5},{6}};D)intx[][]={{1,0,1},{},{1,1}};48.以下程序的输出结果是________。#includestring.hmain(){charw[][10]={“ABCD”,“EFGH”,“IJKL”,“MNOP”},k;for(k=1;k3;k++)printf(“%s\n”,&w[k][k]);}A)ABCDB)ABCDC)EFGD)FGHFGHEFGJKKLKLIJOM49.下面的程序运行后,输出的结果是__________(1)3+4+5+6+0main(){inta[3][3]={{1,2},{3,4},{5,6}},i,j,s=0;for(i=1;i3;i++)for(j=0;j=i;j++)s+=a[i][j];printf(“%d\n”,s);}(2)42716main()-2-{inti,j;inta[6]={“12,4,17,24,27,16},b[6]={27,13,4,25,23,16};for(i=0;i6;i++){for(j=0;j6;j++)if(a[i]==b[j])break;if(j6)printf(“%d”,a[i]);}printf(“\n”);}(3)820#includestring.hmain(){charst[20]=“Goodbye\0\t\’\\”;printf(“%d%d\n,strlen(st),sizeof(st));}(4)输入ABC输出ABC6789#includestdio.h#includestring.hmain(){charss[10]=“12345”;gets(ss);strcat(ss,”6789”);printf(“%s\n”,ss);}50.下面程序的功能是将一个字符串按逆序存放,请填空:#includestring.hmain(){charstr[80],m;inti,j;gets(str);for(i=0,j=strlen(str);i_j-1_____;i++,j--){m=str[i];str[i]=_str[j-1]_____;str[j-1]=m;}printf(“%s\n”,str);}51.下面程序的功能是将字符数组a中下标值为偶数的元素从小到大排列,其他元素不变,请填空。#includestdio.h#includestring.hmain()-3-{chara[]=”clanguage”,t;inti,j,k;k=strlen(a);for(i=0;i=k-2;i+=2)for(j=i+2;jk;__j+=2__)if(_a[i]a[j]___){t=a[i];a[i]=a[j];a[j]=t;}puts(a);printf(“\n”);}52.下面的程序用选择排序的方法将从键盘输入的n个整数按升序排列并输出排序的结果。请填空:#defineMAX100main(){inti,j,index,n,a[MAX],t;scanf(“%d”,&n);for(i=0;in;i++)scanf(“%d”,&a[i])for(i=0;in-1;i++){index=i;for(j=i+1;jn;j++)if(_a[j]__a[index])index=__j__;if(i!=index){t=a[i];a[i]=a[index];a[index]=t;}}for(i=0;in;i++)printf(“%4d”,a[i]);}53.下面程序的输出是_____.mian(){chars[]=“12134211”;intv1=0,v2=0,v3=0,v4=0,k;for(k=0;s[k];k++)switch(s[k]){default:v4++;case‘1’:v1++;case‘3’:v3++;case‘2’:v2++;-4-}printf(“v1=%d,v2=%d,v3=%d,v4=%d\n”,v1,v2,v3,v4);}A)v1=4,v2=2,v3=1,v4=1B)v1=4,v2=9,v3=3,v4=1C)v1=5,v2=8,v3=6,v4=1D)v1=8,v2=8,v3=8,v4=854.若函数为int型,变量z为float型,则该函数体内的语句return(z);返回的值是_______。A)int型B)float型C)不定D)不确定55.在C语言中,函数的隐含存储类型是_________。A)autoB)staticC)externD)无存储类型56.在C语言中,形参的缺省存储类型是_________。A)autoB)registerC)staticD)extern57.有如下函数调用语句:func(rec1,rec2+rec3,(rec4,rec5));该函数调用语句中,含有的实参个数是_________。A)3B)4C)5D)有语法错误58.若调用函数的实参是一个数组名,则向被调用函数传送的是_________。A)数组的长度B)数组的首地址C)数组每个元素的地址D)数组每个元素中的值59.在调用函数时,如果实参是简单变量,他与对应形参之间的数据传递方式是_A)地址传递B)单项值传递C)由实参传递给形参,再由形参传递给实参D)传递方式由用户指定60.在以下有关C语言函数的描述中,正确的是_________。A)在C语言中,调用函数时,只能把实参的值传给形参,形参的值不能传给实参B)C函数即可以嵌套定义又可以递归调用C)函数必须有返回值,否则不能使用函数D)C程序中有调用关系的所有函数,必须放在同一个源程序文件中61.以下程序输出结果是_________。(1)31fun(intx,inty,intz){z=x*x+y*y;}main(){inta=31;fun(5,2,a);printf(“%d”,a);}(2)13+8func(inta,intb){intc;c=a+b;returnc;-5-}main(){intx=6,y=7,z=8,r;r=func((x--,y++,x+y),z--);printf(“%d\n”,r);}(3)2+1+9+10voidreverse(inta[],intn){inti,t;for(i=0;in/2;i++){t=a[i];a[i]=a[n-1-i];a[n-1-i]=t;}}main(){intb[10]={1,2,3,4,5,6,7,8,9,10};inti,s=0;reverse(b,8);for(i=6;i10;i++)s+=b[i];printf(%d\n,s);}(4)3,22,3voidfun(intx,inty){x=x+y;y=x-y;x=x-y;printf(%d,%d,,x,y);}main(){intx=2,y=3;fun(x,y);printf(%d,%d\n,x,y);}(5)2longfib(intx){switch(x){case0:return0;case1:case2:return1;}return(fib(x-1)+fib(x-2));}main(){longk;k=fib(3);printf(“k=%d\n“,k);}(6)1+2+3+4+5intf(){staticinti=0;ints=1;s+=i;i++;returns;}main(){inti,a=0;for(i=0;i5;i++)a+=f();printf(%d\n,a);}(7)7+8+9f(inta){intb=0;-6-staticintc=3;b++;c++;return(a+b+c);}main(){inta=2,i;for(i=0;i3;i++)printf(“%d\n”,f(a));}(8)4+3+2longfun5(intn){longs;if(n==1||n==2)s=2;elses=n+fun5(n-1);returns;}main(){longx;x=fun5(4);printf(“%ld\n”,x);}(9)56intf(intx,inty,intcp,intdp){cp=x*x+y*y;dp=x*x-y*y;}main(){inta=4,b=3,c=5,d=6;f(a,b,c,d);printf(“%d%d\n”,c,d);}(10)5#includestring.hvoidf(charp[][10],intn){chart[20];inti,j;for(i=0;in-1;i++)for(j=i+1;jn;j++)if(strcmp(p[i],p[j])0){strcpy(t,p[i]);strcpy(p[i],p[j]);strcpy(p[j],t);}}main(){charp[][10]={abc,aabdfg,abbd,dcdbe,cd};inti;f(p,5);printf(%d\n,strlen(p[0]));}62.以下叙述中正确的是哪个?A)全局变量的作用域一定比局部变量的作用域范围大B)静态(static)类别变量的生存期贯穿于整个程序的运行期间C)函数的形参都属于全局变量D)未在定义语句中赋初值的auto变量和static变量的初值都是随机值-7-第三部分63.已知:intx;则下面说明指针变量pb的语句是正确的。A)intpb=&x;B)int*pb=x;C)int*pb=&xD)*pb=*x;64.有如下程序段:int*p,a,b=1;p=&a;*p=10;a=*p+b;执行该程序段后,a值是。A)12B)11C)10D)编译出错65.若有说明:inti,j=2,*p=&i;,则能完成i=j赋值功能的语句是。A)i=*p;B)*p=*&j;C)i=&j;D)i=**p;66.已知:inta,*p=&a;则为了得到变量a的值,下列错误的表达式为______。A)*&pB)*pC)p[0]D)*&a67.已知staticinta[2][3]={2,4,6,8,10,12};正确表示数组元素地址的是__。A)*(a+1)B)a[1]+2C)a[1]+3D)a[0][0]68.已知inta[3][4],*p=*a;p+=6;那么*p和______的值相同。A)*(a+6)B)*(&a[0]+6)C)*(a[1]+2)D)*(&a[0][0]+6)69.已知说明int(*p)[M];其中p是______。A)M个指向整型变量的指针B)指向M个整型变量的函数指针C)一个指向具有M个整型元素的一维数组的指针D)具有M个指针元素的一维指针数组,每个元素都只能指向整型变量70.若有定义和语句:intc[4][5],(*cp)[5];cp=c;则对c数组元素的引用正确的是哪个?A)cp+1B)*(cp+3)C)*(cp+1)+3D)*(*cp+2)71.设有以下定义:inta[4][3]={1,2,3,4,5,6,7,8,9,10,11,12};int(*prt)[3]=a,*p=a[0];则下列能够正确表示数组元素a[1][2]的表达式是__________。A)*((
本文标题:C语言程序设计练习题第23部分答案
链接地址:https://www.777doc.com/doc-2908293 .html