版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第1章绪论本章要点通过本章的学习,使读者:
了解本课程的学习目标和技能要求了解C#发展过程及特点了解VisualC#2005开发环境了解C#程序的基本结构熟悉C#的基本输入输出
1.1C#案例程序演示1.演示程序1─—计算器程序具有加、减、乘和除四则运算的计算功能(参见第7章)。图1-1计算器程序1.1C#案例程序演示2.演示程序2─—记事本程序
具有如下功能:
(1)
文本录入、编辑、查找替换和打印等;(2)设置文本颜色和字体;(3)提供工具栏按钮人机交互;(4)状态栏上显示鼠标坐标和北京时间1.1C#案例程序演示2.演示程序2─—记事本程序
图1-2
绘图程序的运行情况1.1C#案例程序演示3.演示程序3─—时钟仿真程序
图1-3MyClock程序的运行界面
1.1C#案例程序演示4.演示程序4─—媒体播放器可以播放波形音频(WAVE)、MIDI音频和视频(AVI)三种媒体图1-4正在播放Dancing.avi视频文件的媒体播放器
1.1C++案例程序演示5.演示程序5─—学生信息管理系统具有以下功能:
记录浏览记录编辑查找记录图1-5学生信息管理系统1.1C++案例程序演示5.演示程序5─—MyQQ聊天程序具有私人/公众聊天功能。界面主窗体包含:编辑发送信息记录编辑在线聊天客户聊天室信息1.1C#案例程序演示6.演示程序6─—MyQQ聊天程序图1-6MyQQ聊天室客户端1.1C#案例程序演示6.演示程序6─—MyQQ聊天程序图1-7MyQQ聊天室服务端1.2C#简介1.2.1VisualC#.NET简介
C#是微软公司在2000年7月发布的一种全新的简单、安全、面向对象的程序设计语言。通常,我们对于C#和VisualC#.NET可以不加区分,但严格地说,两者是有区别的。C#只是一门语言或者说是一个标准,它是专门为微软的.NET平台设计的。作为VisualStdio.NET套件中的语言之一,充当了微软推行.NET战略的拳头产品。但是,难保今后不会出现其他使用C#语言的开发工具(就像有VisualC++和C++Builder一样)。VisualC#.NET则是指“C#语言+.NET框架”。
1.2C#简介1.2.2VisualC#.NET特点1.语言的变化C#是在C、C++的基础上改进而来的,作为一种全新的语言,它继承了C、C++的强大功能,同时,吸收了VisualBasic语言的简单易用特点。虽然从整体来说,它基本继承了C语言的语法风格,但还是有明显的区别和改进,具体的语言变化细节将在本书中的各处体现。2..NET框架支持VisualC#.NET完全集成了.NET框架。.NET框架封装了传统的WindowsAPI,为用户提供了全新的编程接口,并吸收了微软20世纪90年代中后期发展的各种新技术(COM+组件、ASP技术、XML支持等),为程序提供了对语言互操作性、垃圾回收、增强的安全性和改进支持。
1.2C#简介1.2.3C#与其他语言的关系
1.与C、C++的关系
C#是从C、C++语言演变改进而来的。C#基本上继承了C语言的语法风格,同时,又从C++那里继承了面向对象特性。但是,它们之间的不同点也是很明显的。主要体现有:第一,C#的对象模型已经面向Internet进行了重新的设计,使用的是.NET框架的类库,与C++的对象模型结构完全不一样。第二,C#语言不再提供对指针类型的支持,使得程序不能随便访问内存地址空间,从而更加健壮。第三,在面向对象技术方面,C#不再支持多重继承,避免了以往类层次结构中由于多重继承带来的可怕后果。相应的功能可以通过对接口的多重继承来实现。
1.2C#简介1.2.3C#与其他语言的关系
2.与Java相比较C#与Java极其相似,甚至超过了C#与C、C++的相似程度,不过,两者还是有区别的。例如,Java通过虚拟机来实现平台的可移植性,而C#则是首先被编译成一种中间语言,然后,在执行时由公共语言运行时中的即时编译器编译本机代码交由CPU处理。而且,Java虚拟机只能执行Java程序,而即时编译器能够编译任何.NET框架支持的语言(如C#、VisualBasic、J#)编写的程序。1.3开发环境第一次启动时的界面1.3开发环境启始窗体1.4简单的C#程序1.4.1创建C#程序项目创建C#控制台应用程序,操作步骤如下:(1)选择“文件”“新建”“项目”命令,打开“新建项目”对话框,如图下图所示。
1.4简单的C#程序1.4.1创建C#程序项目(2)在“新建项目”对话框中,在“项目类型”列表框选择“VisualC#”,在“模板”列表框中选择“控制台应用”选项。
(3)单击“确定”按钮,VisualStdio.NET为用户自动生成代码。
1.4简单的C#程序1.4.2编写C#程序代码【例1-1】第一个C#程序。usingSystem;usingSystem.Collections.Generic;usingSystem.Text;namespaceMyWelcome{classProgram{staticvoidMain(string[]args){//运行时在窗口中显示的字符串
Console.WriteLine("欢迎使用C#");}}}1.4简单的C#程序1.4.3编译、连接和执行程序从“生成”菜单中选择“重新生成MyWelcome”命令。这时,C#编译器将会开始编译、连接程序,并最终生成可以执行文件。在编译程序时,将会打开一个输出窗口显示编译过程中所遇到的错误和警告等信息。下图显示了在没有错误情况下编译的结果窗口。1.4简单的C#程序1.4.3编译、连接和执行程序当在编译过程中出现错误时候(为了说明出现错误的情况,在源代码中添加一行错误的语句),就会打开如下图所示“错误列表”窗口,并在其中列出编译过程中所遇到的每一个条错误,用户可以通过双“错误列表”窗口中的错误项直接跳到对应的代码行。
1.4简单的C#程序1.4.3编译、连接和执行程序使用“调试”
“开始调试”命令或者工具栏目的调试按钮或者直接按下F5键;要直接运行程序,则使用“调试”
“开始执行”命令或Ctrl+F5键。运行本例子中的程序,将显示下图所示的窗口。1.4简单的C#程序1.4.4C#程序结构分析1.命名空间C#程序是用命名空间来组织代码,要访问某个命名空间中的类或者对象,必须用如下语法:命名空间.类名由于Console类位于System命名空间中,所以实际上用户在访问Console类时,完整的写法应该是:System.Console Console,如:Console.WriteLine("欢迎");是因为在程序的第一行,使用了:usingSystem;1.4简单的C#程序1.4.4C#程序结构分析2.类C#要求程序中每一个元素都要属于一个类,程序MyWelcome第6行classProgram,声明了一个类,类的名字叫Program。这个程序的功能就是依靠它来完成,C#程序由于大括号“{”和“}”构成,程序每一对大括号“{}”构成一个块,大括号成对出现,可以嵌套,即块内可以出现子块,嵌套深度不受限制,可以嵌套任意层,但一定要保证“{”和“}”成对出现,否则,程序就是错误的。1.4简单的C#程序1.4.4C#程序结构分析3.Main()方法staticvoidMain(string[]args)这行代码所定义的其实是类Program的一个静态方法,C#规定,名字为Main()的静态方法就是程序的入口。当程序执行时候,就直接调用这个方法,这个方法包含一对大括号“{”和“}”,在这两个括号间的语句就是该方法所包含的可以执行语句,也就是该方法所要执行的功能,本例子中该方法要执行的功能就是输出“欢迎使用C#”字符串。该方法的执行从左括号“{”开始,到右括号“}”结束。1.4简单的C#程序1.4.4C#程序结构分析4.注释在C#语言中,提供两种方法注释方法:(1)每一行中“//”后面的内容作为注释内容,该方式只对本行生效;(2)需要多行注释的时候,在第一行之前使用“/*”,在末尾一行之后使用“*/”,也就是说被“/*”与“*/”所包含的内容都作为注释内容。
1.5输入/输出操作
—控制台
1.5.1Console.WriteLine()方法
WriteLine()方法的作用是将信息输出到控制台,可以采用“{N[,M][:格试化字符串]}”的形式来格式化输出字符串。(见书P16-18)【例1-2】
staticvoidMain(string[]args)//程序的入口{
inti=12345;doublej=123.45678;
Console.WriteLine("i={0,8:D}j={1,10:F3}",i,j);
Console.WriteLine("i={0,-8:D}j={1,-10:F3}",i,j);
}运行结果是: i=12345j=123.457 i=12345j=123.457
1.5输入/输出操作
1.5.2Console.Write()方法Write()方法和WriteLine()方法类似,都是将信息输出到控制台,但是输出到屏幕后并不会产生一个新行。
【例1-3】
staticvoidMain(string[]args)//程序的入口{inti=12345;doublej=123.45678;Console.Write("i={0,8:D}j={1,10:F3}",i,j);Console.Write("i={0,-8:D}j={1,-10:F3}",i,j);}运行结果是:i=12345j=123.457i=12345j=123.4571.5输入/输出操作
1.5.3Console.ReadLine()方法ReadLine()方法用来从控制台读取一行数据,但是,ReadLine()方法并不接收回车键。如果ReadLine()方法没有接收到任何输入,或者接收了无效的输入,那么ReadLine()方法将返回null【例1-4】
staticvoidMain(string[]args)//程序的入口
{ stringstr;
Console.WriteLine("请输入你的姓名:");
str=Console.ReadLine(); Console.WriteLine("{0},欢迎你!",str);
}运行结果是: 请输入你的姓名: 小李 小李,欢迎你!1.5输入/输出操作
1.5.4Console.Read()方法Read()方法的作用是从输入流(控制台)读取一个字符,Read()方法一次只能从输入流读取一个字符,并且直到用户按回车键才会返回。如果用户输入了多个字符,然后回车键(此时输入流中将包含用户输入的字符加上回车键’\r’(13)和换行符’\n’(10),则Read()方法只返回用户输入的第一个字符,但是,用户可以多次调用Read()方法来获取所有输入的字符。1.5输入/输出操作
1.5.4Console.Read()方法【例1-5】通过Console.Read()方法从控制台接收用户的输入,然后显示接收的内容.staticvoidMain(string[]args)//程序的入口
{Console.Write("请输入字符:");
inta=Console.Read()+Console.Read();
Console.WriteLine("用户输入的内容是:{0}",a);
}运行结果是:请输入字符:ASD用户输入的内容是:65 148课堂实训1.编写一个简单的C#程序,输出如下内容:
/*********************************************** *Howareyou!* ***********************************************/2.参考附录A,安装VisualStdio2005集成开发环境。3.参考附录A,安装MSDN。4.定制VisualStdio.NET的集成开发环境。习题1.下面对Read()和ReadLine()方法的描述,哪些是正确的。
A.Read()方法一次只能从输入流中读取一个字符
B.使用Read()方法读取的字符不包含回车和换行符
C.ReadLine()方法读取的字符不包含回车和换行符
D.只有当用户按下回车键时,Read()和ReadLine()方法才会返回2.下面对Write()和WriteLine()方法的描述,哪些是正确的。
A.WriteLine()方法在输出字符串的后面添加换行符
B.使用Write()方法输出字符串时,光标会位于字符串后面
C.使用Write()和WriteLine()方法输出数值变量时,必须要先把数值变量转换成字符串
D.使用不带参数的Write
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年设计顾问服务协议
- 2023年云南省中山大学选调考试真题
- 修路养殖合同范本
- 2023年石棉县考核招聘学校考试真题
- 2023年天津市河(湖)长办招聘市级社会义务监督员考试真题
- 2023年南平市市场监督管理局直属事业单位专业人员招聘考试真题
- 2023年呼伦贝尔市额尔古纳湿地自然保护区管理局引进考试真题
- 2023年达州市招聘事业单位工作人员考试真题
- 2024年安全生产培训记录表:安全管理的利器
- 2024年份品牌咨询与服务协议条款
- 生成式对抗网络课件
- 采购项目技术、服务和其他要求
- 苏教版数学二年级上册《观察物体》课件(合肥市公开课)
- 八年级历史上册材料题汇编
- 厂房压缩空气管道安装工程施工方案设计
- C#50个经典小程序(新手必备)
- 高分子物理chapter7粘弹性
- 通信工程专业英语论文
- 智能化系统安装调试测试验收的方案说明
- 工程数量控制管理办法
- 3,4-二氯苯胺的理化性质及危险特性表
评论
0/150
提交评论