C#实验作业00.docx

上传人:b****4 文档编号:4883096 上传时间:2022-12-11 格式:DOCX 页数:53 大小:60.31KB
下载 相关 举报
C#实验作业00.docx_第1页
第1页 / 共53页
C#实验作业00.docx_第2页
第2页 / 共53页
C#实验作业00.docx_第3页
第3页 / 共53页
C#实验作业00.docx_第4页
第4页 / 共53页
C#实验作业00.docx_第5页
第5页 / 共53页
点击查看更多>>
下载资源
资源描述

C#实验作业00.docx

《C#实验作业00.docx》由会员分享,可在线阅读,更多相关《C#实验作业00.docx(53页珍藏版)》请在冰豆网上搜索。

C#实验作业00.docx

C#实验作业00

成都理工大学管理科学学院

教学实验报告

2011~2012学年第1学期

实验项目

实验一C#基本语法编程练习

课程名称

面向对象编程设计

实验日期

第7周---第8周

实验学时

4

实验总学时

专业方向

实验目的

1.了解C#的数据类型

2.掌握各种变量的声明方式

3.理解运算符的优先级

4.掌握c#基本数据类型、运算符与表达式的使用方法

5.理解C#程序语法结构,掌握顺序结构、选择结构和循环结构语法的程序设计方法

实验要求

1.写出程序,并调试程序,要给出测试数据和实验结果。

2.整理上机步骤,总结经验和体会。

3.完成实验日志和上交程序。

1.编写一个程序,输出两行结果:

Hello,MynameisLiNing,Thisismyfirstcsharpprogram;我的C#学习之旅开始了。

usingSystem;

namespaceAscent

{

classHello

{

//变量

staticstrings="Hello,MynameisLiNing,Thisismyfirstcsharpprogram;我的C#学习之旅开始了!

";

//方法

staticvoidMain()

{

System.Console.WriteLine(s);

Console.ReadKey();

}

}

 

2.编写一个声明c#不同数据类型变量的程序

usingSystem;

namespaceConsoleApplication1

{

publicclassDate

{

publicstaticvoidMain()

{

byteb=0x55;

shorts=0x55ff;

inti=1000000;

longl=0xffffL;

charc='a';

floatf=0.23F;

doubled=0.7E-3;

StringS="这是字符串类数据类型";

System.Console.WriteLine("字节型变量b="+b);

System.Console.WriteLine("短整型变量s="+s);

System.Console.WriteLine("整型变量i="+i);

System.Console.WriteLine("长整型变量l="+l);

System.Console.WriteLine("字符型变量c="+c);

System.Console.WriteLine("浮点型变量f="+f);

System.Console.WriteLine("双精度变量d="+d);

System.Console.WriteLine("字符串类对象S="+S);

System.Console.ReadKey();

}

}

}

3.编写一个使用运算符、表达式、变量的程序

usingSystem;

publicclassMathTest

{

publicstaticvoidMain()

{

inta=1+2;

System.Console.WriteLine("a="+a);

Console.ReadKey();

}

}

4.编写一个使用c#数据的程序

usingSystem;

publicclassExplicitDataCastingTest

{

publicstaticvoidMain(String[]args)

{

byteb;

inti=257;

doubled=123.456;

System.Console.WriteLine("\nCastingofinttobyte.");

b=(byte)i;

System.Console.WriteLine("bis:

"+b);

System.Console.WriteLine("\nCastingofdoubletoint.");

i=(int)d;

System.Console.WriteLine("iis:

"+i);

Console.ReadKey();

}

}

 

5.编写表达式语句、复合语句的程序

usingSystem;

publicclassBitEqualsTest

{

publicstaticvoidMain(String[]args)

{

inta=1;

intb=2;

intc=a*(b+a);

System.Console.WriteLine("c="+c);

Console.ReadKey();

}

}

6.编写使用不同选择结构的程序

usingSystem;

publicclassIfTest

{

publicvoidJudge(inti)

{

intsw=0;

if(i>0)sw=1;

elseif(i<0)sw=-1;

switch(sw)

{

case1:

System.Console.WriteLine("iisapositivenumber");

break;

case0:

System.Console.WriteLine("iiszero");

break;

case-1:

System.Console.WriteLine("iisanegativenumber");

break;

}

}

publicstaticvoidMain(String[]args)

{

IfTestit=newIfTest();

it.Judge(10);

it.Judge(0);

it.Judge(-2);

Console.ReadKey();

}

}

7.编写使用不同循环结构的程序

 

usingSystem;

classTest

{

staticvoidMain()

{

inti=1;

intk=3;

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

Console.WriteLine(i);

do

{

k=k+1;

}while(k<=5);

Console.WriteLine(k);

Console.ReadKey();

}

}

实验结果及分析:

1.定义了类Hello,然后将要所输出的字符付给变量s,输出结果。

2.定义了类Date,将各个代表各个不同类型的数据付给各个变量,输出不同数据类型的具体数值。

3.定义了类MathTest,将含有运算符的表达式直接付给变量a,输出结果。

4.定义了类ExplicitDataCastingTest,将数据类型进行转化。

5.定义了类BitEqualsTest,用含有变量a与b的复合语句表示c,实现对c的输出。

6.定义了类IfTest,运用if和switch两种选择语句来实现对结果的输出。

7.定义了类Test,运用了for和do-while两种循环语句实现对结果的输出。

通过本次实验我了解到:

1.C#语言中,数据类型分为数值类型和引用类型,运用以上类型时,应首先明确其中各类型的声明方式,其中,数值类型存储实际数值,引用类型是对已有的类型的引用。

数值类型运用时要了解该类型具体的取值范围与占据位数。

2.C#语言同C语言相同,也存在运算符的优先级问题,使用时应该注意区分。

3.C# 语言中,表达式的应用和控制语句的应用于C语言的具体实现方法相同,foreach语句的应用使得循环语句的算法实现效率提高,要多加掌握。

教师签字:

注1:

实验内容至少包括实验过程与步骤,实验结果及分析,实验心得三部分(可根据实验特殊性增加相应实验内容)。

注2:

若实验内容较多,提交的纸质文档中可只填写主要的、结论性的内容,其余内容以电子稿提供。

成都理工大学管理科学学院

教学实验报告

2011~2012学年第1学期

实验项目

实验二类与对象编程练习

课程名称

面向对象编程设计

实验日期

第9周---第10周

实验学时

7

实验总学时

实验目的

1.理解C#语言是如何体现面向对象编程基本思想;

2.掌握类对象的定义;

3.了解类的封装方法,以及如何创建类和对象;

4.了解成员变量和成员方法的特性;

5.掌握静态成员的用法;

6.掌握构造函数和析构函数的含义与作用、定义方式和实现,能够根据要求正确定义和重载构造函数。

能够根据给定的要求定义类并实现类的成员函数;

7.理解类的成员的访问控制的含义,公有、私有和保护成员的区别;

8.掌握参数传递的用法;

9.掌握属性的作用和使用。

实验要求

1.编写一个包含类和类方法的程序;

2.编写一个创建对象和使用对象的方法程序;

3.编写不同成员变量、方法修饰方法的程序;。

4.编写含有构造方法的类的程序;

5.编写重载构造方法的程序;

6.编写类含有静态变量的程序;

7.编写通过ref、out修饰符传递参数的类程序;

8.编写含有属性的类程序。

一、定义一个圆类,计算圆的面积和周长

usingSystem;

classcircle

{

staticvoidMain()

{

doublearea=3.14*5*5;

doubleround=2*3.14*5;

Console.WriteLine(area);

Console.WriteLine(round);

Console.ReadKey();

}

}

 

二、实现一个学生类

程序要求如下:

其中有3个数据成员有学号、姓名、年龄,以及若干成员函数。

同时编写主函数使用这个类,实现对学生数据的赋值和输出。

要求:

使用成员函数实现对数据的输出;使用构造函数实现对数据的输入。

usingSystem;

publicclassStudent

{

privateStringname;

privateintnumber;

privateintage;

publicStudent(){}

publicStudent(Stringname,intnumber,intage)

{

this.name=name;

this.number=number;

this.age=age;

}

publicvoidSetName(Stringname){this.name=name;}

publicStringGetName(){returnname;}

publicvoidSetNumber(intnumber){this.number=number;}

publicintGetNumber(){returnnumber;}

publicvoidSetAge(intage){this.age=age;}

publicintGetAge(){returnage;}

publicstaticvoidMain(String[]args)

{

Students=newStudent("刘一泽",224,20);

System.Console.WriteLine("学生:

"+s.GetName());

System.Console.WriteLine("学号:

"+s.GetNumber());

System.Console.WriteLine("年龄:

"+s.GetAge());

System.Console.ReadKey();

}

}

三、实现一个日期类型

程序要求如下:

定义日期类型Date。

要求有以下面成员:

年、月、日变量,重载的构造方法,一个实现年、月、日单独的输入,一个实现从系统时间里读出年月日,并实现打印方法成员,该方法要按照“XXXX年XX月XX日”格式输出日期。

usingSystem;

usingSystem.Collections.Generic;

usingSystem.Linq;

usingSystem.Text;

 

publicclassDate

{

privateintYear,Month,Day;

publicDate(intYear,intMonth,intDay)

{

this.Year=Year;

this.Month=Month;

this.Day=Day;

}

publicDate(System.DateTimedt)

{

Year=dt.Year;

Month=dt.Month;

Day=dt.Day;

}

publicvoidDisplayDate()

{

Console.WriteLine("{0}年{1}月{2}日",Year,Month,Day);

}

}

publicclassTester

{

publicstaticvoidMain()

{

System.DateTimecurrentTime=System.DateTime.Now;

Datedt=newDate(2011,5,12);

dt.DisplayDate();

Datedt2=newDate(currentTime);

dt2.DisplayDate();

Console.ReadLine();

}

}

四、实现一个包含类属性方法的简单加法程序

程序要求如下:

建立一个类,使其可以进行简单的加法运算。

该程序要包含类、属性、方法等面向对象的基本元素。

usingSystem;

usingSystem.Collections.Generic;

usingSystem.Text;

namespaceshangjiyi

{

///

///此示例演示计算机两个数的加减乘除取余

///

classProgram

{

staticvoidMain(string[]args)

{

intfirst;//第一个操作数

intsecond;//第二个操作数

stringmyOprator;//运算符

intresult;//计算结果

//输入参与计算操作数和运算符

Console.Write("请输入第一个操作数:

");

first=int.Parse(Console.ReadLine());

Console.Write("请输入第二个操作数");

second=int.Parse(Console.ReadLine());

Console.Write("请输入运算符(+-*%):

");

myOprator=Console.ReadLine();

//计算,并输出运算符

if(myOprator=="+")//加法

{

result=first+second;

Console.WriteLine("{0}加上{1}等于{2}",first,second,result);

}

elseif(myOprator=="-")//减法

{

result=first-second;

Console.WriteLine("{0}减去{1}等于{2}",first,second,result);

}

elseif(myOprator=="*")//乘法

{

result=first*second;

Console.WriteLine("{0}乘以{1}等于{2}",first,second,result);

}

elseif(myOprator=="%")//取余

{

result=first%second;

Console.WriteLine("{0}除以{1}等于{2}",first,second,result);

}

else

{

Console.WriteLine("无法识别运算符!

");

}

Console.ReadLine();

}

}

}

五、通过类程序说明静态变量/方法与实例变量/方法的区别

static声明的成员变量/方法被视为类的成员变量/方法,而不把它当作实例对象的成员变量/方法。

换句话说,静态变量/方法是类固有的,可以直接引用,其它成员变量/方法仅仅被声明,生成实例对象后才存在,才可以被引用。

基于这样的事实,也把静态变量/方法称为类变量/方法,非静态变量称为实例变量/方法。

1.程序功能要求

编写帐户类,对每一账号赋值帐户并设置初始化存款为0.00元,设计一变量统计账号生成的数目。

usingSystem;

publicclassBankAccount

{

staticinttotalAccountNumber=0;

stringBankAccountId;

doubleinitialDepositAmount=0.00;

publicBankAccount(stringmyId)

{

this.BankAccountId=myId;

this.initialDepositAmount=0.00;

totalAccountNumber++;

}

publicvoiddisplayid()

{

Console.WriteLine("mbaid={0},initialDepositAmount={1}",this.BankAccountId,

this.initialDepositAmount);

}

publicstaticvoiddisplay()

{

Console.WriteLine("totalAccountNumber={0}",totalAccountNumber);

}

}

publicclassTester

{

publicstaticvoidMain()

{

BankAccountmba=newBankAccount("37000001");

BankAccountmba2=newBankAccount("3700002");

BankAccountmba3=newBankAccount("3700003");

BankAccountmba4=newBankAccount("3700004");

mba2.displayid();

BankAccount.display();

Console.ReadLine();

}

}

六、方法中参数传递的练习

在其它语言中,函数调用或过程调用时参数有传值调用和传地址调用之分。

在C#中,方法中的参数传递可以分为传值调用或对象方法调用等方式。

传值调用即传递的参数是基本数据类型,调用方法时在方法中将不能改变参数的值,这意味着只能使用它们。

对象调用是指先调用对象,再调用对象的方法,这种方式可以修改允许存取的成员变量。

所以,如果不想改变参数的值,可以采用传值调用的方法。

如果想改变参数的值,可采用对象调用的方法,间接修改参数的值。

1.编写一个传值调用的程序

程序功能要求:

程序首先给整型变量x和y赋初值3,5,然后使用传值调用方式调用方法对x和y做乘方并及输出x和y的乘方值,最后输出x和y得值。

再将此方法给为对象调用加ref修饰查看输出结果差异。

usingSystem;

usingSystem.Collections.Generic;

usingSystem.Text;

publicclassPower

{

//publicvoidMyPower(refintx,refinty)

publicvoidMyPower(intx,inty)

{x=1;y=2;

Console.WriteLine("x={0},y={1}",x,y);

Console.WriteLine("x*x={0},y*y={1}",x*x,y*y);

}

}

publicclassTester

{

publicstaticvoidMain()

{

intx,y;

x=3;y=5;

Powermp=newPower();

//mp.MyPower(refx,refy);

mp.MyPower(x,y);

Console.WriteLine("x={0},y={1}",x,y);

Console.ReadLine();

}

}

实验结果及分析:

1.定义类circle,求解变量面积和周长。

2.定义类Student,方法重载,将类中的name,number,age变量输出

3.定义类,实现对两个时间的输出。

4.定义类shangjiyi,各种运算方法,用以实现运算结果。

5.定义类BankAccount,用以实现对静态变量/方法与实例变量/方法的区别

6.定义类EXP,通过方法ff1将实现x与y的传值调用。

通过本次实验我了解到:

1.类是描述对象的“基本原型”,它定义一类对象所能拥有的数据和能完成的操作,所以类作为陈旭的基本单元,是为对象而专门设定的,类的成员包括了方法和变量,类的实例通过“.”运算符来实现对变量的访问和方法的调用。

2.封装作为C#设计的一个重要原则,其实当我们建立一个类时,就进行了封装。

类中成员的访问问题,就要取决于修饰类的指示符,例如当一个类成员被public指示符修饰时,该成员可以被程序中的任何其它代码访问

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 幼儿教育 > 家庭教育

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1