Skip to main content

任务六 同步训练

一、选择题

  1. 以下的数组声明语句中,正确的是()。 A. int a[3]; B. int [3] a; C. int[][] a=new int[][]; D. int [] a={1, 2, 3};

  2. 下面语句是创建数组的正确语句的是()。 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]

  3. 已知表达式 int[] m={0, 1, 2, 3, 4, 5, 6},下面表达式的值与数组的下标量总数相等的是()。 A. m.Length() B. m.Length C. m.Length-1 D. m.Length()-1

  4. 数组中各个元素的数据类型是()。 A. 相同的 B. 不同的 C. 部分相同的 D. 任意的

  5. 语句 int[]a=new int[12] 定义了()个数组元素。 A. 12 B. 13 C. 11 D. 10

  6. 下面代码运行后输出的结果是()。

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

  1. 已知 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. 越界

  2. 以下程序的输出结果是()。

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

  1. 假定一个 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]

  2. Array 类中,可以对一维数组中的元素进行排序的方法是()。 A. Sort() B. Clear() C. Copy() D. Reverse()


二、填空题

  1. C#数组元素的下标从______开始。
  2. 元素类型为 double 的 2 行 5 列的二维数组共占用______字节的存储空间。
  3. C#数组类型是一种引用类型,所有的数组都是从 System 命名空间的______类继承而来的引用对象。
  4. 在定义数组时______为数组中的元素赋值。

三、写程序运行结果题

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]);
}

以上程序运行结果:____________________


参考答案

一、选择题答案与解析

  1. 答案:D
    • 解析:C#中一维数组声明格式为 类型[] 数组名 = 初始化值,D选项符合语法;A是C语言风格,B语法错误,C未指定数组维度大小。
  2. 答案:C
    • 解析:C#正确创建数组格式为 float[] f = new float[6],A语法不规范,B是C语言风格,D未声明为数组类型。
  3. 答案:B
    • 解析:C#中数组长度属性是 Length(无括号),数组下标从0开始,下标量总数为 m.Length - 1,题目问“与数组的下标量总数相等”,对应选项C? 修正:数组元素个数是 m.Length,下标范围是 0~m.Length-1下标量总数(即最大下标值)是 m.Length-1,所以正确答案应为 C
  4. 答案:A
    • 解析:C#数组要求所有元素数据类型相同
  5. 答案:A
    • 解析:new int[12] 定义了包含12个元素的数组,下标范围 0~11
  6. 答案:A
    • 解析:原数组 {1,3,2,0,0}Array.Reverse 反转后为 {0,0,2,3,1},输出为 00231
  7. 答案:D
    • 解析:arr[2] 是长度为2的数组(下标 0~1),访问 arr[2][2]越界
  8. 答案:C
    • 解析:循环中 a[i] = 10 - i,计算得:
      • a[2] = 10-2=8
      • a[5] = 10-5=5
      • a[8] = 10-8=2 输出为 8,5,2,对应选项C。
  9. 答案:C
    • 解析:C#二维数组声明格式为 int[,] arr = new int[行数, 列数],10行20列对应 new int[10,20]
  10. 答案:A
    • 解析:Array.Sort() 用于对一维数组元素排序;Clear() 清空元素,Copy() 复制数组,Reverse() 反转数组。

二、填空题答案

  1. 0(C#数组下标从0开始)
  2. 80double 占8字节,2行5列共 2×5=10 个元素,10×8=80 字节)
  3. Array(所有数组继承自 System.Array 类)
  4. 可以(或“直接”,C#支持在定义数组时直接初始化赋值)

三、程序运行结果题

  1. 运行结果:

     2 4 6
    8 10 12
    14 16 18

    解析:每输出3个元素换行,最终输出3行。

  2. 运行结果:720 解析:sum 初始为1,循环计算 1×2×3×4×5×6 = 720(即6的阶乘)。

  3. 运行结果:好好学习 解析:原数组 {"习","学","好","好"}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.好好学习