C#题目合集
更新时间:2023-03-11 15:04:01 阅读量: 教育文库 文档下载
习题一
1. 在为类或方法取名时,Microsoft推荐使用的命名规范是( )
A. 随便起名字
B. Hungarian Notation
C. Camel Notation
D. Pascal Notation
2. 在C#程序中,可以作为入口函数的声明是( )
A. static int main() {?}
B. static void Main() {?}
C. static void main() {?}
D. void Main() {?}
3. 在C#程序中,不能作为入口函数的声明是( )
A. public static int Main() {?}
B. public static int Main(string args) {?}
C. static void Main(string[] args) {?}
D. public static void Main() {?}
4. 下列语句在控制台上输出的是( )
String msg = @”Hello\\nWorld!”; \\\\@--定义逐字字符串
System.Console.WriteLine(msg);
A. Hello World! B. @”Hello\\nWorld!”
C. Hello
World D. Hello\\nWorld!
5. Which of the following is not a class? ( )
A. A Ford Ikon car with the registration number XXXX
B. Fruit C. Mammal D. Fish
6. In the statement “using System;”, System is a ( ) .
A. Namespace B. Class
C. Object D. Keyword
7. Console is a ( ) .
A. Namespace B.Class
C. Function D. Escape sequence character
8. NET Framework class library的作用是( )
A. 是.NET托管程序的执行引擎 B. 供.NET托管程序使用的类型集合
C. 支持托管程序的编译程序 D. 支持.NET托管程序的操作系统
9. 在.NET编程中,术语“托管环境”是( )
A. .NET Framework类库 B. .NET公共语言运行库
C. Windows 窗体程序 D. .NET所基于的操作系统
10. The Console.ReadLine() accepts data in ( ) format.
A. char B. string C. float D. int
11. Which of the following is not an example of value type? ( )
A. string B. char C. float D. bool
12. 下面程序的运行结果为( ) .
public class SC2 {
public static void Main(string[] args) {
int a = 3;
int b = 4;
Console.Write(\ \ \
Console.Write(a + b);
Console.Write(\ \ \
Console.Write(Foo() + a + b + \ \
Console.WriteLine(a + b + Foo());
Console.ReadKey();
}
static string Foo() {
return \
} }
A. 72 34 34 foo34 34foo
B. 72 7 34 foo34 7foo
C. 9 7 7 foo34 34foo
D. 9 34 34 foo34 34foo
13. 下面代码片断的运行结果为( ) .
int m = 99;
int n = 1;
Console.WriteLine(m + n + \
A. 991 OK 991 B. 100 OK 100
C. 100 OK 991 D. 991 OK 100
14. 仔细阅读下面的代码(含注释):
int i1 = 123, i2 = 456;
float f1 = (i1+i2)* 1.2; //①× 1.2 指1.2d
double d = 1e200;
float f2 = d; //② ×
//float f2 = (float)d;
byte b1 = 67, b2 = 89;
byte b3 = b1+b2; //③× (byte)( b1 + b2)
float f3 = 1.23; //④ × 1.23 (double)
long varL1 = 0x300000000000; //⑤
float f = varL+f3; //⑥不考虑前面f3错的
long varL2 = f; //⑦;
以上带圈数字①~⑦的注释行中,变量赋值或类型转换错误的有( ) (不考虑关联,只关注类型)
A. ①②④⑥⑦
B. ②③④⑤⑦
C. ①②③④⑦
D. ①②③④⑤⑥⑦
15. 若变量k为int类型, 则下列类型转换不会损失精度的是( ) .
A. byte bx = (byte)k;
B. short sx = (short)k;
C. float fx = (float)k; //若干位表示整数(<32位),剩下表示指数
D. double dx = (double)k; //若干位表示整数(>40位),剩下表示指数
16. 若变量iLong为long类型, 则下列类型转换不会损失精度的是( ) .
A. short sx = (short)iLong;
B. float fx = (float)iLong;
C. double dx = (double)iLong;
若干位表示整数(<64位),剩下表示指数
D. 以上都不对
17. 请看如下代码:
long test(int x, float y) {
//return x; //①√
//return (long)x / y; //②×
//return (long) y; //③√
//return (int) 3.14 ; //④√
//return (y / x); //⑤×
//return (x / 7); //⑥√ }
当单独取消( )所在行的行首注释时,将会引起编译失败
A. ①或⑥
B. ②或③
C. ③或④
D. ②或⑤
习题二
1. C#中执行下列语句后,n的值为( )
int n = 0x00F0;//0..0 0000 0000 1111 000
n ^= 0x0F00; //异或: 0000 1111 0000..0
A. 0 B. 0xF00F
C. 0x0FF0 D. true //bool 与int不可转换
2. C#中执行下列语句后,n的值为( )
int n = 0x00F0; // 00?.0 1111 0000
n = ~n; //注意n 是32位的
// 11?.1 0000 1111
Console.Write(\
A. 0F B. FF0F
C. FFFFFF0F D. false
3. C#中执行下列语句后,对编译、运行结果描述正确的是(
int k = -48;
// +48 二进制 00?.00 0011 0000 或十六进制 00000030
//-48 二进制 11?. 11 1101 0000 或十六进制 FFFF FFD0
//-48>>2 二进制11 ?.11 1111 0100 或十六进制 FFFF FFF4
// +12 二进制 00?.00 0000 1100 或十六进制 0000000C
Console.WriteLine(\
<< (左移位:右边补0)
) >> (若无符号:左边补0
若带符号:左边补原来符号位)
A. FFFFFFF4, -12
B. 3FFFFFF4, 后面跟个大正数
C. FFFFFFFC, -12
D. 以上结果均不对
4. 下面的表达式中,值相等的两项是( )
① 32 / 4
③ 2 ^ 5
⑤ (2 << 1) * (32 >> 3) ⑥
A. ①和③ B. ②和④
C. ③和⑥ D. ⑤和⑥
5. 下面程序的编译、运行结果为( ) .
class Bitwise {
public static void Main(string[] args) {
int x = 11 & 9;
int y = x ^ 3;
Console.WriteLine(y | 12);
} } // Main方法和Bitwise类定义结束
A. 7 B. 8
C. 14 D. 15
6. 下面程序的编译、运行结果为( ) .
② 2 >> 5 (8 >> 2) << 4 ④ 128 >> 2 class Equals {
public static void Main(string[] args) {
int x = 100;
double y = 100.1;
bool b = (x = (int)y); //【整型与bool不兼容】
Console.WriteLine(b);
} } // Main方法和Equals类定义结束
A. True
B. 编译失败
C. False
D. 运行时抛出异常
7. 下面程序的编译、运行结果为( ) .
class Maybe {
public static void Main(string[] args) {
bool b1 = true;
bool b2 = false;
Console.Write(!false ^ false);
Console.Write(\ //改为&& ?
Console.WriteLine(\
} } // Main方法和Maybe类定义结束
A. True False False
B. True False True
C. True True True
D. True True False
8. 下面程序的编译、运行结果为( ) .
public class TestIf1 {
static bool b; //默认值false
public static void Main(string[] args) {
short hand = 42;
if(hand < 50 & !b) hand++; //第5行
if(hand > 50) ;
else if (hand > 40) {
hand += 7; //50
hand ++; //51
}
else
-- hand;
Console.WriteLine(hand);
} } // Main方法和TestIf1类定义结束
A. 41 B. 42
C. 50 D. 51
E. 编译时第5行出错
F. 编译时第6行出错
9. 下面程序的编译、运行结果为( ) .
//第6行 public class SSBool {
public static void Main(string[] args) {
bool b1 = true;
bool b2 = false;
bool b3 = true;
if(b1 & b2 | b2 & b3 | b2) // & 优先级高于 |
Console.Write(\
if(b1 & b2 | b2 & b3 | b2 | b1)
Console.WriteLine(\
} } // Main方法和SSBool类定义结束
A. ok B. dokey
C. ok dokey D. 运行时抛出异常
10. 下面程序的编译、运行结果为( ) .
public class Test {
public static void Main(string[] args) {
int x = 0;
int y = 0;
for(int z=0; z<5; z++) {
if((++x > 2) || (++y > 2)) {
x++;
}
}
Console.WriteLine(x + \ \
} } // Main方法和SSBool类定义结束
A. 8 2 B. 5 3
C. 8 3 D. 8 5
11. 分析如下代码:
1. class Crivitch {
2. public static void Main(string [] args) {
3. int x = 0;
4. // 这里插入代码
5. do { } while (x++ < y); // 11 6. Console.WriteLine(x); //12 7. } 8. } 下面( )插入到第4行,程序运行时将会输出12。 A. int y = 10; B. int y = 11; C. int y = 12; D. int y = 13; 12. for (int k = 0; k++ < 10; ++k, k--) Console.WriteLine(k); 针对上面这行代码, 下面说法中( ) 是正确的. A: 导致无限循环 B: 输出k的范围是0~9; C: 输出k的范围是1~9; D: 输出k的范围是1~10。 15. 分析如下代码: 1. public class Barbell { 2. public int getWeight() { 3. return weight; // 体重 4. } 5. public void SetWeight(int w) { 6. if(w > 0) weight = w; 7. } 8. public int weight; 9. } 下面有关以上代码的讨论中,正确的有( A. 类Barbell是紧密封装的 B. 第2行不符合封装性要求 C. 第5行不符合封装性要求 D. 第8行不符合封装性要求 16. 分析如下代码: 1. public class B : A { 2. private int bar; 3. public void SetBar(int b) { 4. bar = b; 5. } ) 6. } 7. class A { 8. public int foo; 9. } 下面有关以上代码的讨论中,正确的有( ) A. 类A是紧密封装的 B. 类B是紧密封装的 C. 类A和类B都是紧密封装的 D. 类A和类B都不是紧密封装的 习题三 1. If an array is declared as, int [ ] arr = new int [5], ( ) . A. 0 B. 1 C. 2 2. 下面的数组定义语句中,( ) 是正确的。 A. int[] a = new int[4] {1, 2, 3}; B. int[] a = {1, 2, 3, 4}; C. int[] a = new int[3] {9, 2, 3, 1}; D. int[] a = new int[4]; a = {0, 1, 2, 3}; 3. 下面的数组定义语句中,( ) 是正确的。 A. int aa []; B. int bb [] = new int[3] {3, 6, 9}; the total number of elements in the array is D. 5 C. int[] cc = new int[]; D. int[] dd = new int[] {9, 2, 3, 1}; 4. 下列数组初始化语句中错误的有( ) A. int[] arr1 = new int[]{0,1,2,3,4}; B. int[] arr2 = {0,1,2,3,4,5}; C. int[][] arr3 = {new int[]{0,1}, new int[]{0,1,2}, new int[]{0,1,2,3}}; D. int[][] arr4 = {{0,1},{0,1,2},{0,1,2,3}}; E. int[,] arr5 = {{0,1},{2,3},{4,5}}; 不规则(二维及以上)数组需要使用new int[]产生最终的一维数组 5. The subscript number of an array starts from( ) . A. -1 B. 0 C. 1 D. 2 6. 对于下面的数组定义, myArray[2][2]的值是( ) int[][] myArray = new int[3][] {new int[3]{5,6,2}, new int[5]{6,9,7,8,3}, new int[2]{3,2}}; A. 2 B. 6 C. 9 D. 越界 System.IndexOutOfRangeException: 索引超出了数组界限。 7. If an array is declared as string [ ]arr = new string [5], the base type of the array is ( A. byte B. int C. long D. string ) 8. MyClass为一个自定义类,则下面的语句创建了( ) 个类MyClass的对象. MyClass[,] myArray = new MyClass[2, 3]; A. 0 B. 2 C. 3 D. 6 9. Consider the following code: class ArrayClass { static void Main() { string[] String_Array = new string[4]; String_Array[0] = \ String_Array[1] = \ for ( int i=0; i < 2; i++ ) Console.WriteLine (\ i, String_Array[i]); } } // Main方法和类ArrayClass定义结束 What is the output of the program? ( ) A. arr[0] = str1 arr[1] = str2 B. str1 C. str2 D. Error message is displayed. 10. 装箱、拆箱操作发生在: ( ) A.类与对象之间 B.对象与对象之间 C.引用类型与值类型之间 D.引用类型与引用类型之间 11. 下面程序的运行结果为( ) . public class Test { static int s; public static void Main(string[] args) { start(); Console.Write(s); } static void start() { int x = 7; twice(x); Console.Write(x + \ \ } static void twice(int x){ x = x*2; s = x; } } // twice方法和类Test定义结束 A. 7 14 B. 7 7 C. 14 12. 下面程序的运行结果为( ) . public class Test { public static void Main(string[] args) { 0 D. 14 14 start(); } static void start() { bool b1 = false; bool b2 = fix(b1); Console.WriteLine(b1 + \ \ } static bool fix(bool b1) { b1 = true; return b1; } } // fix方法和类Test定义结束 A. True True B. True C. Flase True D. False 13. 则下面程序的运行结果为( ) . public class PassS { public static void Main(string[] args) { start(); } static void start() { string s1 = \ string s2 = fix(s1); Console.WriteLine(s1 + \ \ False False } static string fix(string s1) { s1 = s1 + \ Console.Write(s1 + \ \ return \ } } // fix方法和类PassS定义结束 A. slipstream slipstream stream B. slip stream C. stream slip stream D. slipstream slip 14. 下面程序的运行结果为( ) . public class PassA { public static void Main(string[] args) { start(); } static void start() { long [] a1 = {3, 4, 5}; long [] a2 = fix(a1); Console.Write(a1[0] + a1[1] + a1[2] + \ \ Console.WriteLine(a2[0] + a2[1] + a2[2]); } static long[] fix(long [] a3) { a3[1] = 7; return a3; stream } } // fix方法和类PassA定义结束 A. 12 15 B. 15 15 C. 345 375 D. 375 375 15. 下面程序的运行结果为( ) . class Two { internal byte x; } public class PassO { public static void Main(string[] args) { start(); } static void start() { Two t = new Two(); Console.Write(t.x + \ \ Two t2 = fix(t); Console.WriteLine(t.x + \ \ } static Two fix(Two tt) { tt.x = 42; return tt; } } // fix方法和类PassO定义结束 A. null null 42 B. 0 0 42 C. 0 42 42 D. 0 0 0 16. 下面程序的运行结果为( ) . struct Resource{ // 【若将struct改为class, 则本题又应该选择什么??】 public int Data; } public class Test { public static void Main(string[] args) { Resource[] list= new Resource[20]; for(int i = 0;i<20;i++){ Console.WriteLine(\ } } } // Main方法和Test类定义结束 A. 打印20 行, 每行输出都是 data=0 B. 打印20 行, 每行输出都是 data=null C. 打印20 行, 第1行输出data=0,??第20 行输出data=19 D. 出现运行时异常 17. 下面程序的运行结果为( ) . public class InitialArrayValues { public static void Main(string[] args) { int[] a = new int[5]; bool[] b = new bool[5]; Console.Write(a[1] + \ \ Console.WriteLine(b[2]); } } // Main方法和InitialArrayValues类定义结束 A. 0 Flase B. 1 True C. 编译失败 D. 运行时抛出异常 18. 分析如下代码: // X.cs ?本文件名 public class X { public static void Main(string[] args) { string[] names = new string[5]; for(int i=0; i names[i] = args[i]; Console.WriteLine(names[2] ?? \ // names[2]改为names[8]呢? //提示: 若运算符\左侧操作数不为null, 则 // 返回左侧变量操作数, 否则返回右侧操作数 } } 编译生成X.exe之后,运行命令”X aa bb”,输出结果会是( ) A. names B. bb C. null D. 运行时抛出异常 19. 分析如下代码: // X.cs ? 本文件名 public class X { public static void Main(string[] args) { string[] names = new string[5]; for(int i=0; i names[i] = args[i]; Console.WriteLine(names[2] ?? \ //提示: 若运算符\左侧操作数不为null, 则 // 返回左侧变量操作数, 否则返回右侧操作数 } } 编译生成X.exe之后,运行命令”X aa bb cc”,输出结果会是( ) A. null B. bb C. cc D. 运行时抛出异常 20. 分析如下代码: // X.cs ? 本文件名 public class X { public static void Main(string[] args) { for(int i = 1; i <= args.Length; i++) Console.WriteLine(args[i] + \ \ } } 编译生成X.exe之后,运行命令”X 1 2 3”,输出结果会是( ) A. 0 1 2 B. 1 2 3 C. null null null D. 编译失败 E. 运行时有异常抛出 21. 分析如下代码: // X.cs ? 本文件名 public class X { public static void Main(string[] args) { if(args.Length == 1 | args[1].Equals(\ //运算符--”|” Console.WriteLine(\ case \ } else { Console.WriteLine(\ \ } } } 编译生成X.exe之后,运行命令”X alive”,输出结果会是( ) A. test case B. production C. test case live2 D. production live2 E. 编译失败 F. 运行时抛出异常 22. 分析如下代码: // X.cs ? 本文件名 public class X { public static void Main(string[] args) { if(args.Length == 1 || args[1].Equals(\ //运算符--”||” Console.WriteLine(\ case \ } else { Console.WriteLine(\ \ } } } 编译生成X.exe之后,运行命令”X alive”,输出结果会是( A. test case B. production C. test case live2 D. production live2 E. 编译失败 F. 运行时抛出异常 习题四 1. MyClass类的定义如下: class MyClass { int count; string msg; } 则该类的缺省构造函数是为( ) A. internal MyClass() {} B. public MyClass() {} C. public MyClass() { count = 0; msg = null; } D. 不存在 2. 分析如下程序(设已知文件名为A.cs): class A { int i; ) public A(int j) { i = j; } } class B { A a = new A(); } 则采用命令“csc /t:library A.cs”编译时,会( )。 A. 因为没有Main方法,所以编译失败 B. 可通过编译并生成A.exe文件 C. 可通过编译并生成A.dll文件 D. 因为A类不包含采用“0”个参数的构造函数,所以编译失败 3. Consider the following code: class Draw { public Draw() // line 1 { Console.WriteLine(\ } public void Shape() { Console.WriteLine(\ public static void Main(string[] arg) // line 2 { Draw obj = new Draw(); obj.Draw(); // line 3 obj.Shape(); // line 4 } } } // Main方法和类Draw定义结束 Consider the preceding code and answer the following question. Which line in the code will generate an error on compilation? ( ) A. line 1 B. line 2 C. line 3 D. line 4 4. 下列关于构造函数的描述正确的是( ) A. 构造函数可以声明返回类型。 B. 构造函数不可以用private修饰 C. 构造函数必须与类名相同 D. 构造函数不能带参数 5. 关于下面程序的编译运行情况, 描述正确的一项是( ) . public class ThreeConst { public static void Main(string[] args) { new ThreeConst(4L); } public ThreeConst(int x) : this() { Console.Write(\ } public ThreeConst(long x) : this((int)x) { Console.Write(\ \ } public ThreeConst() { Console.Write(\ no-arg \ } } // ThreadConst()和类ThreeConst定义结束 A. 4 B. 4 8 C. 8 4 D. 8 4 no-arg E. no-arg 8 4 6. 关于下面程序的编译运行情况, 描述正确的一项是( ) . public class ThreeConst { public static void Main(string[] args) { new ThreeConst(); } public void ThreeConst(int x) { Console.Write(\ } public void ThreeConst() { Console.Write(\ no-arg \ } } // ThreadConst()和类ThreeConst定义结束 A. no-arg B. no-arg 0 C. 编译失败 D. 正常运行,但无输出 “ThreeConst”: 成员名称不能与它们的封闭类型相同;或者说,在名为Test的类中,只有(静态)构造方法名/析构方法名可以为Test,其他类成员名不能为Test,另外应该注意到,这里的ThreeConst()返回类型为void----不是构造方法! 7. 下面代码片断的编译和/或运行情况是( )。 class A { int i; public static void Main() { A a; a.i = 2; //编译错误:使用未赋值的变量a } } A. 没有任何错误 B. 编译错误:使用未赋值的局部变量a C. 编译时报NullReferenceException D. 运行时报NullReferenceException **8. 在C#中设计类时,应如何保证在释放对象的所有引用之前,释放对象所使用的文件、数据库连接、网络等资源?答: 可以通过( ) A. 为类重载new运算符 B. 为类重载delete运行符 C. 为类添加析构函数,在析构函数中释放资源 D. 为类实现IDisposable接口,并实现Dispose方法,在该方法中释放资源 **9. 下列代码(左边为行号)存在一个编译错误, 如何消除该错误? ( ) 1 public void Test(object param) { 2 Resource r0 = new Resource(100); 3 using( Resource r1 = new Resource(100)) { 4 r1.print(); 5 r1 = new Resource(50); 6 } 7 } A. 第1 行声明的param 参数未在方法内使用, 删除该参数 B. 第3 行修改为:using( Resource r1 = new Resource(100);) { C. 删除第5 行 D. 第5 行修改为:r1 = r0; **10. 在类实现接口IDisposable的Dispose()方法中,一般应调用( ) 来阻止类终止器的执行。 A. GC.Collect(); B. GC.GetGeneration(this); C. GC.ReRegisterForFinalize(this); D. GC.SuppressFinalize(this); 参考MSDN上的System.GC.SuppressFinalize以及第3章中的新增例子TestIDisposable.cs。 11. 下面程序运行后的输出结果是( ) : class ABC { private static int counter = 0; static ABC() { counter++; } public ABC() { counter++; } public static void Main() { ABC a1 = new ABC(); ABC a2 = new ABC(); ABC a3 = new ABC(); Console.WriteLine(counter); } } // Main方法和类ABC定义结束 A. 0 B. 2 C. 3 D. 4 习题五 //============【分析下面的程序的运行结果】============ using System; class A { public static int X; static A(){ X = B.Y + 1; } } class B { public static int Y = A.X + 1; static B(){} static void Main(){ Console.WriteLine(\ } } //==================【分析程序的运行结果】=================== using System; abstract class BaseClass { public virtual void MethodA() { Console.WriteLine(\ } public virtual void MethodB() { Console.WriteLine(\ } } class Class1 : BaseClass { public void MethodA() //有参数 string str 时结果又如何?? { Console.WriteLine(\ } public override void MethodB() { Console.WriteLine(\ } } class Class2 : Class1 { public new void MethodB() { Console.WriteLine(\ } } class MainClass { public static void Main(string[] args) { Class2 obj = new Class2(); obj.MethodA(); } } public override void MethodB() { Console.WriteLine(\ } } class Class2 : Class1 { public new void MethodB() { Console.WriteLine(\ } } class MainClass { public static void Main(string[] args) { Class2 obj = new Class2(); obj.MethodA(); } }
正在阅读:
C#题目合集03-11
2016年高考语文试题分类汇编:现代文(答案及解析)01-16
粉状乳化生产安全操作规程(1)02-03
音乐会串词10-13
填缝剂的施工使用方法06-02
企业青年岗位能手事迹材料两篇02-24
达安防结块剂使用说明01-11
我幻想的假期作文600字06-22
- exercise2
- 铅锌矿详查地质设计 - 图文
- 厨余垃圾、餐厨垃圾堆肥系统设计方案
- 陈明珠开题报告
- 化工原理精选例题
- 政府形象宣传册营销案例
- 小学一至三年级语文阅读专项练习题
- 2014.民诉 期末考试 复习题
- 巅峰智业 - 做好顶层设计对建设城市的重要意义
- (三起)冀教版三年级英语上册Unit4 Lesson24练习题及答案
- 2017年实心轮胎现状及发展趋势分析(目录)
- 基于GIS的农用地定级技术研究定稿
- 2017-2022年中国医疗保健市场调查与市场前景预测报告(目录) - 图文
- 作业
- OFDM技术仿真(MATLAB代码) - 图文
- Android工程师笔试题及答案
- 生命密码联合密码
- 空间地上权若干法律问题探究
- 江苏学业水平测试《机械基础》模拟试题
- 选课走班实施方案
- 合集
- C#
- 题目
- 安全操作规程
- 新媒体开展运营方案
- 新课标小学语文一、二、三、四、五、六年级语文《生字表二》生字及注音(2460个汉字)
- 数据库系统教程1-7章课后答案(施伯乐)(第二版)
- 25Hz相敏轨道电路的测试与调整
- 高三数学回归教材训练答案
- 设立行政处罚案件审理委员会的通知
- 我们的语文课堂应该留给学生什么123
- 培育小学生数学核心素养的实践研究
- MIB结构和语法
- 邵寨学区学业水平测试32号
- 国家税务总局稽查局关于开展大型企业集团税收自查工作的通知
- 《有效转化七年级后进生的对策研究》课题开题报告
- 2015最新反假币试题
- 新视野英语一级试题及答案1
- 第十二册音乐教案
- 二年级数学思维训练试题
- 柴油机电子控制系统的发展 - 图文
- 吉林省成考报名
- 世界音乐总复习