《C#练习题及答案(11页).doc》由会员分享,可在线阅读,更多相关《C#练习题及答案(11页).doc(11页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、-C#练习题及答案-第 11 页第1章 一选择题1关于C#程序的书写,下列不正确的说法是【D】。A) 区分大小写B) 一行可以写多条语句C) 一条语句可以写成多行D) 一个类中只能有一个Main()方法,因此多个类中可以有多个Main()方法。2C#应用程序项目文件的扩展名是【A】。A) csprojB) csC) slnD) suo3运行C#程序可以通过按【A】键实现。A) F5B) Alt+F5C) Ctrl+F5D) Alt+Ctrl+F54. 公共语言运行库可简写为(C )。 A) MSIL B) JIT C) CLR D) MSDN5 .NET编程语言不包括下面哪种语言?(D)A)
2、Visual Basic B) Visual C+ C) Visual C# D) JAVA第2章 一选择题1在C#语言中,下列能够作为变量名的是【 C 】。A) ifB) 3abC) a_3bD) a-bc2在C#语言中,转义字符不可以表示【 B 】。A) 任何字符B)字符串C)字母D)小数点3表达式5/2+5%2-1的值是【 B 】。A) 4B) 2C) 2.5D) 3.54下列数值类型的数据精度最高的是【C】。A) intB) floatC) decimalD) ulong5在C#语言中,下面的运算符中,优先级最高的是【 B 】。A) %B) +C) *=D) 6能正确表示逻辑关系“a1
3、0 或 a0”的C#语言表达式是【 D 】。A) a=10 or a=10 | a=10 & a=10 | ab?(ac?a:c):b);A) 5B) 4C) 6D) 不确定8要使用变量score来存储学生某一门课程的成绩(百分制,可能出现小数部分),则最好将其定义为【 C 】类型的变量。A) intB) decimalC) 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 】
4、。A) n=12%3.0;(n为int型)B) 12/3.0C) 12/3D) ab11下面有关变量和常量的说法,正确的是【 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+;(
5、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)in
6、t 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; const int score = 0; String status=; label1.text = 游戏正
7、在进行./n; int speed = 0; int score = 30; int 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)
8、int a = 32;/代表原纪录 int b = 101;/代表新纪录 int c=(aj) i-;else j-;A) 2,4 B)2,5 C)3,4 D)3,511 下列语句序列执行后,j的值是【 B 】int j=5,i=6;while(i3) j;A)1 B)2 C)3 D)412 以下for循环的执行次数是【 B 】for(int i=1;(i=1)&(i2);i+)A)无限次 B)一次也不执行 C)执行1次 D)执行2次13 以下由do-while语句构成的循环执行次数是【 C 】int m=1;do+mwhile(m1);A)有语法错误,不能执行 B)一次也不执行 C)执行1次
9、 D)执行2次二改错题1、根据消费总额进行打折,消费总额在100元以上(含100元)时打7折,90元以上(含90元)100元以下时打8折,50元以上(含50元)90元以下时打9折,50元以下的不打折。参考程序如下,但是该参考程序有错误,请调试并改正。private void button1_Click(object sender, EventArgs e) int totalAmount = int.Parse(textBox1.Text);/消费总额 if (totalAmount = 100) label1.Text = 打7折; Else if(totalAmount 90) label
10、1.Text = 打8折; Else if(totalAmount 50) label1.Text = 打9折; Else(totalAmount 50) label1.Text = 不打折;2、从键盘输入2012年的某一月份,打印出该月份的天数。参考程序如下,该参考程序还存在一定的错误,请调试改正。private void button1_Click(object sender, EventArgs e) int day; int month = int.Parse(textBox1.Text);/月份 switch (month) case 1: case 3: case 5: case
11、7: case 8: case 10: case 12: ; day=31; break; case 4: case 6: case 9: case 11: day=30; break; default: day=-1; break; if(day=-1) label1.Text=无效输入; else label1.Text=2012年+month+月的共有+day+天;3、利用for循环打印出以下格式的内容,参考程序如下,但该参考程序有一定的错误,请调试改正。private void button1_Click(object sender, EventArgs e) for(int i=5;
12、i0;i-)/打印列 for(int j=0;ji;j+);/打印行并控制每行的*数量 label1.Text+=*n label1.Text+=n第4章 一选择题1下面哪个语句是创建数组的正确语句【 C 】。A) float f=new float6B) float f6=new float6C) float f=new float6D) float f=new float62已知表达式int m=0,1,2,3,4,5,6,下面哪个表达式的值与数组的下标量总数相等【 B 】A) m.Length()B) m.LengthC) m.Length-1D) m.Length()-13数组中各个元
13、素的数据类型是【 A 】。A) 相同的B) 不同的C) 部分相同的D)任意的4语句int a=new int12定义了几个数组元素【 A 】。A) 12B) 13C) 11 D)0二改错题1、编写用数组保存某个学生的三门课程的成绩的程序,参考程序如下,但该参考程序有一些错误,请调试改正。private void button1_Click(object sender, EventArgs e) Int score =new int3; score1=90; score2=80; score30=70; for(int i=0;i=3;i+) label1.Text=label1.Text+成绩
14、+(i+1)+:+scorei;第五章一选择题1下列的( )不是构造函数的特征【 D 】。A) 构造函数的函数名和类名相同B) 构造函数可以重载C) 构造函数可以带有参数D) 可以指定构造函数的返回值类型2已知类MyClass定义如下:class MyClassint a1=1;private int a2=2;protected int a3=3;public int a4=4;obj是MyClass的一个对象,则下列哪条语句是正确的?( D )A) obj.a1=2; B) obj.a2=2; 3C) obj.a3=2;D) obj.a4=2;3已知类MyClass定义如下:class M
15、yClassstatic int a1=1; /没指定默认是私有的protected int a3=3;static public int a4=4;obj是MyClass的一个对象,则下列哪条语句是正确的【 D 】。A) obj.a1=2;B) obj.a4=2;C) MyClass.a1=2;D) MyClass.a4=2;4分析下列程序class Class1ushort u1;public Class1(ushort u)this.u1=u;则以下哪条语句能够正确创建对象?【 A 】。A) Class1 c1=new Class1(u);B) Class1 c1=new Class1(
16、u);C) Class1 c1=new Class1(); D) Class1 c1=new Class1(5.7);5分析下列程序class Class1ushort u1;public Class1(ushort u)this.u1=u;则以下哪条语句能够正确创建对象?【 A 】。A) Class1 c1=new Class1(u);B) Class1 c1=new Class1(u);C) Class1 c1=new Class1(); D) Class1 c1=new Class1(5.7);6分析下列程序public class Peopleint age=8;public int
17、Ageget return age; /只读不可写则调用下列语句,输出的是?【 C 】People p=new People();Console.Write(p.Age+);A) 8 B) 9C) 编译错误 D) 07要使一个类能被同一命名空间中的其他类访问,但不能被这个命名空间以外的类访问,该类可以【 A 】。A) 不使用任何修饰符B) 使用private修饰符C) 使用const关键字D) 使用protected修饰符8类的字段和方法的默认访问修饰符是【 B 】。A) publicB) privateC) protectedD) internal9下列关于构造函数的描述中,【 A 】是正确
18、的。A) 构造函数名必须与类名相同B) 构造函数不可以重载C) 构造函数不能带参数D) 构造函数可以声明返回类型10C#中的TestClass为一自定义类,其中有如下属性定义:public void Property使用以下语句创建了该类的对象,并让变量obj引用该对象。TestClass obj=new TestClass();那么,可通过【 B 】方式访问类TestClass的Property属性。A) MyClass. PropertyB) obj. PropertyC) TestClass. PropertyD) obj. Property()11调用重载方法时,系统根据【 B 】来选
19、择具体的方法。A) 方法名 B) 参数的个数和类型C) 参数名及参数个数D) 方法的返回值类型12下列的【 D 】不是构造函数的特征。A) 构造函数的函数名与类名系统B) 构造函数可以重载C) 构造函数可以带有参数D) 可以指定构造函数的返回值类型13类ClassA有一个名为M1的方法,在程序中有如下一段代码,假设该段代码是可以执行的,则声明M1方法时一定使用了【 B 】修饰符。ClassA Aobj=new ClassA();ClassA.M1();A) publicB) staticC) privateD) virtual14已知类B是由类A继承而来,类A中有一个名为M的非虚方法,现在希望
20、在类B中也定义一个名为M的方法,且两方法的参数个数和类型完全相同,若希望编译时不出现警告信息,则在类B中声明该方法时,应使用【 B 】关键字。A) staticB) newC) overrideD) virtual15下列关于类的定义,错误的是【 D 】。A) class AB) class A void f() void f()C) class AB) class A private void f() return; f()16在类A中试图重载构造函数,并使用构造函数创建对象:class A A()/语句1public void A(int x) /语句2 /不可以指定构造函数的返回值类型p
21、ublic A(int x,int y) /语句3class programstatic void Main(string args)A a=new A();/语句4A b=new A(100,200); /语句5其中,正确的语句包括【 B 】。A) 语句2和语句4B) 语句1、语句3和语句5C) 语句1、语句2和语句3D) 语句4和语句517假设类B继承了类A,下列说法错误的是【 C 】。A) 类B中的成员可以访问类A中的公有成员B) 类B中的成员可以访问类A中的保护成员C) 类B中的成员可以访问类A中的私有成员D) 类B中的成员可以访问类A中的静态成员程序设计题1 设计和编码实现一个实用的
22、计算器,具体要求如下:(1) 界面设计整洁美观,参考界面如图1所示 (2) 点击数字按钮和操作符按钮能够在输入框正确显示信息(3) 点击“=”按钮至少能够计算一个操作符的表达式(4) 点击“清空”按钮能够将内容清空(5) 点击“=”按钮能够计算两个操作符以上的表达式(6) 能够正确显示标题,标题信息为“计算器”图1 计算器参考界面2 设计和实现一个登录界面(使用student.rar中的数据库,参考界面如图2和图3所示),具体要求如下:1) 界面设计美观 2) 如果数据库不存在该用户,则提示用户不存在3) 如果存在用户,则提示密码错误4) 学号和密码正确,则提示登录成功 5)能够关闭数据库图2
23、 学生管理系统登录失败页面一图3 学生管理系统登录失败页面二3 编写一个长方形类Rectangles (1) 成员数据:int length, int width (2) 构造方法:Rectangles(int, int) (3) 成员方法:1)打印长方形面积printArea() 2)打印长方形周长printPermeter() (4)界面展示要求美观,能够显示周长和面积,参考界面如图4所示图4 面积计算示例图4 编写一个书本类Book,包含:(1) 4个字段 (每个字段的类型能够和实际生活对应):书名(bookName)、作者名(authorName)、书号(isbn)、库存(stock);(2) 每个字段拥有对应的读写属性(3) 1个方法:printInfo:用于输出书本的相关信息。(5)界面展示要求美观,能够显示书本的相关信息,参考界面如图5所示图5 面积计算示例图