A:FileInfo类提供了用于操作文件的实例方法
B:File类提供了用于操作文件的静态方法
C:Directory类提供操作目录的实例方法
D:DirectoryInfo类提供了操作目录的静态方法
解析:
DirectoryInfo类提供操作目录的实例方法
Directory类提供了操作目录的静态方法
2.NET框架的核心组件包括(BD)(选择两项)
A.CTS(通用类型系统)
B.CLR(公共语言运行时,.NET的基础)
C.CLS(公共语言规范)
D.FCL(框架类库,.NET一个综合性的面向对象集合)
3.下面的选项(AD)可以导致下面的代码出现错误。<选择二项>
Students=newStudent();
s.Name="Marry";
A:将Student类中的Name属性设置为只读属性
B:将Student类中的Name属性设置为只写属性
C:向Student类中添加无参数的构造函数
D:向Student类中添加有参数的构造函数
4.在C#中下列选项说法正确的是(B)。
A.一个类允许有一个以上的父类(单根性)
B.父类包含公开属性A,则子类构造函数内部可以访问A
C.一个类的继承层次不允许超过3层(传递性)
D.如果X是Y的子类,Z是Y的父类,则Z是X的子类(X是子类,Y是父类,Y是Z的子类,X是Z的子类)
5.在.NET中创建文件流的时候,需要指定文件模式FileMode的值,下面对FileMode的值解释正确的是(AC)<选择二项>
A:Create:用指定的名称新建文件。如果文件存在,则覆盖原有的
B:CreateNew:新建一个文件。如果已存在,则不做处理(CreateNew新建一个文件。如果文件存在会发生异常,提示文件已经存在)
C:Open:打开一个文件。文件必须存在,否则报错
D:OpenOrCreate:打开或新建一个文件。如果文件不存在,则新建但不打开它(OpenOrCreate:如果文件不存在,则用指定的名称新建一个文件并打开它)
A.FileInfo类提供了用于操作文件的实例方法
B.File类提供了用于操作文件的静态方法
C.Directory类提供了操作目录的实例方法(Directory类提供了操作目录的静态方法)
D.DirectoryInfo类提供了操作目录的静态方法(DirectoryInfo类提供操作目录的实例方法)
7.下列关于List
A.List
B.List
C.访问List
D.List
8.在C#中,如果要实现父类的成员在父类及其子类中可以访问,而且他类中无法访问,应使用(D)修饰符修饰该成员。
A.public
B.private
C.base
D.protected(受保护的)
9.在C#中,以下Teacher类中的构造函数的写法正确的是(AC)(选择两项)。
A.publicTeacher(){}
B.privatevoidTeacher(){}(一个私有的Teacher方法,返回值为空)
C.privateTeacher(intid,stringname){}
D.publicintTeacher(intid,stringname){}(返回值为int类型的带参方法)
10.在.NET中创建文件流的时候,需要指定文件模式FileMode的值,下面对FileMode的值解释正确的是(AC)(选择两项)
B:CreateNew:新建一个文件。如果已存在,则不做处理(CreateNew新建一个文件。如果文件存在会发生异常,提示文件已经存在。)
11.在以下C#代码中,横线处填写(BD)不会出错。<选择二项>
Dictionary
dic.Add(1,"C#OOP");
Console.WriteLine(_____________);
A:dic["C#OOP"]
B:dic[dic.Count]
C:dic[0]
D:dic[1]
12.在C#中,关于泛型集合和ArrayList的说法正确的是(C)<选择一项>
A:向ArrayList中添加元素时,只能添加一种类型的元素(可添加多种类型元素)
B:从ArrayList中读取元素时不需要做类型转换(需要进行类型转换)
C:使用泛型集合需引用System.Collections.Generic命名空间
D:ArrayList添加、读取时无须装箱、拆箱(如果向ArrayList中添加的元素是值类型,这些元素就都会装箱处理转换为Object引用类型,然后保存)
13.在C#中,使用集合初始化器初始化集合的用法正确的是(BC)<选择二项>
A://SE类为已经定义好的类
List
B://SE类为已经定义好的类
List
C:ArrayListlist=newArrayList{1,2};
D:ArrayListlist=newArrayList(){1;2};
初始化多个元素用{}而不是(),所以A错误,多个元素用逗号而不是分号分割,所以D错,至于集合类型后面可以加括号也可以不加括号,所以BC都可以
14.在C#中,定义Apple类为Fruits类的子类,下列语句不能用于将Fruits类型转换为Apple类型的是(AD)<选择二项>
A:Fruitsfru=newApple();
Appleapp=fruisApple;
(is用于判定)
B:Fruitsfru=newApple();
Appleapp=fruasApple;
C:Fruitsfru=newApple();
Appleapp=(Apple)fru;
D:Fruitsfru=newApple();
fru.Convert(Apple);
(没有Convert这个语法)
15.在.NET中使用文件的时候,会经常遇到乱码的问题,下面选项中关于乱码说法正确的是(C)
A:处理乱码使用Encoding,Encoding是一个枚举类型
B:在写入文件内容的时候指定其编码格式,可以避免出现乱码
C:在读取文件的时候,指定解析文件的编码格式,可以解决乱码问题
D:Encoding位于System.Data命名空间
使用文件出现乱码本质是文件保存的编码和读取时使用的编码方式不一致。写入文件指定编码格式,不能解决问题,在读取文件时,指定和文本保存时一致的编码格式,则不会出现乱码;Encoding位于System.Text命名空间
16.在.NET中,下列关于Directory类和DirectoryInfo类说法正确的是(A)
A:Directory类的方法都是静态的,可以直接调用
B:DirectoryInfo类的方法都是静态的,可以直接调用
C:Directory类和DirectoryInfo类都可以用Exist()方法检验指定目录是否存在
D:Directory类的GetFile()方法返回的是指定目录下的FileInfo对象数组
Directory类的方法都是静态的,可以直接调用。
DirectoryInfo类的方法不是静态的,所以要通过实例化调用。
Directory包含Exist()方法,DirectoryInfo包含Exist属性。
Directory类的GetFiles()方法返回指定目录下的文件名字字符串数组
17.在C#代码中,以下代码输出的结果为(C)
classProgram
{
intnum=10;
staticvoidMain(string[]args)
Console.WriteLine(num++);
}
A:11
B:10
C:编译报错
D:运行报错
静态成员只能通过类名调用,在静态方法中一般只能调用静态的成员,
非静态成员必须通过对象去调用。因此程序编译不通过
18.在C#中,以下代码执行的结果是(B)。
publicstructTest
publicintnum;
publicclassTest1
publicstaticvoidChange(Testt1,refTestt2)
t1.num++;
t2.num++;
publicstaticvoidMain()
Testt1;
t1.num=1;
Testt2;
t2.num=2;
Change(t1,reft2);
Console.Write(t1.num+","+t2.num);
A:1,1
B:1,3
C:2,2
D:2,1
ref修饰的值类型按照引用类型传递,结构属于值类型;
题目中t1没有用ref修饰,值不改变,t2使用了ref修饰,值会改变
19.下面的C#代码运行的时候会出现错误的是(BC)<选择二项>
A:ArrayLista1=newArrayList();
a1.Add(100);
B:Hashtableht=newHashtable();
ht.Add("张三",newobject());(Hashtable键出现重复)
ht.Add("张三",newobject());
C:List
stringname=list[0];(无下标0)
D:Dictionary
foreach(onjectpindict.Values){}
20.在C#中,选项中的方法跟下面的方法属于重载的是(D)。
publicvoidAdd(inta,intb)
A.publicintAdd(inta,intb)
B.publicvoidAddNum(doublea,doubleb)
C.publicvoidAdd(intb,inta)
D.publicvoidAdd(inta,doubleb)
方法重载是指方法名相同,而参数类型和参数个数不同,在同一个类中,构造函数和普通方法都可以重载
21.在C#中,下面代码的运行结果是(A)
publicclassFruit
publicvirtualvoidShow()
Console.WriteLine("水果的味道不同");
publicclassLemon:Fruit
publicoverridevoidShow()
Console.WriteLine("柠檬是酸的!");
Fruitlemon=newFruit();
lemon.Show();
A:输出“水果的味道不同”
B:输出“柠檬是酸的!”
C:程序不出错,但什么也不输出
D:程序出错,提示对象类型不一致
22.运行以下C#代码,则输出结果是(D)
publicclassChild
publicvirtualvoidLike()
Console.WriteLine("孩子喜欢玩具");
publicclassBoy:Child
publicoverridevoidLike(stringtoys)
Console.WriteLine("男孩喜欢"+toys);
Childchild=newChild();
child.Like("玩具手枪");
A:孩子喜欢玩具
B:男孩喜欢玩具手枪
C:孩子喜欢玩具
男孩喜欢玩具手枪
D:程序编译错误,什么也不输出
Boy.Like(string)没有找到适合的方法来重写
23.在。NET使用文件的时候,会经常遇到乱码问题,下面选项中关于乱码的说法正确的是(C)
A.处理乱码使用Encoding,Encoding是一个枚举类型
B.在写入文件内容的时候指定其编码格式,可以避免出现乱码
C.在读取文件的时候,指定解析文件的编码格式,可以解决乱码问题
D.Encoding位于System.Data命名空间
使用文件出现乱码本质是文件保存的编码和读取时使用的编码方式不一致。写入文件指定编码格式,不能解决问题,在读取文件时指定文件和文本保存时不一致的编码格式,则不会出现乱码;Encoding位于System.Text命名空间。
24.下面的选项(AD)可以导致下面代码出现错误。
Students=newStudent();
A.将Student类中的Name属性设置为只读属性
B.将Student类中的Name属性设置为只写属性
C.向Student类中添加无参数的构造函数
D.向Student类中添加有参数的构造函数
25.在C#中,以下代码输出的结果为(B)
staticintnum=10;
staticvoidMain(string[]args)
A.11
B.10
C.编译报错
D.运行报错
考点为静态成员的定义和使用,静态变量只能通过类名调用,在静态方法中一般只能调用静态的成员,非静态成员必须通过对象去调用,因此代码编译运行都没有错误。num=10,num++=10,所以输出10。