期末考练习题

  • 格式:doc
  • 大小:32.00 KB
  • 文档页数:14

《C#程序设计》练习题一.选择题(25分)1.C#中每个int 类型的变量占用___A____个字节的内存。

A. 1B. 2C. 4D. 82. 在C#中,表示一个字符串的变量应使用以下哪条语句定义?BA. CString str;B. String str;C. Dim str as stringD. char * str;3.数组的下标从(B)开始A. –1B. 0C. 1D. 24. C#中,新建一字符串变量str,并将字符串"Tom's Living Room"保存到串中,则应该使用下列哪条语句?AA. string str = "Tom\'s Living Room";B. string str = ‘Tom's Living Room’;C. string str("Tom's Living Room");D. string str("Tom"s Living Room");5. 下列语句创建了多少个string 对象?Dstring[,] strArray = new string[3][4];A. 0B. 3C. 4D. 126. Windows Form 应用程序中,要求下压按钮控件Button1 有以下特性:正常情况下,该按钮是扁平的,当鼠标指针移动到它上面时,按钮升高。

那么,在程序中,属性Button1.FlatStyle 的值应设定为:BA. System.Windows.Forms.FlatStyle.FlatB. System.Windows.Forms.FlatStyle.PopupC. System.Windows.Forms.FlatStyle.StandardD. System.Windows.Forms.FlatStyle.System7.关于C#程序的书写,下列不正确的说法是__D__。

A. 区分大小写B. 一行可以写多条语句C. 一条语句可写成多行D. 一个类中只能有一个Main()方法,因此多个类中可以有多个Main()方法8. 在C#语言中,下列能够作为变量名的是_C___。

A. ifB. 3abC. a_3bD. a-bc9. 在C#语言中,下面的运算符中,优先级最高的是__B__。

A. %B. ++C. /=D. >>10. 能正确表示逻辑关系“a>=10 或a<=0”的C#语言表达式是_D___。

A. a>=10 or a<=0B. a>=10|a<=0C. a>=10&&a<=0D.a>=10||a<=011. 以下程序的输出结果是__C__。

Using system;Class Example1{Public Static void main(){Int a=5,b=4,c=6,d;d=a>b?(a>c?a:c):b;Console.Writeline(d);}}A.5B.4C.6D.不确定12. 要看到程序运行的结果,必须按下列哪个组合键(A)。

A. Ctrl+F5B. Ctrl+F9C. Alt+F5D. Alt+F13.. .有如下程序Using system;Class Example1{Public Static void main(){Int x=1,a=0,b=0;Switch(x){Case 0:b++,break;Case 1:a++,break;Case 2:a++,b++,break;}Console.Writeline(“a={0},b={1}”,a,b);}}的输出结果是CA. a=2,b=1B. a=1,b=1C. a=1,b=0D. a=2,b=214. 以下叙述正确的是__D。

A. do….while语句构成的循环不能用其他语句构成的循环来代替B. do….while语句构成的循环只能用break语句退出C. 用do….while语句构成的循环,在while后的表达式为true时结束循环D. 用do….while语句构成的循环,在while后的表达式应为关系表达式或逻辑表达式15. 以下关于for循环的说法不正确的是___A_。

A. for循环只能用于循环次数已经确定的情况B. for循环是先判定表达式,后执行循环体语句C. for循环中,可以用break语句跳出循环体D. for循环体语句中,可以包含多条语句,但要用花括号括起来。

16.若有定义:int [] x=new int[10]{0,2,4,4,5,6,7,8,9,10};则数组x在内存中所占字节数是__C__。

A. 6B. 20C. 40D. 8017. 有定义语句:int [,]a=new int[5,6]; 则下列正确的数组元素的引用是__C__。

A. a(3,4)B. a(3)(4)C. a[3][4]D. a[3,4]18. 下列的数组定义语句,不正确的是_C___。

A. int [] a=new int[5]{1,2,3,4,5}B. int[,]a=new int[3][4]C. int[][]a=new int [3][];D. int []a={1,2,3,4};19. 要使文本框控件能够显示多行而且能够自动换行,应设置它的______B___属性。

A. MaxLength和MultlineB. Multlineh和WordWrapC. PassWordChar和MultlineD. MaxLength和WordWra20. c#源程序文件的默认扩展名为___C__。

A. cppB. exeC.csD. lik21. 下面有关for语句的描述有错误的是___D_。

A. 使用for语句时,可以省略其中的某个或多个表达式,但不能同时省略全部3个表达式B. 在省略for语句的某个表达式时,如果该表达式后面原来带有分号,则一定要保留它所带的分号C. 在for语句表达式中,可以直接定义循环变量,以简化代码D. for语句的表达式可以全部省略22. 下面有关break,continue 和goto语句描述正确的是__D__。

A. break 语句和continue语句都是用于终止当前整个循环B. 使用break语句可以一次跳出多重循环C. 使用语句可以方便地跳出多重循环,因而编程时应尽可能多使用goto语句D. goto语句必须和标识符配合使用,break和continue语句则不然23.下面是几条动态初始化一维数组的语句,指出其中正确的是__B__。

A. int [ ] arr2=new int[ ]; 没有设置长度B. int [] arr2=new int[4];C. int[ ] arr2=new int[i]{6,5,1,2,3}; 【】不能是变量D. int[ ] arr2=new int[4]{6,5,1,2,3};24. 下面对Write()和WriteLine()方法的描述,哪些是正确的__A__。

A. WriteLine()方法在输出字符串的后面添加换行符B. 使用Write()输出字符串时,光标将会位于字符串的后面C. 使用Write()和WriteLine()方法输出数值变量时,必须要先把数值变量转换成字符串D. 使用不带参数的WriteLine()方法时,将不会产生任何输出25.设a=6,b=4,则表达式b*a+3的值为( C )A.3 B.18C.27 D.3626.标识符的名字不能使用c#语言中的关键字,如果要使用,则应使用(C)字符作为前缀:A.’ B.任意字符 C.@ D./二、填空题(20分)1. 结构化的程序设计的3种基本结构是(顺序),(循环 ),(选择 )。

2. 在C#程序中,程序的执行总是从( Main() )方法开始的。

3. 、在C#中,进行注释有两种方法:使用“//”和使用“/* */“符号对,其中(“//”)只能进行单行注释。

4. 数组定义与赋值语句如下:int []a={1,2,3,4,5};则a[2]的值是(3)。

5. 下列程序段执行后,a[4]的值为(4 )。

int []a={1,2,3,4,5};a[4]=a[a[2]];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{static void Main( ){int i=1, sum=0;while (i<=10){sum+=i;i+=2;}Textbox1.text=“总和为:”+sum.ToString();}}3.以下程序运行后,变量a的值为( 10)int a=100;for(int j=10;j>0;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.ToS tring()+” “;}5.给出下列程序的运行结果:( 5050 )using SystemClass Dome{Static void Main(){ int n=1,sum=0;while (n<101){sum+=n;n++;}Console.WriteLine(“1+2+3+…+100=”+sum); }}6.给出下列程序的运行结果:( 123 456 )Static void Main(){int[,] twoarray=new int[2,3]{{1,2,3},{4,5,6}}; console.writeline(“***矩阵***”);for(int i=0;iI<twoarray.GetLength(0);i++){for(int j=0;j<twoarray.GetLength(1);j++) {Console.Write(twoarray[i,j]+”“);}Console.WriteLine();}}7. 给出下列程序的运行结果:( 15 )using System;public 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 int[3,3];a[0,0]=1;for(int i=1;i<3;i++){ a[i,0]=1;a[i,i]=1;for(int j=1;j<i;j++) a[i,j]=a[i-1,j-1]+a[i-1,j]; }for(int i=0;i<3;i++){for(int j=0;j<=i;j++)Console.Write(“{0} \t”,a[i,j]);Console.WriteLine(“{0}\t”,a[i,j]);}}四,程序完善题,如:1.public void Main(){ bool b1=false,b2=true;console.WriteLine(“b1={0}b2= {1}“,b1,b2);}2.public void Main(){ int jshu=0,oshu=0;int[] a=new int[]{0,4,7,8,9,10,14,15,19,20,50,48,55}; foreach( int k in a ){if (K%2==0) oshu++;else jshu++;}console.WriteLine(“{0}个奇数,{1}个偶数“,jshu ,oshu ); }3.Static void Main(){char ch;string str;console.WriteLine(“请输入任意长度的字母并按回车键:“); ch= Convert.ToChar( Console.ReadLine().Substring(0,1));//get a charstr= Console.ReadLine();//get a stringconsole.WriteLine(“您输入的第一个字母是:”+ch);console.WriteLine(“您输入的字符串是:”+str);}五、简答题:(考一些重要的概念,如)1.简述命名空间C#中的类是利用命名空间来组织的。