C#试题库
(这个题太多,只是为了方便看前半部分的课后题及解答,貌似有几个答案和老师讲的不一样,仅供参考)
计算机高级语言部分
一 选择题
(1)以下不属于.NET编程语言的是 。(A)
A.Java B.C# C.VC.NET D.VB.NET
(2)C#语言经编译后得到的是 。(D)
A.扩编指令 B.机器指令 C.本机指令 D.Microsoft中间语言指令
(3)C#程序的执行过程是 。(D)
A.从程序的第一个方法开始,到最后个方法结束
B.从程序的Main方法开始,到最后一个方法结束
C.从程序的第一个方法开始,到Main方法结束
D.从程序的Main方法开始,到Main方法结束
(4)Console标准的输入和输出设备分别是 和 。(A C)
A.键盘 B鼠标 C.屏幕 D.打印机
(5)以下属于c#简单值数据类型的有 。 (AC)
A.int类型 B.int[]类型 C.char类型 D.枚举类型
(6)要使用变量age来存储人的年龄,则将其声明为 类型最为适合。(B)
A,sbyte B.byte C.int D.float
(7)以下数组声明语句中,不正确的有 。(BC)
A.int [] a; B.int a [] = new int[2]
C.int [] a == {1,3}; D.int [] a = int [] {1,3};
(8)以下多维数组声明语句中,不正确的有 。(C)
A.int[,]a = new int[2,3]; B.int[,] a = {{1,2,3}};
C.int[2,3] a = new int[2,3]; D.int[,] a = {{1,2,3},{2,3}};
(9)若多维数组a有4行3列,那么数组中第10个元素的写法为 。(C)
A.a[10] B.a[2,1] C.a[3,0] D.a[4,1]
(10)以下赋值语句中,正确的有 。(B)
A.short X = 50000; B.ushort Y= 50000;
C.long X =1000;int Y=x; D.double x=20;decimal Y=x;
(11)以下拆箱转换语句中,正确的有 。(D)
A.object o; int i = (int)o;
B.object o=10.5; int i= (int)o;
C.object o=10.5; float f = (float)o;
D.object o=10.5; float f=(float)(double)o;
(12)可以作用于结构类型的访问限制修饰符有 。(ABCD)
A.public B.protected C.private D.internal
(13)c#程序中,方法的签名由以下哪几部分组成 。(AB)
A.方法名 B.参数列表 C.返回类型 D.方法执行体
(14)以下属于合法c#变量名的有 。(AD)
A.X J23 B.class C.5y D.@ch
(15)设double型变量x和y的取值分别为12.5和5.0,那么表达式x/y+(int)(x/y)-(int)x/y的值为 。(C)
A.2.9 B.2.5 C.2.1 D.2
(16)设bool型变量a和b的取值分别为true和false,那么表达式a&&(a||!b)和a|(a&&b)的值分别为 。(A)
A.true true B.true false C.false false D.false true
(17)设int型变量x的值为9,那么表达式x-- + x-- + x--的值为 ,而表达式--x + --x + --x的值为 析构函数的定义。(BC)
A.27 B.24 C.21 D.18
(18)设int型变量x和y的取值分别为3和2,那么执行下面语句后z的值为 。(A)
int z = (x++ % y == 0) ? ++x : (x / y == 1) ? ++y : --y;
A 1 B.2 C.3 D.4
(19)设int型变量X的值为-5,那么表达式X << -(X >> 2)的值为 。(A)
A.-20 B.-10 C.-9 D.10
(20)下列有关switch语句的描述中,正确的有 。(A)
A.至少应包含一个case分支 B.每个case分支都必须有break语句
C.必须包含default语句 D.default语句之后的case分支无效
(21)下面语句执行后y的值为 。(C)
int x = 0, y = 0;
while (x < 10) y += (x += 2);
A. 10 B. 20 C. 30 D. 55
(22)下面语句执行后y的值为 。(D)
int x = 1, y = 1;
do
y <<= (++x);
while (x < 4);
A. 16 B. 64 C. 138 D. 512
(23)以下循环语句的执行次数为 。(A)
for (int i = 0,x = 0; i < 10; i++)
for (int j = i; j > 0; j--)
x++;
A. 45 B. 55 C. 81 D. 100
(24)下面语句的输出结果的值为 。(B)
int x = 1, y = 15;
do
if (y % x == 0)
Console.Write(x);
while (x++ < y / 2);
A. 35 B. 135 C.1357 D. 13515
(25)下面的语句中所计算的数学表达式为 。(D)
for (int x = 0, y = 1, z = 1; z < 10; x += y, y *= ++z) { }
A. 1+2+4+6+...+20 B. 1+2+22+23+...+210
C. 1+1*2+2*3+...+9*10 D. 1!+2!+3!+...+10!
(26)以下语句中会产生死循环的有 。(BC)
A. int x = 1, y = 0; while (true) if ((x += (y++)) > 100) break;
B. for(;;);
C. for (int x = 100, y = 1; y < 10; ) if (x % y == 0) Console.WriteLine(y++);
D. for (int i = 10; i > 0; i--) for (int j = 0; j < i; j++) ;
(27)下面有关构造函数和析构函数的说法,不正确的有 。(D)
A.构造函数和析构函数都不能有返回值
B 可以定义静态的构造函数
C 一个类可以有多个构造函数
D.一个类可以有多个析构函数
(28)下面有关属性的说法,不正确的有 。(A)
A.属件可以有默认值
B.属性可以不和任何字段相关联
C.属性的get访问函数是不带参数的特殊方法
D.属性的set访问函数是没有返回值特殊方法
(29)以下不能作为复合赋值操作符被重载的有 。(D)
A.+= B.*= C.&= D .~=
(30)下面有关事件的说法,不正确的有 。(B)
A.delegate是所有事件的元类型
B.事件应当被定义为public,否则就不能被外部对象引发
C.一个事件可以关联多个事件处理方法
D.多个事件可以使用一个事件处理方法
(31)类的成员中,不能定义为静态的有 。(AC)
A.析构函数 B.属性 C.索引函数 D.事件
(32)要从派生类中访问基类的成员,应使用关键字 。(C)
A.new B.this C.base D.override
(33)下面有关抽象类的说法,正确的有 。(C)
A.抽象类中至少应有一个抽象方法
B.抽象类中的方法不能提供实现代码
C.抽象类的派生类必须实现该抽象类的所有抽象方法
D.抽象类不能被实例化,因此不能定义公有构造函数
(34) 下面有关虚拟方法和抽象方法的说法,正确的有 。(B)
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论