任务六 同步训练
一、选择题
-
以下的数组声明语句中,正确的是()。 A.
int a[3];B.int [3] a;C.int[][] a=new int[][];D.int [] a={1, 2, 3}; -
下面语句是创建数组的正确语句的是()。 A.
float f[]=new float[6]B.float f[6]=new float[6]C.float [] f=new float[6]D.float f=new float[6] -
已知表达式
int[] m={0, 1, 2, 3, 4, 5, 6},下面表达式的值与数组的下标量总数相等的是()。 A.m.Length()B.m.LengthC.m.Length-1D.m.Length()-1 -
数组中各个元素的数据类型是()。 A. 相同的 B. 不同的 C. 部分相同的 D. 任意的
-
语句
int[]a=new int[12]定义了()个数组元素。 A. 12 B. 13 C. 11 D. 10 -
下面代码运行后输出的结果是()。
int []num = new int[5]{1,3,2,0,0};
Array.Reverse(num);
foreach (int i in num)
{
Console.Write(i);
}
A. 00231 B. 12300 C. 00132 D. 00123
-
已知
int[][] arr=new int [3][]{new int[3]{5, 6, 2}, new int[5]{6, 9, 7, 8, 3}, new int[2]{3, 2}};则arr[2][2]的值是()。 A. 9 B. 1 C. 6 D. 越界 -
以下程序的输出结果是()。
public static void main()
{
int i;
int []a=new int[10];
for (i=9; i>=0; i--)
{
a[i]=10-i;
}
Console.WriteLine("{0},{1},{2}",a[2],a[5],a[8]);
}
A. 258 B. 741 C. 852 D. 369
-
假定一个 10 行 20 列的二维整型数组,下列定义语句正确的是()。 A.
int[] arr = new int[10, 20]B.int[] arr = int new[10, 20]C.int[, ] arr = new int[10, 20]D.int[, ] arr = new int[20; 10] -
在
Array类中,可以对一维数组中的元素进行排序的方法是()。 A.Sort()B.Clear()C.Copy()D.Reverse()
二、填空题
- C#数组元素的下标从______开始。
- 元素类型为
double的 2 行 5 列的二维数组共占用______字节的存储空间。 - C#数组类型是一种引用类型,所有的数组都是从
System命名空间的______类继承而来的引用对象。 - 在定义数组时______为数组中的元素赋值。
三、写程序运行结果题
public static void Main ()
{
int[] a = {2,4,6,8,10,12,14,16,18};
for (int i=0; i<9; i++)
{
Console.Write(" "+a[i]);
if ((i+1)%3==0)
Console.WriteLine();
}
}
以上程序运行结果:____________________
public static void Main(string[] args)
{
int sum = 1;
for (int i = 1; i <=6; i++)
{
sum *= i;
}
Console.WriteLine(sum);
}
以上程序运行结果:____________________
string strArr = {"习", "学", "好", "好"};
Array.Reverse(strArr);
for (int i = 0; i < strArr.Length; i++)
{
Console.Write(strArr[i]);
}
以上程序运行结果:____________________
参考答案
一、选择题答案与解析
- 答案:D
- 解析:C#中一维数组声明格式为
类型[] 数组名 = 初始化值,D选项符合语法;A是C语言风格,B语法错误,C未指定数组维度大小。
- 解析:C#中一维数组声明格式为
- 答案:C
- 解析:C#正确创建数组格式为
float[] f = new float[6],A语法不规范,B是C语言风格,D未声明为数组类型。
- 解析:C#正确创建数组格式为
- 答案:B
- 解析:C#中数组长度属性是
Length(无括号),数组下标从0开始,下标量总数为m.Length - 1,题目问“与数组的下标量总数相等”,对应选项C? 修正:数组元素个数是m.Length,下标范围是0~m.Length-1,下标量总数(即最大下标值)是m.Length-1,所以正确答案应为 C。
- 解析:C#中数组长度属性是
- 答案:A
- 解析:C#数组要求所有元素数据类型相同。
- 答案:A
- 解析:
new int[12]定义了包含12个元素的数组,下标范围0~11。
- 解析:
- 答案:A
- 解析:原数组
{1,3,2,0,0},Array.Reverse反转后为{0,0,2,3,1},输出为00231。
- 解析:原数组
- 答案:D
- 解析:
arr[2]是长度为2的数组(下标0~1),访问arr[2][2]会越界。
- 解析:
- 答案:C
- 解析:循环中
a[i] = 10 - i,计算得:a[2] = 10-2=8a[5] = 10-5=5a[8] = 10-8=2输出为8,5,2,对应选项C。
- 解析:循环中
- 答案:C
- 解析:C#二维数组声明格式为
int[,] arr = new int[行数, 列数],10行20列对应new int[10,20]。
- 解析:C#二维数组声明格式为
- 答案:A
- 解析:
Array.Sort()用于对一维数组元素排序;Clear()清空元素,Copy()复制数组,Reverse()反转数组。
- 解析:
二、填空题答案
- 0(C#数组下标从0开始)
- 80(
double占8字节,2行5列共2×5=10个元素,10×8=80字节) - Array(所有数组继承自
System.Array类) - 可以(或“直接”,C#支持在定义数组时直接初始化赋值)
三、程序运行结果题
-
运行结果:
2 4 6
8 10 12
14 16 18解析:每输出3个元素换行,最终输出3行。
-
运行结果:
720解析:sum初始为1,循环计算1×2×3×4×5×6 = 720(即6的阶乘)。 -
运行结果:
好好学习解析:原数组{"习","学","好","好"},Array.Reverse反转后为{"好","好","学","习"},依次输出为“好好学习”。
最终答案汇总
选择题:1.D 2.C 3.C 4.A 5.A 6.A 7.D 8.C 9.C 10.A 填空题:1.0 2.80 3.Array 4.可以(或直接) 程序运行结果:1.见上述格式 2.720 3.好好学习