Posted in 面试题 onDecember 20, 2016
一、选择题
1. 下列选项中,()是引用类型(选择一项)
a)enum类型
b)struct类型
c)string类型
d)int类型
2. 以下描述错误的是()(选择一项)
a)在C++中支持抽象类而在C#中不支持抽象类。
b)C++中可在头文件中声明类的成员而在CPP文件中定义类的成员,在 C#中没有头文件并且在同一处声明和定义类的成员。
c)在C#中可使用 new 修饰符显式隐藏从基类继承的成员。
d)在C#中要在派生类中重新定义基类的虚函数必须在前面加Override。
3. C#的数据类型有()(选择一项)
a)值类型和调用类型;
b)值类型和引用类型;
c)引用类型和关系类型;
d)关系类型和调用类型;
4. 下列有关.NET类的描述错误的是()(选择三项)
a)类不可以多层继承而接口可以;
b)抽象类自身可以定义成员而接口不可以;
c)抽象类和接口都不能被实例化;
d)一个类可以有多个基类和多个基接口;
5. 下列关于.NET构造函数的描述正确的是()(选择一项)
a)构造函数可以声明返回类型。
b)构造函数不可以用private修饰
c)构造函数必须与类名相同
d)构造函数不能带参数
6. 以下是一些C#中的枚举型的定义,其中错误的用法有()(选择一项)
a)public enum var1{ Mike = 100, Nike = 102, Jike }
b)public enum var1{ Mike = 100, Nike, Jike }
c)public enum var1{ Mike=-1.23 , Nike, Jike } 枚举型应为整型的
d)public enum var1{ Mike , Nike , Jike }
7. 下列代码执行结果是()(选择一项)
public static void Main(string[] args)
{
int i = 2000;
object o = i;
i = 2001;
int j =(int) o;
Console.WriteLine(“i={0},o={1}, j={2}”,i,o,j);
}
a) i=2001,o=2000,j=2000
b) i=2001,o=2001,,j=2001
c) i=2000,o=2001,,j=2000
d) i=2001,o=2000,j=2001
8. 下列关于C#中索引器理解正确的是( ) (选择一项)
a)索引器的参数必须是两个或两个以上
b)索引器的参数类型必须是整数型
c)索引器没有名字
d)以上皆非
9. 要对多线程进行操作则必须包含( ) (选择一项)
a)System.ComponentModel命名空间;
b)System. Collections命名空间;
c)System. Threading命名空间;
d)Microsoft.Win32命名空间;
10.
以下说法正确的是()(选择一项)
①执行该程序发生异常
②catch块执行
③finally块执行
④catch块不执行
a) ①③④
b) ①③
c) ①②③
d) ③④
11)在C#中,允许多接口继承,从多个接口继承时,使用“:”后跟被继承的接口的名字,多个接口名称之间使用()符号进行分割。(选择一项)
a)“.”
b)“,”
c)“-〉”
d)“::”
12) 有C#代码如下:
在横线处填入语句(),输出为:C# is simple。(选择两项)
a) Console.PrintLine(“C# is simple”)
b) Console.WriteLine(“C# is simple”)
c) System.Console.WriteLine(“C# is simple”)
13) 阅读下列程序
在myClass的Main()函数中,有代码如下:method1( );代码执行后,
输出为()。(选择一项)
a) 3
b) 0
c) 非法的方法调用,没有输出
14) C#中,声明一个带参数的Main方法,代码为()。(选择一项)
a) public static void Main()
b) public static void Main(String[])
c) public static void Main(String[] args)
d) public static void Main(String * args)
15) 要将一个C#程序编译为扩展名为DLL的程序库应用程序,要打开的编译器选项为()。(选择两项)
a) /target:library
b) /t: library
c) /t: exe
d) /target: winexe
16) 在C#程序中,如果类B要继承A,类B正确的定义为()。(选择一项)
a) public class B inheritA
b) public class B:A
c) public classB::A
d) public class B form A
17)下列说法正确的是()(选择一项)
①c#是面向对象的编程语言
②装箱是从值类型到引用类型的转换
③cla(公共语言规范)是cts的子集,确保了跨语言互操作
④.NET平台使用统一的API
a) 以上都正确
b) ④正确
c) ①③④正确
d) ①②③正确
18)下列说法正确的是()(选择两项)
a) 在c#中使用关键字static定义静态成员
b) 静态成员不与任何特定对象相关联
c) 变量名命名为@关键字是不合法的
19)下列说法正确的是()(选择一项)
a) c#支持for、foreach、while和do-while循环语句
b) c#只支持for、while和do-while循环语句
c) c#支持foreach、while和do-while循环语句
d) c#支持for、foreach、和while循环语句
20)可用于在控制台显示文本的方法是()(选择两项)
a) System.Console.Read方法
b) System.Console.ReadLine方法
c) System.Console.Write方法
d) System.Console.WriteLine方法
21)下列说法错误的是()(选择两项)
a).NET提供多语言支持
b).NET应用程序不需要CLR的管理即可执行
c).NET应用程序要经过两次编译方可执行
d)IL是机器码
22)在c#中密封类()(选择两项)
a) 用final指定
b) 用对指定
c) 可以被继承
d) 不可以被继承
23)下列有关事件的说法正确的是()(选择一项)
①定义事件时首先定义委托
②可以让多个对象预订事件
③引发事件时,将调用所有预订了该事件的对象的委托
a) ①②③
b) ①
c) ②③
24)()关键字用于创建抽象类(选择一项)
a) interface
b) internal
c) using
d) abstract
25)在.NET中,以下关于命名空间的描述,正确的是()。(选择一项)
a) 命名空间不可以进行嵌套
b) 在一个.cs文件中,只能存在一个命名空间
c) 用using导入命名空间
26)在.NET中,程序中的错误可以划分为以下三类,除了()。(选择一项)
a) 逻辑错误
b) 语义错误
c) 语法错误
d) 规格错误
27)下列说法中正确的是()(选择一项)
①使用.NET基类库可以读取文本文件
②使用.NET基类库可以从内存中读取数据和将数据写入内存中
③System.IO命名空间包含用于在数据流和文件中读取和写入数据的类
④使用.NET基类库可以读取二进制文件
a) ①②③
b) ①②③④
c) ③④
d) ①②
28)只读属性通过()关键字来设置(选择一项)
a) Get 得到
b) readonly
c) set 设置
d) this
29)下列说法正确的是()(选择两项)
a) c#操作符重载不使用任何关键字即可完成
b) namespace表示命名空间
c) 使用internal修饰的成员仅可以从声明它的程序集内部访问
d) 命名空间不可以嵌套
30)c#的数组属于引用类型,其正确使用方法是()(选择两项)
a) string [] str = new string [6];
b) string str[] = new string [6];
c) int [] array = {1,2,3,4,5}; 括号在变量之前
31)下列有关命名空间和程序集的说法正确的是()(选择一项)
①一个命名空间可以分布在多个程序集中
②一个程序集中可以包含多个命名空间
③程序集的类型包含私有程序集和共享程序集
④.NET使用程序集的模式共享和重用代码
a) ②③
b) ①②③
c) ①②
d) ①②③④
32)下列说法是否全部正确()(选择一项)
①多态可以通过虚方法、抽象基类和接口的技术来实现
②多态是指同一操作用于不同的类的实例,不同的类将进行不同的解释,最后产生不同的执行结果
③虚方法在基类中用virtual来修饰,在派生类中使用override来修饰方法重写基类的虚方法
④一个接口可以从其他接口继承
a) 是
b) 否
33)c#的构造函数,描述错误的是()(选择一项)
a) 支持实例构造和静态构造
b) 可以重载
c) 和类同名
d) 静态构造可以带有参数
34)有关结构的说法,错误的是()(选择一项)
a) 使用struct关键字
b) 可以包含数据成员和函数成员
c) 支持继承 结构不能继承
d) 是值类型并且不需要堆分配
1.分析如下所示C#代码,编译运行后的输出结果是( )。(选择一项)
public static void Main(string[] args)
{
int param = 2;
string position = “”;
switch (param)
{
case 1:
position = “兄长”;
break;
case 2:
position = “兄弟”;
break;
}
Console.WriteLine(position);
}
a) 兄长
b) 兄弟
c) 小妹
d) 兄长兄弟
2.现有如下一段C#代码,该代码的运行结果是( )。(选择一项)
public static void Main(){
for (int i=1;i switch(i){
case 1:
Console.Write(i.ToString());
break;
default:
Console.Write((i*3).ToString());
}
}
}
a) 169
b) 有编译错误 没有break!!!
c) 369
d) 123
3.看以下一段程序:
Console.Write("hello world !");
Console.WriteLine("friend.");
int i=0;
do
{
Console.Write("thank you !");
i++;
}while(i 程序的输出结果是( )(选择一项)
a) hello world ! friend thank you !thank you !
b) hello world ! friend
thank you !thank you! Writeline 代表能换行
c) hello world ! friend. thank you ! thank you !
d) hello world !
friend. thank you !
4. using System;
class Test{
static void Main(String [] args){
int a=10,b=20,c=30;
if(a>b||b>c)
Console.WriteLine(a);
else if(a
Console.WriteLine(b+c);
else
Console.WriteLine(c);
}
}
a) 10
b) 20
c) 50
d) 60
5. 以下C#程序:
static void Main(string[] args)
{
int val = 1;
for (int i=3;i {
Console.WriteLine(i);
}
}
运行时将输出( )。(选择一项)
a) 3
5
7
9
b) 5
7
9
c) 5
7
9
11
d) 9
6. 分析下面的代码片段,正确的输出结果是( )。(选择一项)
int i=0;
for(;i Console.Write(i+”,”);
}
Console.Write (i);
a) 0,2
b) 0,2,4
c) 0,2,4,6
d) 0,1,2,3
7. 给定如下C#代码片段,编译运行结果是( )。(选择一项)
int i = 0, j = -1;
switch (i){
case 0,1: j=1;
case 2: j=2;
}
Console.Write (“j=”+j);
a) 程序编译出错
b) 输出:j=1
c) 输出:j=2
d) 输出:j=0
8. 在C#中,下列代码的运行结果是( )。(选择一项)
using System;
class Test{
static void Main(string[] args){
int a=21,b=22,c=23;
if (a>b‖b>c)
Console.WriteLine(++b);
else
Console.WriteLine(a+b+c);
}
}
a) 22
b) 23
c) 66
d) 编译出错
9. 以下关于C#代码的说法正确的是( )。(选择一项)
for(int i=1;i {
switch(i)
{
case 1:
Console.Write(i.ToString();
case 2:
Console.Write((i*2).ToString();
case 3:
Console.Write((i*3).ToString()
}
}
a) 有编译错误,提示case标签不能贯穿到另一个标签,不能运行 没有写Break!!!!
b) 输出149
c) 输出123246369
d) 正确运行,但没有输出
10. 针对以下的C#代码:
using System;
class A
{
static void Main()
{
int[] B = new int[10];
for(int I=1;I {
//空白处
}
foreach (int C in B)
{
Console.WriteLine (C);
}
}
}
要在控制台输出1到10的数字,空白处应填写的正确的代码为( )。(选择一项)
a) B[I]=I+1;
b) B[I]=I;
c) B[I-1]=I;
d) B[I+1]=I;
11.在C#中,下列代码的运行结果是( )(选择一项)
int a=30,b=20;
b=a;
a=10;
Conlose.WriteLine(a);
Conlose.WriteLine(b);
a) 10
10
b) 10
30
c) 30
20
d) 10
20
12.下列语句执行后,变量i的值为多少?( )(选择一项)
string str = @”"”Ahoy”",cried the caption. “;
string str2 = “\”Ahoy\”,cried the caption. “;
int I = string.Compare(str,str2);
a) false
b) -1
c) 1
d) 0
13.在VS.Net开发环境中,为程序代码增加断点,快捷键为( )。(选择一项)
a) F2
b) F5
c) F8
d) F9
14.在ADO.NET中,( )对象的结构类似于关系数据库的结构,并在与数据库断开的情况下,在缓存中存储数据。(选择一项)
a) DataAdapter 加载数据源
b) DataSet 重载
c) DataTable
d) DataReader 读取机制
15. 下面关于数据库操作的代码,错误的是( )(选择两项)
a) SqlConnection conn = new SqlConnection();
SqlCommand comm = new SqlCommand();
comm.ExecuteNonQuery();
b) SqlConnection conn = new SqlConnection(“server=.;uid=sa;pwd=sa;database=db1”);
conn.Open();
SqlCommand comm = new SqlCommand(“delete * from table1”, conn);
comm.ExecuteNonQuery();
conn.Close()
c) SqlConnection conn = new SqlConnection(“server=.,uid=sa,pwd=sa,database=db1”);
conn.Open();
SqlCommand comm = new SqlCommand(“delete * from table1”);
comm.ExecuteNonQuery();
conn.Close();
d) SqlConnection conn = new SqlConnection(“server=.;uid=sa;pwd=sa;database=db1”);
conn.Open();
SqlCommand comm = new SqlCommand(“delete * from table1”, conn);
comm.ExecuteNonQuery();
16.运行下面一段代码:
class Class1
{
public static int count = 0;
static Class1()
{
count++;
}
public Class1()
{
count++;
}
}
Class1 o1 = new Class1();
Class1 o2 = new Class1();
请问,o1.count的值是多少?( )(选择一项)
a) 1
b) 2
c) 3
d) 4
17.在C#中,下列代码的运行结果是( )。(选择一项)
class A{
public void printStr(string str){
Console.WriteLine(str);
}
}
class B:A{
new public void printStr(string str){
str=str+”(override)”;
Console.WriteLine(str);
}
public static void Mail(string[] args){
A a=new A();
B b=new B();
a.printStr(“test”);
b.printStr(“test”);
}
}
a) test
test(override)
b) test(override)
c) test
d) test(override)
test(override)
18.分析以下C#代码,根据面向对象的多态性,代码的运行结果是( )。(选择一项)
class A{
public void F(){
Console.Write(“A”);
}
方法重载
public void F(string chr){
Console.Write(chr);
}
}
class B:A{
public void F(){
Console.Write(“B”);
}
}
public class Test{
public static void Main(string[] args){
A a = new B();
a.F();
}
}
a) B
b) A
c) AB
d) BA
二、判断题:
( 错)在C#中,索引器是专门用来访问对象中的数组信息的。
( 对)在C#中,接口可以被多重继承而类不能。
( 对)异常类对象均为System.Exception类的对象。
(对)声明委托实际上是声明了一个方法。
(对)任何事物都是对象。
三、问答
1、this关键字有什么作用,请描述
2、请叙述const与readonly修饰得类成员的区别。
一个是常量,一个是变量
3、根据事件(event)的知识,请写出完整的运用事件,并触发事件的程序。
P74
1. 下列选项中,()是引用类型(选择一项)
a)enum类型
b)struct类型
c)string类型
d)int类型
2. 以下描述错误的是()(选择一项)
a)在C++中支持抽象类而在C#中不支持抽象类。
b)C++中可在头文件中声明类的成员而在CPP文件中定义类的成员,在 C#中没有头文件并且在同一处声明和定义类的成员。
c)在C#中可使用 new 修饰符显式隐藏从基类继承的成员。
d)在C#中要在派生类中重新定义基类的虚函数必须在前面加Override。
3. C#的数据类型有()(选择一项)
a)值类型和调用类型;
b)值类型和引用类型;
c)引用类型和关系类型;
d)关系类型和调用类型;
4. 下列有关.NET类的描述错误的是()(选择三项)
a)类不可以多层继承而接口可以;
b)抽象类自身可以定义成员而接口不可以;
c)抽象类和接口都不能被实例化;
d)一个类可以有多个基类和多个基接口;
5. 下列关于.NET构造函数的描述正确的是()(选择一项)
a)构造函数可以声明返回类型。
b)构造函数不可以用private修饰
c)构造函数必须与类名相同
d)构造函数不能带参数
6. 以下是一些C#中的枚举型的定义,其中错误的用法有()(选择一项)
a)public enum var1{ Mike = 100, Nike = 102, Jike }
b)public enum var1{ Mike = 100, Nike, Jike }
c)public enum var1{ Mike=-1.23 , Nike, Jike } 枚举型应为整型的
d)public enum var1{ Mike , Nike , Jike }
7. 下列代码执行结果是()(选择一项)
public static void Main(string[] args)
{
int i = 2000;
object o = i;
i = 2001;
int j =(int) o;
Console.WriteLine(“i={0},o={1}, j={2}”,i,o,j);
}
a) i=2001,o=2000,j=2000
b) i=2001,o=2001,,j=2001
c) i=2000,o=2001,,j=2000
d) i=2001,o=2000,j=2001
8. 下列关于C#中索引器理解正确的是( ) (选择一项)
a)索引器的参数必须是两个或两个以上
b)索引器的参数类型必须是整数型
c)索引器没有名字
d)以上皆非
9. 要对多线程进行操作则必须包含( ) (选择一项)
a)System.ComponentModel命名空间;
b)System. Collections命名空间;
c)System. Threading命名空间;
d)Microsoft.Win32命名空间;
10.
以下说法正确的是()(选择一项)
①执行该程序发生异常
②catch块执行
③finally块执行
④catch块不执行
a) ①③④
b) ①③
c) ①②③
d) ③④
11)在C#中,允许多接口继承,从多个接口继承时,使用“:”后跟被继承的接口的名字,多个接口名称之间使用()符号进行分割。(选择一项)
a)“.”
b)“,”
c)“-〉”
d)“::”
12) 有C#代码如下:
在横线处填入语句(),输出为:C# is simple。(选择两项)
a) Console.PrintLine(“C# is simple”)
b) Console.WriteLine(“C# is simple”)
c) System.Console.WriteLine(“C# is simple”)
13) 阅读下列程序
在myClass的Main()函数中,有代码如下:method1( );代码执行后,
输出为()。(选择一项)
a) 3
b) 0
c) 非法的方法调用,没有输出
14) C#中,声明一个带参数的Main方法,代码为()。(选择一项)
a) public static void Main()
b) public static void Main(String[])
c) public static void Main(String[] args)
d) public static void Main(String * args)
15) 要将一个C#程序编译为扩展名为DLL的程序库应用程序,要打开的编译器选项为()。(选择两项)
a) /target:library
b) /t: library
c) /t: exe
d) /target: winexe
16) 在C#程序中,如果类B要继承A,类B正确的定义为()。(选择一项)
a) public class B inheritA
b) public class B:A
c) public classB::A
d) public class B form A
17)下列说法正确的是()(选择一项)
①c#是面向对象的编程语言
②装箱是从值类型到引用类型的转换
③cla(公共语言规范)是cts的子集,确保了跨语言互操作
④.NET平台使用统一的API
a) 以上都正确
b) ④正确
c) ①③④正确
d) ①②③正确
18)下列说法正确的是()(选择两项)
a) 在c#中使用关键字static定义静态成员
b) 静态成员不与任何特定对象相关联
c) 变量名命名为@关键字是不合法的
19)下列说法正确的是()(选择一项)
a) c#支持for、foreach、while和do-while循环语句
b) c#只支持for、while和do-while循环语句
c) c#支持foreach、while和do-while循环语句
d) c#支持for、foreach、和while循环语句
20)可用于在控制台显示文本的方法是()(选择两项)
a) System.Console.Read方法
b) System.Console.ReadLine方法
c) System.Console.Write方法
d) System.Console.WriteLine方法
21)下列说法错误的是()(选择两项)
a).NET提供多语言支持
b).NET应用程序不需要CLR的管理即可执行
c).NET应用程序要经过两次编译方可执行
d)IL是机器码
22)在c#中密封类()(选择两项)
a) 用final指定
b) 用对指定
c) 可以被继承
d) 不可以被继承
23)下列有关事件的说法正确的是()(选择一项)
①定义事件时首先定义委托
②可以让多个对象预订事件
③引发事件时,将调用所有预订了该事件的对象的委托
a) ①②③
b) ①
c) ②③
24)()关键字用于创建抽象类(选择一项)
a) interface
b) internal
c) using
d) abstract
25)在.NET中,以下关于命名空间的描述,正确的是()。(选择一项)
a) 命名空间不可以进行嵌套
b) 在一个.cs文件中,只能存在一个命名空间
c) 用using导入命名空间
26)在.NET中,程序中的错误可以划分为以下三类,除了()。(选择一项)
a) 逻辑错误
b) 语义错误
c) 语法错误
d) 规格错误
27)下列说法中正确的是()(选择一项)
①使用.NET基类库可以读取文本文件
②使用.NET基类库可以从内存中读取数据和将数据写入内存中
③System.IO命名空间包含用于在数据流和文件中读取和写入数据的类
④使用.NET基类库可以读取二进制文件
a) ①②③
b) ①②③④
c) ③④
d) ①②
28)只读属性通过()关键字来设置(选择一项)
a) Get 得到
b) readonly
c) set 设置
d) this
29)下列说法正确的是()(选择两项)
a) c#操作符重载不使用任何关键字即可完成
b) namespace表示命名空间
c) 使用internal修饰的成员仅可以从声明它的程序集内部访问
d) 命名空间不可以嵌套
30)c#的数组属于引用类型,其正确使用方法是()(选择两项)
a) string [] str = new string [6];
b) string str[] = new string [6];
c) int [] array = {1,2,3,4,5}; 括号在变量之前
31)下列有关命名空间和程序集的说法正确的是()(选择一项)
①一个命名空间可以分布在多个程序集中
②一个程序集中可以包含多个命名空间
③程序集的类型包含私有程序集和共享程序集
④.NET使用程序集的模式共享和重用代码
a) ②③
b) ①②③
c) ①②
d) ①②③④
32)下列说法是否全部正确()(选择一项)
①多态可以通过虚方法、抽象基类和接口的技术来实现
②多态是指同一操作用于不同的类的实例,不同的类将进行不同的解释,最后产生不同的执行结果
③虚方法在基类中用virtual来修饰,在派生类中使用override来修饰方法重写基类的虚方法
④一个接口可以从其他接口继承
a) 是
b) 否
33)c#的构造函数,描述错误的是()(选择一项)
a) 支持实例构造和静态构造
b) 可以重载
c) 和类同名
d) 静态构造可以带有参数
34)有关结构的说法,错误的是()(选择一项)
a) 使用struct关键字
b) 可以包含数据成员和函数成员
c) 支持继承 结构不能继承
d) 是值类型并且不需要堆分配
1.分析如下所示C#代码,编译运行后的输出结果是( )。(选择一项)
public static void Main(string[] args)
{
int param = 2;
string position = “”;
switch (param)
{
case 1:
position = “兄长”;
break;
case 2:
position = “兄弟”;
break;
}
Console.WriteLine(position);
}
a) 兄长
b) 兄弟
c) 小妹
d) 兄长兄弟
2.现有如下一段C#代码,该代码的运行结果是( )。(选择一项)
public static void Main(){
for (int i=1;i switch(i){
case 1:
Console.Write(i.ToString());
break;
default:
Console.Write((i*3).ToString());
}
}
}
a) 169
b) 有编译错误 没有break!!!
c) 369
d) 123
3.看以下一段程序:
Console.Write("hello world !");
Console.WriteLine("friend.");
int i=0;
do
{
Console.Write("thank you !");
i++;
}while(i 程序的输出结果是( )(选择一项)
a) hello world ! friend thank you !thank you !
b) hello world ! friend
thank you !thank you! Writeline 代表能换行
c) hello world ! friend. thank you ! thank you !
d) hello world !
friend. thank you !
4. using System;
class Test{
static void Main(String [] args){
int a=10,b=20,c=30;
if(a>b||b>c)
Console.WriteLine(a);
else if(a
Console.WriteLine(b+c);
else
Console.WriteLine(c);
}
}
a) 10
b) 20
c) 50
d) 60
5. 以下C#程序:
static void Main(string[] args)
{
int val = 1;
for (int i=3;i {
Console.WriteLine(i);
}
}
运行时将输出( )。(选择一项)
a) 3
5
7
9
b) 5
7
9
c) 5
7
9
11
d) 9
6. 分析下面的代码片段,正确的输出结果是( )。(选择一项)
int i=0;
for(;i Console.Write(i+”,”);
}
Console.Write (i);
a) 0,2
b) 0,2,4
c) 0,2,4,6
d) 0,1,2,3
7. 给定如下C#代码片段,编译运行结果是( )。(选择一项)
int i = 0, j = -1;
switch (i){
case 0,1: j=1;
case 2: j=2;
}
Console.Write (“j=”+j);
a) 程序编译出错
b) 输出:j=1
c) 输出:j=2
d) 输出:j=0
8. 在C#中,下列代码的运行结果是( )。(选择一项)
using System;
class Test{
static void Main(string[] args){
int a=21,b=22,c=23;
if (a>b‖b>c)
Console.WriteLine(++b);
else
Console.WriteLine(a+b+c);
}
}
a) 22
b) 23
c) 66
d) 编译出错
9. 以下关于C#代码的说法正确的是( )。(选择一项)
for(int i=1;i {
switch(i)
{
case 1:
Console.Write(i.ToString();
case 2:
Console.Write((i*2).ToString();
case 3:
Console.Write((i*3).ToString()
}
}
a) 有编译错误,提示case标签不能贯穿到另一个标签,不能运行 没有写Break!!!!
b) 输出149
c) 输出123246369
d) 正确运行,但没有输出
10. 针对以下的C#代码:
using System;
class A
{
static void Main()
{
int[] B = new int[10];
for(int I=1;I {
//空白处
}
foreach (int C in B)
{
Console.WriteLine (C);
}
}
}
要在控制台输出1到10的数字,空白处应填写的正确的代码为( )。(选择一项)
a) B[I]=I+1;
b) B[I]=I;
c) B[I-1]=I;
d) B[I+1]=I;
11.在C#中,下列代码的运行结果是( )(选择一项)
int a=30,b=20;
b=a;
a=10;
Conlose.WriteLine(a);
Conlose.WriteLine(b);
a) 10
10
b) 10
30
c) 30
20
d) 10
20
12.下列语句执行后,变量i的值为多少?( )(选择一项)
string str = @”"”Ahoy”",cried the caption. “;
string str2 = “\”Ahoy\”,cried the caption. “;
int I = string.Compare(str,str2);
a) false
b) -1
c) 1
d) 0
13.在VS.Net开发环境中,为程序代码增加断点,快捷键为( )。(选择一项)
a) F2
b) F5
c) F8
d) F9
14.在ADO.NET中,( )对象的结构类似于关系数据库的结构,并在与数据库断开的情况下,在缓存中存储数据。(选择一项)
a) DataAdapter 加载数据源
b) DataSet 重载
c) DataTable
d) DataReader 读取机制
15. 下面关于数据库操作的代码,错误的是( )(选择两项)
a) SqlConnection conn = new SqlConnection();
SqlCommand comm = new SqlCommand();
comm.ExecuteNonQuery();
b) SqlConnection conn = new SqlConnection(“server=.;uid=sa;pwd=sa;database=db1”);
conn.Open();
SqlCommand comm = new SqlCommand(“delete * from table1”, conn);
comm.ExecuteNonQuery();
conn.Close()
c) SqlConnection conn = new SqlConnection(“server=.,uid=sa,pwd=sa,database=db1”);
conn.Open();
SqlCommand comm = new SqlCommand(“delete * from table1”);
comm.ExecuteNonQuery();
conn.Close();
d) SqlConnection conn = new SqlConnection(“server=.;uid=sa;pwd=sa;database=db1”);
conn.Open();
SqlCommand comm = new SqlCommand(“delete * from table1”, conn);
comm.ExecuteNonQuery();
16.运行下面一段代码:
class Class1
{
public static int count = 0;
static Class1()
{
count++;
}
public Class1()
{
count++;
}
}
Class1 o1 = new Class1();
Class1 o2 = new Class1();
请问,o1.count的值是多少?( )(选择一项)
a) 1
b) 2
c) 3
d) 4
17.在C#中,下列代码的运行结果是( )。(选择一项)
class A{
public void printStr(string str){
Console.WriteLine(str);
}
}
class B:A{
new public void printStr(string str){
str=str+”(override)”;
Console.WriteLine(str);
}
public static void Mail(string[] args){
A a=new A();
B b=new B();
a.printStr(“test”);
b.printStr(“test”);
}
}
a) test
test(override)
b) test(override)
c) test
d) test(override)
test(override)
18.分析以下C#代码,根据面向对象的多态性,代码的运行结果是( )。(选择一项)
class A{
public void F(){
Console.Write(“A”);
}
方法重载
public void F(string chr){
Console.Write(chr);
}
}
class B:A{
public void F(){
Console.Write(“B”);
}
}
public class Test{
public static void Main(string[] args){
A a = new B();
a.F();
}
}
a) B
b) A
c) AB
d) BA
二、判断题:
( 错)在C#中,索引器是专门用来访问对象中的数组信息的。
( 对)在C#中,接口可以被多重继承而类不能。
( 对)异常类对象均为System.Exception类的对象。
(对)声明委托实际上是声明了一个方法。
(对)任何事物都是对象。
三、问答
1、this关键字有什么作用,请描述
2、请叙述const与readonly修饰得类成员的区别。
一个是常量,一个是变量
3、根据事件(event)的知识,请写出完整的运用事件,并触发事件的程序。
P74
C语言开发工程师测试题
声明:登载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述。
Tags in this post...
Reply on: @reply_date@
@reply_contents@