C#练习题.docx
- 文档编号:27478914
- 上传时间:2023-07-02
- 格式:DOCX
- 页数:25
- 大小:19.01KB
C#练习题.docx
《C#练习题.docx》由会员分享,可在线阅读,更多相关《C#练习题.docx(25页珍藏版)》请在冰豆网上搜索。
C#练习题
1
定义一个Person类,有年龄、姓名、性别三个字段,然后写一个方法,通过这个人的年龄判断他是少年、青年、中年还是老年【<18:
少年18~30:
青年30~50:
中年>50老年】写完些方法后,在主程中使用这些方法。
usingSystem;
classPerson
{
publicstringname;
publicstringsex;
publicintage;
publicvoidpandun(Personp)
{
if(p.age<18)
Console.WriteLine("少年");
elseif(p.age<30)
Console.WriteLine("青年");
elseif(p.age<50)
Console.WriteLine("中年");
else
Console.WriteLine("老年");
}
publicvoidshow(Personp)
{
Console.WriteLine(p.name);
Console.WriteLine(p.age);
Console.WriteLine(p.sex);
}
}
classTest
{
publicstaticvoidMain()
{
Personp=newPerson();
p.age=40;
p.name="zhangsan";
p.sex="female";
p.show(p);
p.pandun(p);
}
}
2
usingSystem;
publicstructClassStruct
{
publicstringstudent;
publicstringstuNumber;
publicClassStruct(stringstudent,stringstuNumber)
{
this.student=student;
this.stuNumber=stuNumber;
}
}
classUsingStruct
{
staticvoidMain()
{
ClassStructtheClassStruct;
theClassStruct.student="吕文达";
theClassStruct.stuNumber="20051212001";
Console.WriteLine("学生:
"+theClassStruct.student+"\t"+"学号:
"+theClassStruct.stuNumber);
ClassStructtheClassStruct1=newClassStruct("王大伟","2001010105002");
Console.WriteLine("学生:
"+theClassStruct1.student+"\t"+"学号:
"+theClassStruct1.stuNumber);
}
}
3
索引器重载
usingSystem;
usingSystem.Collections;
classIndexClass//索引器重载
{
privateHashtablename=newHashtable();
publicstringthis[intindex]//A索引器
{
get{returnname[index].ToString();}
set{name.Add(index,value);}
}
publicintthis[stringaName]//B索引器
{
get
{
foreach(DictionaryEntrydinname)
{
if(d.Value.ToString()==aName)
{
returnConvert.ToInt32(d.Key);
}
}
return-1;
}
set{name.Add(value,aName);}
}
}
classtest
{
staticvoidMain()
{
//索引器的使用
IndexClassb=newIndexClass();
//调用A索引器
b[100]="张三";
b[200]="李四";
b[300]="王五";
Console.WriteLine("编号为的员工是:
"+b[100]);
Console.WriteLine("编号为的员工是:
"+b[200]);
Console.WriteLine("编号为的员工是:
"+b[300]);
//调用B索引器
Console.WriteLine("张三的编工是:
"+b["张三"]);
Console.WriteLine("李四的编工是:
"+b["李四"]);
Console.WriteLine("王五的编工是:
"+b["王五"]);
b["马六"]=400;
b["钱七"]=500;
Console.WriteLine("编号为的员工是:
"+b[400]);
Console.WriteLine("编号为的员工是:
"+b[500]);
}
}
4
usingSystem;
delegatevoidEatDelegate(stringf222od1);
classMyDelegate
{
staticvoidzsEat(stringfood)
{
Console.WriteLine("张三吃"+food);
}
staticvoidlsEat(stringfood)
{
Console.WriteLine("李四吃"+food);
}
staticvoidwwEat(stringfood)
{
Console.WriteLine("王五吃"+food);
}
staticvoidMain()
{
EatDelegatezs=newEatDelegate(zsEat);
EatDelegatels=newEatDelegate(lsEat);
EatDelegateww=newEatDelegate(wwEat);
//委托链
EatDelegateeatChain;
eatChain=zs+ls+ww;//委托实例加入委托链,按加的顺序。
eatChain("西瓜");
}
}
5
//对象创建举例
usingSystem;
classStudent
{
publicintage;
publicstringname;
publicstringsex;
publicStudent(inta,stringna,strings)
{
age=a;
name=na;
sex=s;
}
}
classApp
{publicstaticvoidMain()
{
Students1=newStudent(23,"zhanghua","female");
Console.WriteLine("{0},{1},{2}",s1.age,s1.name,s1.sex);
}
}
6
usingSystem;
classPublisher//出版社
{
publicdelegatevoidpublish();//声明事件所需的代理
publiceventpublishOnpublish;//事件的声明
publicvoidissue()//触发事件的方法
{
if(Onpublish!
=null)
{
Console.WriteLine("发行刊物");
Onpublish();
}
}
}
classSubscriber
{
publicvoidReceive()//订阅者
{
Console.WriteLine("订阅者已经收到了刊物");//在事件订阅者中定义事件处理程序
}
//注意:
事件处理程序所定义的方法必须和委托类型一致。
}
classStory
{
staticvoidMain()
{
PublisherPub=newPublisher();
Subscriberzs=newSubscriber();
Pub.Onpublish+=newPublisher.publish(zs.Receive);//向实践发行者订阅一个事件
//前面去掉events就是个委托连
Pub.issue();//触发事件
}
}
7
类的构造函数
方法的重载
usingSystem;
classCar
{
publicstringcolor;
privatefloatweight;
privateDateTimereleasedate;
publicstaticintcount;
publicCar()
{
color="Red";
weight=1.0F;
releasedate=DateTime.Today;
}
publicCar(stringcolor,floatweight)
{
this.color=color;
this.weight=weight;
this.releasedate=DateTime.Today;
}
publicvoidRun()
{
Console.WriteLine("我正在路上行驶");
}
publicvoidRun(stringRoadName)
{
Console.WriteLine("我正在"+RoadName+"路上行驶");
}
publicvoidRun(intMile)
{
Console.WriteLine("我行驶了"+Mile+"里");
}
}
classTest
{
publicstaticvoidMain()
{
Carcar1=newCar();
Carcar2=newCar("Blue",1.5f);
Console.WriteLine("car1的颜色是"+car1.color);
Console.WriteLine("car2的颜色是"+car2.color);
car1.Run();
car1.Run("51号");
car1.Run(100);
}
}
8
usingSystem;
namespaceVariables
{
classVariables
{
staticvoidMain(string[]args)
{
doublefirstNumber,secondNumber;
stringuserName;
Console.WriteLine("Enteryourname:
");
userName=Console.ReadLine();
Console.WriteLine("Welcome{0}!
",userName);
Console.WriteLine("Nowgivemeanumber:
");
firstNumber=Convert.ToDouble(Console.ReadLine());
Console.WriteLine("Nowgivemeanothernumber:
");
secondNumber=Convert.ToDouble(Console.ReadLine());
Console.WriteLine("Thesumof{0}and{1}is{2}.",firstNumber,
secondNumber,firstNumber+secondNumber);
Console.WriteLine("Theresultofsubtracting{0}from{1}is{2}.",
secondNumber,firstNumber,firstNumber-secondNumber);
Console.WriteLine("Theproductof{0}and{1}is{2}.",firstNumber,
secondNumber,firstNumber*secondNumber);
Console.WriteLine("Theresultofdividing{0}by{1}is{2}.",
firstNumber,secondNumber,firstNumber/secondNumber);
Console.WriteLine("Theremainderafterdividing{0}by{1}is{2}.",
firstNumber,secondNumber,firstNumber%secondNumber);
Console.ReadLine();
}
}
}
publicclasscircle
{
publicstaticvoidMain()
{
doubleradium,delimeter,square;
constdoublepai=3.1415926;
radium=Convert.ToInt32(Console.ReadLine());
delimeter=2*pai*radium;
square=pai*pai*radium;
Console.WriteLine("delimeter={0},square={1}",delimeter,square);
Console.ReadLine();
}
}
9
usingSystem;
classStack
{
privateint[]items;
privateintcount;//定义一个指针
publicStack(intsize)
{
items=newint[size];
count=0;
}
publicvoidpush(intx)
{
items[count++]=x;
}
publicintPop()
{
returnitems[--count];
}
}
classtest
{
staticvoidMain()
{
Stacks=newStack(10);
s.push(111);
s.push(222);
Console.WriteLine(s.Pop()+s.Pop());
}
}
10
publicclassstudents
{
stringid,name;
intage;
publicstudents(stringid,stringname,intage)
{
this.id=id;
this.name=name;
this.age=age;
}
publicvoidDisplay()
{
Console.WriteLine("id={0},name={1},age={2}",id,name,age);
}
publicstaticvoidMain()
{
//stringid,name;
//intage;
studentsstu=newstudents("0001","zhangsan",16);
stu.Display();
Console.ReadLine();
}
}
11
publicclassperson
{
stringID,name;
publicvoidpersonin(stringid,stringname)
{
this.ID=id;
this.name=name;
}
publicvoiddisplayin()
{
Console.WriteLine("编号:
{0}",ID);
Console.WriteLine("名字:
{0}",name);
}
}
publicclassstudent:
person
{
stringclassname;
intgrads;
publicstudent(stringclassname,intgrads)
{
this.classname=classname;
this.grads=grads;
}
publicvoiddisplays()
{
Console.WriteLine("班级:
{0},成绩:
{1}",classname,grads);
}
}
publicclassteacher:
person
{
stringtitle,department;
publicteacher(stringtitle,stringdepartment)
{
this.title=title;
this.department=department;
}
publicvoiddisplayt()
{
Console.WriteLine("职称:
{0},部门:
:
{1}",title,department);
}
}
publicclassTester
{
staticvoidMain()
{
studentsu=newstudent("0601",69);
su.personin("s00001","Tom");
su.displayin();
su.displays();
teachertc=newteacher("lecture","IM");
tc.personin("t0001","LiLi");
tc.displayin();
tc.displayt();
Console.ReadLine();
}
}
12
usingSystem;
namespaceVariables
{
publicclassemployee
{
internalstringname,address,birthday;
publicemployee(stringname,stringaddress,stringbirthday)
{
this.name=name;
this.address=address;
this.birthday=birthday;
}
internaldoublesalary;
publicvirtualvoidSalary()
{
Console.WriteLine("foroverriding");
}
}
publicclasssenior:
employee
{
publicsenior(stringname,stringaddress,stringbirthday)
:
base(name,address,birthday)
{
Console.WriteLine("senior");
}
publicoverridevoidSalary()
{
salary=10000;
Console.WriteLine("thesalaryforsenoir{0}is{1}",name,salary);
}
}
publicclassprogrammer:
employee
{
publicprogrammer(stringname,stringaddress,stringbirthday)
:
base(name,address,birthday)
{
Console.WriteLine("programmer");
}
publicoverridevoidSalary()
{
salary=5000;
Console.WriteLine("thesalaryforprogrammeris{0}",salary);
}
}
publicclasssecretary:
employee
{
publicsecretary(stringname,stringaddress,stringbirthday)
:
base(name,address,birthday)
{
Console.WriteLine("secretary");
}
publicoverridevoidSalary()
{
salary=2000;
Console.WriteLine("thesalaryforsecretaryis{0}",salary);
}
}
publicclassdustman:
employee
{
publicdustman(stringname,stringaddress,stringbirthday)
:
base(name,address,birthday)
{
Console.WriteLine("dustman");
}
publicoverridevoidSalary()
{
salary=1000;
Console.WriteLine("{0}'sbirthdayis{1}.Asadustman,thesalaryis{2}",name,birthday,salary);
}
}
publicclassTester
{
publicstaticvoidMain()
{
employeeemp;
emp=newsenior("Jansy","zibo","1970-09-11");
emp.Salary();
emp=newdustman("Tom","zhangdian","1960-01-22");
emp.S
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C# 练习题