第六章 数组
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第六章数组
一、选择题
1.在C语言中,引用数组元素时,其数组下标的数据类型允许是。(0级)
A)整型常量B)整型常量或整型表达式
C)整型表达式D)任何类型的表达式
2.以下对一维整型数组a的正确说明是。(0级)
A)int a(10); B)int n=10,a[n];
C)int n; scanf(“%d”,&n); int a[n];
D ) #define SIZ
E 10 int a[SIZE];以下能对一维数组a进行正确初始化的语句是。(0级)
A)int a[10]=(0,0,0,0,0);
B)int a[10]={ };
C)int a[ ]={0};
D)int a[10]={10*1};
4.不是给数组的第一个元素赋值的语句是。(0级)
A)int a[2]={1}; B) int a[2]={1*2};
C)int a[2];scanf (“%d”,a);D)a[1]=1;
5.下面程序的运行结果是。(1级)
main()
{int a[6],i;
for(i=1;i<6;i++)
{ a[i]=9*(i-2+4*(i>3))%5;
printf("%2d",a[i]);
}
}
A)-4 0 4 0 4 B)-4 0 4 0 3 C)-4 0 4 4 3 D)-4 0 4 4 0
6.下列定义正确的是。(1级)
A)static int a[]={1,2,3,4,5} B) int b[]={2,5}
C) int a(10) D) int 4e[4]
7.若有说明int a[][4]={0,0};则下列叙述不正确的是。(0级)
A) 数组a的每个元素都可以得到初值0
B) 二维数组a的第一维的大小为1
C) 因为对二维数组a的第二维大小的值除以初值个数的商为1,故数组a的行数
为1
D) 只有元素a[0][0]和a[0][1]可得到初值0,其余元素均得不到初值
8.设有char str[10],下列语句正确的是。(1级)
A) scanf("%s",&str); B) printf("%c",str);
C) printf("%s",str[0]); D) printf("%s",str);
9.下列说法正确的是。(0级)
A) 在C语言中,可以使用动态内存分配技术定义元素个数可变的数组
B) 在C语言中,数组元素的个数可以不确定,允许随机变动
C) 在C语言中,数组元素的数据类型可以不一致
D) 在C语言中,定义了一个数组后,就确定了它所容纳的具有相同数据类型元素
的个数
10.假设array是一个有10个元素的整型数组,则下列写法中正确的是。(1级)
A) array[0]=10 B) array=0
C) array[10]=0 D) array[-1]=0
11.执行以下程序段后,a的值是。(1级)
static int a[]={5,3,7,2,1,5,4,10};
int a=0;k;
for(k=0;k<8;k+=2)
a+=*(a+k);
A) 17 B) 27 C) 13 D) 有语法错误,无法确定
12.分析下列程序
main()
{int n[3],i,j,k;
for(i=0;i<3;i++)
n[i]=0;
k=2;
for(i=0;i for(j=0;j n[j]=n[i]+1; printf("%d\n",n[1]); } 上述程序运行后,输出的结果是。(1级) A)2 B)1 C)0 D)3 13. 若有以下定义: int a[5]={ 5, 4, ,3, 2, 1 } ; char b= …a‟, c, d, e; 则下面表达式中数值为2的是。(02~03第一学期试题) A)a [3] B)a [e – c] C)a [d-b] D)a [ e-b ] 14.下面几个字符串处理表达式中能用来把字符串str2连接到字符串str1后的一个是:。(01~02第二学期试题) A)strcat(str1,str2) ; B)strcat(str2,str1); C)strcpy(str1,str2) ; D)strcmp(str1,str2); 15.设有两字符串“Beijing”、“China”分别存放在字符数组str1[10],str2[10]中,下面语句中能把“China”连接到“Beijing”之后的为:。(03试题) A)strcpy(str1,str2); B)strcpy(str1, “China”); C)strcat(str1,“China”);D)strcat(“Beijing”,str2); 16.若有二维数组a[m][n],则数组中a[I][j]之前的元素的个数为。(03试题) A)j*m+I B)I*n+j C)I*m+j+1 D)I*n+j+1 17.若有如下定义: int a[3][3]={1,2,3,4,5,6,7,8,9},i ; 则下列语句的输出结果是:。(03试题) for (i=0;i<=2;i++) printf(“%d”,a[i][2-i]); A)3 5 7 B)3 6 9 C)1 5 9 D)1 4 7 18.下列字符串赋值语句中,不能正确把字符串 C program赋给数组的语句是:。(往届试题) A)char a[]={…C‟,…‟,…p‟,…r‟,…o‟,…g‟,…r‟,…a‟,…m‟}; B)char a[10]; strcpy(a2, “C program”); C)char a[10]; a= “C program”; D)char a[10]={ “C program”}; 19. 以下不能对二维数组a 进行正确初始化的语句是。(04~05第二学期试题) A)int a[2] [3] = {0}; B)int a[ ] [3]={{1,2},{0}}; C)int a[2][3]={{1,2},{3,4},{5,6}}; D)int a[ ][3]={1,2,3,4,5,6}; 20. 下面程序的运行结果是。(04~05第二学期试题) char c[5]={‘a’,‘b’,‘\0’,‘c’,‘\0’};printf(“%s”,c); } A)‘a’‘b’B)ab\0c\0 C)ab c D)ab 21. 判断字符串a和b是否相等,应当使用。(04~05第二学期试题) A)if (a= =b) B)if (a=b) C)if (strcpy(a,b)) D)if(strcmp(a,b)) 22. 有字符数组a[80]和b[80],则正确的输出语句是。(04~05第二学期试题) A)puts (a,b); B)printf(“%s,%s”,a[],b[]); C)putchar(a,b); D)puts(a),puts(b); 23.若有如下定义和语句: char s[12]= “a book!”; printf(“%d”,strlen(s) ); 则输出结果是:。(往届试题) A)12 B)10 C)7 D)6 24.以下能对二维数组a进行正确说明和初始化的语句是:。(往届试题) A)int a( )(3)={ ( 1, 0, 1 ), ( 2, 4, 5 ) }; B)int a[2][]={ { 3, 2, 1 }, { 5, 6, 7 } }; C)int a[][3]={ { 3, 2, 1 }, { 5, 6, 7 } }; D)int a(2)( )={ ( 1, 0, 1 ), ( 2, 4, 5 ) }; 25.若有说明:int a[3][4] = {0};则下面正确的叙述是:。(往届试题) A)只有元素a[0][0]可以得到初值0 B)此说明语句不正确 C)数组a中每个元素均可得到初值0 D)数组a每个元素均可得到初值,但值不一定为0 二、填空题 1.数组名定名规则和变量名相同,遵循定名规则。(0级)