单项选择题答案Word下载.docx
《单项选择题答案Word下载.docx》由会员分享,可在线阅读,更多相关《单项选择题答案Word下载.docx(39页珍藏版)》请在冰豆网上搜索。
(14)以下对Read()和ReadLine()方法的叙述中正确的是。
A.Read()方法一次只能从输入流中读取一个字符
B.Read()方法可以从输入流中读取一个字符串
C.ReadLine()方法一次只能从输入流中读取一个字符
D.ReadLine()方法只有当用户按下回车键时返回,而Read()方法不是
(15)以下对Write()和WriteLine()方法的叙述中正确的是。
A.Write()方法在输出字符串的后面添加换行符
B.Write()方法输出字符串时,光标将会位于字符串的后面
C.Write()和WriteLine()方法输出数值变量时,必须要先把数值变量转换成字符串
D.使用不带参数的WriteLine()方法时,将不会产生任何输出
(16)以下的C#代码:
staticvoidMain(string[]args)
{Console.WriteLine("
运行结果:
{0}"
Console.ReadLine());
Console.ReadLine();
}
代码运行结果为。
A.在控制台窗口显示“运行结果:
”
B.在控制台窗口显示“运行结果:
{0}”
C.在控制台窗口显示“运行结果:
Console.ReadLine”
D.如果用户在控制台输入“A”,那么程序将在控制台显示“运行结果:
A”
(17)假设变量x的值为25,要输出x的值,以下正确的语句是。
A.System.Console.WriteLine(“x”)B.System.Console.WriteLine(“x”)
C.System.Console.WriteLine(“x={0}”,x)D.System.Console.WriteLine(“x={x}”)
(18)以下关于控制台应用程序和Windows应用程序的叙述中正确的是。
A.控制台应用程序中有一个Main静态方法,而Windows应用程序中没有
B.Windows应用程序中有一个Main静态方法,而控制台应用程序中没有
C.控制台应用程序和Windows应用程序中都没有Main静态方法
D.控制台应用程序和Windows应用程序中都有Main静态方法
练习题2
(1)在C#语言中,下列能够作为变量名的是。
A.ifB.3abC.a_3bD.a-bc
(2)C#的数据类型分为。
A.值类型和调用类型B.值类型和引用类型
C.引用类型和关系类型D.关系类型和调用类型
(3)下列选项中,是引用类型。
A.enum类型B.struct类型
C.string类型D.int类型
(4)以下类型中,不属于值类型的是。
A.整数类型B.布尔类型C.字符类型D.类类型
(5)是将值类型转换成引用类型。
A.装箱B.拆箱C.赋值D.实例化
(6)是将引用类型转换成值类型。
(7)C#中每个int类型的变量占用个字节的内存。
A.1B.2C.4D.8
(8)在C#中,以下常量定义正确的是。
A.constdoublePI3.1415926;
B.constdoublee=2.7;
C.definedoublePI3.1415926;
D.definedoublee=2.7;
(9)在C#中,表示一个字符串的变量应使用以下语句定义。
A.CStringstr;
B.stringstr;
C.Dimstrasstring;
D.char*str;
(10)在C#中,新建一个字符串变量str,并将字符串"
Tom'
sLivingRoom"
保存到串中,则应该使用语句。
A.stringstr="
Tom\\'
;
B.stringstr="
C.stringstr("
);
D.stringstr("
Tom"
(11)有以下的C#程序:
usingSystem;
namespaceaaa
{publicstructPerson
{stringname;
intage;
}
classProgram
{staticvoidMain(string[]args)
{stringa;
Personb;
//其他处理代码
}
以下说法正确的是。
A.a为引用类型的变量,b为值类型的变量
B.a为值类型的变量,b为引用类型的变量
C.a和b都是值类型的变量
D.a和b都是引用类型的变量
(12)在C#中可以通过装箱和拆箱实现值类型与引用类型之间相互转换,在下列代码中,有处实现了拆箱。
intage=5;
objecto=age;
o=10;
age=(int)o;
objectoAge=age;
A.0B.1C.2D.3
(13)在C#中,下列代码运行后,变量Max的值是。
inta=5,b=10,c=15,Max=0;
Max=a>
b?
a:
b;
Max=c<
Max?
c:
Max;
A.0B.5C.10D.15
(14)以下程序的输出结果是。
{classExample1
{inta=5,b=4,c=6,d;
Console.WriteLine("
d=a>
(a>
c?
c):
b);
A.5B.4C.6D.不确定
(15)以下对枚举类型的声明中正确的是。
A.enuma={one,two,three};
B.enumb{a1,a2,a3};
C.numc={'
1'
'
2'
3'
};
D.enumd{"
one"
"
two"
three"
(16)有以下C#程序:
{classProgram
{bytea=2,b=5;
a^b);
该程序的输出结果是。
A.2B.5C.7D.9
(17)有以下C#程序:
{staticvoidMain()
{Stringstr;
str=Console.ReadLine();
boola=str.Equals("
a"
Console.WriteLine(a.ToString());
intb=str.Length;
Console.WriteLine(b.ToString());
在程序运行时输入为:
AAAAA(3个空格加5个A)则程序输出为。
A.08B.False8C.-18D.False5
练习题3
(1)if语句后面的表达式应该是。
A.字符串表达式B.条件表达式C.算术表达式D.任意表达式
(2)有以下C#程序:
{intx=2,y=-1,z=2;
if(x<
y)
if(y<
0)z=0;
elsez+=1;
z);
A.3B.2C.1D.0
(3)有以下C#程序,在执行时从键盘上输入9,则输出结果是。
{intn;
n=int.Parse(Console.ReadLine());
if(n++<
10)
Console.WriteLine("
n);
else
n--);
A.11B.10C.9D.8
(4)有以下C#程序:
{intx=1,a=0,b=0;
switch(x)
{
case0:
b++;
break;
case1:
a++;
case2:
}
a={0},b={1}"
a,b);
A.a=2,b=1B.a=1,b=1C.a=1,b=0D.a=2,b=2
(5)有以下C#程序:
{inta=15,b=21,m=0;
switch(a%3)
case0:
m++;
break;
case1:
switch(b%2)
{
case0:
default:
}
break;
m);
A.1B.2C.3D.4
(6)以下叙述正确的是。
A.do-while语句构成的循环不能用其他语句构成的循环来代替
B.do-while语句构成的循环只能用break语句退出
C.用do-while语句构成的循环,在while后的表达式为true时结束循环
D.用do-while语句构成的循环,在while后的表达式应为关系表达式或逻辑表达式
(7)以下关于for循环的说法不正确的是。
A.for循环只能用于循环次数已经确定的情况
B.for循环是先判定表达式,后执行循环体语句
C.for循环中,可以用break语句跳出循环体
D.for循环体语句中,可以包含多条语句,但要用花括号括起来
(8)有以下C#程序:
{inti,j,s=0;
for(i=2;
i<
6;
i++,i++)
{s=1;
for(j=i;
j<
j++)
s+=j;
s);
A.9B.1C.11D.10
(9)有以下C#程序:
{inti=0,s=0;
do
{if(i%2==1)
{i++;
continue;
i++;
s+=i;
}while(i<
7);
A.16B.12C.28D.21
(10)有以下C#程序:
{inti=0,a=0;
while(i<
20)
{for(;
;
)
{if(i%10==0)break;
elsei--;
i+=11;
a+=i;
a);
A.21B.32C.33D.11
练习题4
(1)在C#中定义一个数组,以下正确的是。
A.intarraya=newint[5];
B.int[]arrayb=newint[5];
C.intarrayc=newint[];
D.int[5]arrayd=newint;
(2)以下数组定义语句中不正确的是。
A.inta[]=newint[5]{1,2,3,4,5};
B.int[,]a=newinta[3][4];
C.int[][]a=newint[3][0];
D.int[]a={1,2,3,4};
(3)以下定义并初始化一维数组的语句中正确的是。
A.intarr1[]={6,5,1,2,3};
B.int[]arr2=newint[];
C.int[]arr3=newint[]{6,5,1,2,3};
D.int[]arr4;
arr4={6,5,1,2,3};
(4)以下定义并动态初始化一维数组的语句中正确的是。
A.int[]arr1=newint[];
B.intarr2=newint[4];
C.int[]arr3=newint[i]{6,5,1,2,3};
D.int[]arr4=newint[]{6,5,1,2,3};
(5)以下定义并初始化数组的语句中正确的是。
A.intarr1[][]=newint[4,5];
B.int[][]arr2=newint[4,5];
C.intarr3[,]=newint[4,5]D.int[,]arr4=newint[4,5];
(6)有定义语句:
int[,]a=newint[5,6];
则下列正确的数组元素的引用是。
A.a(3,4)B.a(3)(4)C.a[3][4]D.a[3,4]
(7)假定int类型变量占用4个字节,若有定义:
int[]x=newint[]{1,2,3,4,5,6};
则数组x在内存中所占字节数是。
A.4B.12C.24D.48
(8)在C#中,关于Array和ArrayList的维数,以下说法正确的是。
A.Array可以有多维,而ArrayList只能是一维
B.Array只能是一维,而ArrayList可以有多维
C.Array和ArrayList都只能是一维
D.Array和ArrayList都可以是多维
(9)以下程序的输出结果是。
{inti;
int[]a=newint[10];
for(i=9;
i>
=0;
i--)
a[i]=10-i;
{0},{1},{2}"
a[2],a[5],a[8]);
A.2,5,8B.7,4,1C.8,5,2D.3,6,9
(10)以下程序的输出结果是。
usingSystem.Collections;
{int[]num=newint[]{1,3,5};
ArrayListarr=newArrayList();
for(inti=0;
num.Length;
i++)
arr.Add(num[i]);
arr.Insert(1,4);
Console.WriteLine(arr[2]);
A.1B.3C.4D.5
(11)以下程序的输出结果是。
{int[]num=newint[5]{1,3,2,0,0};
Array.Reverse(num);
foreach(intiinnum)
Console.Write("
{0}"
i);
Console.WriteLine();
A.00123B.12300C.00132D.00231
(12)以下程序的输出结果是。
{ints=0;
int[][]a=newint[2][];
//交错数组
a[0]=newint[3]{1,2,3};
a[1]=newint[4]{4,5,6,7};
for(inti=0;
i<
a.Length;
i++)
for(intj=0;
j<
a[i].Length;
j++)
s+=a[i][j];
Console.WriteLine(s);
A.1B.6C.22D.28
练习题5
(1)在C#中,访问修饰符修饰的字段只能由当前程序集访问。
A.publicB.protectedC.internalD.private
(2)类ClassA有一个名称为M1的方法,在程序中有如下一段代码,假设该段代码是可以执行的,则修饰M1方法时一定使用了修饰符。
ClassAobj=newClassA();
ClassA.M1();
A.publicB.staticC.publicstaticD.virtual
(3)在C#中,从属性的读写特性上来进行分类,可以划分为以下三种,除了。
A.只读属性B.只写属性C.读写属性D.不可读不可写的属性
(4)在类的定义中,类的描述了该类的对象的行为特征。
A.类名B.方法C.所属的命名空间D.私有域
(5)在C#中,以下关于属性的描述正确的是。
A.属性是以public关键字修饰的字段,以public关键字修饰的字段也可称为属性
B.属性是访问字段值的一种灵活机制,属性更好地实现了数据的封装和隐藏
C.要定义只读属性只需在属性名前加上readonly关键字
D.在C