C#试验指导书-2012版

更新时间:2023-12-09 12:55:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

实验一 C# 集成开发环境

【实验目的】

1. 初步认识C#开发环境;

2. 初步掌握控制台应用程序及Windows应用程序开发步骤; 【实验内容】

1. 创建一个控制台应用程序,在Main方法中输入以下代码。 Console.Write(\

Console.WriteLine(\ Console.Read();

运行应用程序并观察结果。 1) 运行结果为:

2) WriteLine方法的作用是什么?WriteLine方法与Write方法有什么区别?

2. 创建一个Windows应用程序,在窗体上添加一个标签控件及一个命令按钮控件。设置窗体及

控件的属性,如下表1-1所示(控件位置摆放合理美观即可)。

表1-1 对象 Form1 属性 Text Size ForeColor label1 Font AutoSize Button1 Name Text 属性值 练习一 200,170 红色 宋体, 16pt True btnShowHello 显示Hello 属性含义 然后为按钮控件添加Click事件,事件响应代码为: label1.Text = \运行程序并单击按钮,观察结果。

1) 通过属性窗口的属性说明栏,完成表1-1中的相关属性的属性含义的填写。 2) 开发环境中的窗口(如属性窗口)有几种状态?

实验二 C# 语法基础

【实验目的】

1. 理解C#的数据类型,值类型与引用类型的区别; 2. 理解类型转换,掌握常用的类型转换方法; 3. 掌握常用运算符的运算规则,并能正确运用; 【实验内容】

1. 下面有一个控制台应用程序,在空格处按注释要求填入代码,并上机运行写出运行结果。 static void Main(string[] args) {

int x = 365, m = 4;

第1 页,共16页

string str1 = \ bool b;

; //定义一个长整型变量y,并将x的值赋值给它。

Console.WriteLine(\的值为{0},对应CTS中的类型为:{1}\ Console.WriteLine(\的值为{0},对应CTS中的类型为:{1}\ ;//将str1类型转换后赋值给x。 ; //将m类型转换后赋值给b。 Console.WriteLine(\此时x的值为{0}\ Console.WriteLine(\的值是\

}

运行结果为:

2. 设计一个控制台应用程序,分别验证7/-3,7%-3,-7/3,-7%3的值分别是多少。分别写出你的程序代码和程序运行结果 1) 程序代码:

2) 运行结果:

3. 设计一个控制台应用程序,输入圆的半径。计算并输出圆的面积和周长。 4. 编写程序将一个三位数逆向输出。

实验三 C# 程序控制语句

【实验目的】

1. 掌握流程控制语句,能运用流程控制语句解决一般实际问题; 2. 掌握数组的定义与运用; 【实验内容】

1. 设计一个控制台程序,输入一个年份,判断该年份是否是闰年,输出判断结果。

闰年的判定标准为: 1) 能被4整除,但不能被100整除; 2) 或能被400整被; 程序代码:

调试结果:

2. 编写控制台程序,输入百分制成绩,要求输出等级‘A’、‘B’、‘C’、‘D’、‘E’。90及90分

以上为‘A’,80~89分为‘B’,70~79分为‘C’,60~69分为‘D’,60分以下为‘E’。 ?111?1?????3573. 用4级数求?的近似值。

要求:

(1) 级数中的项数由用户输入。 (2) 显示?的近似值。

第2 页,共16页

4. 编写程序完成猜数字游戏,最多猜4次,数字随机产生

提示: Random类是System命名空间的一个专门用于产生随机数的类,产生随机数的方法为:

Random rd = new Random();//第一步:产生随机对象

int op1 = rd.Next(1, 100);// 第二步:产生1~100之间的随机整数 设rd为随机对象名,Random类中包含的常用随机方法为: 方法与属性格式 对象名.Next() 对象名.Next(正整数) 对象名.Next(整数1,整数2) 对象名.NextDouble() 功能说明 产生随机整数 产生0~指定整数之间的随机整数 产生整数1~整数2之间的随机整数 示例 rd.Next() rd.Next(50) 示例结果 随机整数 0~50之间的随机整数 rd.Next(1,100) 1~100之间的随机整数 0.0~1.0之间的随机数 产生0.0~1.0之间的随机数 rd. NextDouble()

实验四 数组与结构体

【实验目的】

1. 掌握数组的定义方法和在实际编程中的应用; 2. 掌握结构体的定义方法和简单应用。 【实验内容】

1. 编写控制台应用程序,找出一个整型数组(长度为10)中的最大值输出,并指出它最后一次

出现时的下标。 程序代码:

int[] a = new int[10];// { 12,23,435,56,45,32,23,12,123,34}; int i, b, max;

Random rd = new Random();

for (i = 0; i <= a.Length - 1; i++) a[i] = rd.Next(12,340); Console.WriteLine(\该数组为:\); for (i = 0; i <= a.Length - 1; i++) Console.Write(\+a[i]);

Console.WriteLine(\按任意键查找??\); Console.ReadKey(); b = 0; max=a[0];

for (i = 0; i <= a.Length - 1; i++) if (max <= a[i]) {

max = a[i];

第3 页,共16页

b = i; }

Console.WriteLine(\最大值:\+a[b]);

Console.WriteLine(\最大值的下标:\ +b); Console.ReadKey();

2. 定义一个结构体student,

① 包含学号、姓名、数学成绩、语文成绩等的字段;

② 在结构体内部定义一个方法grade,用来根据学生的数学、语文的平均分判定学生的成

绩等级(优秀、良好、中等、及格、不及格);

答案:

struct student {

public int no; public string xm; public int math; public int eng;

public string dj(int x, int y) {

double adv; adv=(x+y)/2.0; if (adv>=90)

return (\优秀\); else if (adv>=80) return (\良好\); else if (adv>=70) return (\中等\); else if (adv>=60) return (\及格\); else

return (\不及格\); } }

static void Main(string[] args) {

//student a;

student a = new student();

Console.WriteLine(\,a.xm ,a.math ,a.eng ); Console.WriteLine(\成绩等级:{0}\,a.dj(a.math ,a.eng ) ); Console.ReadKey (); }

第4 页,共16页

3. 创建一个控制台程序,代码如下:

struct MyStruct //定义一个结构类型MyStruct {

public int i; }

class Program {

static void Main(string[] args) {

MyStruct ms = new MyStruct(); ms.i = 100;

MyStruct otherms = ms; otherms.i = 200;

Console.WriteLine(\

Console.WriteLine(\ Console.Read(); } }

1) 运行结果为:

2) 将结构类型改为类类型:(将struct替换为class)并再次运行程序,运行结果为:

3) 两次运行结果不一样的原因是什么?

第5 页,共16页

实验五 类的定义与应用

【实验目的】

1. 掌握类的定义方法;

2. 掌握字段、属性和方法等类成员的定义方法; 3. 掌握构造函数的用途;

4. 掌握类在程序设计中的应用。 【实验内容】

1、 定义一个学生类,完成学生的综合素质测评;

1) 包括学号、姓名、数学成绩、语文成绩、英语成绩等字段(字段定义全部为public) 2) 定义一个方法,完成对学生的学习等级判定; >90 优秀 >70 良好 >60 中等 <60 差 测评计算规则:数学和语文各占40%,英语占20% 3) 定义一个方法完成三门课程平均分的计算。

4) 编写程序,输入某位学生的基本信息,判断输出成绩等级和平均分。

2、 创建一个类,用来描述人的下述特点:

1) 姓名、性别、年龄、身高(米)、体重(公斤); 2) 定义一个方法判定体型:

( 东方成年人标准:BMI指数=体重/身高^2)

偏瘦 正常体重 轻度肥胖 中度肥胖 重度肥胖

3、 定义一个类,完成圆的面积、周长的计算:

1) 将半径定义为字段;

2) 编写构造函数(对半径初始化); 3) 编写方法计算周长和计算面积。

4) 设计一程序,输入半径,显示周长和面积。

第6 页,共16页

BMI指数< 18 BMI指数∈ [18, 23) BMI指数∈[ 23 ,25) BMI指数∈[25, 30) BMI指数> 30 3) 设计一程序,输入某人的基本信息,判断输出其体型。

4、计算个人所得税:

某企业的人员工资组成包括以下内容:

应发工资:岗位工资,技能工资(与学历相关),工资性补贴,工龄工资(每年6元),奖金); 应扣工资:医疗保险(占应发工资的5%),养老保险(占应发工资的6%),公积金(占应发工资的15%);

实发工资:应发工资-应扣工资-个人所得税; 个人所得税计算规则(3500元为起征点): 级数 1 2 3 要求:

(1) 分别编写方法计算医疗保险、养老保险、公积金;

(2) 编写方法计算个人所得税;计算规则:个人所得税=(应发工资-应扣工资-3500)*

税率-速扣数

超出部分 <1500 1500~4500 4500~9000 税率 3% 10% 20% 速扣数 0 25 125 备注 第7 页,共16页

实验六 类的属性、静态成员、各类修饰符

【实验目的】

1、 理解静态成员与实例成员的区别;

2、 掌握public、private、internal、protected的区别; 3、 了解密封类的特点;

【实验内容】

2、 定义一个类,完成圆的面积、周长的计算: 1) 将半径定义为属性;

2) 编写静态方法完成周长和面积的计算。

3、 编写一个控制台程序,在包含入口方法Main()的类之外,再添加如下两个类的定义,调试会

发现什么样的错误?

public sealed class MyClass { }

public class MyDerivedClass : MyClass {

}

错误说明:

4、 阅读下列程序代码,自行补充代码进行验证并回答问题。 public class MyClass {

public int a; protected int b; private int c; internal int d; }

public class MyDerivedClass : MyClass {

public MyDerivedClass() {

//问题一:此处能访问哪些继承来的成员?(填写你设计//的验证代码)

} }

class Program {

static void Main(string[] args) {

MyDerivedClass TestClass = new MyClass();

//问题二:此处能访问到TestClass的哪些成员?(下面填//写你设计的验证代码) } }

问题一答案:

第8 页,共16页

问题二答案:

5、 完成下列程序的填空,并上机运行,写出运行结果,并解释原因。 class StaticTest

{ public static int count = 0; public int number = 0; static StaticTest() {

count++; }

public StaticTest() {

count++; number++; } }

class Program {

static void Main(string[] args) {

StaticTest object1 = new StaticTest(); //输出类StaticTest中的成员count。

; //输出类StaticTest的实例object1中成员的number。 ; StaticTest object2 = new StaticTest(); //输出类StaticTest中的成员count。

; //输出类StaticTest的实例object2中成员的number。 ; Console.Read(); } }

运行结果:

原因:

编写程序删除字符串变量:c1 = \安徽 省 铜陵 市 长江西路274#- - -安徽 工业职业技术学院\;中出现的所有空格字符。

编写程序将“信息工程系”插入到C1字符串“市”字符后 编写程序将“长江西路274#”截取;

c1 = \黑龙 江省佳 木斯市黄 河西路27 4#--- 佳木斯工业职业技 术 学 院\;

第9 页,共16页

实验七 类的继承与重写

【实验目的】

1、掌握类的继承的实现方法和意义。 2、掌握方法的重写和重载及两者的差别。 【实验内容】

1、阅读下面程序:

class Student {

public string no=“001234”; public string name=\父类的name\; public int age; }

class MSS:Student {

public string name = \子类的name\; public string studentxx() {

return (no + base.name); } }

class Program {

static void Main(string[] args) {

MSS a = new MSS();

Console.WriteLine(a.studentxx()); Console.Read(); }

}

运行结果为:

2、定义一个名称为Person的类,它包含: 1) 姓名字段,标识符:Name 2) 体重属性,标识符:weight 3) 身高(单位:cm)属性; 4) (出生日期属性),标识符:birthday 5) 年龄字段标识符:age

6) 定义判定体型的方法,计算公式:体型=体重(公斤)/ 身高(米)的平方;偏瘦指数为18以下,

正常指数为18~25之间,超重指数为25~30之间,肥胖指数为30以上。 7) 从Person类派生出新类Student,为Student类添加学号字段(标识符:No);成绩属性(标

识符:Score);判断成绩的等级(“优秀”、“良好”,“中等”,“及格”、“不及格”)的方法(标识符:grade)。

8) 重写基类的体型判断方法:公式:标准体重 = 年龄 ×2 .5+ 10 。等级为,瘦,标准,胖。

第10 页,共16页

本文来源:https://www.bwwdw.com/article/occ5.html

Top