C#题目合集.docx
- 文档编号:14554116
- 上传时间:2023-06-24
- 格式:DOCX
- 页数:28
- 大小:23.39KB
C#题目合集.docx
《C#题目合集.docx》由会员分享,可在线阅读,更多相关《C#题目合集.docx(28页珍藏版)》请在冰点文库上搜索。
C#题目合集
习题一
1.在为类或方法取名时,Microsoft推荐使用的命名规范是( )
A.随便起名字
B.HungarianNotation
C.CamelNotation
D.PascalNotation
2.在C#程序中,可以作为入口函数的声明是( )
A.staticintmain(){…}
B.staticvoidMain(){…}
C.staticvoidmain(){…}
D.voidMain(){…}
3.在C#程序中,不能作为入口函数的声明是( )
A.publicstaticintMain(){…}
B.publicstaticintMain(stringargs){…}
C.staticvoidMain(string[]args){…}
D.publicstaticvoidMain(){…}
4.下列语句在控制台上输出的是( )
Stringmsg=@”Hello\nWorld!
”;\\@--定义逐字字符串
System.Console.WriteLine(msg);
A.HelloWorld!
B.@”Hello\nWorld!
”
C.Hello
WorldD.Hello\nWorld!
5.Whichofthefollowingisnotaclass?
( )
A.AFordIkoncarwiththeregistrationnumberXXXX
B.FruitC.MammalD.Fish
6.Inthestatement“usingSystem;”,Systemisa( ).
A.NamespaceB.Class
C.ObjectD.Keyword
7.Consoleisa( ).
A.NamespaceB.Class
C.FunctionD.Escapesequencecharacter
8.NETFrameworkclasslibrary的作用是( )
A.是.NET托管程序的执行引擎B.供.NET托管程序使用的类型集合
C.支持托管程序的编译程序D.支持.NET托管程序的操作系统
9.在.NET编程中,术语“托管环境”是( )
A..NETFramework类库B..NET公共语言运行库
C.Windows窗体程序D..NET所基于的操作系统
10.TheConsole.ReadLine()acceptsdatain( )format.
A.charB.stringC.floatD.int
11.Whichofthefollowingisnotanexampleofvaluetype?
( )
A.stringB.charC.floatD.bool
12.下面程序的运行结果为( ).
publicclassSC2{
publicstaticvoidMain(string[]args){
inta=3;
intb=4;
Console.Write(""+7+2+"");
Console.Write(a+b);
Console.Write(""+a+b+"");
Console.Write(Foo()+a+b+"");
Console.WriteLine(a+b+Foo());
Console.ReadKey();
}
staticstringFoo(){
return"foo";
}
}
A.723434foo3434foo
B.72734foo347foo
C.977foo3434foo
D.93434foo3434foo
13.下面代码片断的运行结果为( ).
intm=99;
intn=1;
Console.WriteLine(m+n+"OK"+m+n);
A.991OK991B.100OK100
C.100OK991D.991OK100
14.仔细阅读下面的代码(含注释):
inti1=123,i2=456;
floatf1=(i1+i2)*1.2;//①×1.2指1.2d
doubled=1e200;
floatf2=d;//②×
//floatf2=(float)d;
byteb1=67,b2=89;
byteb3=b1+b2;//③×(byte)(b1+b2)
floatf3=1.23;//④×1.23(double)
longvarL1=0x300000000000;//⑤
floatf=varL+f3;//⑥不考虑前面f3错的
longvarL2=f;//⑦;
以上带圈数字①~⑦的注释行中,变量赋值或类型转换错误的有( )(不考虑关联,只关注类型)
A.①②④⑥⑦
B.②③④⑤⑦
C.①②③④⑦
D.①②③④⑤⑥⑦
15.若变量k为int类型,则下列类型转换不会损失精度的是( ).
A.bytebx=(byte)k;
B.shortsx=(short)k;
C.floatfx=(float)k;//若干位表示整数(<32位),剩下表示指数
D.doubledx=(double)k;//若干位表示整数(>40位),剩下表示指数
16.若变量iLong为long类型,则下列类型转换不会损失精度的是( ).
A.shortsx=(short)iLong;
B.floatfx=(float)iLong;
C.doubledx=(double)iLong;
若干位表示整数(<64位),剩下表示指数
D.以上都不对
17.请看如下代码:
longtest(intx,floaty){
//returnx;//①√
//return(long)x/y;//②×
//return(long)y;//③√
//return(int)3.14;//④√
//return(y/x);//⑤×
//return(x/7);//⑥√
}
当单独取消( )所在行的行首注释时,将会引起编译失败
A.①或⑥
B.②或③
C.③或④
D. ②或⑤
习题二
1.C#中执行下列语句后,n的值为( )
intn=0x00F0;//0..0000000001111000
n^=0x0F00;//异或:
000011110000..0
A.0B.0xF00F
C.0x0FF0D.true//bool与int不可转换
2.C#中执行下列语句后,n的值为( )
intn=0x00F0;//00….011110000
n=~n;//注意n是32位的
//11….100001111
Console.Write("{0:
X}",n);
A.0FB.FF0F
C.FFFFFF0FD.false
3.C#中执行下列语句后,对编译、运行结果描述正确的是( )
intk=-48;
//+48二进制00….0000110000或十六进制00000030
//-48二进制11….1111010000或十六进制FFFFFFD0
//-48>>2二进制11….1111110100或十六进制FFFFFFF4
//+12二进制00….0000001100或十六进制0000000C
Console.WriteLine("{0:
X8},{0}",k>>2);
<<(左移位:
右边补0)
>>(若无符号:
左边补0
若带符号:
左边补原来符号位)
A.FFFFFFF4,-12
B.3FFFFFF4,后面跟个大正数
C.FFFFFFFC,-12
D.以上结果均不对
4.下面的表达式中,值相等的两项是( )
①32/4②(8>>2)<<4
③2^5④128>>2
⑤(2<<1)*(32>>3)⑥2>>5
A.①和③B.②和④
C.③和⑥D.⑤和⑥
5.下面程序的编译、运行结果为( ).
classBitwise{
publicstaticvoidMain(string[]args){
intx=11&9;
inty=x^3;
Console.WriteLine(y|12);
}}//Main方法和Bitwise类定义结束
A.7B.8
C.14D.15
6.下面程序的编译、运行结果为( ).
classEquals{
publicstaticvoidMain(string[]args){
intx=100;
doubley=100.1;
boolb=(x=(int)y);//【整型与bool不兼容】
Console.WriteLine(b);
}}//Main方法和Equals类定义结束
A.True
B.编译失败
C.False
D.运行时抛出异常
7.下面程序的编译、运行结果为( ).
classMaybe{
publicstaticvoidMain(string[]args){
boolb1=true;
boolb2=false;
Console.Write(!
false^false);
Console.Write(""+(!
b1&(b2=true)));//改为&&?
Console.WriteLine(""+(b2^b1));
}}//Main方法和Maybe类定义结束
A.TrueFalseFalse
B.TrueFalseTrue
C.TrueTrueTrue
D.TrueTrueFalse
8.下面程序的编译、运行结果为( ).
publicclassTestIf1{
staticboolb;//默认值false
publicstaticvoidMain(string[]args){
shorthand=42;
if(hand<50&!
b)hand++;//第5行
if(hand>50);//第6行
elseif(hand>40){
hand+=7;//50
hand++;//51
}
else
--hand;
Console.WriteLine(hand);
}}//Main方法和TestIf1类定义结束
A.41B.42
C.50D.51
E.编译时第5行出错
F.编译时第6行出错
9.下面程序的编译、运行结果为( ).
publicclassSSBool{
publicstaticvoidMain(string[]args){
boolb1=true;
boolb2=false;
boolb3=true;
if(b1&b2|b2&b3|b2)//&优先级高于|
Console.Write("ok");
if(b1&b2|b2&b3|b2|b1)
Console.WriteLine("dokey");
}}//Main方法和SSBool类定义结束
A.okB.dokey
C.okdokeyD.运行时抛出异常
10.下面程序的编译、运行结果为( ).
publicclassTest{
publicstaticvoidMain(string[]args){
intx=0;
inty=0;
for(intz=0;z<5;z++){
if((++x>2)||(++y>2)){
x++;
}
}
Console.WriteLine(x+""+y);
}}//Main方法和SSBool类定义结束
A.82B.53
C.83D.85
11.分析如下代码:
1.classCrivitch{
2.publicstaticvoidMain(string[]args){
3.intx=0;
4.//这里插入代码
5.do{}while(x++ 6.Console.WriteLine(x);//12 7.} 8.} 下面( )插入到第4行,程序运行时将会输出12。 A.inty=10;B.inty=11; C.inty=12;D.inty=13; 12.for(intk=0;k++<10;++k,k--) Console.WriteLine(k); 针对上面这行代码,下面说法中( )是正确的. A: 导致无限循环 B: 输出k的范围是0~9; C: 输出k的范围是1~9; D: 输出k的范围是1~10。 15.分析如下代码: 1.publicclassBarbell{ 2.publicintgetWeight(){ 3.returnweight;//体重 4.} 5.publicvoidSetWeight(intw){ 6.if(w>0)weight=w; 7.} 8.publicintweight; 9.} 下面有关以上代码的讨论中,正确的有( ) A.类Barbell是紧密封装的 B.第2行不符合封装性要求 C.第5行不符合封装性要求 D.第8行不符合封装性要求 16.分析如下代码: 1.publicclassB: A{ 2.privateintbar; 3.publicvoidSetBar(intb){ 4.bar=b; 5.} 6.} 7.classA{ 8.publicintfoo; 9.} 下面有关以上代码的讨论中,正确的有( ) A.类A是紧密封装的 B.类B是紧密封装的 C.类A和类B都是紧密封装的 D.类A和类B都不是紧密封装的 习题三 1.Ifanarrayisdeclaredas,int[]arr=newint[5],thetotalnumberofelementsinthearrayis( ). A.0B.1C.2D.5 2.下面的数组定义语句中,( )是正确的。 A.int[]a=newint[4]{1,2,3}; B.int[]a={1,2,3,4}; C.int[]a=newint[3]{9,2,3,1}; D.int[]a=newint[4]; a={0,1,2,3}; 3.下面的数组定义语句中,( )是正确的。 A.intaa[]; B.intbb[]=newint[3]{3,6,9}; C.int[]cc=newint[]; D.int[]dd=newint[]{9,2,3,1}; 4.下列数组初始化语句中错误的有( ) A.int[]arr1=newint[]{0,1,2,3,4}; B.int[]arr2={0,1,2,3,4,5}; C.int[][]arr3={newint[]{0,1}, newint[]{0,1,2}, newint[]{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}}; 不规则(二维及以上)数组需要使用newint[]产生最终的一维数组 5.Thesubscriptnumberofanarraystartsfrom( ). A.-1B.0C.1D.2 6.对于下面的数组定义,myArray[2][2]的值是( ) int[][]myArray=newint[3][] {newint[3]{5,6,2}, newint[5]{6,9,7,8,3}, newint[2]{3,2}}; A.2B.6C.9D.越界 System.IndexOutOfRangeException: 索引超出了数组界限。 7.Ifanarrayisdeclaredasstring[]arr=newstring[5],thebasetypeofthearrayis( ) A.byteB.intC.longD.string 8.MyClass为一个自定义类,则下面的语句创建了( )个类MyClass的对象. MyClass[,]myArray=newMyClass[2,3]; A.0B.2C.3D.6 9.Considerthefollowingcode: classArrayClass { staticvoidMain() { string[]String_Array=newstring[4]; String_Array[0]="str1"; String_Array[1]="str2"; for(inti=0;i<2;i++) Console.WriteLine("arr[{0}]={1}", i,String_Array[i]); }}//Main方法和类ArrayClass定义结束 Whatistheoutputoftheprogram? ( ) A.arr[0]=str1 arr[1]=str2 B.str1 C.str2 D.Errormessageisdisplayed. 10.装箱、拆箱操作发生在: ( ) A.类与对象之间B.对象与对象之间 C.引用类型与值类型之间D.引用类型与引用类型之间 11.下面程序的运行结果为( ). publicclassTest{ staticints; publicstaticvoidMain(string[]args){ start(); Console.Write(s); } staticvoidstart(){ intx=7; twice(x); Console.Write(x+""); } staticvoidtwice(intx){ x=x*2; s=x; }}//twice方法和类Test定义结束 A.714B.77C.140D.1414 12.下面程序的运行结果为( ). publicclassTest{ publicstaticvoidMain(string[]args){ start(); } staticvoidstart(){ boolb1=false; boolb2=fix(b1); Console.WriteLine(b1+""+b2); } staticboolfix(boolb1){ b1=true; returnb1; }}//fix方法和类Test定义结束 A.TrueTrueB.TrueFalse C.FlaseTrueD.FalseFalse 13.则下面程序的运行结果为( ). publicclassPassS{ publicstaticvoidMain(string[]args){ start(); } staticvoidstart(){ strings1="slip"; strings2=fix(s1); Console.WriteLine(s1+""+s2); } staticstringfix(strings1){ s1=s1+"stream"; Console.Write(s1+""); return"stream"; }}//fix方法和类PassS定义结束 A.slipstreamslipstreamstreamB.slipstream C.streamslipstreamD.slipstreamslipstream 14.下面程序的运行结果为( ). publicclassPassA{ publicstaticvoidMain(string[]args){ start(); } staticvoidstart(){ 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]); } staticlong[]fix(long[]a3){ a3[1]=7; returna3; }}//fix方法和类PassA定义结束 A.1215B.1515 C.345375D.375375 15.下面程序的运行结果为( ). classTwo{ internalbytex; } p
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C# 题目