《C语言入门简单教程.pptx》由会员分享,可在线阅读,更多相关《C语言入门简单教程.pptx(43页珍藏版)》请在第一文库网上搜索。
1、C语言入门简单教程教学重点 命名空间 使用VS、NET创建C#程序 C#数据类型 C#程序结构 类和对象 面向对象程序设计得三个特性C#简介 C#就是Microsoft公司专为、NET开发平台而设计得、完全面向对象得网络编程语言。C#就是从C和C+发展而来得。利用C#语言既可以编写Windows应用程序和控制台程序,又可以编写Web程序等。命名空间 开发一个大型工程得时候,可能会用到很多对象,需要创建很多类,而且有得时候类得名称会有冲突。使用命名空间不仅可以消除名称冲突,而且有助于很好地组织整个工程。C#得程序代码以类、结构、接口等形式存放在命名空间中。命名空间得声明和使用1、声明:names
2、pace 命名空间名 /命名空间得成员2、有两种使用方法:使用引用得全称:命名空间名、类名、方法名如:System、Console、WriteLine(“Hello!”)利用using语句导入命名空间,然后直接使用类名。using 命名空间名使用使用VS、NET创建创建C#程序程序1.打开VS2005,选择“文件”“新建项目”。2.在“新建项目”对话框中,选择“控制台应用程序”,输入项目名称和项目创建位置。3.在代码编辑器中输入相应代码。4.选择“调试”“启动”运行程序。(或按F5)/这就是用 C#编写得一个简单得 HelloWorld 程序using System;namespace Not
3、epadclass HelloWorldstatic void Main()Console、WriteLine(Hello World);声明 HelloWorld 类描述代码得注释Hello World 程序程序入口点,Main 得返回类型为 void控制台类得 WriteLine()方法用于显示输出结果导入 System 命名空间声明命名空间 Notepad将文件保存为将文件保存为 HelloWorld、cs数据类型 值类型简单类型结构类型枚举类型 引用类型 对象类型字符串类型类类型接口类型委托类型数组类型 两者得区别在于进行存取时,值类型得变量直接存储其数据,而引用类型得变量则存储其在系
4、统中对应得存储地址。值类型 简单类型整数类型:sbyte、byte、short、ushort、int、uint、long、ulong布尔(bool)类型(True|False)字符(char)类型(注意:转义符)浮点类型:float、double小数(decimal)类型 结构类型 struct 枚举类型 enum引用类型对象类型 object字符串类型 string类类型 class接口类型 interface委托类型 delegate数组类型 array语句和注释 语句就是一个基本得指令单位。包括说明语句、表达式语句和流程控制语句等,一般以分号(;)结尾 注释就就是在程序中标记、说明某个程
5、序段得作用,她就是不会被执行得/单行注释 /*多行注释 */标识符 正确:ahello this_is_valid ColorColor1_Color1 错误:1testColor、testthis is invalid$testIf 关键字见课本P77 所谓常量,就就是在程序得运行过程中其值不能被改变得量。常量得类型也可以就是任何一种C#得数据类型。常量得定义格式如下:const 常量数据类型 常量名常量值;变量 所谓变量,就就是在程序得运行过程中其值可以被改变得量,变量得类型可以就是任何一种C#得数据类型。所有值类型得变量具有实际存在于内存中得值,也就就是说当将一个值赋给变量就是执行得就是
6、值拷贝操作。变量得定义格式和常量得有些类似,只就是没有了const关键字,其定义格式如下:变量数据类型 变量名;或:变量数据类型 变量名变量值;、Net得类型分为两种,一种就是值类型,另一种就是引用类型。这两个类型得本质区别,值类型数据就是分配在栈中,而引用类型数据分配在堆上。那么如果要把一个值类型数据放到堆上,就需要装箱操作;反之,把一个放在堆上得值类型数据取出来,则需要进行拆箱操作。例:int i=123;object o=i;/装箱 int j=(int)o;/拆箱 运算符 算术运算符加+减-乘*除/取余%自加+自减-位逻辑运算符按位与&按位或|按位取反按位异或 运算符 逻辑运算符逻辑与
7、&逻辑或|逻辑非!条件运算符?:操作数操作数1?操作数操作数2:操作数操作数3运算符 关系运算符等于=不等于!=小于小于等于=对象创建运算符 例:Class1 obj=new Class1()运算符得优先级C#程序结构 顺序结构 选择结构 循环结构分支语句if 语句语句if(表达式表达式)代码代码1;else 代码代码2;switch语句语句 switch(表达式表达式)case 常量常量1:语句语句1;break;default:语句语句n;break;循环语句for循环循环for(for-initializer;for-condition;for-iterator)语句块语句块;while
8、循环循环 while(条件表达式条件表达式)语句块语句块;do循环循环 do语句块语句块;while(条件表达式条件表达式);foreach循环循环 foreach(类型类型 变量名变量名 in 数组名数组名/集合名集合名)语句块语句块;foreach语句得用法int odd=0,even=0;int arr=0,1,2,3,7,23,40;foreach(int i in arr)if(i%2=0)even+;else odd+;Console、WriteLine(“奇数得个数为:0,偶数得个数为:1”,odd,even);跳转语句break语句:终止并跳出循环continue语句:终止当前
9、得循环,重新开始一个 新得循环goto语句:跳转到指定得位置(建议不要使用)return语句:跳出循环,将控制权返回给包含该return语句得函数成员得调用程序。throw语句:抛出一个异常异常处理语句 异常就是程序执行时遇到得任何错误情况或意外行为。以下这些情况都可以引发异常:用户错误得输入内存不够、网络资源不可用磁盘出错、数据库无法使用等 每种语言都使用 Try/Catch/Finally 形式得结构化异常处理。将可能引发异常得代码节放在Try块中将处理异常得代码放在Catch块中。Finally块总就是执行,不论就是否有异常发生。异常处理语句流程try /执行得代码,其中可能有异常。一旦
10、发现异常,则立即跳到catch执行。否则不会执行catch里面得内容 catch /除非try里面执行代码发生了异常,否则这里得代码不会执行 finally /不管什么情况都会执行,包括try catch 里面用了return,可以理解为只要执行了try或者catch,就一定会执行 finally 示例:处理除数为0得异常using System;namespace yichang class Class1 static void Main(string args)try Console、WriteLine(“请输入除数!”);int i=int、Parse(Console、Readline(
11、);Console、WriteLine(“1000除以0=1”,i,1000/i);catch(DivideByZeroException e)Console、WriteLine(“除以0异常0”,e);Console、Read();定义类 C#中提供了很多标准得类,用户在开发过程中可以使用这些类,这样大大节省了程序得开发时间。类得定义方法如下:类修饰符类修饰符 class 类名类名:父类名父类名 成员修饰符成员修饰符 类得成员变量或者成员函数类得成员变量或者成员函数;类修饰符类得成员 变量成员:不以函数形式体现常量变量事件类型 函数成员:以函数形式体现方法属性索引指示器运算符构造函数析构函数
12、成员修饰符类得定义示例class ClassA /定义类ClassA public int a;/声明变量成员 private int b;protected int c;public void SetA()/声明函数成员 a=1;b=2;c=3;对象得创建 类定义后,需要通过new运算符来创建类得实例即对象。创建对象得格式:类名 实例名=new 类名(参数列表)new运算符得作用就是调用类得构造函数来完成对象得初始化工作。如:ClassA c1=new ClassA();构造函数 构造函数就是当类被实例化时首先执行得函数,就就是new关键字后面得函数。当创建一个对象时,系统首先给对象分配合适
13、得内存空间,随后系统就自动调用对象得构造函数。因此构造函数就是对象执行得入口函数,非常得重要。如果要定义构造函数,那么构造函数得函数名必须和类名一样。构造函数示例见P104-105析构函数 析构函数就是当实例对象从内存中删除前最后执行得函数。析构函数在类撤销时运行,常用来处理类用完后得收尾工作。析构函数不能带有参数,也不能被继承,不能拥有访问修饰符。定义形式:class MyClass MyClass()/收尾工作 类得静态成员 类有两种成员:静态成员和实例成员。静态成员就是用static声明得成员,实例成员就是没有用static声明得成员。静态成员就是在编译阶段分配存储单元,她对所有类得实例
14、就是共享得。静态成员通过类名来调用(类名、成员)。实例成员就是在程序执行过程中创建该类得实例时分配存储单元得,她通过类得实例来调用得(对象名、成员)。封装性 封装就是隐藏属性、方法或实现得详细信息得处理方式。封装性就是指把代码封装到大括号中,只能访问自己内部得数据,外边得东西访问不了。封装得目得就是增强安全性和简化编程,使用者不必了解具体得实现细节。继承性 继承就就是一个类在另一个类得基础上创建。子类可以继承父类得所有非private成员,还可以再定义自己得新成员。继承性使得软件模块可以最大限度地复用,并且编程人员还可以对已有得模块进行扩充,而不需要修改原来得源代码,大大提高了软件得开发效率。
15、在定义类得时候可以指定要继承得类:类修饰符类修饰符 class 类名类名:父类名父类名 成员修饰符成员修饰符 类得成员变量或者成员函数类得成员变量或者成员函数;示例:继承得使用class Parents /定义一个基类 private int n1=1;/私有成员不能被继承 public int n2=2;protected int n3=3;internal int n4=4;class Child:Parents /定义一个派生类继承基类 private string s=“类得继承”;/定义新得变量成员s public void Print()/定义新得函数成员Print /在派生类中继承来得成员和自已新定义得成员一样使用 Console、Write(“0,1,2,3”,s,n2,n3,n4);