第3章  C#语法基础
一、选择题
1.下面哪些类型不是值类型(        )。
A.布尔类型              B.结构类型              C.枚举类型          D.String类型
2.下面哪些概念不可以定义为常量(        )。
    A.光速              B.圆周率                C.每年的月份数        D.一年内总秒数
3.下列有关while和do…while语句的描述中,不正确的是(          )。
A.都可以实现死循环                        B.while语句可以执行零次或多次
C.do…while语句至少执行一次                D.while语句与do…while语句可以相互替换
4.仔细查看下面的这段代码:
static void Main(string[] args)
{
    int i= 0;
    int j = 0;
    while (i < 3)
    {
        i++;
        if (i > 2)
        {
            break;
        }
        ++j;
    }
    Console.WriteLine(i);
    Console.WriteLine(j);
}
程序运行后,其输出结果应该为(        )。
    A.3,3                    B.2,3                  C.3,2              D.2,2
5.以下的数组声明语句中,正确的是(    )。
A.int a[3];            B.int [3] a;        C.int[][] a=new int[][];        D.int [] a={1,2,3};
6.已知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.越界
7.下面代码运行后输出的结果是(    )。
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
8.下面关于类和对象的说法中,不正确的是(        )。
A.类是一种系统提供的数据类型                    B.对象是类的实例
C.类和对象的关系是抽象和具体的关系              D.任何对象只能属于一个具体的类
9.运行下面代码,变量z的值是(        )。
private int Add(int x, int y,out int z)   
{
    z = x + y;
    return z;
}
static void Main(string[] args)
{
    Program pro = new Program();
    int x = 30;
    int y = 40;
    int z;
    pro.Add(x, y,out z);
    Console.WriteLine(z);
}
A.0                    B.30                    C.40                  D.70
10.下面代码的运行结果是(        )。
public int Add(int x, int y)
{
    return x + y;
}
public int Add(int x, int y, int z)   
{
    return x + y + z;
}
writeline输出数值变量
static void Main(string[] args)
{
    Program program = new Program();   
    int x = 3;
    int y = 5;
    int z = 7;
    Console.WriteLine(program.Add(x, y, z));
}
A.3                    B.8                    C.15                  D.12
二、填空题
1.C#有两个预定义引用类型,它们分别是______________和______________。
2.关于以下的C#程序代码:
public class Person
{
    String Name;
    int  Age;
}
public static void Main()
{
    Person per = new Person();
    int PerCount = 100;
}
在上面的代码中定义了4个变量,其中_____________和____________是值类型变量;而____________和____________引用类型变量。
3.在C#中,下列代码运行后,变量intNum的值是__________。
Int a = 4 , b = 9 , c = 12 , intNum = 0 ;
intNum = a < b ? a : b ;
intNum = c > intNum ? c : intNum;
4.在switch语句中,若【表达式】的值与各个case分支的【常量表达式】都不符合,则程序将执行______________分支的语句块。
5.在一个循环语句中,若要终止本次循环,可以使用______________语句;若要跳出这个循环语句,可以使用______________语句。
6.运行下面这段程序,其控制台输出结果是______________。
static int GetIntValue(int intParam)
{
    int j = 2;
    for (int i = 0; i < intParam; i++)
    {
        j -= 1;
        if (i > j)
        {
            break;
        }
    }
    return j;
}
static void Main(string[] args)
{
  Console.WriteLine(GetIntValue(3));
}
7.下面代码运行后输出的结果是______________。
int []age=new int[]{16,18,20,14,22};
foreach(int i in age)
{
  if(i>18)
    continue;
  Console.WriteLine(i.ToString()+" ");
}
8.下面代码用来使用while循环计算1——100的累加和,请补充完整。
int iNum = 1;
    int iSum = 0;
    while (iNum <= 100)
    {
        __________________
        iNum++;
    }
    Console.WriteLine("1到100的累加结果是:"+ iSum);
9.下面代码使用foreach遍历一维数组,并输出,请将foreach语句中的内容补充完整。
int[] arr = new int[10] { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 };
    foreach (__________________________)
    {
        Console.Write(i + " ");
    }
10.面向对象编程的3大基本原则分别是___________、___________和___________。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。