数组练习题
- 格式:doc
- 大小:77.50 KB
- 文档页数:12
第五章数组练习题及答案一、选择题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*AD、SW5、下面程序段是输出两个字符串中对应相等的字符。
数组练习题大全数组是计算机编程中一种重要的数据结构。
掌握数组的基本操作和应用是每个程序员都需要具备的技能之一。
本文将为您提供一系列数组练习题,帮助您熟练掌握数组的使用。
一、基础操作题1. 请编写一个程序,创建一个长度为5的整型数组,然后将数组中的元素依次赋值为1、2、3、4、5,并输出数组中的所有元素。
2. 请编写一个程序,创建一个长度为10的字符型数组,然后将数组中的元素依次赋值为'A'、'B'、'C'、'D'、'E'、'F'、'G'、'H'、'I'、'J',并输出数组中的所有元素。
3. 请编写一个程序,创建一个长度为7的浮点型数组,然后使用循环从键盘输入数组中的元素值,并计算数组中所有元素的平均值。
二、查找与排序题4. 请编写一个程序,在一个已知整型数组中查找指定的元素。
如果找到该元素,则输出该元素的下标位置;如果未找到,则输出"未找到该元素"。
5. 请编写一个程序,将一个已知整型数组按照从小到大的顺序进行排序,并输出排序后的结果。
三、统计与分析题6. 请编写一个程序,统计一个整型数组中负数的个数,并输出统计结果。
7. 请编写一个程序,计算一个整型数组中所有元素的和,并输出总和。
8. 请编写一个程序,找出一个整型数组中的最大值和最小值,并输出这两个值。
四、应用题9. 请编写一个程序,统计一个整型数组中奇数和偶数的个数,并输出统计结果。
10. 请编写一个程序,从一个已知整型数组中删除指定的元素,并输出删除后的数组。
11. 请编写一个程序,将一个整型数组中的所有元素向左移动一位,并输出移动后的数组。
12. 请编写一个程序,将一个整型数组中的所有元素向右移动一位,并输出移动后的数组。
总结:通过以上一系列的数组练习题,您可以逐步掌握数组的使用技巧。
一填空题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. float b[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. 24B. 25C. 18D. 176.下列初始化字符数组的语句中,正确的是__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. 3B. 4C. 5D. 69.下面程序的运行结果是_C___main() {int x=30;int[] numbers=new int[x];x=60;System.out.println(numbers.length);}A. 60B. 20C. 30D. 5010.下面程序的运行结果是__BDF__main() {char s1[]="ABCDEF".toCharArray();int i=0;while(s1[i++]!='\0')System.out.println(s1[i++]);}A. ABCDEFB. BDFC. ABCDED. BCDE11.下面不是创建数组的正确语句CA.float f[][]=new float[6][6];B.float f[]=new float[6];C.float f[][]=new float[][6];D.float [][]f=new float[6][];12.下面不是数组复制方法的是(C)A. 用循环语句逐个复制数组B. 用方法arraycopyC. 用"="进行复制D. 用clone方法13.数组a的第三个元素表示为DA. a(3)B. a[3]C.a(2)D. a[2]14.当访问无效的数组下标时,会发生BA. 中止程序B. 抛出异常C. 系统崩溃D. 直接跳过15.使用arraycopy()方法将数组a复制到b正确的是AA. arraycopy(a,0,b,0,a.length)B. arraycopy(a,0,b,0,b.length)C.. arraycopy(b,0,a,0,a.length)D. arraycopy(a,1,b,1,a.length)16.关于数组默认值,错误的是BA. char--'"u0000'B. Boolean--trueC. float--0.0fD. int-- 017.关于数组作为方法的参数时,向方法传递的是AA. 数组的引用B. 数组的栈地址C. 数组自身D. 数组的元素18.关于数组复制,下列说法错误的是ACA. "="可以实现数组复制B. 运用循环语句进行数组复制必须两个数组长度相同C. arraycopy()方法没有给目标数组分配内存空间D. 数组复制是数组引用的传递19.下列语句会造成数组new int[10]越界是DA. a[0] += 9;B. a[9]=10;C. —a[9]D. for(int i=0;i<=10;i++) a[i]++;20.在JDK环境下编译JAVA源程序使用的命令是(B )A.javaB.javacC.jvmD.tomcatD. 子类不能使用父类的构造方法21.main方法是java Application 程序执行的入口点。
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,",( ));}则在程序中的两个园括号中分别应填入:CA) &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) 323. 阅读程序:main(){ int a[2]={0},i,j,k=2;for(i=0;i<k;i++)for(j=0;j<k;j++) a[j]=a[i]+1;printf("%d\n",a[k]);}以上程序的输出结果是( D ).A) 1 B) 3 C) 2 D) 不确定的值4. 阅读程序:f(int b[],int n){ int i,r=1;for(i=0;i<=n;i++) r=r*b[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) 1205. 以下定义语句中,错误的是( 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]C) a[9]D) a[10]9. 若定义数组并初始化int a[10]={ 1,2,3,4},以下语句哪一个不成立( B )?A) a[8] 的值为0B) a[1] 的值为1C) a[3] 的值为4D) a[9] 的值为010. 指出以下错误语句( A ).A) int n=10,a[n];B) int n,a[10];C) int a[10]={1,2,3};D) int a[10]={1,2,3,4,5,6,7,8,9,10};11. 请读程序:main(){int n[2],i,j,k;for(i=0;i<2;i++) n[i]=0;k=2;for(i=0;i<k;i++)for(j=0;j<k;j++) n[j]=n[i]+1;printf("%d\n",n[k]);}上面程序的输出结果是( A ).A)不确定的值 B)3 C)2 D)112. 若有以下的定义和语句:int str[12]={1,2,3,4,5,6,7,8,9,10,11,12};char c='e',则数值为2的表达式是( C ).A)str['g'-c] B)str[2] C)str['d'-'c'] D)str['d'-c]13. 设有数组定义:int a[5];则下列给数组元素赋值错误的是( B ).B) scanf("%c",a[3]);C) a[3]=getchar();D) a[3]='a'+3;14. 以下数组定义中错误的是( D ).A) #define N 30int a[N+30];B) #define N 30int a[N];C) int a[30];D) int a[N];15. 在定义一个一维数组时,不能用来表示数组长度的是( D ).A)常量 B)符号常量 C)常量表达式 D) 已被赋值的变量16. 若float型变量占用4个字节,有定义float a[20]={1.1,2.1,3.1};则数组a在内存中所占的字节数是( D ).A)12 B)20 C)40 D)8017. 设已定义:int x[2][4]={1,2,3,4,5,6,7,8}; 则元素x[1][1]的正确初值是( A ).A) 6 B) 5 C) 7 D) 118. 设有定义:int a[][3]={{1,2,3},{4,5,6},{7,8,9}}; 则a[1][2]的初值为( C ).A) 2 B) 4 C) 6 D) 819. 设有:int a[4][5]; 则数组a占用的内存字节数是( C ).A) 12 B) 24 C) 40 D) 2020. 以下数组定义中,不正确的是( B ).A) int b[3][4];B) int c[3][ ]={{1,2},{1,2,3},{4,5,6,7}};C) int b[200][100]={0};D) int c[ ][3]={{1,2,3},{4,5,6}};21. 定义数组:int x[2][3]; 则数组x 的维数是( 2 ).A) 1 B) 2 C) 3 D) 622. 若定义数组并初始化int b[2][3]= { 1,2,3,4,5,6},以下语句哪一个成立( C )?A) 表达式b[1][2]的值为1B) 表达式b[1][2]的值为4C) 表达式b[1][2]的值为6D) 表达式b[1][2]的值为223. 若定义数组并初始化int a[2][3]={{1,2,3},{4,5,6}};for(i=0;i<2;i++)for(j=0;j<3;j++)printf("%d",a[i][j]);语句的结果是哪一个( C )?A) 1,2,3,4,5,6B) 1 2 3 4 5 6C) 12345624. 若定义数组并初始化int a[2][3]= {{1,2, 3},{4,5,6}};以下语句哪一个不成立( B )?A) a数组中有6个元素B) a[2][3]是a数组的最后一个元素的引用C) a数组中每个元素都为整数D) a数组是整型数组25. 定义如下变量和数组:int i;int x[3][3]={1,2,3,4,5,6,7,8,9};则下面语句的输出结果是( C ).for(i=0;i<3;i++) printf("%d",x[i][2-i]);A) 1 5 9 B) 1 4 7 C) 3 5 7 D) 3 6 926. 如有以下定义:double s[][5]={0,1,2,3,4,5,6,7,8,9,10,11,12,13,14};则数值为2的元素是( C ).A) s[1][3] B) s[0][3] C) s[0][2] D) s[1][2]27. 以下程序的输出结果是( A ).main(){int a[3][3]={{1,2},{3,4},{5,6}},i,j,s=0;for(i=1;i<3;i++)for(j=0;j<=i;j++)s+=a[i][j];printf("%d",s);}A) 18 B) 19 C) 20 D) 2128. 若已有char b[10][50];则该二维字符数组在内存所占字节数为( D ).A) 10 B)50 C)60 D)50029. 设有:char a[10]; 下列语句那个是正确的( D )?A) scanf("%s",a[0]);B) scanf("%s",&a);C) printf("%s",a[0])D) printf("%s",a)30. 阅读程序:main(){ char a[10];int i;for(i=1;i<=5;i++)scanf("%c",&a[i]);printf("%c",a[0]);}设从键盘输入字符串:abcde,则程序的输出结果是( C ).A) a B)空格 C)不确定D)031. 合法的数组定义是( D ).A) int a[ ] = "string";B) int a[5]={0,1,2,3,4,5};C) char a= "string";D) char a[ ]={'0','1','2','3'};32. 设有数组定义:char string[ ]="China";则数组string所占的空间为( B ).A) 5个字节B) 6个字节C) 7个字节D) 10个字节33. 定义字符数组c:char c[ ]={"c language"};数组c在内存中所占字节数是( C ).A) 9 B) 10 C) 11 D) 1234. 指出以下错误语句( C ).A) char a[10]={'0','1','2','3','4','5','6','7','8','9'};B) char a[10]={'0','1 ','2','3'};C) char a[2]= {"1","2"};D) char a[2]= {'a’,'b’};35. 若定义数组并初始化char a[10]={"hello"},该数组的元素个数是( A ).A) 10B) 5C) 6D) 736. 若定义数组并初始化char a[10]={"HELLO"},该数组的元素中 a[2]是( A ).A) 'L'B) 'E'C) 'H'D) 'O'37. 若定义数组并初始化int b[10]={ 1,2,3,4},以下哪几个语句成立( A C D)?A)b[8]的值为0B)b[1]的值为1C)b[3]的值为整数D)b[10]不是b数组中的元素38. 若定义数组int a[10];指出下列错误语句:ABCDA) a数组共有10个元素,其引用方法是:a[1],a[2]...a[10];B) a数组是整型数组,其元素自动初始化为0;C) a数组最后一个元素的引用方法是a[10];D) a数组第一个元素的引用方法是a[1];二、判断题1.数组是数目固定的若干变量的有序集合,数组中各元素的类型可以不同。
数组练习题1.下面数组声明语句,_________正确。
A)Dim a[2,4] As Integer B)Dim a(2,4)As IntegerC)Dim a(n,n)As Integer D)Dim a(2 4)As Integer2.假定建立了一个名为Command1的命令按钮数组,则以下说法中错误的是________。
A)数组中每个命令按钮的名称(名称属性)均为Command1B)数组中每个命令按钮的标题(Caption属性)都一样C)数组中所有命令按钮可以使用同一个事件过程D)用名称Command1(下标)可以访问数组中的每个命令按钮3.数组声明语句Dim a(-2 to2,5)中,数组包含元素个数为________。
A)120 B)30 C )60 D)204.下面程序的输出结果是________。
Dim aa = Array(1,2,3,4,5,6,7)For i = Lbound(a)to Ubound(a)a(i)= a(i)* a(i)Next iPrint a(i)A)36 B)程序出错C)49 D)不确定5.下面程序的输出结果是________。
Option Base 1Private Sub Command1_Click()Dim a%(3, 3)For i = 1 To 3For j = 1To 3If j > 1 And i > 1 Thena(i, j)= a(a(i - 1, j - 1), a(i, j - 1))+ 1Elsea(i, j)= i * jEnd IfPrint a(i, j); "";Next jPrintNext iEnd SubA)1 2 3 B)1 2 3 C )1 2 3 D)1 2 32 3 1 1 2 3 2 4 6 2 2 23 2 3 1 2 3 3 6 9 3 3 36.在设定Option Base 0后,经Dim arr(3,4)As Integer 定义的数组arr含有的元素个数为________。
数据结构-第5章--数组练习题第5章数组一、选择题3.设有数组A[i,j],数组的每个元素长度为3字节,i的值为1到8,j的值为1到10,数组从内存首地址BA开始顺序存放,当用以列为主存放时,元素A[5,8]的存储首地址为(A)。
A.BA+141B.BA+180C.BA+222D.BA+2254.假设以行序为主序存储二维数组A=array[1..100,1..100],设每个数据元素占2个存储单元,基地址为10,则LOC[5,5]=(A)。
A.808B.818C.1010D.10205.数组A[0..5,0..6]的每个元素占五个字节,将其按列优先次序存储在起始地址为1000的内存单元中,则元素A[5,5]的地址是()。
1195A.1175B.1180C.1205D.12107.将一个A[1..100,1..100]的三对角矩阵,按行优先存入一维数组B[1‥298]中,A中元素A6665(即该元素下标i=66,j=65),在B数组中的位置K为()。
供选择的答案:A.198B.195C.1972+64某3=19410.若对n阶对称矩阵A以行序为主序方式将其下三角形的元素(包括主对角线上所有元素)依次存放于一维数组B[1..(n(n+1))/2]中,则在B中确定aij(iA.i某(i-1)/2+jB.j某(j-1)/2+iC.i某(i+1)/2+jD.j某(j+1)/2+i11.设A是n某n的对称矩阵,将A的对角线及对角线上方的元素以列为主的次序存放在一维数组B[1..n(n+1)/2]中,对上述任一元素aij(1≤i,j≤n,且i≤j)在B中的位置为(C)。
A.i(i-l)/2+jB.j(j-l)/2+iC.j(j-l)/2+i-1D.i(i-l)/2+j-112.A[N,N]是对称矩阵,将下面三角(包括对角线)以行序存储到一维数组T[N(N+1)/2]中,则对任一上三角元素a[i][j]对应T[k]的下标k是(AB)。
第四部分数组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 10scanf("%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]+1B. &bb[1]C. &bb[0]++D. bb+16. 假定int类型变量占用两个字节,其有定义:int x[10]={0,2,4};,则数组x在内存中所占字节数是(d )。
A. 3B. 6C. 10D. 207. 若有以下说明: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<stdio.h>main(){int a[10],i=0;while(i<10) scanf("%d",________ );┇}A. a+(i++)B. &a[i+1]C. a+iD. &a[++i]9. 执行下面的程序段后,变量k中的值为(a )。
数组练习题及答案问题1:数组的基本操作题目:编写一个程序,实现以下功能:1. 初始化一个整型数组,大小为10,所有元素初始化为0。
2. 将数组中的元素依次设置为1到10。
3. 输出数组中的所有元素。
答案:```c#include <stdio.h>int main() {int arr[10] = {0};for (int i = 0; i < 10; i++) {arr[i] = i + 1;}for (int i = 0; i < 10; i++) {printf("%d ", arr[i]);}return 0;}```问题2:数组的反转题目:编写一个函数,实现对整数数组的反转。
答案:```cvoid reverseArray(int arr[], int size) {int start = 0;int end = size - 1;while (start < end) {int temp = arr[start];arr[start] = arr[end];arr[end] = temp;start++;end--;}}```问题3:数组的查找题目:编写一个函数,实现在数组中查找特定元素的索引,如果找到返回该元素的索引,如果未找到返回-1。
答案:```cint findElement(int arr[], int size, int element) {for (int i = 0; i < size; i++) {if (arr[i] == element) {return i;}return -1;}```问题4:数组的排序题目:使用冒泡排序算法对整数数组进行排序。
答案:```cvoid bubbleSort(int arr[], int size) {for (int i = 0; i < size - 1; i++) {for (int j = 0; j < size - i - 1; j++) {if (arr[j] > arr[j + 1]) {int temp = arr[j];arr[j] = arr[j + 1];arr[j + 1] = temp;}}}}```问题5:数组的动态扩展题目:编写一个函数,实现对数组的动态扩展,使其能够存储更多的答案:```cvoid dynamicArrayExpansion(int *arr, int *size, int capacity, int newElement) {if (*size >= capacity) {int newCapacity = capacity * 2;int *newArr = (int *)malloc(newCapacity *sizeof(int));for (int i = 0; i < *size; i++) {newArr[i] = arr[i];}free(arr);arr = newArr;capacity = newCapacity;}arr[(*size)++] = newElement;}```结束语:这些练习题涵盖了数组的基本操作、查找、排序和动态扩展等常见问题,希望能够帮助您更好地理解和掌握数组的使用。
C语言数组练习一填空题1.构成数组的各个元素必须具有相同的______。
2.C语言数组的下标总是从开始,不可以为负数。
3.字符串是以为结束标志的一维字符数组。
4.有定义:char a[]=””;则a数组的长度是。
5.若有以下定义:int a[10];,则数组a元素下标的上限为______,下限为______. 6.在C语言中,数组int a[5];的首地址是。
7.数组名定名规则和变量名相同,遵循定名规则。
8.对于一维数组的定义“类型说明符数组名[常量表达式]”,其中常量表达式可以包括和,不能包含。
9.在C语言中,引用数组只能通过来实现,而不能通过整体引用来实现。
如引用数组int a[5];第四个元素为。
10、char str1[15]=“zhongguo”,数组str1所占的内存空间为个字节。
11.构成数组的各个元素必须具有相同的。
12、有数组的定义int str[ ]={0,1,2,3,4};该数组长度为______________。
13.有数组定义float kk[5];则将第一个元素赋值为 5.0的语句为____________;将第二个元素值为12.3的语句为______________,将一、二两个元素的和赋给最后一个元素的语句为_________________________________ 14.一维数组元素的下标最小值从_______________开始,定义一个数组为int x[8];的数组长度为________________.引用最后一个元素的为_____________________。
15、在数组中int score[10]={1、2、3、4、5}中,元素个数有______________个,其中score[8]的值为______________。
二选择题1.对两个数组a和b进行如下初始化char a[]="ABCDEF";char b[]={'A','B','C','D','E','F'};则以下叙述正确的是________。
J a v a数组练习题(带答案)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__3. A. a[0]=1; B. a[10]=2; C. a[0]=5*2; D. a[1]=a[2]*a[0];4.下面的二维数组初始化语句中,正确的是____5. A. float b[2][2]={0.1,0.2,0.3,0.4}; B. int a[][]={{1,2},{3,4}};6. C. int a[2][]= {{1,2},{3,4}}; D. float a[2][2]={0};7.引用数组元素时,数组下标可以是_D___8. A. 整型常量 B. 整型变量 C. 整型表达式 D. 以上均可9.定义了int型二维数组a[6][7]后,数组元素a[3][4]前的数组元素个数为____A. 24B. 25C. 18D. 1710.下列初始化字符数组的语句中,正确的是__B__11.A. char str[5]="hello"; B. char str[]={'h','e','l','l','o','\0'};12.C. char str[5]={"hi"}; D. char str[100]="";13.数组在Java中储存在 C 中14.A. 栈 B. 队列 C. 堆D. 链表15.下面程序的运行结果是____main() {int a[][]={{1,2,3},{4,5,6}};System.out.printf("%d", a[1][1]);}A. 3B. 4C. 5D. 616.下面程序的运行结果是_C___int x=30;int[] numbers=new int[x];x=60;System.out.println(numbers.length);}A. 60B. 20C. 30D. 5018.下面程序的运行结果是__BDF__19.main() {20.char s1[]="ABCDEF".toCharArray();21.int i=0;22.while(s1[i++]!='\0')System.out.println(s1[i++]);}A. ABCDEFB. BDFC. ABCDED. BCDE23.下面不是创建数组的正确语句C24. A.float f[][]=new float[6][6]; B.float f[]=new float[6];25. C.float f[][]=new float[][6]; D.float [][]f=new float[6][];26.下面不是数组复制方法的是(C)A. 用循环语句逐个复制数组B. 用方法arraycopyC. 用"="进行复制D. 用clone方法27.数组a的第三个元素表示为DA. a(3)B. a[3]C.a(2)D. a[2]28.当访问无效的数组下标时,会发生BA. 中止程序B. 抛出异常C. 系统崩溃D. 直接跳过29.使用arraycopy()方法将数组a复制到b正确的是AA. arraycopy(a,0,b,0,a.length)B. arraycopy(a,0,b,0,b.length)C.. arraycopy(b,0,a,0,a.length)D. arraycopy(a,1,b,1,a.length)30.关于数组默认值,错误的是 BA. char--'"u0000'B. Boolean--trueC. float--0.0fD. int-- 031.关于数组作为方法的参数时,向方法传递的是 AA. 数组的引用B. 数组的栈地址C. 数组自身D. 数组的元素32.关于数组复制,下列说法错误的是ACA. "="可以实现数组复制B. 运用循环语句进行数组复制必须两个数组长度相同C. arraycopy()方法没有给目标数组分配内存空间D. 数组复制是数组引用的传递33.下列语句会造成数组new int[10]越界是DA. a[0] += 9;B. a[9]=10;C. —a[9]D. for(int i=0;i<=10;i++) a[i]++;34.在JDK环境下编译JAVA源程序使用的命令是(B )A.javaB.javacC.jvmD.tomcatD. 子类不能使用父类的构造方法35.main方法是java Application 程序执行的入口点。
一、选择题1. 以下对一维整型数组a的正确说明是。
A.int a(10);B.intn=10, a[n];C.int n;scanf(“%d",&n);int a[n];D.#defineSIZE10int a[SIZE]2. 若有说明:int a[10];,则对a数组元素的正确引用是. A.a[10] B.a[3。
5] C.a(5) D.a[10-10]4. 以下对二维数组a的正确说明是。
A.int a[3][]; B.float a(3,4);C.double a[][4];D.floata(3)(4);5.若有说明:int a[3][4];则对a数组元素的正确引用是。
A.a[3][4] B.a[1,3]C.a[1+1][0]D.a(2)(1) 6. 以下能对二维数组a进行正确初始化的语句是。
A.inta[2][ ]={{1,0, 1}, {5, 2, 3}};B.int a[ ][3]={{1,2,3},{4,5,6}};C.int a[2][4]={{1,2,3},{4,5},{6}};D.int a[][3]={{1,0,1,0},{ },{1,1}};7. 下面程序段(每行代码前面的数字表示行号)。
1 inta[3]={3*0};2int i3 for(i=0;i〈3; i++) scanf(“%d”,&a[i]);4for(i=1;i〈3;i++) a[0]=a[0]+a[i];5 printf(“%d\n”,a[0]);A.第1行有错误 B.第5行有错误C.第3行有错误D.没有错误8.若有定义floatx[4]={1.3, 2.4,5。
6},y=6;则错误的语句是。
A.y=x[3]; B.y=x+1; C.y=x[2]+1D.x[0]=y; 9。
定义如下变量和数组:int k;int a[3][3]={1,2,3,4,5,6,7,8,9};则下面语句的输出结果是。
第六章数组资料来源:/一、选择题:1. 在c语言中,一维数组的定义方式为:类型说明符数组名()。
A.常量表达式B.整型表达式 C.整型常量或整型表达式D.整型常量2. 以下对一维整型数组a的正确说明是。
A. int a(10);B. int n=10,a[n];C. int n;D. #define SIZE 10scanf(“%d”,&n); int a[SIZE];int a[n];3. 在C语言中,引用数组元素时,其数组下标的数据类型允许是().A.整型常量或整型表达式B.整型常量C.整型表达式D.任何类型的表达式4. 若有说明:int a[10];则对a数组元素的正确引用是。
A. a[10]B. a[3.5]C. a(5)D. a[10-10]5. 以下能对一维数组a进行不正确初始化的语句是()A.int a[]={0};B.int a[10]={0,0,0,0};C.int a[10]={};D.int a[10]={10*1};6. 对以下说明语句的正确理解是。
int a[10]={6,7,8,9,10};A. 将5个初值依次赋给a[1]至a[5]B. 将5个初值依次赋给a[0]至a[4]C. 将5个初值依次赋给a[6]至a[10]D. 因为数组长度与初值的个数不相同,所以此语句不正确7. 下面程序(每行程序前面的数字表示行号)。
1 main()2 {3 float a[10]={0.0};4 int i;5 for(i=0;i<3;i++) scanf(“%d”,&a[i]);6 for(i=1;i<10;i++) a[0]=a[0]+a[i];7 printf(“%f\n”,a[0]);8 }A. 没有错误B. 第3行有错误C. 第5行有错误D. 第7行有错误8. 下面程序中有错误的行是(每行程序前面的数字表示行号)。
1 main()2 {3 float a[3]={1};4 int i;5 scanf(“%d”,&a) ;6 for(i=1;i<3;i++) a[0]=a[0]+a[i];7 printf(“a[0]=%d\n”,a[0]);8 }A. 3B. 6C. 7D. 59. 定义如下变量和数组:int k;int a[3][3]={1,2,3,4,5,6,7,8,9};则下面语句的输出结果是。
第三章数组一、选择题1.合法的数组定义是A.int 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};2.若有定义和语句:char s[10]; s=”abcd”; printf(“%s\n”,s); 则结果是(以下u代表空格)A.输出abcd B.输出aC.输出abcd u u u u u D.编译不通过3.数组a[2][2]的元素排列次序是A.a[0][0],a[0][1],a[1][0],a[1][1] B.a[0][0],a[1][0],a[0][1],a[1][1]C.a[1][1],a[1][2],a[2][1],a[2][2] D.a[1][1],a[2][1],a[1][2],a[2][2]4.有以下语句,则下面是正确的描述static char x [ ]=“12345”;static char y[ ]={…1‟,…2‟,…3‟,…4‟,…5‟};A.x数组和y数组的长度相同。
B.x数组长度大于y数组长度。
C.x数组长度小于y数组长度D.x数组等价于y数组。
5.列不能正确进行字符串赋值操作的语句是A.char str[10];gets(str); B.char*str;str=“a”;C.char*str;str=…a‟;D.charstr[10];strcpy(str,“hello”);6.若数组的长度为n,则该数组中的元素最多有n个。
若[3][5]是一个二维数组,则最多可使用的元素个数为A.8 B.10 C.15 D.57.若有说明:int a[3][4]; 则对a数组元素的非法引用是A.a['B'-'A'][2*1] B.a[1][3] C.a[4-2][0] D.a[0][4] 8.设有语句static char str[10]={“china”};printf(“%d”,strlen(str)); 则输出结果是A.10 B.5C.china D.69.表达式strlen(“string”)+strlen(“C”)的运算结果为A.9 B.10 C.7D.810.执行以下程序段后,s的值为。
小学数组练习题1. 基础练习(1) 请将下列数字按从小到大的顺序排列:9, 4, 12, 7, 2(2) 小华一共有8个苹果,他每天吃掉2个。
请问了几天后他会吃完所有的苹果?(3) 某小组有12个学生,老师让他们分成3个小组,每个小组有几个学生?(4) 请列举出2的前5个倍数。
(5) 小明有14元,他买了一本书花了6元,还剩下多少钱?(6) 小林用一个带有10个亮灯的电路板制作了一个街景模型,其中4个灯坏了。
那么街景模型上亮灯的数量是多少?2. 进阶练习(1) 将下列数字按从大到小的顺序排列:15, 9, 21, 18(2) 小华一共有15个橙子,他每天吃掉3个。
请问了几天后他会吃完所有的橙子?(3) 某小组有28个学生,老师让他们分成7个小组,每个小组有几个学生?(4) 请列举出3的前5个倍数。
(5) 小明有25元,他买了一支笔花了7元,还剩下多少钱?(6) 小林用一个带有15个亮灯的电路板制作了一个太阳系模型,其中6个灯坏了。
那么太阳系模型上亮灯的数量是多少?3. 挑战练习(1) 将下列数字按从小到大的顺序排列:23, 16, 32, 19, 27(2) 小华一共有30个水果,他每天吃掉4个。
请问了几天后他会吃完所有的水果?(3) 某小组有42个学生,老师让他们分成6个小组,每个小组有几个学生?(4) 请列举出4的前5个倍数。
(5) 小明有38元,他买了一本画册花了12元,还剩下多少钱?(6) 小林用一个带有20个亮灯的电路板制作了一个城市模型,其中8个灯坏了。
那么城市模型上亮灯的数量是多少?以上是小学数组练习题,分为基础练习、进阶练习和挑战练习三个部分。
希望这些练习能够帮助你更好地理解和掌握数组的概念和基本运算。
加油!。
Java数组选择题附加答案解析1. 下列哪个选项正确描述了Java数组?A. 数组可以包含不同类型的元素。
B. 数组的大小可以在运行时改变。
C. 数组的元素必须是相同类型的数据。
D. 数组的索引可以是负数。
答案: C。
解析:在Java中,数组的元素必须是相同类型的数据。
2. 给定以下Java数组的声明和初始化:javaint[] arr = {1, 2, 3};下列哪个选项初始化了一个与’arr’相同的数组?A. ‘int[] newArr = new int[3];’B. ‘int[] newArr = {1, 2, 3};’C. ‘int[] newArr = arr;’D. ‘int[] newArr = new int[]{1, 2, 3};’答案: D。
解析:选项D 初始化了一个与‘arr’相同的数组,并且也使用了初始化数组的方式。
3. 给定以下Java代码片段:javaint[] arr = {5, 3, 9, 1, 7};表达式’arr.length’的值是:A. 5B. 4C. 6D. 10答案: A。
解析:’arr.length’表示数组’arr’的长度,即数组中元素的个数,这里是5。
4. 给定以下Java数组的声明和初始化:javaint[] arr = new int[4];arr[0] = 1;arr[1] = 3;arr[2] = 5;arr[3] = 7;表达式’arr[2]’的值是:A. 1B. 3C. 5D. 7答案: C。
解析:’arr[2]’表示数组’arr’中索引为2的元素,即第三个元素,其值为5。
5. 给定以下Java数组的声明和初始化:javaint[] arr = {2, 4, 6, 8};下列哪个选项正确实现了对数组’arr’的遍历?A.javafor (int i = 0; i <= arr.length; i++) {System.out.println(arr[i]);}B.javafor (int i = 0; i < arr.length; i++) {System.out.println(arr[i]);}C.javafor (int i = 1; i <= arr.length; i++) {System.out.println(arr[i]);}D.javafor (int i = 0; i < arr.length - 1; i++) {System.out.println(arr[i]);}答案: B。
1.下面数组声明语句,_________正确。
A)Dim a[2,4] As Integer B)Dim a(2,4)As IntegerC)Dim a(n,n)As Integer D)Dim a(2 4)As Integer2.假定建立了一个名为Command1的命令按钮数组,则以下说法中错误的是________。
A)数组中每个命令按钮的名称(名称属性)均为Command1B)数组中每个命令按钮的标题(Caption属性)都一样C)数组中所有命令按钮可以使用同一个事件过程D)用名称Command1(下标)可以访问数组中的每个命令按钮3.数组声明语句Dim a(-2 to2,5)中,数组包含元素个数为________。
A)120 B)30 C )60 D)204.下面程序的输出结果是________。
Dim aa = Array(1,2,3,4,5,6,7)For i = Lbound(a)to Ubound(a)a(i)= a(i)* a(i)Next iPrint a(i)A)36 B)程序出错C)49 D)不确定5.下面程序的输出结果是________。
Option Base 1Private Sub Command1_Click()Dim a%(3, 3)For i = 1 To 3For j = 1To 3If j > 1 And i > 1 Thena(i, j)= a(a(i - 1, j - 1), a(i, j - 1))+ 1Elsea(i, j)= i * jEnd IfPrint a(i, j); "";Next jPrintNext iEnd SubA)1 2 3 B)1 2 3 C )1 2 3 D)1 2 32 3 1 1 2 3 2 4 6 2 2 23 2 3 1 2 3 3 6 9 3 3 36.在设定Option Base 0后,经Dim arr(3,4)As Integer 定义的数组arr含有的元素个数为________。
A)12 B)20 C )16 D)97.用Dim A (-3 To 5)As Integer语句定义的数组的元素个数是________。
A)6 B)7 C )8 D)98.有如下程序代码,输出结果是________。
Dim a()a=Array(1,2,3,4,5)for i=Lbound(a)to Ubound(a)print a(i);next IA)1 2 3 4 5 B)0 1 2 3 4 C )5 4 3 2 1 D)4 3 2 1 09.设有如下数组声明语句,________是正确的。
A)Dim a[3,4] As Integer B)Dim a(n,n)As IntegerC)Dim a(3,4) As Integer D)Dim a(3 4)As Integer10.窗体上已有命令按钮Command1和标签Labe1,下列程序运行后,单击Command1按钮,标签Label1中显示的内容是________。
Option base 0Private Sub Command1_Click()Dim a(5)As Integer, n As IntegerFor i = 1 To 5a(i)= in = n + a(i)Next iLabel1 = nEnd SubA)5 B)10 C)15 D)程序报错,Label1不能输出结果1 2 3 4 5 6 7 8 9 10B B B B A B D AC C一.判断题:1.Visual basic中的数组是指由一批互相联系的、有一定顺序的数据组成的集合。
()。
2.一个数组中的所有数据,成为该数组的数组元素。
()3.根据数组占用内存的方式的不同,可以将数组分为常规数组和动态数组两种类型。
()4.常规数组,是大小固定的数组。
常规数组中包含的数组元素的个数和大小都不变,所以它占有的存储空间将保持不变。
()5.声明数组时,其下界可以省略。
当省略下界时,其默认下界为1。
()6.此语句必须在模块顶部的声明中使用,必须位于所有数组声明语句之前,且只影响该语句所在模块中数组的下界。
()7.一个模块只能出现一次Option Base语句。
()8.Option Base语句对Array函数不起作用,使用Array函数所创建数组的下标的下界始终为0。
()9.在声明数组时,在数组名的后面附以一个空的维数表,即可将数组声明为动态数组。
()10.用户自定义数据类型,又叫做记录数据类型,简称记录类型。
( )11.Dim A (2,3) as double声明一个二维双精度实型数组A,共有6个元素。
()二、填空题1.具有两个或两个以上序号的数组称为_____________数组。
多维2.一个数组中的所有数据,成为该数组的___________。
数组元素3.根据数组占用内存的方式的不同,可以将数组分为__________和_____________两种类型。
4.在声明数组时,在数组名的后面附以一个空的维数表,即可将数组声明为____________数组。
5.用户自定义数据类型,又叫做记录数据类型,简称____________。
6.数据元素下标的下界默认为_______,如要想改变其默认值,应使用________________语句。
7.Dim counters(14) as integer声明了一个____型数组成counters,共有_________个元素。
三、选择题1.如下数组声明语句中,数组a包含元素的个数为()。
Dim a(3, -2 To 2, 5)A)120 B)75 C)60 D)132.下列数组的声明语句中,正确的是()A dim X[4,4] as integerB dim X(4,4)as integerC dim X{4 ,4}as integerD dim X[4:4] as integer3.以下属于VB合法的数组元素是()A a8 B a[8] C a(0) D a{6}1、在窗体上用复制、粘贴的方法建立一个命令按钮数组,数组名为M1。
设窗体Form标题为“myform1”,双击控件数组中的第三个按钮,打开代码编辑器,写下如下代码:Private Sub M1_Click(Index As Integer)Form1.Caption = "No3"End Sub运行时,单击按钮数组中的第一个按钮,窗体标题为:A、FormB、M1C、myform1D、No32、在窗体上画一个命令按钮,其Name属性维Command1,然后编写如下代码:Option Base 1Private Sub Command1_Click()Dim a(4,4)For i = 1 To 4For j = 1 To 4a(i,j)=(i-1)*3+jNext jNext iFor i = 3 To 4For j = 3 To 4Print a(j,i);Next jPrintNext iEnd Sub程序运行后,单击名利按钮,其输出结果为:A、6 9B、7 10C、8 11D、9 127 10 8 11 9 12 10 133、下列程序的输出结果是:Dim aa = Array(1,2,3,4,5,6,7,8)i = 0For k = 100 To 90 Step -2s = a(i)^2If a(i) > 3 Then Exit Fori = i + 1Next kPrint k;a(i);sA、88 6 36B、88 1 2C、90 2 4D、94 4 164、有如下程序:Dim a(3,3) As IntegerFor m = 1 To 3For n = 1 To 3a(m,n)=(m-1)*3+nNext mFor m = 2 To 3For n = 1 To 2Print a(n,m)Next nNext m运行后输出结果是:A、2 5 3 6B、2 3 5 6C、4 7 5 8D、4 5 7 85、设用复制、粘贴的方法建立一个命令按钮数组Command1,以下对该数组的说法错误的是:A、命令按钮的所有Caption属性都是Command1B、在代码中访问任意一个命令按钮只需要使用名称Command1C、命令按钮的大小都相同D、命令按钮共享相同的事件过程6、下列程序段的执行结果为:Dim M(10)For i = 0 To 10M(i) = 2*iNext iPrint M(M(3))A、12B、6C、0D、47、语句Dim arr(-3 To ,2 To 6)As Integer定义的数组元素有:A、45 个B、40个C、11个D、54个8、执行以下Command的Click事件过程,在窗体上显示:Oprion Base()Private Sub Command1_Click()Dim aa = Array("a","b","c","d","e","f","g")Print a(1);a(3);a(5)End SubA、abcB、bdfC、aceD、出错9、有如下程序:Const n = -5 : Const M = 6Dim a(n To M)For i = LBound(a,1) To UBound(a,1)a(i) = iNext iPrint a(LBound(a,1);a(UBound(a,1))运行后输出结果为:A、0 0B、-5 0C、-5 6D、0 610、语句Dim a&(1 To 20),b#(2,-1 To 1)定义两个数组,其类型分别为:A、一维单精度实型数组和二双精度型数组B、一维整型数组和二维单精度实型数组C、一维单精度实型数组和二维整型数组D、一维长整型数组和二维双精度型数组11、设有数组声明语句:Option Base 0Dim b(-1 To 10,2 To 9,20) As Integer则数组B中共有________个元素。
A、1800B、1848C、2016D、231012、下列程序段的执行结果为:Dim A(10),B(5)For i = 1 To 10A(i) = iNext iFor j = 1 To 5B(j) = j * 20Next jA(5) = B(2)Print "A(5)=";A(5)A、A(5)=5B、A(5)=10C、A(5)=20D、A(5)=4013、下述语句定义的数组元素有________个。