i--;
}while(i!
=0);
(A)0(B)2(C)5(D)无限次
22.若m是一个值为10的int型变量,n是一个bool型变量,则表达式!
m||n>0的值()。
(A)为true (B)为false (C)与n的值相反 (D)与n的值相同
第4章数组的应用
一、判断题
()1.在对全部数组元素赋初值时,不可以不指定一维数组的长度。
()2.在对全部二维数组元素赋初值时,可以不指定二维数组的行数。
()3.在C++程序中,有定义:
inta[10];数组a的最小下标是1。
()4.在C++程序中,有定义:
inta[10];数组a的最大下标是10。
()5.可以用同一个数组表示以一组数值型数据和字符型数据。
()6.有声明:
inta[3][2]={1,2,3,4,5,6};那么数组元素a[2][1]的初始值是6。
()7.有声明:
charch[10]={’a’,’b’,’c’,’d’,’e’};那么赋给数组ch的是字符串“abcde”。
()8.在对全部二维数组元素赋初值时,必须要指定二维数组的列数。
()9.字符串"hello,world"在内存中存放时,占用12个字节的空间。
()10.定义一个一维字符数组有50个元素,用该一维字符数组表示一个字符串数据最多允许有50个字符。
()11.C++中各种数据类型的变量在定义后会被自动初始化为0值。
()12.定义数组时可以用变量来定义数组的大小,但不能用表达式。
()13.定义一个有50个元素的一维字符数组,用该数组表示一个字符串数据最多允许有50个字符。
()14.定义一个数组后该数组的最小下标取值是0。
()15.静态数组被定义时,数组的所有元素自动获取初始值0。
()16.数组是C++的基本数据类型。
()17.数组不能用来存放字符串。
()18.同一数组的所有数组元素在内存中是连续存放的。
()19.在C++中数组是具有一定顺序关系的若干相同类型变量的集合体。
()20.在给全部数组元素赋初值时,可以不指定二维数组中的常量表达式,
例如:
inta[][]={1,2,3,4,5,6};
二、单项选择题
1.若有以下定义语句:
inta[10]={1,2,3,4,5,6,7,8,9,10};则下列()是对数组元素的正确使用。
(A)a[10](B)a[a[3]-5](C)a[a[9]](D)a[a[4]+4]
2.对语句:
inta[3][4]={0};描述正确的是()。
(A)只有元素a[0][0]可得到初值0
(B)数组a中每个元素均可得到初值0
(C)此说明语句不正确
(D)数组a中各元素都可得到初值,但其值不一定为0
3.若有以下定义,则数组元素a[2][2]的值是()。
inta[][3]={{1,2},{3,2,4},{4,5,6},{1,2,3}};
(A)4(B)5(C)2(D)6
4.在下面的一维数组定义中,()有语法错误。
(A)inta[]={1,2,3};(B)inta[];(C)inta[]={0};(D)inta[5];
5.在下面的一维数组的定义中,不正确的是()。
(A)intx[10][10];(B)intx[][10]={{1,3},5,7};
(C)intx[][];(D)intx[10][10]={0};
6.对长度为N的线性表进行顺序查找,在最坏情况下所需要的比较次数为()。
(A)N+1(B)N(C)(N+1)/2(D)N/2
7.将两个字符串连接起来组成一个字符串时,用()函数。
(A)strcat(B)strlen(C)strcpy(D)strcmp
8.希尔排序法属于哪一种类型的排序法()。
(A)交换类排序法(B)插入类排序法(C)选择类排序法(D)建堆排序法
9.若定义了一个4行3列的数组,则第8个元素是()。
(A)a[1][3](B)a[2][3](C)a[3][1](D)a[2][1]
10.判断两个字符串(分别用a、b表示)是否相等的操作为()。
(A)a==b(B)if(a==b)(C)if(strcmp(a,b))(D)if(strcpy(a,b))
11.定义一个一维数组,正确的语句是( )。
(A)inta(10);(B)intn=10;inta[n];
(C)intn;cin>>n;inta[n];(D)constintn=10;inta[n];
12.以下那种说法错误?
()。
(A)数组中的元素在某些方面彼此相关;(B)数组中的所有元素具有相同的下标;
(C)数组中的所有元素具有相同的数据类型;(D)数组中的所有元素具有相同的名字;
13.语句inta[]={0,1,2}执行后,数组的元素个数是()。
(A)2(B)3(C)4(D)不知道
14.下面数组定义错误的是( )。
(A)#definen5(B)constintn=5;
chara[n]={“good”};chara[n]={“good”};
(C)intn=5; (D)constintn=5;
chara[n]={“good”};chara[n+2]={“good”};
15.执行下列语句:
intc[4]={0,1,2,3};for(inti=0;i<4;i++)c[i]=c[i]+i;
则c[3]的值是()。
(A)0(B)4(C)6(D)8
16.下列程序执行后d[5]结果是()。
intd[10];intI;
for(i=0;i<=9;i++)
d[i]=i;
for(i=0;i<=9;i++)
d[i]=d[9-i];
(A)0(B)4(C)5(D)6
17.数组intarea[4]={1,2,3,4},执行程序
for(inti=1;i<=4;i++)
area[i-1]=1;
那么area[4]的值是()。
(A)4(B)3(C)1(D)错误
18.二维数组在内存中的存放顺序是()。
(A)按行存放(B)按列存放(C)由用户自己定义(D)由编译器决定
19.下面初始化不正确的是( )。
(A)inta[2][3]={1,2,3,4,5,6};(B)inta[][2]={7,8,9};
(C)doublea[][3]={1,2,3,4,5,6,7}; (D)doublea[3][2]={{1.5,2.0},{3.5},{5,6,7}};
20.若有定义:
inta[3][4]={0};则以下描述中正确的是()。
(A)只有a[0][0]元素得到初值(B)不正确语句
(C)各元素均得到初值,但不一定为0(D)各元素均得到初值且为0
21.下列对字符数组进行初始化的语句正确的是( )。
(A)chara[]=“abcd”;(B)chara[][]=“abcd”;
(C)chara[4]=“abcd”;(D)chara[2][2]={“ab”,“cd”};
22.二维字符数组[10][10]能够存储()个字符串,每个字符串的长度至多为()。
(A)10,10(B)10,9 (C)9,10(D)9,9
三、阅读程序题
1.#include
voidmain()
{inta[4],i,j,k;
for(i=0;i<4;i++)
a[i]=1;
k=3;
for(i=0;ifor(j=0;ja[j]=a[i]+2;
cout<}
当执行以上程序时,输出结果是:
2.#include
#include
usingnamespacestd;
voidmain()
{ints[3][3],i,j,k;
for(i=0;i<3;i++)
for(j=0;j<3;j++)
s[i][j]=i-j;
for(i=0;i<2;i++)
for(j=i+1;j<3;j++)
{k=s[i][j];s[i][j]=s[j][i];s[j][i]=k;}
for(i=0;i<3;i++)
{for(j=0;j<3;j++)
cout<cout<}
}
当执行以上程序时,输出结果是:
3.#include
usingnamespacestd;
v