数组练习及答案

数组练习

121、合法的数组定义是___ _____.

A) int a[6]={"string"};

B) int a[5]={0,1,2,3,4,5};

C) char a={"string"};

D) char a[]={0,1,2,3,4,5};

122、要求下面的程序运行后,显示如下结果:2 10 4 6

1 5

2 3

2 4 7 8

5 1 3 2

则程序中的划线处应填入___ _____.

#include

void main( )

{ int a[4][4]={ ________ };

int i,j;

for(i=0;i<4;i++)

{for(j=0;j<4;j++) printf("%4d",a[i][j]);

printf("\n"); }

}

A) {1,5,2,3},{2,4,7,8},{5,1,3,2}

B) {2,10,4,6},{1,5,2,3},{2,4,7,8},{5,1,3,2}

C) {5,1,3,2},{2,4,7,8},{1,5,2,3}

D) {2,1,2,5},{10,5,4,1},{4,2,7,3},{6,3,8,2}

123、给出以下定义:

char x[ ]="abcdefg";

char y[ ]={'a','b','c','d','e','f','g'};

则正确的叙述为___ _____.

A) 数组x和数组y等价B) 数组x和数组y的长度相同

C) 数组x的长度大于数组y的长度

D) 数组x的长度小于数组y的长度

124、定义如下变量和数组:

int i;

int x[4][4]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16};

则下面语句的输出结果是___ _____.

for(i=0;i<4;i++) printf("%3d",x[i][3-i]);

A) 1 5 9 13 B) 1 6 11 16

C) 4 7 10 13 D) 4 8 12 16

126、若希望下面的程序运行后输出45,程序空白处的正确选择是___ _____.

#include

void main( )

{ int i,j=10,a[ ]={1,3,5,7,9,11,13,15};

for( ____________ )

j+=a[i];

printf("%d\n",j);

}

A) i=5;i>1;i-- B) i=0;i<7;++i

C) i=5;i>=1;--i D) i=2;i<6;++i

127、若有以下说明:

char s1[ ]={"tree"},s2[]={"flower"}; ,

则以下对数组元素或数组的输出语句中,正确的是__ ___.

A) printf("%s%s",s1[5],s2[7]);

B) printf("%c%c",s1,s2);

C) puts(s1);puts(s2); D) puts(s1,s2);

128、下列一维数组初始化语句中,正确且与语句float a[ ]={0,3,8,0,9};等价的是_____ ___.

A) float a[6]={0,3,8,0,9};

B) float a[4]={0,3,8,0,9};

C) float a[7]={0,3,8,0,9};

D) float a[5]={0,3,8,0,9};

129、运行下面程序段的输出结果是___ _____.

char s1[10]={'S','e','t','\0','u','p','\0'};

printf("%s",s1);

A) Set B) Setup C) Set up D) 'S''e''t'

130、以下程序段的输出结果是____ ____.

char s[ ]="an apple";

printf("%d\n",strlen(s));

A) 7 B) 8 C) 9 D) 10

131、若有说明:char c[10]={'E','a','s','t','\0'};,则下述说法中正确的是_____ _____.

A) c[7]不可引用

B) c[6]可引用,但值不确定

C) c[4]不可引用

D) c[4]可引用,其值为空字符

132、下列初始化语句中,正确且与语句

char c[ ]="string";等价的是____ ____.

A) char c[ ]={'s','t','r','i','n','g'};

B) char c[ ]='string';

C) char c[7]={'s','t','r','i','n','g','\0'};

D) char c[7]={'string'};

133、若有说明char c[7]={'s','t','r','i','n','g'};则对元素的非法引用是____ ____.

A) c[0] B) c[9-6] C) c[4*2] D) c[2*3]

134、如有说明:char s1[5],s2[7]; ,要给数组s1和s2整体赋值,下列语句中正确的是____ ____.

A) s1=getchar(); s2=getchar();

B) scanf("%s%s",s1,s2);

C) scanf("%c%c",s1,s2); D) gets(s1,s2);

135、下列一组初始化语句中,正确的是___ _____.

A) int a[8]={ }; B) int a[9]={0,7,0,4,8};

C) int a[5]={9,5,7,4,0,2}; D) int a[7]=7*6;

136、以下程序输出的结果是____ _____.

#include

void main( )

{ char str[ ]="1a2b3c"; int i;

for(i=0;str[i]!='\0';i++)

if(str[i]>='0'&&str[i]<='9') printf("%c",str[i]);

printf("\n");

}

A) 123456789 B) 1a2b3c

C) abc D) 123

137、以下程序输出的结果是___ _____.

#include

void main( )

{ int a[ ]={5,4,3,2,1},i,j;

long s=0;

for(i=0;i<5;i++) s=s*10+a[i];

printf("s=%ld\n",s);

}

A) s=12345 B) s=5 4 3 2 1

C) s=54321 D) 以上都不对

138、以下程序输出的结果是____ ____.

#include

void main( )

{ int a[ ]={1,2,3,4,5},i,j,s=0;

for(i=0;i<5;i++) s=s*10+a[i];

printf("s=%d\n",s);

}

A) s=12345 B) s=1 2 3 4 5

C) s=54321 D) s=5 4 3 2 1

139、在定义int a[5][6];后,数组a中的第10个元素是.________(设a[0][0]为第一个元素)

A) a[2][5] B) a[2][4] C) a[1][3] D) a[1][5]

140、当接受用户输入的含有空格的字符串时,应使用____ ____函数.

A) gets( ) B) getchar( )

C) scanf( ) D) printf( )

141、以下程序执行时输入Language Programming<回车>,输出结果是____ ____.

#include

void main( )

{ char str[30];

gets(str);

printf("str=%s\n",str);

}

A) Language Programming

B) Language

C) str=Language

D) str=Language Programming

142、以下一维数组a的正确定义是___ _____ .

A) int a(10); B) int n=10,a[n];

C) int n; D) #define SIZE 10

scanf("%d",&n); int a[SIZE];

int a[n];

143、以下对二维数组a进行正确初始化的是__ _____.

A) int a[2][3]={ {1,2},{3,4},{5,6} };

B) int a[ ][3]={1,2,3,4,5,6 };

C) int a[2][ ]={1,2,3,4,5,6}; D) int a[2][ ]={ { 1,2},{3,4}};

144、以下关于数组的描述正确的是____ ______.

A) 数组的大小是固定的,但可以有不同类型的数组元素。

B) 数组的大小是可变的,但所有数组元素的类型必须相同。

C) 数组的大小是固定的,所有数组元素的类型必须相同。

D) 数组的大小是可变的,可以有不同类型的数组元素。

145、以下程序的输出结果是____ ____.

#include

void main()

{ int a[4][4]={{1,3,5,},{2,4,6},{3,5,7}};

printf("%d%d%d%d\n",a[0][0],a[1][1],a[2][2],a[3][3]);

}

A) 0650 B) 1470 C) 5430 D) 输出值不定

147、已知short int类型变量占用两个字节,若有定义:short int x[10]={0,2,4}; ,则数组x在内存中所占字节数是____ ____.

A) 3 B) 6 C) 10 D) 20

148、在定义int a[5][4]; 之后,对a的引用正确的是.____ ____

A) a[2][4] B) a[1,3] C) a[4][3] D) a[5][0]

149、以下数组定义中不正确的是____ ____.

A) int a[2][3];

B) int b[][3]={0,1,2,3};

C) int c[100][100]={0};

D) int a[3][]={{1,2},{1,2,3},{1,2,3,4}};

150、在执行语句:int a[ ][3]={1,2,3,4,5,6}; 后,a[1][0]的值是____ ____.

A) 4 B) 1 C) 2 D) 5

151、以下程序的输出结果是____ ____.

#include

void main()

{ int i,a[10];

for(i=9;i>=0;i--) a[i]=10-i;

printf("%d%d%d",a[2],a[5],a[8]);

}

A) 258 B) 741 C) 852 D) 369

152、以下定义语句中,错误的是___ _____.

A) int a[]={1,2}; B) char a={"test"};

C) char s[10]={"test"}; D) int a[]={'a','b','c'};

153、以下定义语句中,错误的是____ ____.

A) int a[]={1,2}; B) char a[]={"test"};

C) char s[10]={"test"}; D) int n=5,a[n];

154、下列程序的输出结果是____ ____.

#include

void main()

{char b[]="ABCDEFG";

char p=0;

while(p<7)

putchar(b[p++]);

putchar('\n');

}

A) GFEDCBA B) BCDEFG

C) ABCDEFG D) GFEDCB

155、下述对C语言字符数组的描述中错误的是___ __.

A) 字符数组可以存放字符串

B) 字符数组中的字符串可以整体输入、输出

C) 可以在赋值语句中通过赋值运算符"="对字符数组整体赋值

D) 不可以用关系运算符对字符数组中的字符串进行比较156、以下程序的输出结果是____ ____.

#include

void main()

{ int i,x[3][3]={1,2,3,4,5,6,7,8,9};

for(i=0;i<3;i++)

printf("%d,",x[i][i]);

printf("\n");

}

A) 1,5,9, B) 1,4,7, C) 3,5,7, D) 3,6,9,

157、如有定义语句int a[]={1,8,2,8,3,8,4,8,5,8}; ,则数组a的大小是___ _____.

A) 10 B) 11 C) 8 D) 不定

158、有如下程序

#include

void main()

{ char ch[80]="123abcdEFG*&";

int j;long s=0;

puts(ch);

for(j=0;ch[j]>'\0';j++)

if(ch[j]>='A'&&ch[j]<='Z')

ch[j]=ch[j]+'e'-'E';

puts(ch);

}

该程序的功能是____ ____.

A) 测字符数组ch的长度

B) 将数字字符串ch转换成十进制数

C) 将字符数组ch中的小写字母转换成大写

D) 将字符数组ch中的大写字母转换成小写

159、设有如下定义:

char aa[2][20]={ "abcd", "ABCD"};

则以下说法中错误的是____ ____.

A) aa是个二维数组,可以存放2个19个字符以下的字符串

B) aa是个二维数组,每行中分别存放了字符串"abcd"和"ABCD"

C) aa[0]可以看作是一维数组名

D) aa[0][0]可以看作是一维数组名

161、有如下说明: int a[10]={0,1,2,3,4,5,6,7,8,9};

则数值不为9的表达式是____ ____.

A) a[10-1] B) a[8]

C) a[9]-0 D) a[9]-a[0]

162、设有数组定义:char array[]="China";则数组array所占的存储空间为____ ____.

A) 4个字节B) 5个字节

C) 6个字节D) 7个字节

数组参考答案

121.D 122.B 123.C 124.C 126.C 127.C 128.D 129.A 130.B 131.D 132.C 133.C 134.C 135.B 136.D 137.C 138.A 139.C 140.A 141.D 142.D 143.B 144.C 145.B 147.D 148.C 149.D 150.A 151.C 152.B 153.D 154.C 155.C 156.A 157.A 158.D 159.D 161.B 162.C

数组习题及答案

构造数据对象——数组 一、填空题 1.数组是一组相同的集合。 2.数组名代表数组的。 3.数组元素在数组中的位置序号称为它是从开始整数。 4.有int a[ ]={4,6,2,12,435,-9,76,0,0};该数组元素值最大的下标为。 5.定义数组tw,其能存储23个长整形数的语句为。 6.有说明语句int a[10]={1,2,3,4,5,6};则元素a[9]的值为。 7.数组char c[ ]=”abcd”中有个元素,最后一个元素是。 8.”a”在内存中占个存储单元。 9.定义一个能存放下字符串Vocation的字符数组enm的语句为。 10.定义一个可保存100个整型数的数组pn,并把每个元素初值设为0的语句是。 11.与puts(ss)等价的printf函数调用是。 二、选择题 1.下面关于数组的说法,不正确的是() A.数组总为一个整体,可以参加算术运算 B.数组中的数组元素相当于一个简单变量 C.数组可以用来保存字符串 D.数组是一组连续的,类型相同的数据集合 2.下列说法不是数组特性的是() A.数组元素类型相同 B.数组长度固定

C.数组占用连续的内存空间 D.数组可作为一个整体参与运算 3.定义一个具有8个元素的整形数组,应使用语句() A.int a[8]; B.int a[2,4]; C.int a[ ]; D.int *a[8]; 4. 以下能正确定义一维数组的选项是() A.int num[ ]; B.#define N 100 int num[N]; C.int num[0..100]; D.int N=100; 5.下面对s的初始化,不正确的是() A.char s[5]={“abcd”}; B.char s[5]={‘a’,’b’,’c’}; C.char s[5]=””; D.char s[5]=”abcd”; 6.对以下说明语句正确的理解是() int a[10]={6,7,8,9,10,12}; A.将6个初值依次赋值给a[1]至a[5]; B.将6个初值依次赋值给a[0]至a[5]; C.将6个初值依次赋值给a[5]至a[10]; D.因数组长度和初值的个数不同,所以此语句不正确 7.用scanf语句为数组a中的第二个数组元素输入数据,格式正确的是()

C语言(数组与函数)习题与答案

1、有以下程序 main() { int p[8]={11,12,13,14,15,16,17,18},i=0,j=0; while(i++<7) if(p[i]%2) j+=p[i]; printf("%d\n",j); } 程序运行后的输出结果是()。 A.42 B.56 C.60 D.45 正确答案:D 2、以下叙述中错误的是()。 A.数组名代表的是数组所占存储区的首地址,其值不可改变 B.只有double类型数组,不可以直接用数组名对数组进行整体输入或输出 C.可以通过赋初值的方式确定数组元素的个数 D.当程序执行中,数组元素的下标超出所定义的下标范围时,系统将给出“下标越界”的出错信息 正确答案:B 3、以下能正确定义一维数组的选项是()。 A.int a[5]={0,1,2,3,4,5}; B.int a[5]="0123"; C.char a[]={0,1,2,3,4,5}; D.char a={'A','B','C'}; 正确答案:C

解析: D、不加[ ],a只能被看作是一个字符变量,只能接收一个字符 4、有以下程序 main() { char p[ ]={‘a’,’b’,’c’},q[ ] =”abc”; printf("%d %d\n",sizeof(p),sizeof(q)); }; 程序运行后的输出结果是()。 A.4 4 B.3 3 C.3 4 D.4 3 正确答案:C 解析: C、p[] 只能认作字符数组,不会有字符串的结束标志,所以只有3个字符q[] 是字符串,末尾还会有字符串的结束标志,所以有4个字符 5、以下程序运行后的输出结果是()。 main() { int i,j,a[][3]={1,2,3,4,5,6,7,8,9}; for(i=0;i<3;i++) for(j=i+1;j<3;j++) a[j][i]=0; for(i=0;i<3;i++) { for(j=0;j<3;j++) printf("%d ", a[i][j]); printf("\n"); } } A.1 2 3 0 5 6 0 0 9

C语言数组练习及答案

C语言数组练习及答案 第四部分数组 4.1 选择题 1. 以下关于数组的描述正确的是(c )。 A. 数组的大小是固定的,但可以有不同的类型的数组元素 B. 数组的大小是可变的,但所有数组元素的类型必须相同 C. 数组的大小是固定的,所有数组元素的类型必须相同 D. 数组的大小是可变的,可以有不同的类型的数组元素 2. 以下对一维整型数组a的正确说明是(d )。 a(10); B. int n=10,a[n]; n; D. #define SIZE 10 scanf("%d",&n); int a[SIZE]; int a[n]; 3. 在C语言中,引用数组元素时,其数组下标的数据类型允许是 (c )。 A. 整型常量 B. 整型表达式 C. 整型常量或整型表达式 D. 任何类型的表达式 4. 以下对一维数组m进行正确初始化的是(c )。 A. int m[10]=(0,0,0,0) ; B. int m[10]={ }; C. int m[ ]={0}; D. int m[10]={10*2}; 5. 若有定义:int bb[ 8];。则以下表达式中不能代表数组元bb[1]的地址的是(c )。 A. &bb[0]+1 B. &bb[1] C. &bb[0]++

D. bb+1 6. 假定int类型变量占用两个字节,其有定义:int x[10]={0,2,4};,则数组x在内存中所占字节数是(d )。 A. 3 B. 6 C. 10 D. 20 7. 若有以下说明: int a[12]={1,2,3,4,5,6,7,8,9,10,11,12}; char c='a',d,g; 则数值为4的表达式是(d ) A. a[g-c] B. a[4] C. a['d'-'c'] D. a['d'-c] 8. 以下程序段给数组所有的元素输入数据,请选择正确答案填入 (a )。 #include<> main() { int a[10],i=0; while(i<10) scanf("%d",________ ); ┇ } A. a+(i++) B. &a[i+1] C. a+i D. &a[++i] 9. 执行下面的程序段后,变量k中的值为(a )。 int k=3, s[2];

C语言练习3(数组)=参考答案

C语言(数组) 一、选择题 1. 设有程序: main() { int i,a[11]; printf("给数组赋值:\n"); for (i=0;i<=10;i++) scanf("%d",( )); ... ... printf("输出数组:\n"); for(i=0;i<=10;i++) printf("%d,",( )); } 则在程序中的两个园括号中分别应填入:C A) &a[i]和&a[i] B) a[i]和&a[i] C) &a[i]和a[i] D) a[i]和a[i] 2. 设已定义:int a[15]; 则数组a占用的内存单元数是( C ). A) 15 B) 16 C) 30 D) 32 3. 阅读程序: main() { int a[2]={0},i,j,k=2; for(i=0;i

return r; } main() { int x,a[]={2,3,4,5,6,7,8,9}; x=f(a,3); printf("%d\n",x); } 以上程序的输出结果是( D ). A) 720 B) 6 C)24 D) 120 5. 以下定义语句中,错误的是( B ). A) int a[ ] = {6,7,8}; B) int n=5, a[n]; C) char a[ ]= "string"; D) char a[5 ]={'0','1','2','3','4'}; 6. 以下描述中正确的是( D ). A) 数组名后面的常量表达式用一对圆括弧括起来 B) 数组下标从1开始 C) 数组下标的数据类型可以是整型或实型 D) 数组名的规定与变量名相同 7. 若定义数组并初始化char a[10]={'0','1 ','2','3','4','5','6','7','8','9'};指出以下错误语句( AB ). A) scanf("%c",a[0]); B) scanf("%s",&a); C) printf("%c",a[3]); D) printf("%s",a); 8.若定义数组int a[10] ,其最后一个数组元素为( C ). A) a[0] B) a[1] C) a[9] D) a[10] 9. 若定义数组并初始化int a[10]={ 1,2,3,4},以下语句哪一个不成立( B )? A) a[8] 的值为0 B) a[1] 的值为1 C) a[3] 的值为4 D) a[9] 的值为0 10. 指出以下错误语句( A ).

C程序设计(数组)习题与答案

C程序设计(数组)习题与答案C程序设计(数组)习题与答案 数组是C语言中常用的数据结构之一,它可以存储多个相同类型的元素。掌握数组的使用对于C程序设计至关重要,下面将为大家介绍一些关于C数组的习题及其答案。 1. 习题一:计算数组元素的和 题目描述:编写一个程序,计算给定数组中所有元素的和,并输出结果。 解题思路: ```c #include int main() { int arr[5] = {1, 2, 3, 4, 5}; // 定义一个包含5个元素的整型数组 int sum = 0; // 用于存储和的变量 // 遍历数组,累加每个元素的值 for (int i = 0; i < 5; i++) { sum += arr[i]; } printf("数组元素的和为:%d\n", sum);

return 0; } ``` 2. 习题二:查找数组中的最大值 题目描述:编写一个程序,找出给定整型数组中的最大值,并输出结果。 解题思路: ```c #include int main() { int arr[7] = {4, 7, 2, 9, 1, 5, 8}; // 定义一个包含7个元素的整型数组 int max = arr[0]; // 假设第一个元素为最大值 // 遍历数组,比较每个元素的值与当前最大值的关系 for (int i = 1; i < 7; i++) { if (arr[i] > max) { max = arr[i]; } }

printf("数组中的最大值为:%d\n", max); return 0; } ``` 3. 习题三:查找数组中的特定元素 题目描述:编写一个程序,在给定整型数组中查找是否存在指定元素,并输出结果。 解题思路: ```c #include int main() { int arr[6] = {3, 6, 9, 2, 5, 8}; // 定义一个包含6个元素的整型数组 int target = 2; // 指定要查找的元素 int found = 0; // 用于标记是否找到目标元素的变量 // 遍历数组,比较每个元素的值与目标值的关系 for (int i = 0; i < 6; i++) { if (arr[i] == target) { found = 1;

数组练习题及答案

数组练习题及答案 第五章数组练习题及答案 一、选择题 1、判断字符串a和b是否相等,应当使用() A、if(a==b) B、if(a=b) C、if(strcpy(a,b)) D、if(strcmp(a,b)) 2、以下正确的定义语句是() A、int a[1][4]={1,2,3,4,5}; B、float x[3][]={{1},{2},{3}}; C、long b[2][3]={{1},{1,2},{1,2,3}}; D、double y[][3]={0}; 3、以下各组选项中,均能正确定义二维实型数组a的选项是() A、float a[3][4]; float a[ ][4]; float a[3][ ]={{1},{0}}; B、float a(3,4); float a[3][4]; float a[ ][ ]={{0},{0}}; C、float a[3][4]; static float a[ ][4]={{0},{0}}; auto float a[ ][4]={{0},{0},{0}}; D、float a[3][4]; float a[3][ ]; float a[ ][4]; 4、下面程序的运行结果是() 1—5 DDCBA 6—10 BDABB 11—15 CCCBC 16—20 DDCBB 21—25 BBAAA 26—30 DBDDB #include "stdio.h" main() { char str[]="SSSWLIA",c; int k; for(k=2;((c=str[k])!='\0');k++) { switch(c) {case 'I':++k;break;

c语言数组练习题及答案

c语言数组练习题及答案 第一题:在数组a中,存放有n个学生的成绩.试编一函数:将低于平均分的学生人数m由函数值返回,将低于平均分的分数由数组b带回. int fun(int a[],int n,int b[]) { int i,m=0,aver=0; for(i=0;i

data=m+1; n=0; while(n

c语言数组练习题及答案

c语言数组练习题及答案 /* 4.16 5*5矩阵中每行的绝对值最大值,与同行对角线交换*/ #include "stdio.h" #include "math.h" void main() { int a[5][5]={{1,2,3,4,-5},{3,5,-2,4,2},{4,1,2,3,-2}, {1,3,-2,4,6},{2,2,0,7,4}} ; int i,k,max,sub,temp; /* i 循环变量,控制行,k 循环变量,控制列,max 当前最大绝对值,sub 当前最大绝对值元素的下标 temp 临时用于交换的变量*/ printf("交换之前,输出\"); /*交换之前,输出*/ for(i=0;i<=4;i++) { for(k=0;k<=4;k++) printf("%4d",a[i][k]); printf("\"); } /*交换*/ for(i=0;i<=4;i++) { /*假设第一个元素最大*/ max=fabs(a[i][0]); sub=0; /*寻找绝对值最大的元素记下下标*/ for(k=1;k<=4;k++) { if(fabs(a[i][k])>max) {

max=fabs(a[i][k]); sub=k; } } /*交换*/ temp=a[i][i]; a[i][i]=a[i][sub]; a[i][sub]=temp; } /*交换之后,输出*/ printf("交换之后,输出\"); for(i=0;i<=4;i++) { for(k=0;k<=4;k++) printf("%4d",a[i][k]); printf("\"); } } /* 4.17 在一个一维数组中存放任意4个数,如:5,1,8,6,生成如下矩阵 5 5 5 5 5 5 5 5 1 1 1 1 1 5 5 1 8 8 8 1 5 5 1 8 6 8 1 5 5 1 8 8 8 1 5 5 1 1 1 1 1 5 5 5 5 5 5 5 5 */ #include "stdio.h" #include "conio.h" void main() { int FourNumbers[4], array[7][7], i , row, column;

C语言数组练习及答案

第四部分数组 4.1 选择题 1. 以下关于数组的描述正确的是(c )。 A. 数组的大小是固定的,但可以有不同的类型的数组元素 B. 数组的大小是可变的,但所有数组元素的类型必须相同 C. 数组的大小是固定的,所有数组元素的类型必须相同 D. 数组的大小是可变的,可以有不同的类型的数组元素 2. 以下对一维整型数组a的正确说明是(d )。 A.int a(10); B. int n=10,a[n]; C.int n; D. #define SIZE 10 scanf("%d",&n); int a[SIZE]; int a[n]; 3. 在C语言中,引用数组元素时,其数组下标的数据类型允许是(c )。 A. 整型常量 B. 整型表达式 C. 整型常量或整型表达式 D. 任何类型的表达式 4. 以下对一维数组m进行正确初始化的是(c )。 A. int m[10]=(0,0,0,0) ; B. int m[10]={ }; C. int m[ ]={0}; D. int m[10]={10*2}; 5. 若有定义:int bb[ 8];。则以下表达式中不能代表数组元bb[1]的地址的是(c )。 A. &bb[0]+1 B. &bb[1] C. &bb[0]++ D. bb+1 6. 假定int类型变量占用两个字节,其有定义:int x[10]={0,2,4};,则数组x在内存中所占字节数是(d )。 A. 3 B. 6 C. 10 D. 20 7. 若有以下说明: int a[12]={1,2,3,4,5,6,7,8,9,10,11,12}; char c='a',d,g; 则数值为4的表达式是(d ) A. a[g-c] B. a[4] C. a['d'-'c'] D. a['d'-c] 8. 以下程序段给数组所有的元素输入数据,请选择正确答案填入(a )。 #include main() { int a[10],i=0; while(i<10) scanf("%d",________ ); ┇ }

Java数组练习题(带答案)

一填空题 1)数组的元素通过下标来访问,数组Array的长度为 Array.length。 2)数组复制时,"="将一个数组的引用传递给另一个数组。 3)JVM将数组存储在栈(堆或栈)中。 4)数组的二分查找法运用的前提条件是数组已经排序。 5)Java中数组的下标的数据类型是整型。 6)数组最小的下标是0。 7)arraycopy()的最后一个参数指明复制元素的个数。 8)向方法传递数组参数时,传递的是数组的引用。 9)数组初始化包括数组的申明,创立和初始化。 10)数组下标访问超出索引围时抛出数组越界异常 11)浮点型数组的默认值是0.0f。 12)数组创立后其大小不能改变。 二选择题 1.下面错误的初始化语句是_ABD__ A. char str[]="hello"; B. char str[100]="hello"; C. char str[]={'h','e','l','l','o'}; D. char str[]={'hello'}; 2.定义了一维int型数组a[10]后,下面错误的引用是_B__ A.a[0]=1; B.a[10]=2; C.a[0]=5*2; D.a[1]=a[2]*a[0]; 3.下面的二维数组初始化语句中,正确的选项是____ A. floatb[2][2]={0.1,0.2,0.3,0.4}; B. int a[][]={{1,2},{3,4}}; C. int a[2][]= {{1,2},{3,4}}; D. float a[2][2]={0}; 4.引用数组元素时,数组下标可以是_D___ A. 整型常量 B. 整型变量 C. 整型表达式 D. 以上均可 5.定义了int型二维数组a[6][7]后,数组元素a[3][4]前的数组元素个数为____ A. 24 B.25 C. 18 D. 17 6.以下初始化字符数组的语句中,正确的选项是__B__ A. char str[5]="hello"; B. char str[]={'h','e','l','l','o','\0'}; C. char str[5]={"hi"}; D. char str[100]=""; 7.数组在Java中储存在C中A.栈 B.队列C.堆D.链表 8.下面程序的运行结果是____ main(){ int a[][]={{1,2,3},{4,5,6}}; System.out.printf("%d", a[1][1]); } A. 3 B.4 C.5 D. 6 9.下面程序的运行结果是_C___ main(){ int *=30;

2023年C语言考试数组知识习题库及答案(精品)

2023年C语言考试数组知识习题库及答案 (精品) 1. 单项选择题 (1) int a[4]={5,3,8,9};其中a[3]的值为( )。D A. 5 B. 3 C. 8 D. 9 (2) 以下4 个字符串函数中,( )所在的头文件与其他3 个不同。A A. gets B. strcpy C. strlen D. strcmp (3) 以下4 个数组定义中,( )是错误的。D A. int a[7]; B. #define N 5 long b[N]; C. char c[5]; D. int n,d[n]; (4) 对字符数组进行初始化,( )形式是错误。B A. char c1[ ]={'1', '2', '3'}; B. char c2[ ]=123; C. char c3[ ]={ '1', '2', '3', '\0'}; D. char c4[ ]="123"; (5) 在数组中,数组名表示( )。A A. 数组第1 个元素的首地址 B.数组第2 个元素的首地址 C. 数组所有元素的首地址 D.数组最后1 个元素的首地址 (6) 若有以下数组说明,则数值最小的和最大的元素下标分别是( )。B int a[12] ={1,2,3,4,5,6,7,8,9,10,11,12}; A. 1,12 B. 0,11 C. 1,11 D. 0,12 (7) 若有以下说明,则数值为4 的表达式是( )。D int a[12] ={1,2,3,4,5,6,7,8,9,10,11,12}; char c=’a’, d, g ;

A. a[g-c] B. a[4] C. a['d'-'c'] D. a['d'-c] (8) 设有定义:char s[12] = "string" ; 则printf( "%d\n",strlen(s)); 的输出是( )。A A. 6 B. 7 C. 11 D. 12 (9) 设有定义:char s[12] = "string"; 则printf("%d\n ", sizeof(s)); 的输出是( )。D A. 6 B. 7 C. 11 D. 12 (10) 合法的数组定义是( )。A A. char a[ ]= "string " ; B. int a[5] ={0,1,2,3,4,5}; C. char a= "string " ; D. char a[ ]={0,1,2,3,4,5} (11) 合法的数组定义是( )。D A. int a[3][ ]={0,1,2,3,4,5}; B. int a[ ][3] ={0,1,2,3,4}; C. int a[2][3]={0,1,2,3,4,5,6}; D. int a[2][3]={0,1,2,3,4,5,}; (12) 下列语句中,正确的是( )。D A. char a[3][ ]={'abc', '1'}; B. char a[ ][3] ={'abc', '1'}; C. char a[3][ ]={'a', "1"}; D. char a[ ][3] ={ "a", "1"}; (13) 下列定义的字符数组中,输出printf("%s\n", str[2]) ;的输出是( )。C static str[3][20] ={ "basic", "foxpro", "windows"}; A. basic B. foxpro C. windows D. 输出语句出错 (14) 下列各语句定义了数组,其中哪一个是不正确的( )。C A. char a[3][10]={"China","American","Asia"}; B. int x[2][2]={1,2,3,4};

数组练习题及答案

第五章数组练习题及答案 一、选择题 1、判断字符串a和b是否相等,应当使用() A、if(a==b) B、if(a=b) C、if(strcpy(a,b)) D、if(strcmp(a,b)) 2、以下正确的定义语句是() A、int a[1][4]={1,2,3,4,5}; B、float x[3][]={{1},{2},{3}}; C、long b[2][3]={{1},{1,2},{1,2,3}}; D、double y[][3]={0}; 3、以下各组选项中,均能正确定义二维实型数组a的选项是() A、float a[3][4]; float a[ ][4]; float a[3][ ]={{1},{0}}; B、float a(3,4); float a[3][4]; float a[ ][ ]={{0},{0}}; C、float a[3][4]; static float a[ ][4]={{0},{0}}; auto float a[ ][4]={{0},{0},{0}}; D、float a[3][4]; float a[3][ ]; float a[ ][4]; 4、下面程序的运行结果是() 1—5 DDCBA 6—10 BDABB 11—15 CCCBC 16—20 DDCBB 21—25 BBAAA 26—30 DBDDB #include "stdio.h" main() { char str[]="SSSWLIA",c; int k; for(k=2;(c=str[k]!='\0');k++) { switch(c) {case 'I':++k;break; case 'L':continue; default:putchar(c);continue; } putchar('*'); } } A、SSW* B、SW* C、SW*A D、SW 5、下面程序段是输出两个字符串中对应相等的字符。横线处应填入() char x[]="programming"; char y[]="Fortran"; int i=0;

C语言数组练习及答案

第四部分数组 4.1选择题 1.以下关于数组的描述正确的是(c} A.数组的大小是固定的,但可以有不同的类型的数组元素 B.数组的大小是可变的,但所有数组元素的类型必须相同 C.数组的大小是固定的,所有数组元素的类型必须相同 D.数组的大小是可变的,可以有不同的类型的数组元素 2.以下对一维整型数组a的正确说明是(d)。 A.inta(10); C.intn; scanf("%d",&n); inta[n]; B.intn=10,a[n]; D.#defineSIZE10inta[SIZE]; 3.在C语言中,引用数组元素时,其数组下标的数据类型允许是(c)。 A.整型常量 B.整型表达式 C.整型常量或整型表达式 D.任何类型的表达式 页脚内容1

4.以下对一维数组m进行正确初始化的是(c)。 A.intm[10]=(0,0,0,0); B.intm[10]={}; C.intm[]={0}; D.intm[10]={10*2}; 5.若有定义:intbb[8];。则以下表达式中不能代表数组元bb[1的地址的是(c> A.&bb[0]+1 B.&bb[1] C.&bb[0]++ D.bb+1 6.假定int类型变量占用两个字节,具有定义:intx[10]={0,2,4};,则数组x在内存中所占字节数是(d) A.3 B.6 C.10 D.20 7.若有以下说明: inta[12]={1,2,3,4,5,6,7,8,9,10,11,12}; charc='a',d,g; 则数值为4的表达式是(d) A.a[g-c] B.a[4] C.a['d'-'c'] D.a['d'-c] 8.以下程序段给数组所有的元素输入数据,请选择正确答案填入(a)。 #includemain() { inta[10],i=0; while(i<10)scanf("%d",); 页脚内容2 ) A.a+(i++) B.&a[i+1] C.a+i D.&a[++i] 9.执行下面的程序段后,变量k中的值为(a)。 intk=3,s[2];

数组练习及答案

数组练习及答案 数组练习 121、合法的数组定义是___ _____. A) int a[6]={"string"}; B) int a[5]={0,1,2,3,4,5}; C) char a={"string"}; D) char a[]={0,1,2,3,4,5}; 122、要求下面的程序运行后,显示如下结果:2 10 4 6 1 5 2 3 2 4 7 8 5 1 3 2 则程序中的划线处应填入___ _____. #include <> void main( ) { int a[4][4]={ ________ }; int i,j; for(i=0;i<4;i++) {for(j=0;j<4;j++) printf("%4d",a[i][j]); printf("\n"); } } A) {1,5,2,3},{2,4,7,8},{5,1,3,2} B) {2,10,4,6},{1,5,2,3},{2,4,7,8},{5,1,3,2} C) {5,1,3,2},{2,4,7,8},{1,5,2,3} D) {2,1,2,5},{10,5,4,1},{4,2,7,3},{6,3,8,2} 123、给出以下定义: char x[ ]="abcdefg"; char y[ ]={'a','b','c','d','e','f','g'}; 则正确的叙述为___ _____.

A) 数组x和数组y等价B) 数组x和数组y的长度相同 C) 数组x的长度大于数组y的长度 D) 数组x的长度小于数组y的长度 124、定义如下变量和数组: int i; int x[4][4]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16}; 则下面语句的输出结果是___ _____. for(i=0;i<4;i++) printf("%3d",x[i][3-i]); A) 1 5 9 13 B) 1 6 11 16 C) 4 7 10 13 D) 4 8 12 16 126、若希望下面的程序运行后输出45,程序空白处的正确选择是___ _____. #include <> void main( ) { int i,j=10,a[ ]={1,3,5,7,9,11,13,15}; for( ____________ ) j+=a[i]; printf("%d\n",j); } A) i=5;i>1;i-- B) i=0;i<7;++i C) i=5;i>=1;--i D) i=2;i<6;++i 127、若有以下说明: char s1[ ]={"tree"},s2[]={"flower"}; , 则以下对数组元素或数组的输出语句中,正确的是__ ___. A) printf("%s%s",s1[5],s2[7]); B) printf("%c%c",s1,s2); C) puts(s1);puts(s2); D) puts(s1,s2); 128、下列一维数组初始化语句中,正确且与语句float a[ ]={0,3,8,0,9};等价的是_____ ___. A) float a[6]={0,3,8,0,9};

相关文档
最新文档