《C++数组习题.pdf》由会员分享,可在线阅读,更多相关《C++数组习题.pdf(4页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、C+C+数组习题数组习题学号学号姓名姓名一、一、选择题选择题1、下列对字符数组进行初始化的语句正确的是 a=Hello;a=H,e,l,l,o;a5=Hello;a25=Hello,World;2、以下一维数组 a 的正确定义是Aint a(10);Cint n;cinn;int an;3、以下对二维数组 a 进行不正确初始化的是Aint a23=0;Bint a3=1,2,0;Cint a23=1,2,3,4,5,6;Dint a3=1,2,3,4,5,6);4、执行以下程序后,s 的值为int a=5,3,7,2,1,5,4,lO);int s=0,k;for(k=0;k8;k+=2)s+
2、=*(a+k);A17 B27 C13 D无定值5、为了判断两个字符串 sl 和 s2 是否相等,应当使用Aif(s1=s2)Bif(s1=s2)Cif(strcpy(S1,s2)Bint n=10,an;D#define size 10 int asize;Dif(strcmp(s1,s2)=O)6、有定义int a25;,若a01的地址为 x,则a0O、a13地址分别为(假设一个整型数据占用两个字节的内存空间):Ax-2,x+14Bx-1,x+7Cx+1,x+7Dx-1,x+147、若有定义 float amn;,且 a11的地址为 x,每个 float 元素占用 4 个字节,则 ailj
3、的地址为Ax+4*(i-1)*n+4*(j-1)Bx+(i-1)*n+(j-1)Cx+4*(i-1)*j+(j-1)二、二、填空题填空题1、char st20=SEU0t;coutsizeof(st)strlen(st)endl;则输出的内容是,如将st 数组定义中的 20 去掉,则输出的内容是。三、三、程序阅读题程序阅读题1、写出如下程序的运行结果。int main()int i,j;int a10=1,1,1,1,1,1,1,1,1,1;for(i=0;i10;i+)for(j=0;ji;j+)ai=ai+aj;for(i=0;i10;i+)coutait;coutn;return 0;2
4、、写出如下程序的运行结果。int main()int a33=1,0,2,2,2,0,0,1,0;int i,j;for(i=0;i3;i+)for(j=0;j3;j+)aij=aaijaji;coutaijt;return 0;Dx+4*i*j+4*j四、四、程序填空题程序填空题1、定义函数,在一维数组中找出最大值和最小值,主函数中调用该函数并输出数组的最大最小元素。void cal(int a,int n,)max=a0;for(int i=1;imax);if(aimin)min=ai;int main()int a10;cout输入 10 个整数:endl;for(int i=0;ia
5、i;cal(,max,min);for(i=0;i10;i+)coutai ;coutendl;coutmax=max,min=minendl;return 0;2、下列函数 inverse 的功能是使一个字符串按逆序存放,请填空。void inverse(char str)char m;int i,j;for(i=0,j=strlen(str);i+,)m=stri;stri=;3、下列程序用于判断字符串 S 是否对称,对称时返回 1,否则返回 0。如 f(”abba”)返回 1,而 f(abab)返回 0。请填空。int f()int i=0,j=0;while(sj!=0);for(j-;ij&si=sj;i+,j-);return();4、下面函数是寻找二维数组中每一行的最大值,请填空。#define N 5#define M 5void max(int aNM)int i,j,p;for(i=0;iN;i+);for(j=1;jM;j+)if(aipaij);couti:aipendl;5、下面的程序是把十进制数转换为某个指定的进制,请填空。int main()int num65,i=0,base;long n;coutn;coutbase;do ;i+;n=n/base;while();for(;i=0;i-)coutnumi;return 0;
限制150内