1、C期末考练习题C#程序设计练习题一选择题(25分)1.C#中每个int 类型的变量占用_A_个字节的内存。A. 1 B. 2 C. 4 D. 8 2. 在C#中,表示一个字符串的变量应使用以下哪条语句定义?BA. CString str; B. String str; C. Dim str as string D. char * str; 3. 数组的下标从(B)开始A. 1 B. 0 C. 1 D. 24. C#中,新建一字符串变量str,并将字符串Toms Living Room保存到串中,则应该使用下列哪条语句?AA. string str = Toms Living Room; B.
2、string str = Toms Living Room; C. string str(Toms Living Room); D. string str(Toms Living Room);5. 下列语句创建了多少个string 对象?Dstring, strArray = new string34;A. 0 B. 3 C. 4 D. 12 6. Windows Form 应用程序中,要求下压按钮控件Button1 有以下特性:正常情况下,该按钮是扁平的,当鼠标指针移动到它上面时,按钮升高。那么,在程序中,属性Button1.FlatStyle 的值应设定为:BA. System.Windo
3、ws.Forms.FlatStyle.Flat B. System.Windows.Forms.FlatStyle.Popup C. System.Windows.Forms.FlatStyle.Standard D. System.Windows.Forms.FlatStyle.System 7.关于C#程序的书写,下列不正确的说法是_D_。A. 区分大小写 B. 一行可以写多条语句 C. 一条语句可写成多行D. 一个类中只能有一个Main()方法,因此多个类中可以有多个Main()方法8. 在C#语言中,下列能够作为变量名的是_C_。A. if B. 3ab C. a_3b D. a-bc
4、9. 在C#语言中,下面的运算符中,优先级最高的是_B_。A. % B. + C. /= D. 10. 能正确表示逻辑关系“a=10 或a=10 or a=10|a=10&a=10|ab?(ac?a:c):b; Console.Writeline(d);A.5 B.4 C.6 D.不确定12. 要看到程序运行的结果,必须按下列哪个组合键()。A. Ctrl+F5 B. Ctrl+F9 C. Alt+F5 D. Alt+F13. .有如下程序Using system;Class Example1 Public Static void main() Int x=1,a=0,b=0; Switch(
5、x) Case 0:b+,break; Case 1:a+,break; Case 2:a+,b+,break; Console.Writeline(“a=0,b=1”,a,b);的输出结果是A. a=2,b=1 B. a=1,b=1 C. a=1,b=0 D. a=2,b=214. 以下叙述正确的是_。A. do.while语句构成的循环不能用其他语句构成的循环来代替B. do.while语句构成的循环只能用break语句退出C. 用do.while语句构成的循环,在while后的表达式为true时结束循环D. 用do.while语句构成的循环,在while后的表达式应为关系表达式或逻辑表达
6、式15. 以下关于for循环的说法不正确的是_。A. for循环只能用于循环次数已经确定的情况B. for循环是先判定表达式,后执行循环体语句C. for循环中,可以用break语句跳出循环体D. for循环体语句中,可以包含多条语句,但要用花括号括起来。16.若有定义:int x=new int100,2,4,4,5,6,7,8,9,10;则数组x在内存中所占字节数是_。A. 6 B. 20 C. 40 D. 8017. 有定义语句:int ,a=new int5,6; 则下列正确的数组元素的引用是_。A. a(3,4) B. a(3)(4) C. a34 D. a3,418. 下列的数组定
7、义语句,不正确的是_。A. int a=new int51,2,3,4,5 B. int,a=new int34C. inta=new int 3; D. int a=1,2,3,4;19. 要使文本框控件能够显示多行而且能够自动换行,应设置它的_属性。A. MaxLength和Multline B. Multlineh和WordWrapC. PassWordChar和Multline D. MaxLength和WordWra20. c#源程序文件的默认扩展名为_。A. cpp B. exe C.cs D. lik21. 下面有关for语句的描述有错误的是_D_。A. 使用for语句时,可以省
8、略其中的某个或多个表达式,但不能同时省略全部3个表达式B. 在省略for语句的某个表达式时,如果该表达式后面原来带有分号,则一定要保留它所带的分号C. 在for语句表达式中,可以直接定义循环变量,以简化代码D. for语句的表达式可以全部省略22. 下面有关break,continue 和goto语句描述正确的是_D_。A. break 语句和continue语句都是用于终止当前整个循环B. 使用break语句可以一次跳出多重循环C. 使用语句可以方便地跳出多重循环,因而编程时应尽可能多使用goto语句D. goto语句必须和标识符配合使用,break和continue语句则不然23.下面是几
9、条动态初始化一维数组的语句,指出其中正确的是_B_。A. int arr2=new int ; 没有设置长度 B. int arr2=new int4;C. int arr2=new inti6,5,1,2,3; 【】不能是变量 D. int arr2=new int46,5,1,2,3;24. 下面对Write()和WriteLine()方法的描述,哪些是正确的_A_。A. WriteLine()方法在输出字符串的后面添加换行符B. 使用Write()输出字符串时,光标将会位于字符串的后面C. 使用Write()和WriteLine()方法输出数值变量时,必须要先把数值变量转换成字符串D.
10、使用不带参数的WriteLine()方法时,将不会产生任何输出25.设a=6,b=4,则表达式b*a+3的值为( C ) A3 B18 C27 D3626.标识符的名字不能使用c#语言中的关键字,如果要使用,则应使用(C)字符作为前缀:A B任意字符 C D/二、填空题(20分)1. 结构化的程序设计的3种基本结构是(顺序),(循环 ),(选择 )。2. 在C#程序中,程序的执行总是从( Main() )方法开始的。3. 、在C#中,进行注释有两种方法:使用“/”和使用“/* */“符号对,其中( “/” )只能进行单行注释。4. 数组定义与赋值语句如下:int a=1,2,3,4,5;则a2
11、的值是(3)。5. 下列程序段执行后,a4的值为(4 )。 int a=1,2,3,4,5;a4=aa2; 6.8/3的结果是:( 2)7.具有n+1个元素的数组的索引是0-( n )8在调用一个方法的过程又调用另一个方法,称为(函数调用),一个方法直接或间接的调用它本身,称为(递归调用)。三、程序分析题1.运行以下程序段,结果是( 150 )double k,t;t=0;for(int n=1;n=10;n+) For(k=1;k=5;k+) t=t+k;Console.WriteLine(t);2. 运行以下程序段,结果是(总和为25 )using System;class Sumw st
12、atic void Main( ) int i=1, sum=0; while (i0;j-=2) a-=j*3;4. 以下程序运行后,控件textBox1 显示内容为(11 12 13 14 16 17 18 19 )int i;For(i=10;i=20;i+) if(i%5=0)Continue;textBox1.text+=i.ToString()+” “;5.给出下列程序的运行结果:( 5050 )using SystemClass Dome Static void Main() int n=1,sum=0; while (n101) sum+=n; n+;Console.Write
13、Line(“1+2+3+100=”+sum);6. 给出下列程序的运行结果:( 123 456 )Static void Main() int, twoarray=new int2,31,2,3,4,5,6;console.writeline(“*矩阵*”);for(int i=0;iItwoarray.GetLength(0);i+) for(int j=0;jtwoarray.GetLength(1);j+) Console.Write(twoarrayi,j+” “);Console.WriteLine();7. 给出下列程序的运行结果:( 15 )using System;public
14、 class test public int num; public test(int i) this.num=i+5; Static void Main()test classone=new test(10); int x=classone.num; Console.WriteLine(x);8. 给出下列程序的运行结果:( 1,1 )Static void Main() int , a=new int3,3; a0,0=1; for(int i=1;i3;i+) ai,0=1;ai,i=1;for(int j=1;ji;j+) ai,j=ai-1,j-1+ai-1,j;for(int i=
15、0;i3;i+) for(int j=0;j=i;j+) Console.Write(“0 t”,ai,j); Console.WriteLine(“0t”,ai,j);四,程序完善题,如:1.public void Main() bool b1=false,b2=true; console.WriteLine(“b1=0b2= 1“,b1,b2);2.public void Main() int jshu=0,oshu=0; int a=new int0,4,7,8,9,10,14,15,19,20,50,48,55; foreach( int k in a ) if (K%2=0) osh
16、u+; else jshu+;console.WriteLine(“0个奇数,1个偶数“,jshu ,oshu );3Static void Main() char ch; string str; console.WriteLine(“请输入任意长度的字母并按回车键:“); ch= Convert.ToChar( Console.ReadLine().Substring(0,1) ;/get a char str= Console.ReadLine();/get a string console.WriteLine(“您输入的第一个字母是:”+ch);console.WriteLine(“您输
17、入的字符串是:”+str);五、简答题:(考一些重要的概念,如)1 简述命名空间C#中的类是利用命名空间来组织的。命名空间提供了一种从逻辑上组织类的方式,防止命名冲突。2 简述什么是构造函数及其特点构造函数是一种特殊的成员函数,它主要用于为对象分配存储空间,对数据成员进行初始化.特点:构造函数的函数名和类的名称必须一样。 构造函数在对象定义的时候被自动调用。 构造函数可以被重载,但是不可以被继承。3 创建文件的常用方法(1)File.Creat(路径)(2)StreamWrite sw=new StreamWrite(路径);sw.Write(内容);4 什么是方法的重载,系统如何区分重载的方法方法的重载是指在一个类里面可以有多个方法名字相同的不同方法。但是方法的参数个数,顺序,不能相同。 系统通过方法调用时给的参数来区分重载的方法。六、编程题(一般是我们课堂上练习过的,如:)1、(递归法或者使用循环实现)求某一个数的阶乘2、
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1