ImageVerifierCode 换一换
格式:DOCX , 页数:53 ,大小:54.21KB ,
资源ID:21722947      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/21722947.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(C语言 入门资料编程入门1Word文件下载.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

C语言 入门资料编程入门1Word文件下载.docx

1、 版本支持:系统中的组件或动态联接库可能要升级,由于这些组件或动态联接库都要在注册表中注册,由此可能带来一系列问题,例如,安装新程序时自动安装新组件替换旧组件,有可能使某些必须使用旧组件才可以运行的程序,使用新组件运行不了。在.NET中这些组件或动态联接库不必在注册表中注册,每个程序都可以使用自带的组件或动态联接库,只要把这些组件或动态联接库放到运行程序所在文件夹的子文件夹bin中,运行程序就自动使用在bin文件夹中的组件或动态联接库。由于不需要在注册表中注册,软件的安装也变得容易了,一般将运行程序及库文件拷贝到指定文件夹中就可以了。 完全面向对象:不象C+语言,即支持面向过程程序设计,又支持

2、面向对象程序设计,C#语言是完全面向对象的,在C#中不再存在全局函数、全区变量,所有的函数、变量和常量都必须定义在类中,避免了命名冲突。C#语言不支持多重继承。1.2 编写控制台应用程序1.2.1 使用SDK命令行工具编写控制台程序第一个程序总是非常简单的,程序首先让用户通过键盘输入自己的名字,然后程序在屏幕上打印一条欢迎信息。程序的代码是这样的:using System;/导入命名空间。/为C#语言新增解释方法,解释到本行结束class Welcome/类定义,类的概念见下一节 /*解释开始,和C语言解释用法相同解释结束*/static void Main()/主程序,程序入口函数,必须在一

3、个类中定义 Console.WriteLine(请键入你的姓名:);/控制台输出字符串Console.ReadLine();/从键盘读入数据,输入回车结束Console.WriteLine(欢迎!可以用任意一种文本编辑软件完成上述代码的编写,然后把文件存盘,假设文件名叫做welcome.cs,C#源文件是以cs作为文件的扩展名。和C语言相同,C#语言是区分大小写的。高级语言总是依赖于许多在程序外部预定义的变量和函数。在C或C+中这些定义一般放到头文件中,用#include语句来导入这个头文件。而在C#语言中使用using语句导入名字空间,using System语句意义是导入System名字空

4、间,C#中的using语句的用途与C+中#include语句的用途基本类似,用于导入预定义的变量和函数,这样在自己的程序中就可以自由地使用这些变量和函数。如果没有导入名字空间的话我们该怎么办呢?程序还能保持正确吗?答案是肯定的,那样的话我们就必须把代码改写成下面的样子:class Welcome static void Main() System.Console.WriteLine(System.Console.ReadLine();System.Console.WriteLine(也就是在每个Console前加上一个前缀System.,这个小原点表示Console是作为System的成员而存

5、在的。C#中抛弃了C和C+中繁杂且极易出错的操作符象:和-等,C#中的复合名字一律通过.来连接。System是.Net平台框架提供的最基本的名字空间之一,有关名字空间的详细使用方法将在以后详细介绍,这里只要学会怎样导入名字空间就足够了。程序的第二行class Welcome声明了一个类,类的名字叫做Welcome。C#程序中每个变量或函数都必须属于一个类,包括主函数Main(),不能象C或C+那样建立全局变量。C#语言程序总是从Main()方法开始执行,一个程序中不允许出现两个或两个以上的Main()方法。请牢记C#中Main()方法必须被包含在一个类中,Main第一个字母必须大写,必须是一个

6、静态方法,也就是Main()方法必须使用static修饰。static void Main()是类Welcome中定义的主函数。静态方法意义见以后章节。程序所完成的输入输出功能是通过Console类来完成的,Console是在名字空间System中已经定义好的一个类。Console类有两个最基本的方法WriteLine和ReadLine。ReadLine表示从输入设备输入数据,WriteLine则用于在输出设备上输出数据。如果在电脑上安装了Visual Studio.Net,则可以在集成开发环境中直接选择快捷键或菜单命令编译并执行源文件。如果您不具备这个条件,那么至少需要安装Microsoft

7、.Net Framework SDK,这样才能够运行C#语言程序。Microsoft.Net Framework SDK中内置了C#的编译器csc.exe,下面让我们使用这个微软提供的命令行编译器对程序welcome.cs进行编译。假设已经将welcome.cs文件保存在d:Charp目录下,启动命令行提示符,在屏幕上输入一行命令:d:回车,cd Charp回车,键入命令:C:WINNTMicrosoft.NETFrameworkv1.0.3705csc welcome.cs如果一切正常welcome.cs文件将被编译,编译后生成可执行文件Welcome.exe。可以在命令提示符窗口运行可执行

8、文件Welcome.exe,屏幕上出现一行字符提示您输入姓名:输入任意字符并按下回车键,屏幕将打印出欢迎信息:注意,和我们使用过的绝大多数编译器不同,在C#中编译器只执行编译这个过程,而在C和C+中要经过编译和链接两个阶段。换而言之C#源文件并不被编译为目标文件.obj,而是直接生成可执行文件.exe或动态链接库.dll,C#编译器中不需要包含链接器。1.2.1 使用Visual Studio.Net建立控制台程序(1) 运行Visual Studio.Net程序,出现如图1.2.2A界面。(2) 单击新建项目按钮,出现如图1.2.2B对话框。在项目类型(P)编辑框中选择Visual C#项目

9、,在模板(T)编辑框中选择控制台应用程序,在名称(N)编辑框中键入e1,在位置(L)编辑框中键入D:csarp,必须预先创建文件夹D:csarp。也可以单击浏览按钮,在打开文件对话框中选择文件夹。单击确定按钮,创建项目。出现如图1.2.2C界面。编写一个应用程序,可能包含多个文件,才能生成可执行文件,所有这些文件的集合叫做一个项目。(3) 修改class1.cs文件如下,有阴影部分是新增加的语句,其余是集成环境自动生成的。namespace e1 / / Class1 的摘要说明。/summary class Class1 / 符号。1.3.4 类的构造函数和析构函数在建立类的对象时,需做一些

10、初始化工作,例如对数据成员初始化。这些可以用构造函数来完成。每当用new生成类的对象时,自动调用类的构造函数。因此,可以把初始化的工作放到构造函数中完成。构造函数和类名相同,没有返回值。例如可以定义Person类的构造函数如下:public Person(string Name,int Age)/类的构造函数,函数名和类同名,无返回值。 name=Name;age=Age;当用Person OnePerson=new Person(“张五”,20)语句生成Person类对象时,将自动调用以上构造函数。请注意如何把参数传递给构造函数。变量和类的对象都有生命周期,生命周期结束,这些变量和对象就要被

11、撤销。类的对象被撤销时,将自动调用析构函数。一些善后工作可放在析构函数中完成。析构函数的名字为类名,无返回类型,也无参数。Person类的析构函数为 Person()。C#中类析构函数不能显示地被调用,它是被垃圾收集器撤销不被使用的对象时自动调用的。1.3.5 类的构造函数的重载在C#语言中,同一个类中的函数,如果函数名相同,而参数类型或个数不同,认为是不同的函数,这叫函数重载。仅返回值不同,不能看作不同的函数。这样,可以在类定义中,定义多个构造函数,名字相同,参数类型或个数不同。根据生成类的对象方法不同,调用不同的构造函数。例如可以定义Person类没有参数的构造函数如下:public Pe

12、rson()/类的构造函数,函数名和类同名,无返回值。 name=age=12;用语句Person OnePerson=new Person(李四,30)生成对象时,将调用有参数的构造函数,而用语句Person OnePerson=new Person()生成对象时,调用无参数的构造函数。由于析构函数无参数,因此,析构函数不能重载。1.3.6 使用Person类的完整的例子下边用一个完整的例子说明Person类的使用:(VisualStudio.Net编译通过)namespace e1/定义以下代码所属命名空间,意义见以后章节 class Person private String name=

13、public void SetName(string PersonName)/指定修改姓名的方法(函数)public void SetAge(int PersonAge)/指定修改年龄的方法(函数)public Person(string Name,int Age)/构造函数,函数名和类同名,无返回值public Person()/类的构造函数重载田七class Class1 static void Main(string args) Person OnePerson=new Person(,30);/生成类的对象OnePerson.Display();/下句错误,在其它类(Class1类)中

14、,不能直接修改Person类中的私有成员。/OnePerson.name=王五/只能通过Person类中公有方法SetName修改Person类中的私有成员name。OnePerson.SetName(OnePerson.SetAge(40);OnePerson=new Person();键入CTRL+F5运行后,显示的效果是: 李四,年龄:30 王五,年龄:40 田七,年龄:121.4 C#的数据类型从大的方面来分,C#语言的数据类型可以分为三种:值类型,引用类型,指针类型,指针类型仅用于非安全代码中。本节重点讨论值类型和引用类型。1.4.1 值类型和引用类型区别在C#语言中,值类型变量存储

15、的是数据类型所代表的实际数据,值类型变量的值(或实例)存储在栈(Stack)中,赋值语句是传递变量的值。引用类型(例如类就是引用类型)的实例,也叫对象,不存在栈中,而存储在可管理堆(Managed Heap)中,堆实际上是计算机系统中的空闲内存。引用类型变量的值存储在栈(Stack)中,但存储的不是引用类型对象,而是存储引用类型对象的引用,即地址,和指针所代表的地址不同,引用所代表的地址不能被修改,也不能转换为其它类型地址,它是引用型变量,只能引用指定类对象,引用类型变量赋值语句是传递对象的地址。见下例:class MyClass/类为引用类型 public int a=0;class Tes

16、t f1();static public void f1() int v1=1;/值类型变量v1,其值1存储在栈(Stack)中int v2=v1;/将v1的值(为1)传递给v2,v2=1,v1值不变。v2=2;/v2=2,v1值不变。MyClass r1=new MyClass();/引用变量r1存储MyClass类对象的地址MyClass r2=r1;/r1和r2都代表是同一个MyClass类对象r2.a=2;/和语句r1.a=2等价存储在栈中的变量,当其生命周期结束,自动被撤销,例如,v1存储在栈中,v1和函数f1同生命周期,退出函数f1,v1不存在了。但在堆中的对象不能自动被撤销。因此

17、C和C+语言,在堆中建立的对象,不使用时必须用语句释放对象占用的存储空间。.NET系统CLR内建垃圾收集器,当对象的引用变量被撤销,表示对象的生命周期结束,垃圾收集器负责收回不被使用的对象占用的存储空间。例如,上例中引用变量r1及r2是MyClass类对象的引用,存储在栈中,退出函数f1,r1和r2都不存在了,在堆中的MyClass类对象也就被垃圾收集器撤销。1.4.2 值类型变量分类C#语言值类型可以分为以下几种: 简单类型(Simple types)简单类型中包括:数值类型和布尔类型(bool)。数值类型又细分为:整数类型、字符类型(char)、浮点数类型和十进制类型(decimal)。

18、结构类型(Struct types) 枚举类型(Enumeration types)C#语言值类型变量无论如何定义,总是值类型变量,不会变为引用类型变量。1.4.3 结构类型结构类型和类一样,可以声明构造函数、数据成员、方法、属性等。结构和类的最根本的区别是结构是值类型,类是引用类型。和类不同,结构不能从另外一个结构或者类派生,本身也不能被继承,因此不能定义抽象结构,结构成员也不能被访问权限控制字protected修饰,也不能用virtual和abstract修饰结构方法。在结构中不能定义析构函数。虽然结构不能从类和结构派生,可是结构能够继承接口,结构继承接口的方法和类继承接口的方法基本一致。下面例子定义一个点结构point:struct point/结构定义 public int x,y;/结构中也可以声明构造函数和方法,变量不能赋初值 point P1;P1.x=166;P1.y=111;point P2;P2=P1;/值传递,使P2.x=166,P2.y=111point P3=new point();/用new生成结构变量P3,P3仍为值类型变量/用new生成结构变量P3仅表示调用默认构造函数,使x=y=0。1.4.4 简

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1