当前位置:文档之家› c语言基础

c语言基础

C#.NET是微软公司推出的一种类型安全、现代、简单、由C和C++衍生出来的面向对象的编程语言。

掌握C#.NET的特点、程序结构、集成开发环境、C#语言的基本知识等,是利用好C#的前提。

本章内容⏹C#概述⏹C#语言基础⏹控制结构⏹数组⏹异常处理1.1 C# 概述C#是微软公司在2000年7月发布的一种全新的简单、安全、面向对象的程序设计语言。

它是专门为.NET的应用而开发的语言。

简介1..NET定义.NET技术是微软公司推出的一个全新概念,它代表了一个集合、一个环境和一个可以作为平台支持下一代Internet的可编程结构。

.NET的目的就是将互联网作为新一代操作系统的基础,对互联网的设计思想进行扩展,使用户在任何地方、任何时间、利用任何设备都能访问所需要的信息、文件和程序。

.NET平台包括.NET框架和.NET开发工具等部分。

.NET框架(Framework)是整个开发平台的基础,包括公共语言运行库和.NET类库。

.NET开发工具包括Visual 集成开发环境和.NET编程语言。

.NET编程语言包括Visual Basic、Visual C++和新的Visual C#等用来创建运行在公共语言运行库(Common Language Run,CLR)上的应用程序。

.NET框架结构如图1-1所示。

C#程序设计与案例教程2图1-1 .NET框架结构2.公共语言运行库公共语言运行库是.NET Framework 的基础。

可以将运行库看成一个在执行时管理代码的代理,它提供核心服务(如内存管理、线程管理和远程处理),而且还强制实施严格的类型安全以及可确保安全性和可靠性的其他形式的代码准确性。

事实上,代码管理的概念是运行库的基本原则。

以运行库为目标的代码称为托管代码,而不以运行库为目标的代码称为非托管代码。

公共语言运行库管理内存、线程执行、代码执行、代码安全验证、编译以及其他系统服务。

这些功能是在公共语言运行库上运行的托管代码所固有的。

3..NET框架类库.NET Framework 类库是一个与公共语言运行库紧密集成的可重用的类型集合,是对Windows API封装的全新设计,它为开发人员提供了一个统一的、面向对象的、分层的和可扩展的庞大类库。

该类库是面向对象的,使.NET Framework 类型易于使用,而且还减少了学习.NET Framework 的新功能所需要的时间。

此外,第三方组件可与.NET Framework 中的类无缝集成。

例如,用.NET Framework 集合类实现一组可用于开发您自己的集合类的接口。

您的集合类将与.NET Framework 中的类无缝地混合。

.NET Framework 类型使您能够完成一系列常见编程任务(包括字符串管理、数据收集、数据库连接以及文件访问等任务)。

除这些常见任务之外,类库还包括支持多种专用开发方案的类型。

例如,可使用.NET Framework 开发下列类型的应用程序和服务:∙控制台应用程序。

∙Windows GUI应用程序(Windows 窗体)。

∙应用程序。

∙XML Web services。

∙Windows 服务。

例如,Windows窗体类是一组综合性的可重用类型,它们大大简化了Windows GUI 的开发。

如果要编写 Web窗体应用程序,可使用Web窗体类。

1.1.2什么是C#1.C#及其特点C#是微软公司在2000年7月发布的一种全新且简单、安全、面向对象的程序设计语第1章C#语言基础3言,是专门为.NET的应用而开发的语言。

它吸收了C++、Visual Basic、Delphi、Java等语言的优点,体现了当今最新的程序设计技术的功能和精华。

C#继承了C语言的语法风格,同时又继承了C++的面向对象特性。

不同的是,C#的对象模型已经面向Internet进行了重新设计,使用的是.NET框架的类库;C#不再提供对指针类型的支持,使得程序不能随便访问内存地址空间,从而更加健壮;C#不再支持多重继承,避免了以往类层次结构中由于多重继承带来的可怕后果。

.NET框架为C#提供了一个强大的、易用的、逻辑结构一致的程序设计环境。

同时,公共语言运行时(Common Language Runtime)为C#程序语言提供了一个托管的运行时环境,使程序比以往更加稳定、安全。

其特点有:∙语言简洁。

∙保留了C++的强大功能。

∙快速应用开发功能。

∙语言的自由性。

∙强大的Web服务器控件。

∙支持跨平台。

∙与XML相融合。

2.C#与C++的比较C#对C++进行了多处改进,主要区别如下:∙编译目标:C++代码直接编译为本地可执行代码,而C#默认编译为中间语言(IL)代码,执行时再通过Just-In-Time将需要的模块临时编译成本地代码。

∙内存管理:C++需要显式地删除动态分配给堆的内存,而C#不需要这么做,C#采用垃圾回收机制自动在合适的时机回收不再使用的内存。

∙指针:C++中大量地使用指针,而C#使用对类实例的引用,如果确实想在C#中使用指针,必须声明该内容是非安全的。

不过,一般情况下C#中没有必要使用指针。

∙字符串处理:在C#中,字符串是作为一种基本数据类型来对待的,因此比C++中对字符串的处理要简单得多。

∙库:C++依赖于以继承和模板为基础的标准库,C#则依赖于.NET基库。

∙C++允许类的多继承,而C#只允许类的单继承,而通过接口实现多继承。

在后面的学习中会发现,C#与C++相比还有很多不同和改进之处,包括一些细节上的差别,这里就不一一列举了。

3.C#与Java的比较∙C#面向对象的程度比Java高。

∙C#中的基本类型都是面向对象的。

∙C#具有比Java更强大的功能。

∙C#语言的执行速度比Java快。

1.1.3 Visual 的集成开发环境.NET开发语言都采用了统一的集成开发环境Visual 。

下面加以介绍。

C#程序设计与案例教程4(1)Visual Studio起始页启动Visual 后,首先看到一个如图1-2所示的起始页。

在起始页可以打开已有的项目或建立新的项目。

图1-2 Visual Studio起始页(2)新建Visual C#.NET项目在Visual 集成开发环境中,通过执行“文件”→“新建”→“项目”菜单命令,将会弹出“新建项目”对话框,在该对话框中,可以选择不同的编程语言来创建各种项目,这些语言将共享Visual 的集成开发环境,如图1-3所示。

图1-3 “新建项目”对话框要创建新的Visual C#.NET项目,需要在该对话框的“项目类型”窗口中选中“Visual C#项目”,在“模板”窗口中选中“Windows应用程序”。

然后在“位置”组合框中输入项目的保存位置(路径),在“名称”文本框中输入项目名称,如图1-3所示。

然后单击“确定”按钮,将会出现如图1-4所示的Visual 集成开发环境。

第1章C#语言基础5图1-4 Visual 开发环境(3)“解决方案资源管理器”窗口项目可以视为编译后的一个可执行单元,可以是应用程序、动态链接库等。

而企业级的解决方案往往需要多个可执行程序的合作,为便于管理多个项目,在Visual 集成环境中引入了解决方案资源管理器,用来对企业级解决方案设计的多个项目进行管理,如图1-5所示。

(4)“类视图”窗口“类视图”窗口以树形结构显示了当前项目中的所有类,并在类中列出成员变量和成员函数。

每一个类首先列出带紫色图标的成员函数,然后列出带有蓝色图标的成员变量。

每个成员的图标左边都有一个标志,以表示成员类型和存储类别的信息,保护类型成员图标旁边的标志为一把钥匙,私有成员的标志是一把锁,而公有成员图标旁边没有标志。

如图1-6所示。

图1-5 “解决方案资源管理器”窗口图1-6 “类视图”窗口C#程序设计与案例教程6在“类视图”窗口中双击类名,会在主工作区中打开这个类的头文件,显示出类的声明;而双击某个类的成员,则主工作区中会显示该成员的定义代码。

(5)“工具箱”窗口“工具箱”窗口包含了可重用的控件,用于定义应用程序。

使用可视化的方法编程时,可在窗体中“拖放”控件,绘制出应用程序界面。

“工具箱”中的控件分成几组,如“数据”组、“组件”组、“Windows窗体”组。

单击组名称可展开一个组。

如图1-7所示。

图1-7 “工具箱”窗口(6)“属性”窗口“属性”窗口用于设置控件的属性。

属性定义了控件的信息,如大小、位置、颜色等。

“属性”窗口左边一栏显示了控件的属性名,右边一栏显示属性的当前值。

如图1-8所示。

控件选择事件图标属性图标属性名属性值属性描述图1-8 “属性”窗口1.1.4初识C#程序C#.NET主要用于开发三类程序:控制台程序、Windows程序和程序。

C#程第1章C#语言基础7序的扩展名为.CS,使用编译器CSC.EXE可编译成可执行文件。

1.控制台程序【案例1-1】一个简单的控制台程序。

程序运行后显示“欢迎XXX进入C#世界!”,运行结果如图1-9所示。

图1-9 欢迎进入C#世界【技术要点】C#应用程序包含Main方法,它是C#应用程序执行的起点。

在该函数中通过系统类Console的方法WriteLine(),可以在屏幕上输出字符串。

【实现步骤】(1)启动Visual 。

(2)选择主菜单“文件”→“新建”→“项目”,打开“新建项目”对话框。

(3)在“新建项目”对话框中的左窗格选择“Visual C#项目”,右窗格选择“控制台应用程序”,然后指定项目名称和存放位置,单击“确定”按钮。

(4)在代码编辑窗口中可看到自动生成的程序代码框架,在Main函数中加入代码。

(5)选择主菜单“生成”→“生成Welcome”,进行编译和连接。

(6)选择“调试”→“启动”执行程序。

【程序代码】using System;namespace Welcome{///<summary>///Class1 的摘要说明///</summary>class Class1{///<summary>///应用程序的主入口点///</summary>[STAThread]static void Main(string[] args){Console.WriteLine("请输入你的名字:");string username= Console.ReadLine();Console.WriteLine("欢迎{0}进入C#世界!",username);C#程序设计与案例教程 8}}}程序中的第一行语句“using System;”的作用是导入命名空间,该语句类似于C 和C++中的#include 命令。

导入命名空间之后,就可以自由使用其中的元素了。

相关主题