C#程序的设计实验指导书和答案.docx
- 文档编号:7320991
- 上传时间:2023-05-11
- 格式:DOCX
- 页数:146
- 大小:1.27MB
C#程序的设计实验指导书和答案.docx
《C#程序的设计实验指导书和答案.docx》由会员分享,可在线阅读,更多相关《C#程序的设计实验指导书和答案.docx(146页珍藏版)》请在冰点文库上搜索。
C#程序的设计实验指导书和答案
理工大学计算机科学与技术专业C#程序设计实验指导
C#程序设计实验指导书
实验须知
1.实验前,应认真阅读实验指导书,明确实验目的、实验容和实验步骤,做好实验准备。
2.实验中,积极思考,及时记录,有疑问及时解决,当堂完成实验容和实验报告。
3.实验中严格遵守实验室管理规则,珍惜实验时间,不做与实验无关的事。
4.实验结束,按要求填写实验机器使用记录单,正确关闭实验用机,整理好键盘和椅子,值日生认真打扫实验室卫生。
任务一熟悉VS2005开发环境
实验目的
掌握VS2005开发C#应用程序的步骤
掌握VS2005调试器的使用
第一部分上机训练
1、采用VS2005编写HelloWorld应用程序
1)打开VS2005开发工具
2)在VS2005主界面下选择菜单【文件】|【新建】|【项目】
3)在新建项目对话框中选择VisualC#,模板选择控制台应用程序,给项目命名为HelloWorld,然后点“浏览”按钮,选择项目的存储目录
4)程序生成的文件如下
5)双击Program.cs,键入代码如下:
usingSystem;
usingSystem.Collections.Generic;
usingSystem.Text;
namespaceHelloWorld
{
classProgram
{
staticvoidMain(string[]args)
{
Console.WriteLine("HelloWorld");
}
}
}
6)在菜单上选择【生成】|【生成解决方案】
7)按F5或者点启动调试按钮运行程序
8)这时会发现DOS窗口一闪不见,按Ctrl+F5,或者在菜单上选择【调试】|【开始执行(不调试)】,可以解决这个问题
9)运行结果如下:
2、断点的设置与调试
1)按上述步骤创建名为BreakPoint的控制台应用程序
2)在Program.cs中输入如下代码:
usingSystem;
usingSystem.Collections.Generic;
usingSystem.Text;
namespaceBreakPoint
{
classProgram
{
staticvoidMain(string[]args)
{
inti=5;
intj=i*2;
Console.WriteLine("{0}{1}",i,j);
}
}
}
3)给intj=i*2;行设置断点,只需点左边的空白栏
4)按F5执行程序,会发现程序执行到断点处停止,移动鼠标到i和j上,观察i,j的当前值
5)选择工具栏的逐语句按钮或者按F11,单步执行程序
9)再次观察i,j的值
10)注意下面的调试监视窗口:
第二部分实战提高
请修改HelloWorld应用程序,输出自己的班级、学号、,自我介绍。
代码写在下面:
usingSystem;
usingSystem.Collections.Generic;
usingSystem.Text;
namespaceHelloWorld
{
classProgram
{
staticvoidMain(string[]args)
{
Console.WriteLine("HelloWorld");
Console.WriteLine("班级:
级网络工程班");
Console.WriteLine("学号:
");
Console.WriteLine(":
群");
Console.WriteLine("自我介绍:
");
Console.WriteLine("我来自,现就读于华侨大学计算机科学与技术学院。
");
Console.ReadKey();
}
}
}
第三部分知识总结
学生总结
请将问题答案写在下面空白处
完成上机训练模块花费的时间
10min
完成实战提高模块花费的时间
5min
本次实验对你而言的难点
断点调试
本次实验的收获
断点调试
希望老师强化讲解的知识要点
断点调试
希望老师帮助回答的问题
本次实验自评分数
(五分制)
5
教师评价
请将评语、分数等写在下面空白处
问题答疑
实验评语
实验得分
任务二掌握基本程序逻辑
实验目的
编写应用程序掌握变量、常量、枚举的使用
掌握表达式的应用
掌握分支语句的应用
第一部分上机训练
1、编写一个程序,列举班级所有班委,然后使用这个枚举
1)创建一个名位TestEnum的控制台应用程序
2)在namespaceTestEnum{和classProgram之间输入:
enum班委
{
班长,
团支书,
生活委员,
体育委员,
劳动委员,
}
注意缩进和对齐
3)在staticvoidMain(string[]args)方法中输入:
班委classTeam=班委.生活委员;
switch(classTeam)
{
case班委.班长:
Console.WriteLine("我是班长");
break;
case班委.团支书:
Console.WriteLine("我是团支书");
break;
case班委.生活委员:
Console.WriteLine("我是生活委员");
break;
case班委.体育委员:
Console.WriteLine("我是体育委员");
break;
case班委.劳动委员:
Console.WriteLine("我是劳动委员");
break;
default:
Console.WriteLine("为什么我不是班委?
");
break;
}
4)按CTRL+F5查看运行结果
2、计算圆面积,圆面积公式为Area=∏×R2,这种表示符号,在计算机中只能表示为Area=PI*R*R,在本例中,我们希望用户输入圆的半径,但是用户的输入只能是字符串,因此,这里我们要用到数制的转换,注意数制的转换方法
1)新建一个名为CircleArea的控制台应用程序
2)输入如下代码:
usingSystem;
usingSystem.Collections.Generic;
usingSystem.Text;
namespaceCircleArea
{
classProgram
{
staticvoidMain(string[]args)
{
//定义常量
constfloatPI=3.1415926f;
Console.Write("请输入圆的半径:
");
//获取用户的输入
stringinput=Console.ReadLine();
//将字符串转化为浮点数
floatradius=float.Parse(input);
//计算圆面积
floatcirclArea=radius*radius*PI;
//输出结果
Console.WriteLine("圆面积为:
{0}",circlArea);
}
}
}
3)按Ctrl+F5运行程序
4)补充:
数制的转换
将字符串转换成某种类型,只需直接写成类似int.Parse(”11”)的格式即可,如果需要实现数制之间的任意转换,则需要调用Convert.ToXXX()方法。
可以自己实践一下。
第二部分实战提高
1、编写一个程序接受用户输入的字符串。
如果输入的字母是”a”、”e”、”i”、”o”或”u”中的一个,则显示“您输入了一个元音”,否则显示“这不是一个元音”。
singSystem;
usingSystem.Collections.Generic;
usingSystem.Linq;
usingSystem.Text;
namespaceVowel
{
classProgram
{
staticvoidMain(string[]args)
{
Console.WriteLine("请输入一个英文字母:
");
stringinput=Console.ReadLine();
//chara,e,i,o,u;
if(input=="a"||input=="e"||input=="i"||input=="o"||input=="u")
Console.WriteLine("您输入了一个元音");
else
Console.WriteLine("您输入的不是一个元音");
Console.ReadKey();
}
}
}
2、人有胖瘦之分,体重过轻则为瘦,过重则为胖,那么以什么样的标准来衡量是胖还是瘦呢?
这当然必须有个参照值,这个参照值,我们就把它称之为标准体重。
目前在我国尚没有统一的标准体重数据。
除了国际流行的体重计算方法外,军事科学院还推出一计算中国人理想体重的方法:
北方人理想体重(千克)=(身高厘米-150)x0.6+50,南方人理想体重(千克)=(身高厘米-150)x0.6+48,这一计算方法,似乎比较适合南北地区中国人。
正常体重一般在标准体重+-10%以的围。
超过这一围,就可称之为异常体重。
实测体重超过标准体重,但超出部分<20%者称为超重;实测体重超过标准体重20%以上,并有脂肪百分率(F%)超过30%者则可诊断为肥胖病。
体重超过标准体重的30%一50%,F%超过35%一45%者称中度肥胖病;超过标准体重50%以上,F%超过45%以上者称为重度肥胖病。
根据以上描述,要求用户输入以下容:
1)北方人/南方人
2)身高(厘米)
3)体重(公斤)
4)脂肪百分率(F%)
根据以上公式和描述告诉客户是否超重,如果超重,再告之其是何种肥胖病
usingSystem;
usingSystem.Collections.Generic;
usingSystem.Linq;
usingSystem.Text;
namespaceWeight
{
classProgram
{
staticvoidMain(string[]args)
{
doublearea,high,weight,percent,idealweight,F;
Console.WriteLine("请输入你所属地区(北方=1/南方=2):
");
area=double.Parse(Console.ReadLine());//转换成double型
Console.WriteLine("请输入您的身高(厘米)");
high=Convert.ToDouble(Console.ReadLine());//另一个函数转换类型
Console.WriteLine("请输入您的体重(公斤)");
weight=Convert.ToDouble(Console.ReadLine());
Console.WriteLine("请输入您的脂肪百分率(F%)");
F=double.Parse(Console.ReadLine());
if(area==1)
{
idealweight=(high-150)*0.6+50;
percent=weight/idealweight;
}
else
{
idealweight=(high-150)*0.6+48;
percent=weight/idealweight;
}
if(percent<0.9)
Console.WriteLine("偏轻");
else
{
if(percent<=1.1)
Console.WriteLine("正常体重");
else
{
if(percent<=1.2)
Console.WriteLine("您超重了!
");
else
{
if(percent<=1.3)
{
Console.WriteLine("您超重了!
");
if(F>30)
Console.WriteLine("您患有肥胖病!
");
}
else
{
if(percent<=1.5)
{
Console.WriteLine("你超重了!
");
if(F>=35&&F<=45)
Console.WriteLine("您患有中度肥胖病!
");
}
else
{
Console.WriteLine("您超重了!
");
if(F>45)
Console.WriteLine("您患有重度肥胖病!
");
}
}
}
}
}
Console.ReadKey();
}
}
}
第三部分知识总结
学生总结
请将问题答案写在下面空白处
完成上机训练模块花费的时间
25min
完成实战提高模块花费的时间
50min
本次实验对你而言的难点
本次实验的收获
希望老师强化讲解的知识要点
希望老师帮助回答的问题
本次实验自评分数
(五分制)
教师评价
请将评语、分数等写在下面空白处
问题答疑
实验评语
实验得分
任务三掌握循环语句
实验目的
掌握while循环
掌握for循环
第一部分上机训练
1、实现n的阶乘
1)新建一个名为Factorial的控制台应用程序
2)输入如下代码
usingSystem;
usingSystem.Collections.Generic;
usingSystem.Text;
namespaceFactorial
{
classProgram
{
staticvoidMain(string[]args)
{
Console.Write("请输入一个正整数:
");
//接收用户输入
stringinput=Console.ReadLine();
//转化为整数
intn=int.Parse(input);
//以上代码可以合写为
//intn=int.Parse(Console.ReadLine());
inti=1;
intresult=1;
while(i<=n)
{
result=result*i;//或者写成result*=i;
i++;
}
Console.WriteLine("{0}的阶乘为{1}",n,result);
}
}
}
3)Ctrl+F5运行查看结果
2、打印9*9乘法表
1)新建一个名为MutiTable的控制台应用程序
2)输入如下代码
usingSystem;
usingSystem.Collections.Generic;
usingSystem.Text;
namespaceMultiTable
{
classProgram
{
staticvoidMain(string[]args)
{
//9行
for(inti=1;i<=9;i++)
{
//每行最多i列
for(intj=1;j<=i;j++)
{
Console.Write("{0}*{1}={2}\t",i,j,i*j);
}
//换行
Console.WriteLine();
}
}
}
}Pathlin
3)Ctrl+F5运行查看结果
第二部分实战提高
1、改写n的阶乘计算程序,改用for循环
usingSystem;
usingSystem.Collections.Generic;
usingSystem.Linq;
usingSystem.Text;
namespaceFactorial2
{
classProgram
{
staticvoidMain(string[]args)
{
Console.Write("请输入一个正整数:
");
stringinput=Console.ReadLine();
intn=int.Parse(input);
intresult=1;
for(inti=1;i<=n;i++)
{
result=result*i;
}
Console.WriteLine("{0}的阶乘为{1}",n,result);
Console.ReadKey();
}
}
}
2、打印9*9加法表
usingSystem;
usingSystem.Collections.Generic;
usingSystem.Linq;
usingSystem.Text;
namespace加法表
{
classProgram
{
staticvoidMain(string[]args)
{
//9行
for(inti=1;i<=9;i++)
{
//每行最多i列
for(intj=1;j<=i;j++)
{
Console.Write("{0}+{1}={2}\t",j,i,i+j);
}
//换行
Console.WriteLine();
}
Console.ReadKey();
}
}
}
第三部分知识总结
学生总结
请将问题答案写在下面空白处
完成上机训练模块花费的时间
完成实战提高模块花费的时间
本次实验对你而言的难点
本次实验的收获
希望老师强化讲解的知识要点
希望老师帮助回答的问题
本次实验自评分数
(五分制)
教师评价
请将评语、分数等写在下面空白处
问题答疑
实验评语
实验得分
任务四创建类与对象
实验目的
理解面向对象的概念
掌握C#创建类和对象的方法
第一部分上机训练
1、很多软件都要求我们先输入用户名和密码才能使用,最常见的例子当属Windows操作系统,制作一个类,完成系统的登录验证工作
1)新建一个名为MySoftware的控制台应用程序
2)在解决方案资源管理器中选中该项目,点鼠标右键盘,在弹出的菜单中选择【添加】|【类】
3)在弹出的对话框中将类名改为Login
4)在代码classLogin前添加public关键字
5)添加Login类的成员变量
privatestring_userName;
privatestring_password;
6)添加Login类的属性
publicstringUserName
{
get
{
returnuserName;
}
set
{
userName=value;
}
}
publicstringPassword
{
get
{
returnpassword;
}
set
{
password=value;
}
}
7)添加Login类的方法
//方法
publicboolIsValidateUser()
{
if(userName.Equals("admin")&&password.Equals("admin"))
returntrue;
else
returnfalse;
}
8)完整代码如下:
usingSystem;
usingSystem.Collections.Generic;
usingSystem.Text;
namespaceMySoftware
{
publicclassLogin
{
//私有字段
privatestringuserName;
privatestringpassword;
//属性
publicstringUserName
{
get
{
returnuserName;
}
set
{
userName=value;
}
}
publicstringPassword
{
get
{
returnpassword;
}
set
{
password=value;
}
}
//方法
publicboolIsValidateUser()
{
if(userName.Equals("admin")&&password.Equals("admin"))
returntrue;
else
returnfalse;
}
}
}
9)双击Program.cs,在Main方法中输入如下代码:
usingSystem;
usingSystem.Collections.Generic;
usingSystem.Text;
namespaceMySoftware
{
classProgram
{
staticvoidMain(string[]args)
{
LoginloginModule=newLogin();
Console.WriteLine("####################################################");
Console.WriteLine("C#之星V1.0Beata版");
Console.WriteLine("####################################################");
Console.WriteLine("");
Console.WriteLine("");
Console.Write("请输入您的用户名:
");
stringuserName=Console.ReadLine();
Console.Write("请输入您的密码:
");
stringpassword=Console.ReadLine();
loginModule.UserName=userName;
loginModule.Password=password;
if(loginModule.IsValidateUser())
Console.WriteLine("欢迎使用C#之星软件V1.0版本");
else
Cons
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C# 程序 设计 实验 指导书 答案