还剩2页未读,继续阅读
文本内容:
计算机等考二级c语言分类习题函数
(4)
(31)以下函数rotate的功能是将a所指N行N列的二维数组中的最后一行放到b所指二维数组的第0列中,把a所指二维数组中的第0行放到b所指二维数组的最后一列中,b所指二维数组中其他数据不变#defineN4voidrotateinta[][N]intb[][N]{intij;fori=0;iN;i++{b[i][N-1]= ; =a[N-1][i];} }
(32)下面程序的运行结果是funintt[],intn{inti,m;ifn==1returnt
[0];elseifn=2{m=funt,n-1;returnm;}}main{inta[]={11,4,6,3,8,2,3,5,9,2};printf%d\n,funa,10;}
(33)在C语言中,函数返回值的类型最终取决于A)函数定义时在函数值首部所说明的函数类型B)retum语句中表达式值的类型C)调用函数时主调函数所传递的实参类型D)函数定义时形参的类型
(34)以下程序中函数f的功能是当flag为1时,进行由小到大排序;当flag为0时,进行由大到小排序voidfintb[]intnintflag{intijtfori=0;in-1;i++forj=i+1;jn;j++ifflagb[i]b[j]:b[i]b[j]{t=b[i];b[i]=b[j];b[j]=t;}}main{inta
[10]={54321678910}i;fa
[2]50;fa51;fori=0;i10;i++printf%da[i];}程序运行后的输出结果是A12345678910 B34567218910C5432167891 D10987654321
(35)有以下程序voidfintb[]{inti;fori=2;i6;i++b[i]*=2;}main{inta
[10]={12345678910}i;fa;fori=0;i10;i++printf%da[i];}程序运行后的输出结果是A12345678910 B1268101278910C123410121416910 D126810121416910
(36)有以下程序#includestring.hvoidfcharp[]
[10]intn /* 字符串从小到大排序 */{chart
[10]; intij; fori=0;in-1;i++ forj=i+1;jn;j++ ifstrcmpp[i]p[j]0 {strcpytp[i]; strcpyp[i]p[j]; strcpyp[i]t; }}main {charp
[5]
[10]={“abc””aabdfg””abbd””dcdbe””cd”};fp5; printf“%d\n”strlenp
[0];}程序运行后的输出结果是A2 B4 C6 D3
(37)有以下程序voidfint nint *r{intr1=0; ifn%3==0 r1=n/3;else ifn%5==0 r1=n/5;else f--nr1;*r=r1;}main{intm=7r; fmr; printf“%d\nr”;}程序运行后的输出结果是A2 B1 C3 D0
(38)有以下程序inta=4;intfint n{int t=0; staticint a=5; ifn%2{int a=6; t+=a++;}else{int a=7;t+=a++;}return t+a++;}main{int s=a,i=0;for;i2;i++ s+=fi;printf“%d\n”s;}程序运行后的输出结果是A24 B28 C32 D36
(39)以下程序的运行结果是int k=0;voidfunint m{ m+=k;k+=m;printf“m=%d\n k=%d ”mk++;}main{inti=4; funi++;printf“i=%d k=%d\n”ik;}
(40)以下程序的输出结果是 intfunint*xintn{ifn==0returnx
[0];elsereturnx
[0]+funx+1n-1;}main{inta[]={1234567};printf“%d\n”funa3;}
(41)若函数调用时的实参为变量时,以下关于函数形参和实参的叙述中正确的是A)函数的实参和其对应的形参共占同一存储单元B)形参只是形式上的存在,不占用具体存储单元C)同名的实参和形参占同一存储单元D)函数的形参和实参分别占用不同的存储单元
(42)有以下程序#includestdio.h#includestdio.hvoidfunchars[]
[10]intn{chart; intij; fori=0;in-1;i++ forj=i+1;jn;j++ /*比较字符串的首字符大小,并交换字符串的首字符*/ ifs[i]
[0]s[j]
[0]{t=s[i]
[0];s[i]
[0]=s[j]
[0];s[j]
[0]=t;}}main{charss
[5]
[10]={“bcc””bbcc””xy””aaaacc””aabcc”}; funss5;printf“%s%s\n”ss
[0]ss
[4];}程序的运行结果是A)xyaaaacc B)aaaaccxy C)xccaabcc D)accxabcc
(43)在一个C源程序文件中所定义的全局变量,其作用域为A)所在文件的全部范围 B)所在程序的全部范围C)所在函数的全部范围 D)由具体定义位置和extern说明来决定范围
(44)有以下程序#includestdio.hinta=1;intfintc{staticinta=2; c=c+1;returna+++c;}main{intik=0; fori=0;i2;i++{inta=3;k+=fa;} k+=a; printf“%d\n”k;}程序的运行结果是A)14 B)15 C)16 D)17
(45)以下程序中函数f的功能是在数组x的n个数(假定n个数互不相同)中找出最大最小数,将其中最小的数与第一个数对换,把最大的数与最后一个数对换,请填空#includestdio.hvoidfintx[]intn{intp0p1ijtm; i=j=x
[0];p0=p1=0;form=0;mn;m++ {ifx[m]i {i=x[m];p0=m;} elseifx[m]j {j=x[m];p1=m;}} t=x[p0];x[p0]=x[n-1];x[n-1]=t; t=x[p1];x[p1]= ; =t;}main{inta
[10]u; foru=0;u10;u++scanf“%d”a[u]; fa10; foru=0;u10;u++ printf“%d”a[u]; printf“\n”;}。