C#程序设计教程期末复习题及答案(五篇)

时间:2019-05-12 17:18:19下载本文作者:会员上传
简介:写写帮文库小编为你整理了多篇相关的《C#程序设计教程期末复习题及答案》,但愿对你工作学习有帮助,当然你在写写帮文库还可以找到更多《C#程序设计教程期末复习题及答案》。

第一篇:C#程序设计教程期末复习题及答案

习题 1

一、选择题

1.在C#中 B 都是对象。

A 任何类型 B 任何事物 C 任何代码 D 任何技术 2.对象包含数据和 A 的方法。

A 在该数据上工作 B 调用 C 函数调用 D 传递参数 3.一个类是 D 的蓝本。

A 数据集合 B 函数集合 C 方法集合 D 给定功能集合 4..NET构架包含公用语言运行时期和 B。5..NET的核心是 A。

A CLR B Windows2000 C DNA D 分解平台 6.C#程序以 B 扩展名保存编写的程序。A.CS B.PS C.CSS D.SC 7.System是 B 的命名空间。

A 存储系统类 B 控制台类 C I/O操作 D 新项目 8.namespace用于声明 B。

A 新项目 B 一个命名空间 C 类与方法 D 指令 9.每个C#程序必须有一个 D 方法。A 类方法 B 构造方法 C Main D 重载方法

二、问答题

1.面向对象编程的三大原则是什么? 答:封装、继承和多态性。2.封装是什么?

答:封装是用于隐藏对象实际的制作细节。3.继承是什么?

答:继承是在建立新的特定对象时,可以使用现有对象的功能性。4.多态性是什么?

答:多态性是程序代码能够依据实际对象所需而进行不同的行为。5..NET的核心构件包括哪些? 答:(1).NET构造块服务或有计划的访问某些服务。

(2)将在新的Internet设备上运行的.NET设备软件。(3).NET用户经验。6.CLR的作用是什么?

答:CLR是.NET的核心,它是一个运行时期环境,在该环境中,以不同语言编写的应用程序均能始终运行。

三、编程题

使用.NET代码编辑器编写一个C#应用程序,以在屏幕打印出:

C# is the Component-oriented language in C and C++ family of language.要求:

(1)使用using System命名空间,即定位System命名空间的Console类。(2)不使用using System命名空间,即System命名空间的Console类。(3)使用using指令的别名,即使用using创建using的别名。答案:(1)

//Example1.cs Using System;Class Example1 { Public static void Main(){ Console.Write(“C# is the Component-oriented language ”);Console.WriteLine(“in C and C++ family of language.”);} }(2)

//Example2.cs Class Example1 { Public static void Main(){ System.Console.Write(“C# is component-oriented language”);System.Console.WriteLine(“in C and C++ family language.”);

} }(3)Example3.cs Using output=System.Console;Class Example1

Public static void Main(){ Output.Write(“C# is component-oriented language”);}

习题2

一、选择题

1.C#的数据类型有 A 和 C 两种。

A 值类型 B 调用类型 C 引用类型 D 关系类型 2.C#的值类型包括 A、B 和 D 三种。A 枚举 B 基本类型 C 整形 D 结构 E浮点型 F 字符型

3.C#的引用类型包括 A、B、C、F、G 和 H 六种。

A string B object C 类 D float E char F 数组G 代表 H 4.装箱是把值类型转换到 B 类型。

A 数组 B 引用 C char D string 5.拆箱是引用类型返回到 C 类型。

A string B char C 值 D 数组 6. A 类型是所有类型的根。

接口 A System.Object B object C string D System.Int32 7.从派生类到基类对象的转换是 B 类型转换。A 显示 B 隐式 C 自动 D 专向 8.从基类到派生类对象的转换是 D 类型转换。A 隐式 B 自动 C专向 D 显示 9.强制转换对象可以使用 B 关键字实现。A is B as C this D object 10.命名空间用于定义 A 的作用域。

A 应用程序 B 有关类型 C 多重源代码 D 层次结构 11.using关键字用于 B 命名空间中的Console对象。A Console B System C Object D Int32

二、填空题

1.下列程序的运行结果是 99.44。//Exam1.cs using System;class Using { public static void Main(){ int i=918;float f=10.25f;short sh=10;double d=11.19;Console.WriteLine(i+f+sh+d);} } 2.下列程序的运行结果是 25.5。//Exam2.cs using System;class Using { public static void Main(){ int i=5;float f=5.1f;Console.WriteLine(i*f);} }

二、编程题

1. 已知a=1,b=2,c=3,x=2,计算y=ax+bx+c之值。2. 已知圆的半径Radius=2.5,计算圆的面积。(PI=3.14159)要求:

(1)使用基本方法;(2)使用装箱与拆箱;

(3)输出以double,float,int,decimal,short表示;(4)使用object类与类型转换;(5)使用派生类与as。答案: 1. 方案一: //YValue.cs using System;class Using { public static void Main(){ int a=1,b=2,c=3,x=2,y;y=(a*x+b)*x+c;Console.WriteLine(“y={0}”,y);} } 方案二:

//YValue1.cs using System;class Using { public static void Main(){ int a=1,b=2,c=3,x=2;Console.WriteLine(“y={0}”,(a*x+b)*x+c);} } 2.

(1)使用基本方法 方案一:

//CircleAreaApp.cs using System;class CircleAreaApp { public static void Main(){ double Radius=2.5,Area;Area=3.14159*Radius*Radius;Console.WriteLine(“Area={0}”,Area);} } 方案二:

//CircleAreaApp1.cs using System;class CircleAreaApp { public static void Main(){ double Radius=2.5;Console.WriteLine(“Area={0}”,3.14159*Radius*Radius);} }(2)使用装箱与拆箱 //CircleAreaApp2.cs using System;class CircleAreaApp { public static void Main(){ double Radius=2.5;double Area=3.14159*Radius*Radius;Console.WriteLine(“Area={0}”,Area);object obj=Area;Console.WriteLine(“Area={0}”,(double)obj);} }(3)输出以double,float,int,decimal,short表示 //CircleAreaApp3.cs using System;class CircleAreaApp { public static void Main(){ double Radius=2.5;double Area=3.14159*Radius*Radius;Console.WriteLine(“Area={0}”,Area);Console.WriteLine(“Area={0}”,(float)Area);Console.WriteLine(“Area={0}”,(int)Area);Console.WriteLine(“Area={0}”,(decimal)Area);Console.WriteLine(“Area={0}”,(short)Area);} }(4)使用object类与类型转换 //CircleAreaApp4.cs using System;class Circle { public double Radius=2.5;} class CircleAreaAPP { public static void Main(){ Circle cir=new Circle();double Area=3.14159*cir.Radius*cir.Radius;Console.WriteLine(“Area={0}”,Area);Console.WriteLine(“Area={0}”,(float)Area);object obj=(float)Area;Console.WriteLine(“Area={0}”,(float)obj);} }(5)使用派生类与as //CircleAreaApp5.cs using System;class Circle {} class CircleAreaAPP:Circle { public static void Main(){ double Radius=2.5;double Area=3.14159*Radius*Radius;Console.WriteLine(“Area={0}”,Area);Console.WriteLine(“Area={0}”,(float)Area);object obj=(float)Area;Console.WriteLine(“Area={0}”,(float)obj);Circle cir=new Circle();Console.WriteLine(“cir={0}”,cir==null?“null”:cir.ToString());CircleAreaAPP cirA=new CircleAreaAPP();cirA=cir as CircleAreaAPP;Console.WriteLine(“cirA={0}”,cirA==null?“null”:cirA.ToString());} }

习题3

一、选择题

1.字符串的输入使用 B 方法。

A)Cosole.Read()B)Cosole.ReadLine()C)Cosole.Write()D)Cosole.In.read()2.用于格式化输出十进制数的符号是 C。

A)C B)E C)D D)G E)N F)X 3.用于格式化输出浮点数的符号是 D。A)C B)D C)G D)F E)N F)X 4.用于格式完整日期/时间模式(长时间)的符号是 A。A)D B)F C)G D)M E)R F)S 5.用于格式完整日期/时间模式(短时间)的符号是 C。A)D B)f C)g D)d E)F F)G

二、编程题

1.从键盘输入一个小写字母,然后输出所输入的小写字母后其对应单代码值。2.从键盘输入两个浮点数,然后输出这两个数相加的结果(要求小数后取4位)。3.从键盘输入年、月、日的数值,然后用完整的日期事件格式化输出。答案: 1.

//CharValue.cs using System;public class CharValue { public static void Main(){ Console.Write(“Enter an char:”);char ch = char.Parse(Console.ReadLine());//or char ch=(char)Console.Readline();Console.WriteLine(ch);Console.WriteLine((int)ch);} }

2.//TwoFloatAddition.cs using System;public class TwoFloatAddition { public static void Main(){ Console.Write(“Enter a float:”);float f1= float.Parse(Console.ReadLine());Console.Write(“Enter a float:”);float f2 = float.Parse(Console.ReadLine());Console.WriteLine(“Result of addition for two float is: {0:F4}”,f1+f2);} }

3.//DateTimeFormat.cs using System;using System.Globalization;public class DateTimeFormat { public static void Main(String[] args){ Console.Write(“Enter year month day: ”);string s = Console.ReadLine();DateTime s1 = DateTime.Parse(s);Console.WriteLine(“d {0:d}”,s1);Console.WriteLine(“D {0:D}”, s1);Console.WriteLine(“f {0:f}”, s1);Console.WriteLine(“F {0:F}”, s1);Console.WriteLine(“g {0:g}”, s1);Console.WriteLine(“G {0:G}”, s1);Console.WriteLine(“m {0:m}”, s1);Console.WriteLine(“M {0:M}”, s1);Console.WriteLine(“r {0:r}”, s1);Console.WriteLine(“R {0:R}”, s1);Console.WriteLine(“s {0:s}”, s1);} }

习题4 1.以下运算符的运算符优先级,D 最高,E 最低。A)+ B)<< C)| D)()E)|| F)++ 2.以下运算符中,A 是三目运算符。

A)?: B)--C)= D)<= 3.在堆栈上创建对象和调用构造函数时,通常使用 B 关键字。A)typeof B)new C)as D)is 4. A 用于获取系统的System.Type类型。

A)typeof B)new C)sizeof D)is

二、写出下列程序执行结果。1.运行结果。//Increment1.cs using System;public class Increment1 { public static void Main(){ int i1=1993,i2=11,i3=19;Console.WriteLine(“i1={0},i2={1},i2={2}”,i1,i2,i3);i1=i3;Console.WriteLine(“i1={0},i2={1},i2={2}”,i1,i2,i3);i3+=i2;Console.WriteLine(“i1={0},i2={1},i2={2}”,i1,i2,i3);i1=i2+i3;Console.WriteLine(“i1={0},i2={1},i2={2}”,i1,i2,i3);i1++;++i2;i3=i1++ + ++i2;Console.WriteLine(“i1={0},i2={1},i2={2}”,i1,i2,i3);} }

2.运行结果:。//Increment2.cs using System;public class Increment2 { public static void Main(){ int a,b;a = b = 1;b = a / ++b;Console.WriteLine(“a={0} b={1}”,a,b);b = a++-i1);Console.WriteLine(---i1);Console.WriteLine(i2---i3);Console.WriteLine(i4---i5);Console.WriteLine(-i6---i7);Console.WriteLine(i8++/ ++i9*--i10);Console.WriteLine(++i11/i12++ *--i13);Console.Read();} }

三、编程题

1.输入两个整数,输出它们(实数除)的商,并输出商的第2位小数位(例如:5/18.0=1.875, 1.875的第二位小数是7)。

2.输入圆球的半径,计算圆球的表面积(4πr)和体积(4πr/3),其中π=3.14159。3.输入秒数,把它转换为用小时、分、秒表示。例如,输入7278秒,则输出2小时1分18秒。4.计算x=ab+5ln(1+c)要求:

(1)输出结果以科学表示法、定点表示法(小数点后保留两位)和普通表示法表示。(2)输出结果以整数表示并指明当前工作的日期和时间。

5.计算答案: 1.

//RealDivide.cs using System;public class RealDivide

3223 { public static void Main(){ Console.WriteLine(“Enter two integers:”);string[] s = Console.ReadLine().Split();;int a = int.Parse(s[0]);int b = int.Parse(s[1]);float f = 1.0f * a / b;int c=(int)(f*100)%10;Console.WriteLine(“Result of real divide is : {0}”,f);Console.WriteLine(“Second place of decimals is : {0}”,c);} }

2.//SphereA.cs using System;public class Sphere { public static void Main(){ Console.Write(“Enter the radius of sphere: ”);string s = Console.ReadLine();double radius = double.Parse(s);double surfaceArea = 4 * Math.PI * radius * radius;double Volume = 4 * Math.PI * radius * radius * radius / 3;Console.WriteLine(“SurfaceArea={0}”,surfaceArea);Console.WriteLine(“Volume={0}”,Volume);} }

3.//HourMinuteSecond.cs using System;public class HourMinuteSecond { public static void Main(){ int hour, minute, second;Console.Write(“Enter numbers of second:”);string s = Console.ReadLine();second = int.Parse(s);hour = second / 3600;second %= 3600;minute = second / 60;second = second % 60;Console.WriteLine(“{0} hour {1} minute {2} second”,hour,minute,second);} }

4. //ValueX.cs using System;using System.Globalization;public class ValueX { public static void Main(){ double a, b, c, x;Console.Write(“Enter three numbers: ”);string[] s = Console.ReadLine().Split();a = double.Parse(s[0]);b = double.Parse(s[1]);c = double.Parse(s[2]);x = a * Math.Pow(b, 3)+ 5 * Math.Log(1 + c * c);Console.WriteLine(“x={0:E}ttx={1:F2}ttx={2:G}”, x, x, x);Console.WriteLine(“x={0:D}”,(int)x);DateTime NowTime = DateTime.Now;Console.WriteLine(“{0:D}”, NowTime);} }

5.//MathTestA.cs using System;public class MathTestA { public static void Main(){ double alpha, beta, y;Console.Write(“Enter value of alpha: ”);string s = Console.ReadLine();alpha = double.Parse(s);Console.Write(“Enter value of beta: ”);s = Console.ReadLine();beta = double.Parse(s);y = Math.Pow(Math.Abs(Math.Log(Math.Sqrt(1 + alpha * alpha))a)*(sc)));Console.WriteLine(“Area of triangle is :{0:F2}n”, Area);} else { Console.WriteLine(“can't construct triangle!n”);} Console.ReadLine();}

} 运行结果:

2.//Prime.cs

class Prime { public static void Main(){ int a, n, m = 0, i, j;bool flag;for(i = 2;i <= 50;i++){ flag = true;j = 2;a =(int)Math.Sqrt((double)i);while(flag && j <= a){ if(i % j == 0)flag = false;j++;} if(flag){ Console.Write(“{0:D2} ”, i);m++;if(m % 4 == 0)Console.WriteLine();} } Console.WriteLine();Console.ReadKey();} } 运行结果:

3.//CountDigit.cs class CountDigit { public static void Main(){ int num = 0;char ch;Console.Write(“Enter chars:”);while(true){ if((ch =(char)Console.Read())== 'b')if((ch =(char)Console.Read())== 'y')if((ch =(char)Console.Read())== 'e')break;if(ch >= '0' && ch <= '9')num++;} Console.WriteLine(“Numbers of digit is:{0}n”, num);Console.Read();Console.ReadKey();} } 运行结果:

4.//ForSinCosTan.cs class ForSinCosTan { public static void Main(){ float sinx, cosx, tanx;double x;Console.WriteLine(“xtsinxtcosxttanx”);for(int i = 2;i <= 10;i += 2){ x = i * Math.PI / 180;sinx =(float)Math.Sin(x);cosx =(float)Math.Cos(x);tanx =(float)Math.Tan(x);Console.WriteLine(“{0}tt{1:F6}tt{2:F6}tt{3:F6}”, i, sinx, cosx, tanx);} Console.Read();Console.ReadKey();} } 运行结果:

5.//Factorial.cs

class Factorial { static int n, Fact;public static void Main(){ n = 0;Fact = 1;Console.WriteLine(“Use while loop:”);while(++n <= 5){ Fact *= n;Console.WriteLine(“ {0}!= {1}”, n, Fact);} Console.WriteLine(“Use do-while loop:”);n = 1;Fact = 1;do { Fact *= n;Console.WriteLine(“ {0}!= {1}”, n, Fact);} while(++n <= 5);Console.WriteLine(“Use for loop: ”);Fact = 1;for(n = 1;n <= 5;n++){ Fact *= n;Console.WriteLine(“ {0}!= {1}”, n, Fact);} Console.ReadKey();} } 运行界面:

习题6

一、填空题

1.C#类的成员包括 域、方法、属性、常量、索引、事件与运算符

2.用于指定类的成员是否可访问的修饰符有public、protected、private及internal。3.类最常用的方法是Main 4.构造方法实例化对象的形式是 类名 对象=new 类名(构造方法参数)5.从另一个类,继承一个类的语法是 class 派生类:基类 6.sealed类用于 确保一个类永不作为基类

二、编程题

1输入一个数值作为正方形的边长,计算正方形的面积,并输出到屏幕上。要求:

(1)定义一个类,在类中定义无参的构造方法和主方法。(2)定义一个类,在类中定义带参的构造方法和主方法。

2、重复输入数据,计算分段函数

|x|r0y=

22|x|rrx要求:

(1)定义两个类,在一个类中定义无参的构造方法,在另一个类中定义主方法。(1)定义两个类,在一个类中定义带参的构造方法,在另一个类中定义主方法。

3.从键盘读入边数(side),然后按输入的边数画出一组由排列紧凑的星号组成的正方形。例如,side为4则画出: * * * * * * * * * * * * 要求:

(1)定义一个类,在类中定义无参的构造方法。

(2)定义有两个类,在一个类中定义带参的构造方法,在另一个类中定义主方法。4.打印一个ASCⅡ码表。

要求定义两个类,在一个类中定义无参的构造方法,在另一个类中定义主方法。5.重复输入数据计算正方形、长方形与任意三角形面积(要求使用单一继承)。

答案 1.(1)答案

namespace ConsoleApplication1 { class Square { Square(){ Console.Write(“Enter length of side for square:”);double len = double.Parse(Console.ReadLine());Console.WriteLine(“Area={0}”, len * len);} public static void Main(){ for(;;){ Square obj = new Square();Console.Write(“Do you want to continue?(y/n)”);string s = Console.ReadLine();if(s.Equals(“n”))break;}

} } }

运行结果:

(2)答案 namespace ConsoleApplication1 { class Square { public static readonly int N = 3;public Square(double len){ Console.WriteLine(“Area={0}”, len * len);} public static void Main(){ for(int i=1;i<=N;i++){ Console.Write(“Enter length of side for square: ”);string s=Console.ReadLine();double length=double.Parse(s);Square obj=new Square(length);} Console.ReadKey();} } } 运行结果:

2.题(1)答案

namespace ConsoleApplication3 { class Function { public Function(){ Console.Write(“Enter value of x and r;”);string[] s = Console.ReadLine().Split();double x = double.Parse(s[0]);double r = double.Parse(s[1]);double y = Math.Abs(x)>= r ? 0 : Math.Sqrt(r * ry;} } static void Main(string[] args){ int x = 30, y = 50, a, b;fun(x, y out a ,out b)Console.WriteLine(“a=”+a +“b=”+b);} } A)50,30 B)30,50 C)80,—20 D)80,20

二、填空题

下面程序的执行结果是()//FunApp2.cs Using System;class FunApp2 { int x = 888, y = 777, z = 666;public FunApp2(){ x++;y++;z++;} public FunApp2(int a, int b, int c){ x = a;y = b;z = c;} } public class FunApp { static void Main();FunApp2 obj1=new FunApp2();Console.Write Line(obj1.x);Console.Write Line(obj1.y);Console.Write Line(obj1.z);FunApp2 obj2=new FunApp2();Console.Write Line(obj2.x);Console.Write Line(obj2.y);Console.Write Line(obj2.z);} }

二、编程题

1,重复输入任意数据,计算y=

0



r2x2

|x|r

|x|r要求:

(1)使用值参数方法:(2)使用ref参数方法;(3)使用out参数方法;(4)使用ref与out参数方法;(5)使用重载方法;(6)使用重载构造方法;(7)使用可变参数方法;(8)使用静态方法。

(1)答案: using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace ConsoleApplication1 { //YestA

class YTest { public void yMethod(double x, double r){ Console.WriteLine(“y={0}”, Math.Abs(x)> r ? 0 : Math.Sqrt(r * rx * x);} } class YTest {

第二篇:《vb程序设计》期末复习题及答案范文

《vb程序设计》期末复习题及答案

一、填空题

1.创建一个VB应用程序三个主要的步骤是_(创建应用程序界面)、_(设置属性_)和_(_编写代码__)__。

2.当程序运行时,要求窗体中的文本框呈现空白,则在设计时,应当在此文本框的__属性________窗口中,把此文本框的____text_________属性设置成空白。

3.Label和TextBox控件用来显示和输入文本,如果仅需要让应用程序在窗体中显示文本信息,可使用___label________控件;若允许用户输入文本,则应使用__textbox___________控件。4.窗体的常用方法有_load方法 Show方法 Hide方法_ Unload方法_。

5.要想在代码中给名为txtshow的文本框赋予文本:GOOD WORK,应当编写的语句是_(txtshow.text=“GOOD WORK”_)。

6.若命令按钮的名称为Cmdopen,程序要求单击该命令按钮时,打开一个窗口frm1,请对以下事件过程填空。Private Sub Cmdopen_ _click()__________ _frm1.show_ End Sub 7.Visual Basic 6种类型的表达式是_(算术表达式_)(字符串表达式)(关系表达式)(布尔表达式)(日期表达式)(对象表达式)。Visual Basic根据表达式的_.1 _运算符__来确定表达式的类型。

8.表达式93 7 Mod 2 ^ 2 的值是___________。

9.已知a=3,b=4,c=5,表达式a>b and Not c>a Or c>b And ca And Not b

10.日期表达式 #2/24/02#y ^ 2)/(2 * x)___。

12.设某个程序中要用到一个二维数组,要求数组名为A,类型为字符串类型,第一维下标从1到5,第二维下标从-2到6,则相应的数组声明语句为_(Dim A(1 To 5,-2 To 6)As String)_。13.事件就是在对象上所发生的事情,Visual Basic中的事件如__单击_________、_双击__________、_装载_____________等。一个对象响应的事件可以有_多____个,用户不能建立新的事件。事件过程是指_(响应某个事件后所执行的程序代码)_。假设某一事件过程如下:

Private Sub cmd1_Click()Form1.Caption=“VB示例” End Sub 则响应该过程的对象名是_cmd1_____________,事件名是_____click________。

14.对象的方法用于(_完成某种特定的功能__)。当方法不需要任何参数并且也没有返回值时,调用对象的方法的格式为_(对象名.方法名)_,例如,对窗体Form1使用Show方法,应写成__form1.show_______________。

15.PictureBox控件可通过设置其(autosize)__属性为True使之可自动调整大小;而Image控件可通过设置其_(stretch_)__属性为True,使其加载的图片能自动调整大小以适应Image。

16.在Visual Basic程序中实现复制文件“c:command.com”到d:盘根目录下的语句为FileCopy “c:command.com”,“d:command.com”_。

二、单项选择题

1.下列控件中没有Caption属性的是(B)

A、标签 B、文本框 C、框架 D、命令按纽 2.除框架外,能对单选按纽分组的控件是(C)。A、窗体 B、标签 C、图片框 D、图像 3.下列符号不能作为VB中变量名的是(C)。

A、ABCDEFG B、P00000 C、89YWDDF D、xyz 4. 下列不属于Visual Basic数据文件的是(D)。A、顺序文件 B、随机文件 C、二进制文件 D、数据库文件

5.若要求从文本框中输入密码时在文本框中只显示*号,则应用在此文本框的属性窗口中设置(D)。

A、Text属性值为* B、Caption属性值为* C、Password属性值为空 D、PasswordChar属性值为* 6.表达式2*3^2+2*8/4+3^2的值为(B)。A、64 B、31 C、49 D、42 7.表达式mid(“abcdefg”,3,2)的值是(B)A、abc B、cd C、bcd D、abcde 8.数学表达式Sin25°写成VB表达式是(D)。A、Sin25 B、Sin(25)C、Sin(25°)D、Sin(25*3.14/180)

9.Sub过程与 Function过程最根本的区别是(D)。A、Sub过程可以使用Call语句或直接使用过程名调用,而Function过程不可以。

B、Function过程可以有参数,Sub过程不可以。C、两种过程参数的传递方式不同。

D、Sub过程的过程名不能返回值,而Function过程能够通过过程名返回值。

10.选拔身高T超过1.7米且体重W小于62.5公斤的人,表示该条件的布尔表达式为(C)

A、T>=1.7 And W<=62.5 B、T<=1.7 Or W>=62.5 C、T>1.7 And W<62.5 D、T>=1.7 Or W<62.5 11.下列对象不能响应 Click事件的是(D)A、列表框 B、图片框 C、窗体 D、计时器

12.在Visual Basic中,按文件的访问方式不同,可以将文件分为(A)

A、顺序文件、随机文件和二进制文件 B、文本文件和数据文件

C、数据文件和可执行文件 D、ASCⅡ文件和二进制文件

13.将通用对话框CommonDialog的类型设置成“颜色”对话框,可调用该对话框的(C)方法。

A、ShowOpen B、ShowSave C、ShowColor D、ShowFont

三、指出下列句中的错误,修改或者说明原因。1.sum和int.sum都可以作为VB的变量名。(X)2.变量名的长度最长可达1024个字符。(255)3.下列程序运行结果:3,3 Option Explicit Private Sub Command1_Click()Dim a,b As Integer Dim a as integer ,b as integer a = 3.6 b = 3.6 Text1.Text = a Text2.Text = b End Sub 4.程序可以改变定长字符串的内容和长度。

5.Variant是一种特殊的数据类型,可以包含任何种类型的数据。.不完全正确。Variant是一种特殊的数据类型,除了定长字符串数据及用户定义类型外,可以包含任何种类型的数据,这是VB规定。

6.下列程序运行结果为True Private Sub Command1_Click()a = 1 b = 2 c = 3 Text1.Text = c > a + b Or b1 And c + a > a Xor b < c#12/20/1999#的运算结果是#12/11/1999# 8.可以在窗体的通用部分声明静态变量。

不正确。静态变量为局部变量,只能在过程中声明。

9.使用声明语句建立一个变量后,Visual Basic会自动对数值类型的变量赋初值0,变长的字符串被初始化为一个零长度的字符串“",定长字符串用空格填充,Variant变量被初始化为 Empty,布尔型的变量被初始化为False。

10.事件过程通常由事件驱动执行,而Sub过程通过过程调用执行。

11.将焦点主动设置到指定的控件或窗体上应采用SetFocus方法。12.当图像控件(Image)的Stretch属性为True时,Image控件能自动调整自己的尺寸与显示的图片匹配。

不正确。该属性设为Ture时,Image控件不能自动调整自己的尺寸与显示的图片匹配,而可以使图片自动扩展以适应控件的尺寸。

四、读程序题,写出程序运行结果。1.Private Sub Form_Click()For I = 1 To 9 For j = 1 To 301 To 1 Step-1 Print k;Next k Print Next I End Sub 2.

Option Explicit Private Sub Command1_Click()Static S As Integer Dim i As Integer S = 1 For i = 1 To 5 S = S * i Next i Print S End Sub 3.

For X = 5 To 1 Step-1 For Y = 1 To 6y ^ 2)/(2 * x)12.Dim A(1 To 5,-2 To 6)As String 13.单击 双击 装载 多 响应某个事件后所执行的程序代码 cmd1 Click 14.完成某种特定的功能 对象名.方法名 Form1.Show 15.AutoSize Stretch 16.FileCopy ”c:command.com“,”d:command.com“

二、单项选择题

1.B 2.C 3.C 4.D 5.D 6.B 7.B 8.D 9.D 10.C 11.D 12.A 13.C

三、指出下列句中的错误,修改或者说明原因。1.int.sum 不正确。变量名中不能包括小数点。2.变量名的长度最长可达255个字符。3. 3.6,4 因为a 不是整型变量。

4.不正确。程序不可以改变字符的长度,这是VB规定。5.不完全正确。Variant是一种特殊的数据类型,除了定长字符串数据及用户定义类型外,可以包含任何种类型的数据,这是VB规定。

6.False。逻辑表达式计算结果。

7.不正确。两个日期型数据相减,其结果是一个数值型数据。8.不正确。静态变量为局部变量,只能在过程中声明。9.正确。10.正确。11.正确。

12.不正确。该属性设为Ture时,Image控件不能自动调整自己的尺寸与显示的图片匹配,而可以使图片自动扩展以适应控件的尺寸。

四、读程序题,写出程序运行结果。1.程序运行后,单击窗体,输出结果为: 1 1 2 1 1 2 3 2 1 1 2 3 4 3 2 1 1 2 3 4 5 4 3 2 1 1 2 3 4 5 6 5 4 3 2 1 1 2 3 4 5 6 7 6 5 4 3 2 1 1 2 3 4 5 6 7 8 7 6 5 4 3 2 1 1 2 3 4 5 6 7 8 9 8 7 6 5 4 3 2 1

2.程序运行后,单击按钮Command1,输出结果为: 3.* ** *** **** ***** 4.aabb-30 False aabb-30 False

30+60 90 30+60 90 5.11 13 9

五、编程题 1.

。120 Private Sub Command1_Click()Text1.Text = ”“ Text2.Text = ”“ Text3.Text = ”“ Text4.Text = ”“ End Sub

Private Sub Command2_Click()a = Trim(Text1.Text)b = Trim(Text2.Text)c = Trim(Text3.Text)If a = ”“ Or b = ”“ Or c = ”“ Then MsgBox ”成绩填写不完全!“, vbCritical Else Text4.Text =(Val(a)+ Val(b)+ Val(c))/ 3 End If End Sub

Private Sub Command3_Click()Unload Me End Sub 2.

Private Sub Command1_Click()x = Val(Text1.Text)If x Mod 3 = 2 And x Mod 5 = 3 And x Mod 7 = 4 Then Print x Else Text1.SetFocus Text1.SelStart = 0 Text1.SelLength = Len(Text1.Text)End If End Sub 3.

Private Sub Check1_Click()If Check1.Value = 1 Then Label1.Font.Bold = True Else Label1.Font.Bold = False End If End Sub

Private Sub Check2_Click()If Check2.Value = 1 Then Label1.Font.Italic = True Else Label1.Font.Italic = False End If End Sub

Private Sub Command1_Click()Unload Me End Sub 4.

a = Val(InputBox(”输入第一个数:“))b = Val(InputBox(”输入第二个数:“))c = Val(InputBox(”输入第三个数:“))If a < b Then t = a: a = b: b = t If a < c Then t = a: a = c: c = t If b < c Then t = b: b = c: c = t MsgBox(”求大小排第二的数是:" & b)

原文网址: http://hi.baidu.com/%CC%EC%D0%AB%C4%A7%BE%FD/blog/item/d446b034a6b3373f5bb5f5fd.html

由弘一网童保存,尚未注册。注册

第三篇:C#应用程序设计教程 第二版+课后习题答案

第一章

1.判断题

(1)×(2)√(3)√(4)×(5)×

(6)√ 2.选择题

(1)C(2)B(3)B(4)C(5)D

(6)C 3.编程题

using System;using System.Collections.Generic;using System.Linq;using System.Text;

namespace ConsoleApplication1 { class Program { static void Main(string[] args){ Console.WriteLine(“Hello C#”);} } }

第二章

1.判断下列符号哪些是合法的C#变量名称

北京 abc _xyz x_y 2.根据要求写出C#表达式(1)N%3==0 & N%5==0(2)(char)new Random().Next(67,74)(3)Math.Pow(x,3)*y/(x+y)(4)Math.Sqrt(b*b-4*a*c)3.判断题

(1)×(2)√(3)√(4)√(5)√

(6)×(7)√(8)√(9)√(10)×(11)√(12)× 4.选择题

(1)B(2)C(3)B(4)B

(5)C

(6)B(7)D(8)B(9)C(10)A 5.分析并写出下列程序运行结果(1)a=21,b=9,c=16

y=4(2)b=41(3)s=6(4)a[0]=28

a[1]=15

a[2]=39

a[3]=48

a[4]=39 6.程序填空

(1)① 3 ② a[i] ③ a[i] ④ a[5-i] ⑤ a[5-i](2)① i % 5 == 0 | i % 7 == 0 ② s+ i 7.编程题(1)static void Main(string[] args){ int s,i,j;for(i = 2;i < 1000;i++){ s = 0;for(j = 1;j < i;j++){ if(i % j == 0)s += j;} if(i == s)Console.WriteLine(“{0}”,i);} }(2)static void Main(string[] args){ int[,] a = {{2,5,18,4 },{3,4,9,2},{4,1,16,8},{5,2,14,6}};int i,j,k,max,maxj;for(i = 0;i < 4;i++){ max = a[i,0];maxj = 0;for(j = 1;j < 4;j++){ if(max < a[i,j]){max = a[i,j];maxj = j;} } for(k = 0;k < 4;k++){ if(a[k, maxj] < max)break;} if(k == 4)Console.WriteLine(“鞍点:第{0}行,第{1}列”,i+1,maxj+1);} }(3)

static void Main(string[] args){ int a = 20, b = 16,i=20;do { if(i % a == 0 & i % b == 0)break;i++;} while(true);Console.WriteLine(“最小公倍数:{0}”,i);i = 16;do { if(a % i == 0 & b % i == 0)break;i--;} while(true);Console.WriteLine(“最大公约数:{0}”,i);}(4)

static void Main(string[] args){ int i, j,k;float s = 1.0f;for(i = 2;i < 11;i++){ k=1;for(j = 2;j <= i;j++)k += j;s += 1.0f / k;} Console.WriteLine(“s={0}”,s);}(5)

static void Main(string[] args){ String s = “a,b2>4[AG6p(”;int i, n1=0,n2=0,n3=0,n4=0;for(i=0;i=65 & s[i]<=90)n1++;if(s[i]>=97 & s[i]<=122)n2++;if(s[i]>=48 & s[i]<=57)n3++;} n4=s.Length-n1-n2-n3;Console.WriteLine(“大写字母个数:{0};小写字母个数:{1};数字个数:{2};其余字符个数:{3}”,n1,n2,n3,n4);}(6)

static void Main(string[] args){ int i,s = 1;for(i = 0;i < 5;i++){ s = 2 *(s + 1);} Console.WriteLine(“小猴子第一天摘了{0}个桃子”,s);}

说明:由最后一天往前推算。后一天吃了前一天桃子数量的一半多1个,剩余桃子数量是前一天桃子数量的一半减1,则,前一天的桃子数量是后一天的桃子数量加1的2倍。

第三章

1.判断题

(1)√(2)×(3)√

(4)√(5)√(6)×(7)√(8)×(9)×

(10)√

(11)√(12)√(13)√(14)×(15)√(16)√(17)×(18)√(19)√(20)×(21)×(22)√(23)√(24)√(25)×(26)×(27)× 2.选择题

(1)C(2)B(3)C(4)D

(5)C

(6)B(7)D(8)C(9)A(10)A(11)B(12)A(13)D(14)B

(15)C

3.分析下列程序的运行结果(1)s=32,s1=32,s2=34

x=11,y=21(2)x1=3,x2=4

y1=1,y2=4 4.编程题(1)

class Student { public string studentid;public string studentname;private string birthplace;private DateTime birthdate;public Student(string id, string name){ studentid = id;studentname = name;} public string StudentId { get { return studentid;} set { studentid = value;} } public string StudentName { get { return studentname;} set { studentname = value;} } public string BirthPlace { get { return birthplace;} set { birthplace = value;} } public DateTime BirthDate { get { return birthdate;} set { birthdate = value;} } public int Age { get { return DateTime.Now.Year1, p1.yp1.x)*(p2.xp1.y)*(p2.yv2;if(radioButton3.Checked ==true)v = v1 * v2;if(radioButton4.Checked ==true){ if(v2!= 0)v = v1 / v2;} textBox3.Text = v.ToString();} 3.利用4.6节知识,参考图4-29设计具有菜单、工具栏和状态栏的Windows窗口应用程序。

第五章

1.判断题

(1)√(2)×(3)√(4)√(5)×

(6)√(7)×

2.选择题

(1)A(2)无答案,应该是TextReader(3)A(4)C

(5)A(6)C 3.编程题

创建Windows窗口用于程序,在窗口上放置一个Button控件,名称为button1,编写其Click事件处理方法:

private void button1_Click(object sender, EventArgs e){ int i, j;int[,] a=new int[3,3];int[,] b = new int[3, 3];int[,] c = new int[3, 3];string s1;string[] ss;FileStream fs = new FileStream(@“d:data1.txt”,FileMode.Open);StreamReader sr=new StreamReader(fs,Encoding.Default);StreamWriter sw;BinaryWriter bw;for(i = 0;i < 3;i++){ s1 = sr.ReadLine();ss = s1.Split(' ');for(j = 0;j < 3;j++){ a[i, j] = int.Parse(ss[j]);} } for(i = 0;i < 3;i++){ s1 = sr.ReadLine();ss = s1.Split(' ');for(j = 0;j < 3;j++){ b[i, j] = int.Parse(ss[j]);} } sr.Close();fs.Close();for(i = 0;i < 3;i++)for(j = 0;j < 3;j++)c[i, j] = a[i, j] + b[i, j];SaveFileDialog sfd = new SaveFileDialog();sfd.Filter = “文本文件(*.txt)|*.txt”;if(sfd.ShowDialog()== DialogResult.OK){ fs = new FileStream(sfd.FileName, FileMode.OpenOrCreate);sw = new StreamWriter(fs,Encoding.Default);for(i = 0;i < 3;i++){ for(j = 0;j < 3;j++){ sw.Write(c[i, j]);sw.Write(“ ”);} sw.Write(“n”);} sw.Close();fs.Close();} sfd.Filter = “二进制文件(*.bin)|*.bin”;if(sfd.ShowDialog()== DialogResult.OK){ fs = new FileStream(sfd.FileName, FileMode.OpenOrCreate);bw = new BinaryWriter(fs);for(i = 0;i < 3;i++)for(j = 0;j < 3;j++)bw.Write(c[i, j]);bw.Close();fs.Close();} } 说明:data1.txt文件中共9行整数,每行3个整数,每个数据之间以一个空格隔开。

第六章

1.判断题

(1)√(2)×(3)×(4)×(5)√

(6)√(7)√(8)×(9)×(10)√

2.选择题

(1)C(2)D(3)C(4)A

(5)B(6)C(7)B(8)D 3.编程题

创建Windows窗口应用程序,在窗口上放置一个toolStrip控件,并在其中添加两个组合框,名称分别为toolStripComboBox1和toolStripComboBox2,给toolStripComboBox1添加选项:短划线、点划线、双点划线、虚线、实线,给toolStripComboBox2添加选项:1、2、3、4。给窗口添加如下私有字段:

private Graphics g1;private DashStyle dashstyle=DashStyle.Solid;private float penwidth=1;private Pen pen1;private bool beDraw = false;private Point p1, p2;编写comboBox1和comboBox2的SelectedIndexChanged事件处理方法:

private void comboBox1_SelectedIndexChanged(object sender, EventArgs e){ dashstyle =(DashStyle)comboBox1.SelectedIndex;}

private void comboBox2_SelectedIndexChanged(object sender, EventArgs e){ penwidth =float.Parse(comboBox2.Text);} 编写Form3的Load、MouseDown、MouseMove和MouseUp以及工具栏上两个组合框的SelectedIndexChanged事件处理方法:

private void Form3_Load(object sender, EventArgs e){ toolStripComboBox1.SelectedIndex = toolStripComboBox1.Items.Count-1;toolStripComboBox2.SelectedIndex = 0;} private void Form3_MouseDown(object sender, MouseEventArgs e){ pen1 = new Pen(Color.Red, penwidth);pen1.DashStyle = dashstyle;beDraw = true;p1 = e.Location;g1 = this.CreateGraphics();} private void Form3_MouseMove(object sender, MouseEventArgs e){ if(beDraw == true){ p2 = e.Location;g1.DrawLine(pen1, p1, p2);p1 = p2;} } private void Form3_MouseUp(object sender, MouseEventArgs e){ beDraw = false;} private void toolStripComboBox1_SelectedIndexChanged(object sender, EventArgs e){ dashstyle =(DashStyle)toolStripComboBox1.SelectedIndex;} private void toolStripComboBox2_SelectedIndexChanged(object sender, EventArgs e){ penwidth = float.Parse(toolStripComboBox2.Text);}

第七章

1.判断题

(1)√(2)×(3)×(4)×(5)√

(6)×(7)√(8)×(9)√(10)×(11)√(12)×(13)√(14)√(15)√(16)√

2.选择题

(1)A(2)D(3)C(4)A

(5)D(6)B(7)C(8)D(9)B(10)C(11)C 12)C 13)A 14)B 15)D 16)D 3.编程题

(1)创建Windows窗口应用程序,在窗口上放置两个Button控件,名称分别为button1和button2,再放置一个ComboBox控件和DataGridView控件,名称分别为comboBox1和dataGridView1。

编写button1的Click事件处理方法:

private void button1_Click(object sender, EventArgs e){ OleDbConnection con = new OleDbConnection();OleDbCommand com = new OleDbCommand();con.ConnectionString =@“Provider=microsoft.jet.oledb.4.0;data source=d:aaa.mdb”;con.Open();com.CommandType = CommandType.Text;com.CommandText = “select * from Score where score>80”;com.Connection = con;OleDbDataReader dr = com.ExecuteReader();comboBox1.Items.Clear();while(dr.Read()== true){ if(dr.IsDBNull(dr.GetOrdinal(“StudentID”))== false)

comboBox1.Items.Add(dr[“StudentID”]);} } 说明:为了使用ADO.NET的OLEDB访问方式,需要添加下列引用:

using System.Data.OleDb;(2)界面与(1)相同。

编写button2的Click事件处理方法:

private void button2_Click(object sender, EventArgs e){ OleDbConnection con = new OleDbConnection();OleDbCommand com = new OleDbCommand();con.ConnectionString = @“Provider=microsoft.jet.oledb.4.0;data source=d:aaa.mdb”;con.Open();OleDbDataAdapter da = new OleDbDataAdapter(“select Class as 班级,avg(Score)as平均成绩 from Score group by Class”, con);DataSet ds = new DataSet();da.Fill(ds, “平均成绩表”);dataGridView1.DataSource =ds.Tables[“平均成绩表”];}(3)参考7.7节的学生信息管理程序,编写通讯录管理程序,细节略。

第四篇:C#程序设计实验报告

实验报告书写要求

实验报告原则上要求学生手写,要求书写工整。若因课程特点需打印的,标题采用四号黑体,正文采用小四号宋体,单倍行距。纸张一律采用A4的纸张。

实验报告书写说明

实验报告中实验目的和要求、实验仪器和设备、实验内容与过程、实验结果与分析这四项内容为必需项。教师可根据学科特点和实验具体要求增加项目。

填写注意事项

(1)细致观察,及时、准确、如实记录。(2)准确说明,层次清晰。

(3)尽量采用专用术语来说明事物。

(4)外文、符号、公式要准确,应使用统一规定的名词和符号。(5)应独立完成实验报告的书写,严禁抄袭、复印,一经发现,以零分论处。

实验报告批改说明

实验报告的批改要及时、认真、仔细,一律用红色笔批改。实验报告的批改成绩采用五级记分制或百分制,按《金陵科技学院课堂教学实施细则》中作业批阅成绩评定要求执行。

实验报告装订要求

实验批改完毕后,任课老师将每门课程的每个实验项目的实验报告以自然班为单位、按学号升序排列,装订成册,并附上一份该门课程的实验大纲。

金陵科技学院实验报告

实验项目名称: C#基础编程 实验学时: 6 同组学生姓名: 实验地点: 1318 实验日期: 10月5日-10月19日 实验成绩: 批改教师: 批改时间:

金陵科技学院实验报告

实验1 C#基础编程

一、实验目的

1、熟悉Visual Studio.NET开发环境。

2、掌握C#应用程序的基本操作过程。

3、掌握C#的数据类型,运算符以及表达式的使用。

4、掌握分支和循环语句的使用方法。

5、掌握一维数组,二维数组及数组型数组的使用。

二、实验要求

(1)编写程序要规范、正确,上机调试过程和结果要有记录(2)做完实验后给出本实验的实验报告。

三、实验设备、环境

安装有Visual Studio.NET软件。

四、实验步骤

1、分析题意。

2、根据题目要求,新建项目。

3、编写并输入相关的程序代码。

5、运行与调试项目。

6、保存项目。

五、实验内容

1、编写一个简单的控制台应用程序,打印一行文字(如你的姓名)。

using System;using System.Collections.Generic;using System.Linq;using System.Text;

namespace one.first {

class Program

{

static void Main(string[] args)

{

System.Console.WriteLine(“我叫王蕾!”);

}

} }

2、编写一个简单的Windows应用程序,在窗体Load事件中书写代码,标签中显示你的姓名。

using System;using System.Collections.Generic;using System.ComponentModel;

金陵科技学院实验报告

using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms;

namespace one.second {

public partial class Form1 : Form

{

public Form1()

{

InitializeComponent();

}

private void Form1_Load(object sender, EventArgs e)

{

this.Text = “Windows 程序”;

Label lblShow = new Label();

lblShow.Location = new Point(20, 30);

lblShow.AutoSize = true;

lblShow.Text = “王蕾!”;

this.Controls.Add(lblShow);

}

} }

3、编写一个一个程序,用来判断输入的是大写字母,小写字母,数字还是其他的字符。

using System;using System.Collections.Generic;using System.Text;

namespace one.third {

class Program

{

static void Main(string[] args)

{

Console.WriteLine(“请输入一个字符:”);

char c = Convert.ToChar(Console.ReadLine());

if((c>='a'&&c<='z')||(c>='A'&&c<='Z'))

Console.WriteLine(“这是一个字母”);

if(char.IsDigit(c))

Console.WriteLine(“这是一个数字”);

金陵科技学院实验报告

}

} }

4、分别用while,do-while,for循环求1到100的和。

using System;using System.Collections.Generic;using System.Text;

namespace one.forth.one {

class Program

{

static void Main(string[] args)

{

int i = 1, sum = 0;

while(i <= 100)

{

sum = sum + i;

i++;

}

Console.WriteLine(“1到100的自然数之和为:” + sum);

}

} } using System;using System.Collections.Generic;using System.Text;

namespace one.forth.two {

class Program

{

static void Main(string[] args)

{

int i = 1, sum = 0;

do

{

sum = sum + i;

i++;

}

while(i <= 100);

Console.WriteLine(“1到100的自然数的和为:” + sum);

}

}

金陵科技学院实验报告

} using System;using System.Collections.Generic;using System.Text;

namespace one.forth.three {

class Program

{

static void Main(string[] args)

{

int i , sum = 0;

for(i = 1;i <= 100;i++)

{

sum = sum + i;

}

Console.WriteLine(“1到100的自然数的和为:” + sum);

}

} }

5、定义一个一维数组,用随机数为此赋值,用foreach循环输出其中的内容。

using System;using System.Collections.Generic;using System.Linq;using System.Text;

namespace first.five {

class Program

{

static void Main(string[] args)

{

int[] a = {0,1,2,3,4};

foreach(int i in a)

{

Console.WriteLine(a[i]);

}

}

} }

6、实现二维数组的输入和输出。

using System;using System.Collections.Generic;using System.Linq;

金陵科技学院实验报告

using System.Text;

namespace first.six {

class Program

{

static void Main(string[] args)

{

int[,] a = new int[2, 3] { { 1, 2, 3 }, { 4, 5, 6 } };

{

for(int i = 0;i < 2;i++)

{

for(int j = 0;j < 3;j++)

{ Console.WriteLine(a[i, j]);}

}

}

}

} }

7、实现数组型数组的输入和输出。

using System;using System.Collections.Generic;using System.Linq;using System.Text;

namespace first.seven {

class Program

{

static void Main(string[] args)

{

int[][] a = new int[][] { new int[] { 1, 2, 3 }, new int[] { 4, 5, 6 } };

for(int i = 0;i < a.Length;i++)

{

for(int j = 0;j < a[i].Length;j++)

{

Console.WriteLine(a[i][j]);

}

}

}

} }

六、实验体会(遇到问题及解决办法,编程后的心得体会)

刚开始编程的时候觉得无从下手,尽管我们已经学了好几种高级编程语言,但每个都

金陵科技学院实验报告

有其独特的地方,稍不留神就会混淆。

通过这次实验,我体会到课后复习巩固的重要性。在编程的时候,很多内容都不记得,需要去翻书。不得不说,实验是巩固课程的好方法!本次实验,我熟悉Visual Studio.NET开发环境;掌握了C#应用程序的基本操作过程;掌握了C#的数据类型,运算符以及表达式的使用;掌握了分支和循环语句的使用方法以及一维数组,二维数组及数组型数组的使用。

金陵科技学院实验报告

实验项目名称: 类与对象 实验学时: 6 同组学生姓名: 实验地点: 1318 实验日期: 10月26日-11月9日 实验成绩: 批改教师: 批改时间:

金陵科技学院实验报告

实验2 类与对象

一、实验目的、要求

(1)掌握类的定义和使用;

(2)掌握类的数据成员,属性的定义和使用;

(3)掌握方法的定义,调用和重载以及方法参数的传递;(4)掌握构造函数的定义和使用。

二、实验要求

(1)编写程序要规范、正确,上机调试过程和结果要有记录;(2)做完实验后给出本实验的实验报告。

三、实验设备、环境

安装有Visual Studio.NET软件。

四、实验步骤

1、分析题意;

2、根据题目要求,新建项目;

3、编写并输入相关的程序代码;

5、运行与调试项目;

6、保存项目。

五、实验内容

1、定义一个方法,实现两个数的交换(分别把参数按值传递和按引用传递)。

using System;using System.Collections.Generic;using System.Text;

namespace second.one {

class Program

{

static void Main(string[] args)

{

Swaper s = new Swaper();

Console.WriteLine(“输入x的值:”);

int a = Convert.ToInt32(Console.ReadLine());

Console.WriteLine(“输入y的值:”);

int b=Convert.ToInt32(Console.ReadLine());

金陵科技学院实验报告

Console.WriteLine(s.Swap(a, b));

Console.WriteLine(s.Swap(ref a,ref b));

}

class Swaper

{

public string Swap(int x, int y)

{

int temp;

temp = x;

x = y;

y = temp;

return 后:x={0},y={1}“,x,y);

}

public string Swap(ref int x, ref int y)

{

int temp;

temp = x;

x = y;

y = temp;

return string.Format(”按引用传参交换之后:x={0},y={1}“, x, y);

}

}

} }

2、定义一个方法,实现数组的排序。using System;using System.Collections.Generic;using System.Text;

namespace second.two {

class Program

{

string.Format(”

金陵科技学院实验报告

public class sort

{

public void change(int[] a)

{

Console.WriteLine(“排序前,数组顺序为:”);

show(a);

int i, j, m;

for(i = 0;i < 10;i++)

{

m = a[i];

j = ib;

}

}

static void Main(string[] args)

{

sum s = new sum();

int a = 10;

int b = 3;

int m, n;

s.ab(out m, out n, a, b);

Console.WriteLine(“{0}+{1}={2};{0}-{1}={3}”,a,b,m,n);

金陵科技学院实验报告

}

} }

5、用构造函数重载,实现矩形的面积,圆的面积,梯形的面积;

using System;using System.Collections.Generic;using System.Linq;using System.Text;

namespace secong.five {

class Program

{

public class square

{

public double area;

public square(){ }

public square(double a)

{

area = a * a * 3.14;

}

public square(double a, double b)

{

area = a * b;

}

public square(double a, double b, double h)

{

area =(a + b)/ 2 * h;

}

}

static void Main(string[] args)

{

double a, b, h,area;

a = 2;b = 5;h = 3;

金陵科技学院实验报告

square s = new square(a,b);

Console.WriteLine(“求矩形面积,长为a={0},宽为b={1},面积area={2}”,a,b,s.area);

square i = new square(a);

Console.WriteLine(“求圆形面积,半径a={0},面积area={1}”, a, i.area);

square j = new square(a, b, h);

Console.WriteLine(“求梯形面积,上底为a={0},下底为b={1},高为h={2}面积area={3}”, a, b,h, j.area);

}

} }

6、设计一个windows应用程序,在该程序中定义一个学生类和班级类,以处理每个学生的学号,姓名,语文,数学和英语成绩,要求:

1)能查询每个学生的总成绩。2)能显示全班前三名的名单。

3)能显示单科成绩最高分和不及格的学生名单。4)能统计全班学生的平均成绩。

5)能显示各科成绩不同分数段的学生人数的百分比。

Student类: using System;using System.Collections.Generic;using System.Text;namespace Test2_6 {

public class Student

{

public string stuNo;

public string name;

public double chinese;

public double math;

public double english;

public double sumScore

{

金陵科技学院实验报告

get { return chinese + math + english;}

}

} } StudentList类: using System;using System.Collections.Generic;using System.Text;namespace Test2_6 {

public class StudentList:Student

{

int snums;

public Student[] stu=new Student[50];

public StudentList()

{

snums = 0;

}

public void addstu(Student s)

{

stu[snums] = s;

snums++;

}

public int searchstu(string name)

{

int i;

for(i = 0;i < snums;i++)

{

if(stu[i].name == name)break;

}

if(i == snums)return-1;

else return i;

}

//给所有成绩排序,用后面实现前三名的排名

金陵科技学院实验报告

public void ProThree()

{

for(int i = 0;i < snums;i++)

{

int k = i;

for(int j = i + 1;j < snums;j++)

if(stu[j].sumScore > stu[k].sumScore)k = j;

if(k!= i)

{

Student temp;

temp = stu[k];

stu[k] = stu[i];

stu[i] = temp;

}

}

}

//显示单科成绩的最高分

public int HighScore(int k)

{

int p = 0;

if(k == 0)

{

for(int i = 1;i < snums;i++)

if(stu[i].math > stu[p].math)p = i;

}

else if(k == 1)

{

for(int i = 1;i < snums;i++)

if(stu[i].chinese > stu[p].chinese)p = i;

}

else

{

for(int i = 1;i < snums;i++)

if(stu[i].chinese > stu[p].chinese)p = i;

金陵科技学院实验报告

}

return p;

}

//显示不及格名单

public string BuhgName(int k)

{

string name=“ ”;

if(k == 0)

{

for(int i = 0;i < snums;i++)

if(stu[i].math < 60)name +=stu[i].name+“n”;

}

else if(k == 1)

{

for(int i = 0;i < snums;i++)

if(stu[i].chinese < 60)name += stu[i].name + “n”;

}

else

{

for(int i = 0;i < snums;i++)

if(stu[i].english < 60)name += stu[i].name + “n”;

}

return name;

}

public string getHL()

{

string Maxer = “ ”, Loser = “ ”;

Maxer += “单科数学最高:” + stu[HighScore(0)].name + “n”;

Maxer += “ 单科语文最高:” + stu[HighScore(1)].name + “n”;

Maxer += “ 单科英语最高:” + stu[HighScore(2)].name + “n”;

Loser += “单科数学挂科名单:” +BuhgName(0)+ “n”;

Loser += “单科语文挂科名单:” + BuhgName(1)+ “n”;

Loser += “单科英语挂科名单:” + BuhgName(2)+ “n”;

金陵科技学院实验报告

return Maxer + “n” + Loser;

}

//全班的平均成绩

public string SumScore()

{

double sum = 0;

double avg=0;

for(int i = 0;i < snums;i++)

{

sum = sum + stu[i].sumScore;

}

avg = sum / snums;

return “班级总分平均分:”+avg;

}

//各科成绩不同分数段的学生百分比

//英语成绩各分数段百分比

public string PerC()

{

double per1, per2, per3, per4, per5;

double sumC1 = 0, sumC2 = 0, sumC3 = 0, sumC4 = 0, sumC5 = 0;

for(int i = 0;i < snums;i++)

{

if((stu[i].chinese > 90)&&(stu[i].chinese <= 100))

{

sumC1++;

}

else if((80 <= stu[i].chinese)&&(stu[i].chinese < 90))

{

sumC2++;

}

金陵科技学院实验报告

else if((70<=stu[i].chinese)&&(stu[i].chinese < 80))

{

sumC3++;

}

else if((60<=stu[i].chinese)&&(stu[i].chinese < 70))

{

sumC4++;

}

else

{sumC5++;}

}

per1 = sumC1 / snums;

per2 = sumC2 / snums;

per3 = sumC3 / snums;

per4 = sumC4 / snums;

per5 = sumC5 / snums;

return “语文成绩百分比:”+“n”+“90~100:”+per1+“ 80~90:”+per2+“ 80~70:”+per3+“ 70~60:”+per4+“ 60以下的:”+per5;

}

//数学成绩各分数段百分比

public string PerM()

{

double per1, per2, per3, per4, per5;

double sumC1 = 0, sumC2 = 0, sumC3 = 0, sumC4 = 0, sumC5 = 0;

for(int i = 0;i < snums;i++)

{

if((stu[i].math> 90)&&(stu[i].math <= 100))

{

sumC1++;

}

else if((80 <= stu[i].math)&&(stu[i].math < 90))

{

金陵科技学院实验报告

sumC2++;

}

else if((70 <= stu[i].math)&&(stu[i].math < 80))

{

sumC3++;

}

else if((60 <= stu[i].math)&&(stu[i].math < 70))

{

sumC4++;

}

else

{ sumC5++;}

}

per1 = sumC1 / snums;

per2 = sumC2 / snums;

per3 = sumC3 / snums;

per4 = sumC4 / snums;

per5 = sumC5 / snums;

return string.Format(“数学成绩百分比:” + “n” + “90~100:” + per1 + “ 80~90:” + per2 + “ 80~70:” + per3 + “ 70~60:” + per4 + “ 60以下的:” + per5);

}

//英语成绩各分数段百分比

public string PerE()

{

double per1, per2, per3, per4, per5;

double sumC1 = 0, sumC2 = 0, sumC3 = 0, sumC4 = 0, sumC5 = 0;

for(int i = 0;i < snums;i++)

{

if((stu[i].english > 90)&&(stu[i].english <= 100))

{

sumC1++;

金陵科技学院实验报告

}

else if((80 <= stu[i].english)&&(stu[i].english < 90))

{

sumC2++;

}

else if((70 <= stu[i].english)&&(stu[i].english < 80))

{

sumC3++;

}

else if((60 <= stu[i].english)&&(stu[i].english < 70))

{

sumC4++;

}

else

{ sumC5++;}

}

per1 = sumC1 / snums;

per2 = sumC2 / snums;

per3 = sumC3 / snums;

per4 = sumC4 / snums;

per5 = sumC5 / snums;

return string.Format(“数学成绩百分比:” + “n” + “90~100:” + per1 + “ 80~90:” + per2 + “ 80~70:” + per3 + “ 70~60:” + per4 + “ 60以下的:” + per5);

}

} } From窗体代码: using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Text;

金陵科技学院实验报告

using System.Windows.Forms;namespace Test2_6 {

public partial class Form1 : Form

{

public Form1()

{

InitializeComponent();

}

public StudentList sl = new StudentList();

private void btnAdd_Click(object sender, EventArgs e)

{

Student s = new Student();

s.stuNo = txtStuNo.Text;

s.name = txtName.Text;

s.chinese = Convert.ToDouble(txtChina.Text);

s.math = Convert.ToDouble(txtMath.Text);

s.english = Convert.ToDouble(txtEng.Text);

sl.addstu(s);

MessageBox.Show(“添加成功”);

}

private void btnSearch_Click(object sender, EventArgs e)

{

int pos = sl.searchstu(this.textBox1.Text);

if(pos!=-1)

{

label7.Text = this.textBox1.Text + “的总成绩:sl.stu[pos].sumScore;

}

else { MessageBox.Show(”不存在这个人!“);}

}

private void btnFinish_Click(object sender, EventArgs e)

{

label7.Text = ”前3名:“+”n“;

” + 金陵科技学院实验报告

for(int i = 0;i < 3;i++)

{

sl.ProThree();

label7.Text+= sl.stu[i].name+“n”;

}

label7.Text += sl.getHL()+“n”;

label7.Text += Convert.ToString(sl.SumScore())+“n”;

label7.Text += sl.PerC()+“n”;

label7.Text += sl.PerM()+“n”;

label7.Text += sl.PerE()+“n”;

}

} }

六、实验体会(遇到问题及解决办法,编程后的心得体会)

通过本次实验,我掌握了类的定义与使用;掌握了类的数据成员,属性的定义和使用;掌握了方法的定义,调用和重载以及方法参数的传递以及构造函数的定义和使用。值得注意的是:本次实验中return的使用以及所在的位置,类型转换时也经常用到

金陵科技学院实验报告

实验项目名称: 继承与多态 实验学时: 6 同组学生姓名: 实验地点: 1318 实验日期: 11月16日-11月30日 实验成绩: 批改教师: 批改时间:

金陵科技学院实验报告

实验3 继承与多态

一、实验目的、要求

(1)掌握类的继承性与多态性;

(2)掌握虚方法的定义以及如何使用虚方法实现多态;(3)掌握抽象类的定义以及如何使用抽象方法实现多态;

二、实验要求

(1)编写程序要规范、正确,上机调试过程和结果要有记录;(2)做完实验后给出本实验的实验报告。

三、实验设备、环境

安装有Visual Studio.NET软件。

四、实验步骤

1、分析题意;

2、根据题目要求,新建项目;

3、编写并输入相关的程序代码;

5、运行与调试项目;

6、保存项目。

五、实验内容

1、设计一个Windows应用程序,在该程序中首先构造一个学生基本类,再分别构造小学生、中学生、大学生派生类,当输入相关数据,单击不用的按钮时,将分别创建不同的学生类对象,并输出当前学生的总人数,该学生的姓名,学生类型,平均成绩。

Student类: using System;using System.Collections.Generic;using System.Text;namespace Test3_1 {

public abstract class Student

{

protected string name;

protected int age;

public static int number;

public Student(string name, int age)

{

this.name = name;

this.age = age;

金陵科技学院实验报告

number++;

}

public string Name

{

get { return name;}

}

public abstract double Average();

}

public class Pupil : Student

{

protected double chinese;

protected double math;

public Pupil(string name, int age, double chinese, double math)

: base(name, age)

{

this.chinese = chinese;

this.math = math;

}

public override double Average()

{

return(chinese + math)/ 2;

}

}

public class Middle : Student

{

protected double chinese;

protected double math;

protected double english;

public Middle(string name, int age, double chinese, double math, double english)

: base(name, age)

{

this.chinese = chinese;

this.math = math;

金陵科技学院实验报告

this.english = english;

}

public override double Average()

{

return(chinese + math + english)/ 3;

}

}

public class College : Student

{

protected double required;

protected double elective;

public College(string name, int age, double required, double elective)

: base(name, age)

{

this.required = required;

this.elective = elective;

}

public override double Average()

{

return(required + elective)/ 2;

}

} } Form窗体内的代码:

using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Text;using System.Windows.Forms;namespace Test3_1 {

public partial class Form1 : Form

{

金陵科技学院实验报告

public Form1()

{

InitializeComponent();

}

private void btnSmall_Click(object sender, EventArgs e)

{

Pupil),Convert.ToDouble(txtMath.Text));

lblShow.Text += “总人数:” +Convert.ToString(Student.number)+ “,” + “姓名:” + p.Name + “,” + “小学生” + “,” + “平均成绩为:” + p.Average()+“n”;

}

private void btnMiddle_Click(object sender, EventArgs e)

{

Middle Convert.ToInt32(txtAge.Text),m

=

new

Middle(txtName.Text,Convert.ToDouble(txtChinese.Text), p

=

new Pupil(txtName.Text,Convert.ToInt32(txtAge.Text),Convert.ToDouble(txtChinese.TextConvert.ToDouble(txtMath.Text),Convert.ToDouble(TxtEnglish.Text));

lblShow.Text += “总人数:” + Convert.ToString(Student.number)+ “,” + “姓名:” + m.Name + “,” + “中学生” + “,” + “平均成绩为:” + m.Average()+ “n”;

}

private void btnBig_Click(object sender, EventArgs e)

{

College Convert.ToInt32(txtAge.Text), Convert.ToDouble(txtMath.Text));

lblShow.Text += “总人数:” + Convert.ToString(Student.number)+ “,” + “姓名:” + c.Name + “,” + “大学生” + “,” + “平均成绩为:” + c.Average()+ “n”;

}

}

c

=

new

College(txtName.Text,Convert.ToDouble(txtChinese.Text),金陵科技学院实验报告

}

2、设计一个Windows应用程序,在该程序中定义平面图形抽象类和派生类圆,矩形和三角形。

Figure类代码: using System;using System.Collections.Generic;using System.Text;namespace Test3_2 {

public abstract class Figure

{

public abstract double Area();

}

public class Circle:Figure

{

double radius;

public Circle(double r)

{

radius = r;

}

public override double Area()

{

return radius * radius * 3.14;

}

}

public class JUxing:Figure

{

double chang;

double kuan;

public JUxing(double c, double k)

{

this.chang = c;

this.kuan = k;

}

金陵科技学院实验报告

public override double Area()

{

return chang * kuan;

}

}

public class San:Figure

{

double bian;

double heigth;

public San(double b, double h)

{

this.bian = b;

this.heigth = h;

}

public override double Area()

{

return bian * heigth / 2;

}

} } Form窗体代码: using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Text;using System.Windows.Forms;namespace Test3_2 {

public partial class Form1 : Form

{

public Form1()

{

金陵科技学院实验报告

InitializeComponent();

}

private void btnCircle_Click(object sender, EventArgs e)

{

Circle c=new Circle(Convert.ToInt32(TxtChang.Text));

lblShow.Text = “圆的面积为:” + c.Area();

}

private void btnJu_Click(object sender, EventArgs e)

{

JUxing

j

=

new JUxing(Convert.ToInt32(TxtChang.Text),Convert.ToInt32(TxtHigh.Text));

lblShow.Text = “矩形的面积为:” + j.Area();

}

private void btnSan_Click(object sender, EventArgs e)

{

San

s

=

new

San(Convert.ToInt32(TxtChang.Text), Convert.ToInt32(TxtHigh.Text));

lblShow.Text = “三角形的面积为:” + s.Area();

}

} }

3、定义一个Person类,包含姓名字段和一个方法,早上8:30学生开始上课,教师开始讲课。分别用new关键字,虚方法,抽象类实现多态性。

New关键字: using System;using System.Collections.Generic;using System.Text;

namespace third.three {

class Program

{

static void Main(string[] args)

金陵科技学院实验报告

{

Student s=new Student(“学生”);

Teacher t=new Teacher(“教师”);

Console.WriteLine(s.name+s.work());

Console.WriteLine(t.name+t.work());

Console.ReadLine();

}

}

public class Person

{

public string name;

public interface method

{ string work();}

}

public class Student:Person

{

public Student(string name)

{ this.name = name;}

public string work()

{ return “早上8:30开始上课”;}

}

public class Teacher:Person

{

public Teacher(string name)

{ this.name = name;}

public string work()

{ return “开始讲课”;}

} } 虚方法: using System;using System.Collections.Generic;using System.Text;

金陵科技学院实验报告

namespace third.three.two {

class Program

{

static void Main(string[] args)

{

Student s = new Student(“张三”,“学生”);

PersonWork(s);

Teacher t=new Teacher(“李斯”,“教师”);

PersonWork(t);

}

private static void PersonWork(Person Person)

{ Console.WriteLine(Person.Work());}

}

public class Person

{

public string name;

public Person(string name)

{ this.name = name;}

public virtual string Work()

{ return string.Format(“Person{0}:早上8:30开始”,name);}

}

public class Student : Person

{

private string type;

public Student(string name, string type)

: base(name)

{ this.type = type;}

public override string Work()

{

return string.Format(“Person{0}:早上8:30开始上课”, name);

}

}

public class Teacher : Person

金陵科技学院实验报告

{

private string type;

public Teacher(string name, string type)

: base(name)

{ this.type = type;}

public override string Work()

{

return string.Format(“Person{0}:开始讲课”, name);

}

} }

抽象类: using System;using System.Collections.Generic;using System.Text;

namespace third.three.three {

class Program

{

static void Main(string[] args)

{

Student s = new Student(“张三”, “学生”);

PersonWork(s);

Teacher t = new Teacher(“李斯”, “教师”);

PersonWork(t);

}

private static void PersonWork(Person person)

{

Console.WriteLine(person.Work());

}

}

public abstract class Person

金陵科技学院实验报告

{

public string name;

public Person(string name)

{ this.name = name;}

public abstract string Work();

}

public class Student : Person

{

private string type;

public Student(string name, string type)

: base(name)

{

this.type = type;

}

public override string Work()

{

return string.Format(“Person{0}:早上8:30开始上课”, name);

}

}

public class Teacher : Person

{

private string type;

public Teacher(string name, string type)

: base(name)

{

this.type = type;

}

public override string Work()

{

return string.Format(“Person{0}:开始讲课”, name);

}

} }

金陵科技学院实验报告

六、实验体会(遇到问题及解决办法,编程后的心得体会)

通过本次实验,我理解了类的继承性与多态性;掌握了虚方法的定义以及如何用虚方法来实现多态;掌握了抽象类的定义以及如何用抽象方法来实现多态。这次实验与前两次不同,采用Windows应用程序,既涉及到代码段也涉及到界面的设计。所以,勉强通过实验。

金陵科技学院实验报告

实验项目名称: 接口、文件和流 实验学时: 6 同组学生姓名: 实验地点: A205 实验日期: 12月7日-12月21日 实验成绩: 批改教师: 批改时间:

金陵科技学院实验报告

实验4 接口、文件和流

一、实验目的

(1)掌握接口的定义及使用方法;

(2)掌握流,序列化和反序列化的概念和使用方法;(3)掌握流文件的读写操作类及其使用方法;

(4)掌握OpenFileDialog,SaveFileDialog等控件的使用。

二、实验要求

(1)编写程序要规范、正确,上机调试过程和结果要有记录;(2)做完实验后给出本实验的实验报告。

三、实验设备、环境

安装有Visual Studio.NET软件。

四、实验步骤

1、分析题意;

2、根据题目要求,新建项目;

3、编写并输入相关的程序代码;

5、运行与调试项目;

6、保存项目。

五、实验内容

1、定义一个Person类,包含姓名字段和一个方法,早上8:30学生开始上课,教师开始讲课。用接口来实现。

using System;using System.Collections.Generic;using System.Text;namespace Test4_1 {

class Program

{

static void Main(string[] args)

{

Student s = new Student(“张三”,“学生”);

Console.WriteLine(s.Work());

Teacher t = new Teacher(“李四”,“老师”);

Console.WriteLine(t.Work());

}

金陵科技学院实验报告

public abstract class Person

{

public string name;

public Person(string name)

{

this.name = name;

}

}

interface IPerson

{

string type { get;}

string Work();

}

public class Student :Person, IPerson

{

public string type

{

get { return string.Format(“老师”);}

}

public Student(string name, string type)

: base(name)

{

this.name=name;

}

public string Work()

{

return string.Format(“Person{0}:早上8:30开始上课”, name);

}

}

public class Teacher :Person, IPerson

{

public string type

{

金陵科技学院实验报告

get { return string.Format(“学生”);}

}

public Teacher(string name, string type)

: base(name)

{

this.name = name;

}

public string Work()

{

return string.Format(“Person{0}:早上8:30开始讲课”, name);

}

}

} }

2、声明一个接口Iplayer,包含5个接口方法:播放,停止,暂停,上一首和下一首。在该程序中定义一个MP3播放器类和一个AVI播放器类,以实现该接口。

MP3类(包含Iplayer接口,AVI类): using System;using System.Collections.Generic;using System.Text;namespace Test4_2 {

interface IPlayer

{

string Play();

string Stop();

string Pause();

string Pre();

string Next();

}

public class MP3:IPlayer

{

public string Play()

金陵科技学院实验报告

{

return “正在播放MP3歌曲!”;

}

public string Stop()

{

return “停止播放MP3歌曲!”;

}

public string Pause()

{

return “暂停播放MP3歌曲!”;

}

public string Pre()

{

return “播放上一首MP3歌曲!”;

}

public string Next()

{

return “播放下一首MP3歌曲!”;

}

}

public class AVI : IPlayer

{

public string Play()

{

return “正在播放AVI歌曲!”;

}

public string Stop()

{

return “停止播放AVI歌曲!”;

}

public string Pause()

{

return “暂停播放AVI歌曲!”;

}

金陵科技学院实验报告

public string Pre()

{

return “播放上一首AVI歌曲!”;

}

public string Next()

{

return “播放下一首AVI歌曲!”;

}

} } Form窗体里代码: using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Text;using System.Windows.Forms;namespace Test4_2 {

public partial class Form1 : Form

{

IPlayer iplayer;

MP3 mp3;

AVI avi;

public Form1()

{

InitializeComponent();

}

private void btnMp3_Click(object sender, EventArgs e)

{

mp3 = new MP3();

iplayer =(IPlayer)mp3;

}

金陵科技学院实验报告

private void btnPlay_Click(object sender, EventArgs e)

{

label1.Text = iplayer.Play();

}

private void btnUp_Click(object sender, EventArgs e)

{

label1.Text = iplayer.Pre();

}

private void btnStop_Click(object sender, EventArgs e)

{

label1.Text = iplayer.Stop();

}

private void btnPause_Click(object sender, EventArgs e)

{

label1.Text = iplayer.Pause();

}

private void btnNext_Click(object sender, EventArgs e)

{

label1.Text = iplayer.Next();

}

private void btnAvi_Click(object sender, EventArgs e)

{

avi = new AVI();

iplayer =(IPlayer)avi;

}

} }

3、实现对文本文件的读写操作,用文件操作控件打开和保存文件。

using System.Data;using System.Drawing;using System.Text;using System.Windows.Forms;using System.IO;namespace Test4_3

金陵科技学院实验报告

{

public partial class Form1 : Form

{

public Form1()

{

InitializeComponent();

}

private void btnSave_Click(object sender, EventArgs e)

{

saveFileDialog1.ShowDialog();

StreamWriter

sw = StreamWriter(saveFileDialog1.FileName,true);

sw.WriteLine(DateTime.Now.ToString());

sw.WriteLine(txtSource.Text);

sw.Close();

}

private void btnShow_Click(object sender, EventArgs e)

{

StreamReader sr = StreamReader(saveFileDialog1.FileName);

txtShow.Text = sr.ReadToEnd();

sr.Close();

}

} }

4、实现对二进制文件的读写操作。

using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Text;using System.Windows.Forms;using System.IO;

new

new

金陵科技学院实验报告

namespace Test4_4 {

public partial class Form1 : Form

{

public Form1()

{

InitializeComponent();

}

private void btnSave_Click(object sender, EventArgs e)

{

FileStream

fs

= FileStream(@“d:Datastudent.dat”,FileMode.Append,FileAccess.Write);

BinaryWriter bw = new BinaryWriter(fs);

bw.Write(Int32.Parse(txtStuNo.Text));

bw.Write(TxtName.Text);

bool isMale;

if(rdoMan.Checked)

isMale = true;

else

isMale = false;

bw.Write(isMale);

fs.Close();

bw.Close();

}

private void btnShow_Click(object sender, EventArgs e)

{

lstShow.Items.Clear();

lstShow.Items.Add(“学号t姓名t性别”);

FileStream

fs

= FileStream(@“d:Datastudent.dat”,FileMode.Open,FileAccess.Read);

BinaryReader br = new BinaryReader(fs);

fs.Position = 0;

while(fs.Position!= fs.Length)

{

new

new

金陵科技学院实验报告

int s_no = br.ReadInt32();

string name = br.ReadString();

string sex = “";

if(br.ReadBoolean())

sex = ”男“;

else

sex = ”女“;

string

result String.Format(”{0}t{1}t{2}“,s_no,name,sex);

lstShow.Items.Add(result);

}

br.Close();

fs.Close();

}

} }

5、实现对象序列化和反序化。

Student类: using System;using System.Collections.Generic;using System.Text;namespace Test4_5 {

[Serializable]

public class Student

{

public int sno;

public string name;

public bool sex;

public Student(int s_no, string name, bool isMale)

{

this.sno = s_no;

this.name = name;

this.sex = isMale;

=

金陵科技学院实验报告

}

} } StudentList类: using System;using System.Collections.Generic;using System.Text;namespace Test4_5 {

[Serializable]

public class StudentList

{

private Student[] list = new Student[100];

public Student this[int index]

{

get

{

if(index < 0 || index >= 100)

return list[0];

else

return list[index];

}

set

{

if(!(index < 0 || index >=100))

list[index] = value;

}

}

} } Form下的代码: using System;using System.Collections.Generic;using System.ComponentModel;

金陵科技学院实验报告

using System.Data;using System.Drawing;using System.Text;using System.Windows.Forms;using System.IO;using System.Runtime.Serialization.Formatters.Binary;namespace Test4_5 {

public partial class Test9_32 : Form

{

private StudentList list = new StudentList();

private int i = 0;

public Test9_32()

{

InitializeComponent();

}

private void Test9_32_Load(object sender, EventArgs e)

{

}

private void btnSave_Click(object sender, EventArgs e)

{

string file = @”d:datastudent.dat";

Stream

stream

= FileStream(file,FileMode.OpenOrCreate,FileAccess.Write);

BinaryFormatter bf = new BinaryFormatter();

bf.Serialize(stream,list);

stream.Close();

}

private void btnAdd_Click(object sender, EventArgs e)

{

int sno = Int32.Parse(txtStuNo.Text);

bool isMale;

if(rdoMan.Checked)

isMale = true;

new

第五篇:C#程序设计案例评语

C#程序设计案例评语:

优秀:该生在课程实习过程中,能够按照实习任务书的要求,完整的开发记事本及计算器程序,设计过程中能主动查阅资料,独立完成程序开发,软件设计界面良好,功能完整,实习报告内容详细。实习过程中表现突出。

良好:该生在课程实习过程中,能够按照实习任务书的要求,完整的开发记事本及计算器程序,设计过程中能独立完成程序开发,软件设计界面良好,功能完整,实习报告内容详细。实习过程中表现良好。

中等:该生在课程实习过程中,能够按照实习任务书的要求,比较完整的开发记事本及计算器程序,设计过程中能在老师的指导下完成程序开发,功能完整,实习报告内容完整。实习过程中表现一般。

及格:该生在课程实习过程中,基本能够按照实习任务书的要求,比较完整的开发记事本及计算器程序,设计过程中能在老师和同学的指导下完成程序开发,功能基本完整,实习报告内容完整。实习过程中表现一般。

下载C#程序设计教程期末复习题及答案(五篇)word格式文档
下载C#程序设计教程期末复习题及答案(五篇).doc
将本文档下载到自己电脑,方便修改和收藏,请勿使用迅雷等下载。
点此处下载文档

文档为doc格式


声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:645879355@qq.com 进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。

相关范文推荐

    C 语言程序设计期末复习题

    C++语言程序设计期末复习题 一、单项选择题 1. C++源程序文件的默认扩展名为( )。 A. cpp B. exe C. obj D. lik 2. 由C++源程序文件编译而成的目标文件的默认扩展名为(......

    《C#程序设计基础教程与实训》习题答案

    附录Ⅰ 各章习题答案 第1章 C#语言概述 一、判断题 1、√2、×3、√4、×5、√6、√7、×8、× 二、选择题 1、C 2、B 3、C 4、A 5、A 6、B 7、B 8、B 三、填空题 1、最新的......

    C#期末总结

    C#期末总结 接触C#已经有半学期时间,对C#感触颇多。C#作为逻辑性极强,功能强大的程序编程语言,仅仅学习半学期是远远不够的,希望自己能在这条路上不断前行,能够活到老学到老。跟......

    面向对象程序设计教程 答案5篇

    面向对象程序设计教程(C++语言描述)题解与课程设计指导 第1章 面向对象程序设计概论 一、 名词解释 抽象封装消息 【问题解答】 面向对象方法中的抽象是指对具体问题(对象)进行......

    PPT程序设计教程

    PPT程序设计教程 文章列表 http://www.xiexiebang.com/Article/ShowClass.asp?ClassID=455                      ·用PowerPoint制作试卷(235) ·PowerPoint制作自动交互......

    合同法期末复习题及答案

    合同法期末复习题及答案 一、单项选择题(每小题1分,共10分) 1.我国合同法调整的关系有(D)。 A.婚姻关系B.收养关系C.监护关系D.财产关系 2.下列合同中,属于单务合同的是(C)。 A.租赁......

    web程序设计复习题

    一、判断题 1. 网页是文本文件。 2. 在网页文件index.htm中,可用代码显示出服务器的日期和时间。 3. 有时我们看到的网页代码实际上不是真正的源代码。 4. 变量也有名字。 5.......

    可视化程序设计复习题范文

    一、填空题 1.解决方案文件的扩展名为 2.设置断点的方式有 3.要想使用联机帮助,除了正确安装VC++2005之外,还需要安装。 4.使用应用程序向导可以生成的MFC项目类型有 和。 5.......