您好,欢迎访问三七文档
一、选择题1.CLR是一种()A.程序设计语言B.运行环境C.开发环境D.API编程接口2.C#语言源代码文件的后缀名为()A..c#B.ccC..cspD..cs3.构建桌面应用程序需要.NET提供的类库是()A.ADO.NETB.WindowsFormC.XMLD.ASP.NET4.与C++等语言相比,C#的简单性主要体现在()A.没有鼓励的全局函数B.没有指针C.不能使用未初始化的变量D.解决了“DLL地狱”5.C#中导入某一命名空间的关键字是()A.usingB.useC.importD.include6.C#中程序的入口方法名是()A.MainB.mainC.BeginD.using二、简答题1.C#语言的主要优势有哪些?2.如何看待C#、CLR和.NET之间的关系?3.VS2010平台如何有效地实现各类应用程序的管理?4.最常见的C#项目有哪几类?简述创建他们的基本操作步骤?第二章C#语言基础一、选择题1.C#中的值类型包括三种,它们是()A.整型、浮点型、基本类型B.数值类型、字符类型、字符串类型C.简单类型、枚举类型、结构类型D.数值类型、字符类型、枚举类型、2.C#的引用类型包括类、接口、数组、委托、object和string。其中object()根类A.只是引用类型的B.只是值类型的C.只是string类型的D.是所有值类型和引用类型的3.浮点常量有三种格式,下面()组的浮点常量都属于double类型。A.0.618034,0.618034D,6.18034E-1B.0.618034,0.618034F,0.0618034E1C.0.618034,0.618034f,0.618034MD.0.618034F,0.618034D,0.618034M4.下面字符常量表示有错误的一组是()A.’\\’,’\u0027’,’\x0027’B.‘\n’,’\t’,’\037’C.’a’,’\u0061’,(char)97D.’\x0030’,’\0’,‘0’5.下列标识符命名正确的是()A._int,Int,@intB.using,_using,@usingC.NO1,NO_1,NO.1D.A3,_A3,@A36.当表达式中混合了几种不同的数据类型时,C#会基于运算的顺序将他们自动转换成同一类型。但下面()类型和decimal类型混合在一个表达式中,不能自动提升为decimal.A.floatB.intC.uintD.byte7.设有说明语句intx=8;则下列表达式中,值为2的是()A.X+=x-=x;B.x%=x-2;C.x8?x=0:x++;D.x/x=x+x;8.C#数组主要有三种形式,它们是()A.一维数组、二维数组、三维数组B.整型数组、浮点型数组、字符型数组C.一维数组、多维数组、不规则数组D.一维数组、二维数组、多维数组9.设有说明语句double[,,]tab=newdouble[2,3,4];那么下面叙述正确的是()A.tab是一个三维数组,它的元素一共有24个B.tab是一个有三个元素的一维数组,它的元素初始值分别是2,3,4C.tab是一个维数不确定的数组,使用时可以任意调整D.tab是一个不规则数组,数组元素的个数可以变化10.C#的构造函数分为实例构造函数和静态构造函数,实例构造函数可以对()进行初始化,静态构造函数只能对()进行初始化。A.静态成员B.非静态成员C.静态成员或非静态成员D.静态成员和非静态成员11.C#实现了完全意义上的面向对象,所以它没有(),任何数据域和方法都必须封装在类体中。A.全局变量B.全局常数C.全局方法D.全局变量、全局常量和全局方法12.方法中的值参数是()的参数。A.按值传递B.按引用传递C.按地址传递D.不传递任何值13.下面对方法中的ref和out参数说明错误的是()A.ref和out参数传递方法相同,都是把实在参数的内存地址传递给方法,实参与形参指向同一个内存存储区域,但ref要求实参必须在调用之前明确赋过值B.ref是将实参传入形参,out只能用于从方法中传出值,而不能从方法调用处接收实参数据C.ref和out参数传递的是实参的地址,所以要求实参和形参的数据类型必须一致D.ref和out参数要求实参和形参的数据类型或者一致,或者实参能被隐式地转化为形参的类型14.下列叙述中,正确的是()A.接口中科院有虚方法B.一个类科院实现多个接口C.接口能被实例化D.接口中科院包含已实现的方法二、简答题1.判断下列标识符的合法性。X.254footsexam-1usingmainWho_an_ILarge&Small_Yearsval(7)2xy2.下列常量是否合法?弱不合法,指出原因;若合法,指出它的数据类型。3276735u1.25e3.43L0.0086e-32‘\87’true“a”‘a’‘\96\45’.55UL3.指出下列哪些表示字符?哪些表示字符串?哪些既不表示字符也不表示字符串?‘0x66’China“中国”“8.42”‘\0x33’56.34“\n\tox34”‘\r’‘\\’‘8.34’“\0x33”‘\0’“ComputerSystem!\n”“\\\\doc\\share\\my1.doc”@”\\doc\share\my1.doc”@”Joesaid””Hello””tome”“Joesaid\”Hello\”tome”4.将下列代数式写成C#的表达式。(1)ax2+bx+c(2)(x+y)3(3)(a+b)/(a-b)5.计算下列表达式的值。(1)x+y%4*(int)(x+z)%3/2其中,x=3.5,y=13,z=2.5(2)(int)x%(int)y+(float)(z*w)其中,x=2.5,y=3.5,z=3,w=46.写出下列表达式运算后a的值,设原来的a都是10。(1)a+=a;(2)a%=(7%2);(3)a*=3+4;(4)a/=a+a;(5)a-=a;(6)a+=a-=a*=a;三、填空题1.C#中可以把任何类型的值赋给object类型变量,当值类型赋给object类型变量时,系统要进行()操作;而将object类型变量赋给一个值类型变量,系统要进行()操作,并且必须加上()类型转换。2.C#特有的不规则数组是数组的数组,也就是说它的数组元素是(),并且它的内部每个数组的长度()。3.数组在创建时可以根据需要进行初始化,需要注意的是,初始化时,不论数组的维数是多少,都必须显式地初始化数组的()元素。四、程序分析1.程序运行结果:______________classExe1{StaticvoidMain(string[]args){intx,y,z;bools;x=y=z=0;s=x++!=0||++y!=0&&++y!=0;Console.WriteLine(“x={0},y={1},z={2},s={3}”,x,y,z,s);Console.Read();}}2.程序运行结果:_________________classExe2{StaticvoidMain(string[]args){inta,b;a=b=1;b+=a/b++;Console.Write(“a={0},b={1},”,a,b);b+=--a+(++b);Console.WriteLine(“a={0},b={1}”,a,b);Console.Read();}}3.程序运行结果:________________classExe3{StaticvoidMain(string[]args){intHb,Lb,x;x=ox1af034;Hb=(x16)&0xFFFF;Lb=x&0x00ff;Console.Write(“Hbis{0}\t”,Hb);Console.WriteLine(“Lbis{0}”,Lb);Console.Read();}}4.程序运行结果:_________classExe4{StaticvoidMain(string[]args){inta=2,b=7,c=5;switch(a0){casetrue:switch(b10){casetrue:Console.Write(“^”);break;casefalse:Console.Write(“!”);break;}break;casefalse:switch(c==5){casefalse:Console.Write(“*”);break;casetrue:Console.Write(“#”);break;}break;}Console.WriteLine();Console.Read();}}5.程序运行结果:___________classExe5{StaticvoidMain(string[]args){int[]x;x=newint[10];int[]y={1,2,3,4,5,6,7,8,9,10};constintSIZE=10;int[]z;z=newint[SIZE];for(inti=0;iz.Length;i++){z[i]=i*2+1;Console.Write(“{0,4}”,z[i]);}Console.Read();}}6.下面程序的功能是:输出100以内能被3整除且个位数为6的所有整数,请填空。classExe6{StaticvoidMain(string[]args){inti,j;for(i=0;________;i++){j=i*10+6;if(_________){continue;}Console.WriteLine(“{0}”,j);}Console.Read();}}7.程序运行结果:____________publicclassTest{publicvoidchange1(strings){s=s+”Change1”;}Publicvoidchange2(refstrings){s=s+”Change2”;}publicvoidchange3(strings1,outstrings2){s1=s1+”Change3”;s2=s1;}}classExe7{staticvoidMain(string[]args){strings1,s2;s1=”Hello,”;Testt1=newTest();t1.change1(s1);Console.WriteLine(“s1aftercalltochange1is{0}”,s1);t1.change2(refs1);Console.WriteLine(“s1aftercalltochange2is{0}”,s1);t1.change3(s1,outs2);Console.WriteLine(“s1aftercalltochange3is{0}”,s1);Console.WriteLine(“s2aftercalltochange3is{0}”,s2);Console.Read();}}五、编程题1.斐波那契数列中的前两个数是1和1,从第三个数开始,每个数等于前两个数的和,编程计算此数列的前30个数,且每行输出5个数。2.从键盘上输入一个整数n的值,按下式求出y,并输出n和y的值(y用浮点数表示)。y=1!+2!+3!+4!+……+n!3.设计一个程序,输出所有水仙花数,所有水仙花数是一个三位整数,其各位数字的立方和等于该数本身,例如,153=13+53+33。4.设计一个程序,输入一个四位整数,将各位数字分开,并按其反序输出。例如:输入1234,则输出4321。要求必须用循环语句实现。5.求π/2的金是指的公式为:π/2=(2/1)*(2/3)*(3/4)*(4/5)*……*(2n/2n-1)*(2n/2n+1)*……其中,n=1,2,3,……。设计一个程序,求出当n=1000是π的近似值。6.设计一个程序,输入一个十进制数,输出相应的十六进制数。7.当x1时,Hermite多项式定义为:1n=0Hn(x)=2xn=12xHn-1-2(n-1)Hn-2(x)n1
本文标题:C复习资料
链接地址:https://www.777doc.com/doc-2908470 .html