c#综合测试三

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1、在C#中,假如有一个名为“MessageDelegate”的委托,下列能够正确定义一个事件的是()(选择一项)
A、public delegate messageEvent;
B、public MessageDeleage messageEvent;
C、privte event MessageDelegate (messageEvent);
D、privte event MessageDelegate messageEvent;
2、在C#中,下列代码的运行结果是()(选择一项)
class Test
{
static void ShowArrayInfo(int[]student)
{
for(int i=0;i<student.Length;i++)
{
Console.Write(student[i]++); Console.Write(“ “);
}
}
static void Main()
{
int [] student=new int[]{1,2,3,4,5};
ShowArrayInfo(student); Co nsole.Write(“\n”);
ShowArrayInfo(student);
}
}
A、1 2 3 4 5
B、1 2 3 4 5
C、2 3 4 5 6
D、2 3 4 5 6
1 2 3 4 5 2 3 4 5 6 2 3 4 5 6 3 4 5 6 7
3、以下关于C#代码的说法正确的是()(选择一项)
public abstract class Animal
{
public abstract void Eat();
public void Sleep()
{
}
}
A、该段代码正确
B、代码错误,因为类中存在非抽象方法
C、代码错误,因为类中方法没有实现
D、通过代码“Animal an =new Animal();”可以创建一个Animal对象
4、关于C#代码的说法正确的是()(选择一项)
for(int i=1;i<=3;i++)
{
switch(i)
{
case1:
Console.Write(i.ToString());
case2:
Console.Write((i*2).ToString());
case3:
Console.Write((i*3).ToString());
}
}
A、程序将报告编译错误,提示Case标签不能贯穿到另一个标签,不能运行
B、运行时输出149
C、运行时输出123246369
D、运行时在屏幕上没有输出
5、在C#中,下列代码的运行结果是()(选择一项)
public class Teacher
{
public int age; public Teacher(int age)
{
this.age=age;
}
public void ChangeAge(int age)
{
age++;
}
public void ChangeAge(Teacher ter)
{
tea.age++;
}
static void Main()
{
Teacher ter=new Teacher(18);
Console.WriteLine(tea.age);
tea.ChangeAge(tea.age);
Console.WriteLine(tea.age);
tea.ChangeAge(tea);
Console.WriteLine(tea.age);
}
}
A、18
B、18
C、18
D、18
18 19 18 19
18 20 19 19
6、在C#中,下列代码的运行结果是()(选择一项)
public struct Point
{
public int y;
public Point(int x,int y)
{
this.x=x;
this.y=y;
}
}
class Test
{
static void Main()
{
Point p1=new Point(100,100);
Point p2=p1;
p1.x=200;
Console.WriteLine(“{0},{1}”,p1.x,p2.x);
}
}
A、100,100
B、100,200
C、200,100
D、200,200
7、在中,下列代码的输出结果是()(选择一项)
SqlConnection c onn=new SqlConnection(“data
source=pub;uid=bill;pwd=12345;initial catalog=Northwind”);
Console.WriteLine(conn.ConnectionString);
A、pub
B、bill
C、data source=pub;uid=bill;pwd=12345;initial catalog=Northwind
D、Northwind
8、阅读以下C#代码片断,在程序编译过程中,下面说法正确的是()(选择一项)int val=100;
object obj=val;
int num =(int)obj;
Console.WriteLine(“num:{0}“,num);
A、第1行执行装箱操作
B、第2行执行装箱操作
C、第2行执行取消装箱操作
D、第3行执行装箱操作
9、在C#中,下列代码的运行结果是()(选择一项)
using System;
class Test{
static void Main(){
try{
int a=10;
int b=0;
int c=a/b;
Console.WriteLine(c);
catch{
Console.WriteLine(“出现错误“);
}
finally{
Console.WriteLine(“运行结束“);
}
}
}
A、0 运行结束
B、10 运行结束
C、出现错误运行结束
D、出现错误
10、在C#中,最容易被程序员发现的错误是()(选择一项)
A、逻辑错误
B、语义错误
C、语法错误
D、在一个表达式中,程序员错把++写出了--
11、在C#中,下列常量定义正确的是()(选择一项)
A、const double PI3.1415926;
B、const double e=2.7;
C、define double PI3.1415926;
D、define double e=2.7;
12、在C#中,下列代码的运行结果是()(选择一项)
string[] names={“ACCP“,“BENET“,“BETEST“};
foreach(string name in names)
{
Console.Write(name);
}
A、ACCP BENET BETEST
B、name
C、name name name
D、“ACCP“ “BENET“ “BETEST“
13、在中,下列代码运行后的输出结果是()(选择一项)
DataTable dt = new DataTable();
dt.Columns.Add(“编号“.typeof(System.Int16));
dt.Columns.Add(“成绩“.type of(System.Int16));
dt.Columns[1].DefaultValue=60;
DataRow dr = dt.NewRow();
dr[0] =10;
dt.Rows.Add(dr);
Console.WriteLine(dt.Rows[0][1]);
A、0
B、1
C、10
D、60
14、在C#中,下列代码的运行结果是()(选择一项)
class Test{
static void Main(){
Student stu =new Student(105);
Console.WriteLine(stu.Age);
stu.Age =100;
Console.WriteLine(stu.Age);
}
}
public class Student{
private int _age =10;
public int Age{
get{
return this._age;
}
set{
if(value>0&&value<=100){
this._age= value;
}
}
}
public Student(int age){
this._age=age;
}
}
A、10 100
B、105 100
C、100 105
D、10 105
15、某程序员编写了如下创建一个DataTable 的代码,请问关于该段代码说法正确的是()(选择一项)
public static DataTableCreatDataTable(){
DataTable dt= new DataTable();
dt.Columus.Add("id",typeof(System.Int32));
dt.Columus.Add("name",typeof(System.String));
dt.Constraints.Add("id" ,dt.Columns[0],true);
dt .Columus[1].DafaultValue="";
DataRow dr=dt.NewRow();
dr[0]=1;
dr[1]="ACCP";
dr.Rows.Add(dr);
dr[0]=1;
dr[1]="ACCP";
dr.Rows.Add(dr);
returu dt;
}
A、由于创建DataTable表时没有过传递表名参数,该段代码编译时有错误
B、该段代码编译时无错误,但是运行时有错误
C、该段代码编译和运行时都没有错误
D、如果把代码“dr[1]="ACCP";”改为“dr[1]="BENET";”则运行时没有错误
16、在C#中,下列代码的运行结果是()(选择一项)
public class TEApp{
public static void ThrowException(){
throw new Exception();
}
static void Main(){
try{
ThrowException();
Console.WriteLi ne(“try”);
}
catch(Exception e)}
Console.WriteLi ne(“catch”);
}
finally{
Console.WriteLine(“finally”);
}
}
}
A、finally
B、catch
C、try
D、catch finally
17、在C#中,某程序员定义了一个IDataBase接口,以及实现该接口的一个类CDataBase,下列关于该段代码说法正确的是()(选择一项)
public interface IDataBase{
void OpenTable(string tableName);
void UpdateTable(string tableName);
}
public class CDataBase:IDataBase{
public void OpenTable(string tableName){
console. WriteLine(“打开数据表”);
}
public void UpdateTable(string tableName){
console. WriteLine(“更新数据表”);
}
static void Main(){
CDataBase db = new CDataBase();
db.OpenTable(“Customers”);
}
}
A、该段代码错误,因为在定义接口时,接口中的方法没有提供实现
B、该段代码错误,因为接口中声明的方法不是公有的,因此在CDataBase类中不能访问接口中的方法
C、该段代码正确,同时由于客户没有调用UpdateTable方法,可以把CDataBase类中UpdateTable方法去掉,代码仍旧正确
D、该段代码正确,但如果在IDataBase接口中声明一个方法“voidExecute(stringsql);",则必须
在CDataBase 类中实现该方法
18、在C#中,下列代码的运行结果是()(选择一项)
struct Student{
public int age;
public string name;
public Student(int age,string name){
this.age=age;
= name;
}
}
public class Test{
static void Main(){
Student stu1 = new Student(18,“小芳”);
S tudent stu2 = new Student( 24,“小刚”);
stu2= stu1;
stu1.age=30;
=“小燕”;
Console.WriteLine(stu2.age);
Console.WriteLine():
}
}
A、18 小芳
B、18 小燕
C、30 小燕
D、30 小芳
19、在中,下列代码运行后的输出结果是()(选择一项)
DataTable dt = new DataTable();
dt.Columns.Add(“编号“,typeof(System.Int16));
dt.Columns.Add(“成绩“,typeof(System.Int16));
for(int i=1; i<=3;i++){
dataRow dr = dt.NewRow();
dr[0]=i;
dr.rows.Add(dr);
}
Console.WriteLine(dt.Rows.Count);
A、1
B、2
C、3
D、4
20、在以下C#代码的下划线填入()该C#语句表示创建一个新文件,如果该文件已经存在则发生异常:FileStream fs = new FileStream (“D:\\music.txt“,__________); (选择一项)A、FileMode.Create B、FileMoe.Open C、FileMoe.Close D、FileMoe.CreateNew
21、在中,下列关于DataSet类说法错误的是()(选择二项)
A、在DataSet中可以包含多个DataTable
B、修改DataSet中的数据后,数据库中的数据可以自动更新
C、在与数据库断开连接后,DataSet中的数据会消失
D、DataSet实际上是从数据源中检索到的数据在内存中的缓存
22、在C#类中,可以通过编写()实现方法重载(选择二项)
A、具有不同返回类型的同名函数
B、具有不同代码行数的同名函数
C、具有不同参数个数的同名函数
D、具有不同参数类型的同名函数
23、如图是WinForm窗体中一个名为statusBar1的状态栏,在状态栏中有一个名为statusBarPanel1的面板,下列方法能够正确获得statusBarPanel1面板中的文本的是()(选择二项)
A、this.statusBar1.Panels[0].Text
B、this.statusBar1[0].Text
C、statusBarPanel1.Text
D、this.statusBar1.Text
24、在C#程序中,如果某个变量在程序运行过程中得数值不发生改变也不允许发生改变,则在变量声名时使用()修饰符进行修改(选择一项)
A、const
B、private
C、protected
D、Console
25、在C#中,可以使用枚举变量来避免不合理的赋值,以下关于枚举说法正确的是()(选择一项)
A、枚举表示一组有限的值
B、枚举中可以定义方法
C、枚举中可以定义属性
D、可以为枚举类型中的元素赋整数值
26、在c# 程序中索引器允许类和结构的实体按照与数组相同的方式访问,但索引器能够定义不同的访问方式。

在定义索引时必须使用得关键字是()(选择一项)
A、new
B、set
C、this
D、get
27、下面c#代码片段中,属于装箱的是()(选择一项)
A、Object value = 8
B、int i=(int)o
C、int i = 8
D、string s ="abc"
28、在.net 框架下开发三层结构时,以下最有可能出现的是()(选择一项)
switch(cboLogInType.Text){
case “学员“:
studentform studentform = new studentform();
studentform.Show();
break;
case “管理员“:
AdminForm adminForm = new AdminForm();
adminForm.Show();
break;
}
A、表示层
B、业务逻辑层
C、数据访问层
D、模型层
29、在c#中,()关键字用于子类的构造函数明确指明调用父类的构造函数(选择一项)
A、new
B、this
C、base
D、is
30、在c#中关于构造函数的说法描述错误的是()(选择二项)
A、一个类的构造函数通常与类名相同
B、在类中必须显示的调用类的构造函数
C、一般情况下,构造函数总是public类型的
D、构造函数可以声明返回值
31、在.net 框架下开发三层结构的数据库应用系统时,可通过以下()方法创建DateSet 对象(选择二项)
A、通过Connection 和Command 将数据填充到DataSet中
B、通过DataAdapter 的fill方法直接填充到DataSet对象中
C、通过编码自定义DataTable ,DataColumn 和DataRow 然后添加到Dataset对象中
D、通过DataReader 对象的fill方法将数据添加到DataSet对象中
32、在C#中,关于List<T>和Dictionary<K,V>的说法正确的是( )(选择二项)
A、List<T>和Dictionary<K,V>都有RemoveAt方法
B、List<T>和Dictionary<K,V>都有Count属性
C、获取元素时,List<T>需要类型转换,Dictionary<K,V>不需要
D、List<T>通过索引访问集合元素,Dictionary<K,V>通过key访问集合元素
33、.net 开发中开发一个学籍管理系统,当搭建三层结构的表示层时,需要创建的项目类型是()(选择一项)
A、Windows应用程序
B、类库
C、控制台应用程序
D、Window控件库
34、在以下c#的数据类型中是引用类型的是()(选择二项)
A、bool
B、struct
C、class
D、string
35、在C#中,下列代码的运行结果是()(选择一项)
string appName=””;
foreach(char ch in appName){
if(char.IsDigit(ch))
break;
Console.Write(ch);
}
A、ACCP
B、40
C、
D、
36、在中,已知reader是一个DataReader对象,下列代码行1的输出结果是“True”,则代码行2的输出结果是()(选择一项)
Console.WriteLine(reader.Read()); //1
Console.WriteLine(reader.IsClosed);//2
A、True
B、False
C、不确定
D、出现异常
37、在C#中,下列命名空间的声明正确并且符合Pascal命名规范的是()(选择一项)
A、namespace student{}
B、Company namespace{}
C、namespace Company{}
D、public namespace Company{}
38、在.NET中,Hashtable类所在的命名空间是()(选择一项)
A、System.Threading
B、System.IO
C、system.Collections
D、System
39、在中,SqlConnection类所在的命名空间是()(选择一项)
A、System
B、System.Data
C、System.Data.OleDb
D、System.Data.SqlClient
40、在C#中,下列关于抽象类和接口的说法,正确的是()(选择一项)
A、在抽象类中,所有的方法都是抽象方法
B、继承自抽象类的子类必须实现其父类(抽象类)中的所有抽象方法
C、在接口中,可以有方法实现,在抽象类中不能有方法实现
D、一个类可以从多个接口继承,也可以从多个抽象类继承
41、在C#中,下列代码运行后,变量Max的值是()(选择一项)
int a=5,b=10,c=15,Max=0;
Max=a>b?a:b
Max=c<Max?c:Max
A、0
B、5
C、10
D、15
42、在C#中,下列代码的运行结果是()(选择一项)
int []num=new int[]{1,3,5};
ArrayList arr=new ArrayList();
for(int i=0,i<num.Length;i++){
arr.Add(num[i]);
}
arr.Insert(1,4);
Console.Write(arr[2]);
A、1
B、3
C、4
D、5
43、在C#中,程序使用()语句抛出系统异常或自定义异常(选择一项)
A、run
B、throw
C、catch
D、Finally
44、在.NET中,程序员在代码中漏写了一个大括号,这属于()(选择一项)
A、逻辑错误
B、运行时错误
C、语法错误
D、自定义错误
45、在中,下列()组件用来获得只读只进数据(选择一项)
A、DataSet
B、Command
C、DataReader
D、dataAdapter
46、运行如下的C#代码段将()(选择一项)
int a=10;
string b =''10'';
Console.WriteLine(a+b);
A、输出:20
B、输出:1010
C、输出:10+10
D、编译报错,提示数据类型不匹配
47、在C#中,通过调用Thread类的Sleep(int x)方法来实现禁止线程运行,其中x代表()(选择一项)
A、禁止线程运行的微秒数
B、禁止线程运行的毫秒数
C、禁止线程运行的秒数
D、禁止线程运行的CPU的时间数
48、在WinForms窗体中,如果不使用分组控件来分组单选按钮,而是直接拖拽两个单按钮放置在窗体中,则以下说法正确的时()(选择一项)
A、两个单选按钮可以同时被选中,即被看作是两个单独的组
B、如果窗体中还存在有其他的已经分组的单选按钮,则这两个单选按钮自动被加入该组
C、两个单选按钮被自动默认为一组
D、运行报错,提示必须使用分组控件对单选按钮进行分组
49、在中,有以下四条代码,你认为它们最可能的编写顺序()(选择一项)SqlConnection sqlCon=new sqlConnection() ; //(1)
sqlCon.Close(); //(2)
sqlCon.ConnectionString= “Server=.;DataBase=pubs; uid=sa;pwd=pwd”//(3)
sqlCon.Open(); //(4)
A、1,2,3,4
B、1,3,2,4
C、1,3,4,2
D、4,3,2,1
50、分析如下的C#代码段,运行后输出()(选择一项)
ArrayList arrnum=new ArrayList(16);
for(int i=0;i<17;i++){
arrnum.Add(i);
}
arrnum.RemoveAt(1);
Console.WriteLine(arrnum.Capacity);
Console.WriteLine(arrnum.Count);
A、8
B、16
C、32
D、32
16 16 16 17。

相关文档
最新文档