C#开发环境及程序设计基础.docx
- 文档编号:3184395
- 上传时间:2023-05-05
- 格式:DOCX
- 页数:38
- 大小:530.42KB
C#开发环境及程序设计基础.docx
《C#开发环境及程序设计基础.docx》由会员分享,可在线阅读,更多相关《C#开发环境及程序设计基础.docx(38页珍藏版)》请在冰点文库上搜索。
C#开发环境及程序设计基础
C#开发环境及程序设计基础
班级:
2011级计科一班
.net程序设计实验报告
2012年11月17日
学号
姓名
时间
2012年11月17日上午3-4节
专业
计算机科学与技术
班级
计科一班
实验题目:
C#开发环境及程序设计基础
实验目的:
1.掌握使用命令行开发简单的C#应用程序;
2.掌握使用VisualStudio编写控制台应用程序;
3.掌握VisualStudio环境下程序的跟踪调试;
4.了解VisualStudio在线帮助的使用;
5.掌握应用程序命令行参数的使用。
实验内容与步骤:
实验1-1:
使用命令行开发简单的C#应用程序
实验要求:
使用记事本编写“HelloWorld!
”C#应用程序,使用C#命令行编译程序csc.exe对应用程序进行编译并运行测试。
操作步骤:
(1)启动记事本,输入如下代码,并保存为F:
\C#LAB\LAB01\Hello.cs
usingSystem;
namespaceCSharpBook.LAB01
{
classHelloWorld
{
staticvoidMain()
{
System.Console.WriteLine("HelloWorld!
");
}
}
}
(2)启动VisualStudio2005命令提示并进入F:
\C#LAB\LAB01文件夹。
执行[开始]|[所有程序|MicrosoftVisualStudio2005|VisualStudioTools|[VisualStudio2005命令提示]菜单命令,进入VisualStudio2005命令提示状态。
输入命令:
F:
,并按Enter,得到下图:
输入:
CDC#LAB\LAB01,并按Enter,将当前目录切换到本实验的实验目录(如图所示):
(3)编译Hello.cs程序。
在F:
\C#LAB\LAB01命令提示状态下,输入命令:
cscHello.cs,按Enter,编译Hello.cs程序(如图所示):
(4)运行Hello.exe程序。
在F:
\C#LAB\LAB01命令提示状态下,输入命令:
Hello,并按Enter键,运行Hello.exe程序,如下图:
实验1—2:
VisualStudio的基本使用
实验要求:
使用VisualStudio编写控制台应用程序HelloConsole.根据命令行参数,(如Kitty),输出“你好!
Kitty”。
操作步骤:
(1)打开VisualStudio2008。
执行【开始】|【所有程序】|MirosoftVisualStudio2005|MirosoftVisualStudio2005菜单命令,打开VisualStudio2005。
(2)创建控制台应用程序HelloConsole。
通过菜单命令【新建】|【项目】,打开【新建项目】对话框,选择VisualC#项目类型,并选择其中的“控制台应用程序”模板,在【名称】处输入文件的名称:
HelloConsole;单击【浏览】按钮,在弹出的【位置】下拉列表中选择F:
\C#LAB\LAB02文件夹,单击“确定”,创建控制台用用程序解决方案和项目(如图所示):
(3)输入处理程序。
在Program.cs的Main()方法中添加如下粗体代码:
staticvoidMain(string[]args)
{
if(args.Length==0)
{
Console.WriteLine("请输入您的姓名作为参数!
");
}
else
{
Console.WriteLine("您好!
"+args[0]);
}
Console.ReadKey();
}
(4)编译运行。
按F5或单击工具栏上的【启动调试】按钮
运行并测试该应用程序。
运行效果如下图:
提示用户输入姓名作为参数。
(5)在VisualStudio2005环境中输入命令行参数并调试运行。
鼠标右击解决方案资源管理器的项目HelloConsole,执行相应快捷菜单中的【属性】命令,单击左列的【调试】项,在【启动选项】的【命令参数】中输入Kitty(如图)
单击设置窗口右上角的关闭按钮,关闭属性设置。
按F5键再次运行并测试应用程序。
运行效果如下图:
实验1-3VisualStudio环境下程序的跟踪调试。
实验要求:
熟悉VisualStudio环境下程序的跟踪调试功能,包括设置断点并进行跟踪调试等。
步骤:
(1)打开VisualStudio2005.
(2)在F:
\C#LAB\LAB03中创建控制台应用程序TraceDebug.
(3)输入处理程序。
在Program.cs的Main()方法中添加如下粗体代码
inta=20
intb=5
intc=100/a+b
Console.WriteLine(c)
Console.ReadKey()
(4)编译程序。
执行【生成】|【生成解决方案】菜单命令或者按F6编译程序。
【错误列表】窗口将会列出5个错误信息,表明源代码中第12-16行缺少“;”,如图:
(5).修正编译错误。
一次双击【错误列表】窗口中所列出的错误信息,光标将会自动定位到出错的行列位置,依次输入:
“;”,改正5个编译错误。
(6).重新编译程序。
按F6键编译程序,如果程序完全正确,VisualStudio窗口底部的状态栏左侧将显示“生成成功”的提示信息。
(7).修正第二类编译程序。
故意删除Promgram.cs第一行的:
“usingSystem”语句。
按F6键编译程序。
如下图:
双击【错误列表】窗口中的第一行的错误信息,光标将会自动定到出错的行列位置,右击Console,执行相应的快捷菜单的【解析】|usingSystem;命令,系统将自动在Program.cs中添加导入名称空间的语句:
“usingSystem;”,改正第二类编译错误。
(8)编译运行。
按F5键运行测试该应用程序。
运行结果为:
(9).运行时错误。
故意将Promgram.cs的Main()方法中的“inta=20;”改为“inta=0;”.按F5键运行测试该应用程序。
编译通过,但是将出现如下图所示的运行错误。
关闭当前运行窗口,再将“inta=0;”改回“inta=20;”。
按F5键运行测试该应用程序,再次得到正确的运行结果:
10.
(10)设置断点。
假设本程序其实就是计算“100/(a+b)”而不是程序设计时的“100/a+b”,这将是一个逻辑错误。
可以借助设置断点查看变量的中间结果加以调试解决。
在“inta=20;”所在行的左侧断点区域单击鼠标,在设置断点的位置会出现一个红点,如图:
(11).启动调试。
按F5键启动调试,调试器将在断点处停止并获得当前窗口焦点。
(12)单步执行。
从断点处,可以通过调试工具栏的逐语句执行,单步运行调试程序。
通过【调试】|【窗口】|【局部变量】菜单命令打开的【局部变量】调试窗口,查看局部变量a,b,c在运行过程中值的变化,如下图:
(13).删除断点并修正逻辑错误。
单击调试工具栏的【停止调试】按钮,停止调试,将“intc=100/a+b;”
改为“int/(a+b);”。
在“inta=20;”所在行的左侧断点区域再次单击鼠标,删除断点。
按F5键运行测试该应用程序,得到正确的运行结果:
4.
实验1-4VisualStudio在线帮助的使用
实验要求:
使用VisualStudio在线帮助功能。
操作步骤:
(1)打开实验1-2的解决方案。
执行【文件】|【打开】|【项目、解决方案】菜单命令,在随后的【打开项目】对话框中,选择F:
\C#LAB\LAB03\HelloConsole.sln解决方案文件,打开实验1-2的解决方案。
(2)使用上下文帮助。
鼠标定位到要获得帮助的对象,例如在关键字WriteLine中安F1键,打开帮助窗口,显示WriteLine的帮助信息。
(3)使用动态帮助。
执行【窗口】|【动态帮助】菜单命令,打开【动态帮助】窗口。
鼠标定位到Program.cs中要获得帮助的对象,例如关键字WriteLine中,在【动态帮助】窗口将显示相关的帮助信息条目。
单击帮助信息条目,将打开帮助窗口并显示具体的帮助信息。
(4)使用索引。
在VisualStudio中安F1键,打开帮助窗口,执行【帮助】|【索引】菜单命令,或者单击【帮助】窗口左下角的【索引】选项卡,在【查找】框中输入要搜索的关键字并按Enter键,可以显示与关键字相对应的主题,或显示【搜索结果】列表(如果有多个主题使用同一关键字)。
从可用搜索词列表中选择一个词,然后按Enter键或双击该词查看帮助文档内容。
(5)通过目录查看帮助信息。
在VisualStudio中按F1键,打开帮助窗口,执行【帮助】|【目录】菜单那命令,或者单击【帮助】窗口左下角的【目录】选项卡,帮助窗口的【目录】窗口中将显示包含帮助集合中所有主题的可扩展列表。
通过单击节点左边的加号(+)展开节点,点击减号(-)折叠节点,选择一个主题查看文档内容。
也可以在目录中上下移动箭头键展开目录节点,然后按Enter键显示主题。
实验1-5创建控制台应用程序ConsoleClass
实验要求:
使用VisualStudio2005编写控制台应用程序ConsoleClass,实现类和对象示例程序,输出平面上点的坐标值。
运行效果如图:
程序代码如下:
usingSystem;
usingSystem.Collections.Generic;
usingSystem.Linq;
usingSystem.Text;
namespaceConsoleClass
{
publicclassPoint//定义平面点坐标
{
publicintx,y;
publicPoint(intx,inty)
{
this.x=x;
this.y=y;
}
}
classPointTest
{
staticvoidMain(string[]args)
{
Pointp1=newPoint(0,0);
Pointp2=newPoint(10,20);
Console.WriteLine("两个点的坐标分别为:
");
Console.WriteLine("p1:
x="+p1.x+",y="+p1.y);
Console.WriteLine("p2:
x="+p2.x+",y="+p2.y);
Console.ReadKey();
}
}
}
实验1-6创建控制台应用程序ConsoleArgs
实验要求:
使用VisualStudio2008编写控制台应用程序ConsoleArgs,实现课本1.10命令行参数示例程序,输出命令行参数个数以及各个参数内容.运行效果如图:
程序代码:
usingSystem;
usingSystem.Collections.Generic;
usingSystem.Linq;
usingSystem.Text;
namespaceConsoleArgs
{
classCommandLine
{
staticvoidMain(string[]args)
{//输出参数个数
Console.WriteLine("参数个数={0}",args.Length);
for(inti=0;i { Console.WriteLine("Arg[{0}]=[{1}]",i,args[i]); } //使用foreach语句输出各个参数值 foreach(stringsinargs) { Console.WriteLine(s); } Console.ReadLine(); } } } 在VisualStudio2005环境中输入命令行参数并调试运行。 鼠标右键解决方案资源管理器的项目HelloConsole,执行相应快捷菜单中的【属性】命令,单击左列的【调试】项,在【启动选项】的【命令参数】中输入onetwo,单击设置窗口右上角的关闭按钮,关闭属性设置,按F5,运行结果如图: 在【启动选项】的【命令参数】中输入“ONETWO”THREE,单击设置窗口右上角的关闭按钮,关闭属性设置,按F5,运行结果如图: 在【启动选项】的【命令参数】中输入ABC,单击设置窗口右上角的关闭按钮,关闭属性设置,按F5,运行结果如图: 实验2-1常量、变量、运算符、表达式和赋值语句的使用 实验要求: 输入半径,求对应的圆的周长、面积;对应的球体的体积。 程序代码: usingSystem; usingSystem.Collections.Generic; usingSystem.Linq; usingSystem.Text; namespace_2_1 { classProgram { staticvoidMain(string[]args) { constdoublePI=3.14159; doubler,perimeter,area,volume; Console.Write("请输入半径: "); Strings=Console.ReadLine(); r=double.Parse(s); Console.Write("圆的半径为={0}\n",r); perimeter=2*PI*r; area=PI*r*r; volume=4/3*PI*Math.Pow(r,3); Console.Write("圆的周长={0},圆的面积={0}\n",perimeter,area); Console.WriteLine("球的体积={0}",volume); Console.ReadLine(); } } } 运行结果如下: (当输入半径为6时) 实验2-2求三角形的周长和面积 实验要求: 输入三角形的在条边,先判断是否可以构成三角形,如果可以,则求三角形的的周长和面积,否则报错。 程序代码: usingSystem; usingSystem.Collections.Generic; usingSystem.Linq; usingSystem.Text; namespace_2_2 { classProgram { staticvoidMain(string[]args) { doublea,b,c,p,h,area; Console.Write("请输入三角形的边A: "); Strings=Console.ReadLine(); a=double.Parse(s); Console.Write("请输入三角形的边B: "); s=Console.ReadLine(); b=double.Parse(s); Console.Write("请输入三角形的边C: "); s=Console.ReadLine(); c=double.Parse(s); if(a>0&&b>0&&c>0&&a+b>c&&a+c>b&&b+c>a) { Console.WriteLine("三角形的三边分别为: a={0},b={1},c={2}",a,b,c); p=a+b+c; h=p/2; area=Math.Sqrt(h*(h-a)*(h-b)*(h-c)); Console.WriteLine("三角形的周长={0},面积={1}",p,area); } elseConsole.WriteLine("无法构成三角形! "); Console.ReadKey(); } } } 运行结果如下所示: 实验2-3分段函数的实现 实验要求: 输入X根据如下公式,计算分段函数Y的值。 要求参照课本上例4.3,分别用“一句单分支语句”、“两句单分支语句”、“双分支结构”、“条件运算符”4种方法实现。 函数方程: Y=X^2-3X/(X+1)(X>=0) Y=ln(-5X)+6sprt(|X|+e^4)-(X+1)^3X<0. 程序代码: usingSystem; usingSystem.Collections.Generic; usingSystem.Linq; usingSystem.Text; namespace_2_3 { classProgram { staticvoidMain(string[]args) { doublex,y; Console.Write("请输入: "); Strings=Console.ReadLine(); x=double.Parse(s); //方法一: 利用“一句单分支语句”实现 y=(x*x-3*x)/(x+1)+2*Math.PI+Math.Sin(x); if(x<0) y=Math.Log(-5*x)+6*Math.Sqrt(Math.Abs(x)+Math.Pow(Math.E,4))-Math.Pow(x+1,3); Console.WriteLine("方法一;x={0},y={1}",x,y); //方法二: 利用“两句单分支语句”实现 if(x>=0) y=(x*x-3*x)/(x+1)+2*Math.PI+Math.Sin(x); if(x<0) y=Math.Log(-5*x)+6*Math.Sqrt(Math.Abs(x)+Math.Pow(Math.E,4))-Math.Pow(x+1,3); Console.WriteLine("方法二;x={0},y={1}",x,y); //方法三: 利用“双分支语句”实现 if(x>=0) y=(x*x-3*x)/(x+1)+2*Math.PI+Math.Sin(x); else y=Math.Log(-5*x)+6*Math.Sqrt(Math.Abs(x)+Math.Pow(Math.E,4))-Math.Pow(x+1,3); Console.WriteLine("方法三;x={0},y={1}",x,y); //方法四: 利用“条件运算符”实现 y=(x>=0)? (x*x-3*x)/(x+1)+2*Math.PI+Math.Sin(x): Math.Log(-5*x)+6*Math.Sqrt(Math.Abs(x)+Math.Pow(Math.E,4))-Math.Pow(x+1,3); Console.WriteLine("方法四;x={0},y={1}",x,y); Console.ReadKey(); } } } 运行结果如图所示: 实验2-4三个数比较大小 实验要求: 产生三个0~100之间(包括0和100)的随机数A,B,C,按从大到小的顺序排序。 程序代码: usingSystem; usingSystem.Collections.Generic; usingSystem.Linq; usingSystem.Text; namespace_2_4 { classProgram { staticvoidMain(string[]args) { inta,b,c,a1,b1,c1,t,Nmax,Nmin,Nmid; RandomrNum=newRandom(); a=rNum.Next(101); b=rNum.Next(101); c=rNum.Next(101); Console.WriteLine("原始值: a={0},b={1},c={2}",a,b,c); a1=a;b1=b;c1=c; //方法一: 先a和b比较,使得a if(a>b) { t=a;a=b;b=t; } if(a>c) { t=a;a=c;c=t; } if(b>c) { t=b;b=c;c=t; } Console.WriteLine("(方法一)升序值: a={0},b={1},c={2}",a,b,c); a=a1;b=b1;c=c1; //方法二: 利用Max函数和Min函数求a,b,c三个数中最大数,最小数,而三个数之和减去最大数和最小数就是中间数 Nmax=Math.Max(Math.Max(a,b),c); Nmin=Math.Min(Math.Min(a,b),c); Nmid=a+b+c-Nmax-Nmin; a=Nmin; b=Nmid; c=Nmax; Console.WriteLine("(方法二)升序值: a={0},b={1},c={2}",a,b,c); Console.ReadKey(); } } } 运行结果如下所示: 实验2-5求一元二次方程 实验要求: 输入地元二次方程的3个系数A,B,C,求a*x^2+b*x+c=0方程的解。 程序代码如下: usingSystem; usingSystem.Collections.Generic; usingSystem.Linq; usingSystem.Text; namespace_2_5 { classProgram { staticvoidMain(string[]args) { doublea,b,c,delta,x1,x2,realPart,imagPart; Console.Write("请输入系数a: "); Strings=Console.ReadLine(); a=double.Parse(s); Console.Write("请输入系数b: "); s=Console.ReadLine(); b=double.Parse(s); Console.Write("请输入系数c: ");
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C# 开发 环境 程序设计 基础