C#练习题及答案演示教学

  • 格式:doc
  • 大小:199.50 KB
  • 文档页数:20

C#练习题及答案第1章一.选择题1.关于C#程序的书写,下列不正确的说法是【D】。

A) 区分大小写B) 一行可以写多条语句C) 一条语句可以写成多行D) 一个类中只能有一个Main()方法,因此多个类中可以有多个Main()方法。

2.C#应用程序项目文件的扩展名是【A】。

A) csproj B) cs C) slnD) suo3.运行C#程序可以通过按【A】键实现。

A) F5B) Alt+F5 C) Ctrl+F5D) Alt+Ctrl+F54. 公共语言运行库可简写为(C )。

A) MSIL B) JIT C) CLR D) MSDN5 .NET编程语言不包括下面哪种语言?(D)A) Visual Basic B) Visual C++ C) Visual C# D) JAVA第2章一.选择题1.在C#语言中,下列能够作为变量名的是【 C 】。

A) if B) 3ab C) a_3bD) a-bc2.在C#语言中,转义字符不可以表示【 B 】。

A) 任何字符B)字符串C)字母D)小数点3.表达式5/2+5%2-1的值是【 B 】。

A) 4 B) 2 C)2.5 D)3.54.下列数值类型的数据精度最高的是【C】。

A) int B) float C) decimalD) ulong5.在C#语言中,下面的运算符中,优先级最高的是【 B 】。

A) % B) ++ C) *=D) >6.能正确表示逻辑关系“a≥10 或 a≤0”的C#语言表达式是【 D 】。

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

using System;class Program{ public static void Main(string[] args){ int a=5,b=4,c=6,d;Console.WriteLine(“{0}”,d=a>b?(a>c?a:c):b);}}A) 5 B) 4 C)6 D) 不确定8.要使用变量score来存储学生某一门课程的成绩(百分制,可能出现小数部分),则最好将其定义为【 C 】类型的变量。

A) int B) decimal C) floatD) double9.已定义下列变量:int n; float f; double df;df=10; n=2;下列语句正确的是【 C 】。

A) f=12.3; B) n=df; C)df=n=100; D) f=df;10.下列表达式或语句中,有语法错误的是【 A 】。

A) n=12%3.0;(n为int型)B) 12/3.0C) 12/3 D) ‘a’>’b’11.下面有关变量和常量的说法,正确的是【 B 】。

A) 在程序运行过程中,变量的值是不能改变的,而常量是可以改变的B) 常量定义必须使用关键字constC) 在给常量赋值的表达式中不能出现变量D) 常量在内存中的存储单元是固定的,变量则是变动的12、下列类型转换中正确的是【 A 】(A) int i=’A’ (B) long L=1.1f (C) int i=(float)1.1 (D) int i=1.113、以下选项中,合法的赋值语句是(B )(A) int a==1 (B) int i=1;int j=i++;(C) int a=a+1=2; (D) int i=int (j);14、下列运算符中属于关系运算符的是(A)(A) == (B) = (C) += (D) -=15、阅读下面的程序,程序的运行结果为(C)int a=10,b=4,c=20,d=6;label1.Text=a++*b+c*--d;(A)144 (B)160 (C)140 (D)16416、阅读下面的程序,程序的运行结果为(B)int x=3,y=4,z=5;String s=”xyz”label1.Text=s+x+y+z;(A)xyz12 (B)xyz345 (C)xyzxyz (D)12xyz17、阅读下面的程序,程序的运行结果为(B)int i=10,j=3;float m=213.5f,n=4.0f;label1.Text=i%j+””;label2.Text=m%n+””;(A)1.0和1.5 (B)1和1.5 (C)1.0和2.5 (D)1和2.5二、程序改错题1、在编写贪吃蛇游戏中,使用变量输出贪吃蛇游戏当前的状态、运行速度、得分,参考程序如下,但该程序还存在一些错误,请调试改正。

private void button1_Click(object sender, EventArgs e){int speed = 0;int score = 0;String status="";label1.text = "游戏正在进行....../n";speed = 0;score = 30;status = "正常运行";label1.Text = label1.Text + "当前速度:" + speed + "像素/秒";label1.Text += label1.Text + "当前得分:" + score + "分";label1.Text += label1.Text + "当前状态:"+ status;}2、模拟连连看游戏判断是否打破记录的程序,参考程序如下,但该程序还存在一些错误,请调试改正。

private void button1_Click(object sender, EventArgs e){int a = 32;//代表原纪录int b = 101;//代表新纪录int c=(a<b) ?"打破记录":"未打破记录";label1.Text = "原记录:"+a+"\n";label1.Text += "新记录:\n"+b+"\n";label1.Text += "当前结构:\n"+c+"\n";}第3章一.选择题1.在C#语言中,if语句后面的表达式应该是【 B 】。

A) 逻辑表达式B) 条件表达式C) 关系表达式D) 布尔类型的表达式2.在C#语言中,if语句后面的表达式,不能是【 B 】。

A) 逻辑表达式B) 算数表达式C) 关系表达式D) 布尔类型的表达式3.在C#语言中,switch语句用【 A 】来处理不匹配case语句的值。

A) default B) anyelseC) break D) goto 4.下列程序的输出结果是【C 】。

using System;class Program{ public static void Main(string[] args){ 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);}}A) a=2,b=1 B) a=1,b=1 C) a=1,b=0D) a=2,b=25.以下叙述正确的是【D 】。

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

A) for循环只能用于循环次数已经确定的情况B) for循环是先判定表达式,后执行循环体C) 在for循环中,可以用break语句跳出循环体D) for循环体语句中,可以包含多条语句,但要用花括号括起来7.以下关于if语句和switch语句的说法,正确的【 CD 】。

A) 如果在if语句和switch语句中嵌入break语句,则在程序执行过程中,一旦执行到break语句,就会结束相应的执行,转向执行其后面的语句B) 凡是能够使用if语句的地方就可以使用switch语句,反之亦然C) if语句有3种基本形式:if…、if…else…和if…else if…else…D) if语句是实现“单判断二分支”的选择结构,switch语句是实现“单判断多分支”的选择结构。

8.以下关于for循环的说法,不正确的是【 C 】。

A) for语句中的3个表达式都可以省略B) for语句中的3个表达式中,若第2个表达式的值为true,则执行循环体中的语句,直到第3个表达式的返回值为falseC) for语句中的3个表达式中,第2个表达式必须是布尔类型的表达式,其他两个可以是任意类型的表达式。

D) for语句中的3个表达式中,第1个表达式执行且仅执行一次;每当循环体语句被执行后,第3个表达式都跟着被执行一次。

9. C#提供的4种跳转语句中,不推荐使用的是【 D 】。

A) return B) break C) continue D) goto10 执行下列语句序列后,i和j的值分别是【 C 】int i=3,j=5;if(i-1>j) i--;else j--;A) 2,4 B)2,5 C)3,4 D)3,511 下列语句序列执行后,j的值是【 B 】int j=5,i=6;while(i 3) –j;A)1 B)2 C)3 D)412 以下for循环的执行次数是【 B 】for(int i=1;(i==1)&(i>2);i++)A)无限次 B)一次也不执行 C)执行1次 D)执行2次13 以下由do-while语句构成的循环执行次数是【 C 】int m=1;do{++m}while(m<1);A)有语法错误,不能执行 B)一次也不执行 C)执行1次 D)执行2次二.改错题1、根据消费总额进行打折,消费总额在100元以上(含100元)时打7折,90元以上(含90元)100元以下时打8折,50元以上(含50元)90元以下时打9折,50元以下的不打折。

参考程序如下,但是该参考程序有错误,请调试并改正。