第一篇: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|r0y=
22|x|rrx要求:
(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
r2x2
|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 由弘一网童保存,尚未注册。注册 第一章 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 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节的学生信息管理程序,编写通讯录管理程序,细节略。 实验报告书写要求 实验报告原则上要求学生手写,要求书写工整。若因课程特点需打印的,标题采用四号黑体,正文采用小四号宋体,单倍行距。纸张一律采用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#程序设计实验报告
第五篇:C#程序设计案例评语