《C基础语法》课件.ppt

上传人(卖家):晟晟文业 文档编号:4992668 上传时间:2023-01-31 格式:PPT 页数:66 大小:273KB
下载 相关 举报
《C基础语法》课件.ppt_第1页
第1页 / 共66页
《C基础语法》课件.ppt_第2页
第2页 / 共66页
《C基础语法》课件.ppt_第3页
第3页 / 共66页
《C基础语法》课件.ppt_第4页
第4页 / 共66页
《C基础语法》课件.ppt_第5页
第5页 / 共66页
点击查看更多>>
资源描述

1、a1C#C#基础知识一基础知识一西源软件培训中心西源软件培训中心a2目标目标u了解C#概述u讲解”Hello World”程序u掌握数据类型u掌握变量和参数a3C#概述u“威力越强的语言越难掌握,越容易的威力越强的语言越难掌握,越容易的语言功能就越薄弱语言功能就越薄弱”,这句话道出了,这句话道出了C+和和Visual Basic的困境,也因的困境,也因為為如如此,微软开发了下一世代的程式语言此,微软开发了下一世代的程式语言C#,兼具了兼具了“好用好用”与与“强大功能强大功能”。a4C#语言的优点u对于XML和Web Service等网络应用程式提供完整的支援。u.NET Framework提供

2、完整的函数库,对于窗体程序的开发相当便捷。u语法类似于Java和C+语言的结合,以物件导向为基础的程式語言。u程序开发十分便捷 1.语法高度相容于C+和Java,并移出复杂的語法架构,降低学习障碍。2.采用记忆体管理(Memory Management)以垃圾回收(Garbage Collection)机制。u支持跨平台。1.在支援.NET平台的环境下皆可执行。a5C#C#语言特点语言特点u简单易学:与C/C+比较起来,C#是一种简单的语言。例如在C#语言中没有指标,所有与记忆体相关的控制行為,C#都会自动帮程式设计处理。u先进:由于C#语言与其他主流语言比较起来,研发时间较晚,因此佔有技术上

3、的优势,例如异常处理(Exception)与记忆体自动管理等技术,都比C+或Java语言来得先进。u组件、元件导向语言:C#是组件导向的程式语言,更是元件导向式的语言,对于开发大型程式、视窗程序,或是网路程序皆游刃有余。(注:软件业中的元件这个词,通常是指以标准化方式)u高度整合性:可以轻易的将C#与其他语言所写成的程式进行整合,例如C/C+、VB等等。a6C#语言与C/C+/Java区别u基本语法相似u安全检查机制u指针-地址传递u数组的使用a7基本语法相似u对于资料处理、逻辑判断、程式流程等基本的程式操作方式,C#C/C+/Java都具有高度的程式语法相容性。变量变量:整数:int浮点数:

4、float,double字符:char空类型:void布尔类型:bool(int)字符串:char*(string)int var1=20;bool ans=1;char name =“kavin”;C/C+JavaC#整数:int浮点数:float,double字符:char空类型:void布尔类型:boolean字符串:String int var1=20;boolean ans=true;String name=“kavin”;整数:int浮点数:float,double字符:char空类型:void布尔类型:bool字符串:string int var1=20;bool ans=tru

5、e;string name=“kavin”;流程控制流程控制:循环:for,while,do条件判断:if,if-else,switchbool flag=true;int array5=1,2,3,4,5;if(flag=true)for(int a=0;a5;a+)arraya=arraya+1;C/C+JavaC#循环:for,while,do条件判断:if,if-else,switchboolean flag=true;int array=1,2,3,4,5;if(flag=true)for(int a=0;a5;a+)arraya=arraya+1;循环:for,while,do,f

6、oreach条件判断:if,if-else,switchbool flag=true;int array=new int 5 1,2,3,4,5;if(flag=true)foreach(int a in array)a=a+1;a8基本语法相似u利用C+与C#两种语言来打印出九九乘法表。using System;namespace NineNine class Class1 static void Main(string args)for(int a=1;a10;a+)for(int b=1;b10;b+)Console.Write(0*1=2,a,b,a*b);Console.Write(

7、n);#include using namespace std;void main()for(int a=1;a10;a+)for(int b=1;b10;b+)cout a *b =a*b ;cout endl;a9安全检查机制uC#会自动将程式中的资料做检查及适当的转换,大幅降低程序执行出错的机会,并减轻C#软件工程师的负担。int a;a=a+1;int a=2003;byte b=(byte)a;安全检查机制可以检测安全检查机制可以检测出出C#程式中使用到未程式中使用到未初始化变数的情况,并初始化变数的情况,并于编译程式码时指出错于编译程式码时指出错误地点。误地点。变量变量a虽然经过声

8、明虽然经过声明,但是并没有初始化,但是并没有初始化,因此会发生逻辑错误。因此会发生逻辑错误。由于变量由于变量a超出了超出了byte型别可接受的范围,因型别可接受的范围,因此我们可以在此我们可以在C#的程的程式码捕捉这个例外错误式码捕捉这个例外错误来进行处理。来进行处理。Int整数变量整数变量a可表示的可表示的数值大于数值大于byte的变量,的变量,因此在转换的时候会发因此在转换的时候会发生程式执行错误。生程式执行错误。a10指针-地址传递uC#语言并无指针的设计,但其依然保有类似指针语法,下面我们透过简单的程序范例,来比较C+与C#语言对于指针应用上的差别。using System;names

9、pace CallSwap class Class1 static void Main(string args)int a=10;int b=20;Console.WriteLine(Before:a=0,b=1,a,b);swap(ref a,ref b);Console.WriteLine(After:a=0,b=1,a,b);static void swap(ref int a,ref int b)int temp=a;a=b;b=temp;#include using namespace std;void swap(int*a,int*b)int temp=*a;*a=*b;*b=te

10、mp;void main()int a=10;int b=20;cout Before:a=a b=b endl;swap(&a,&b);cout After:a=a b=b endl;a11数组的使用uC#中的数组是一种特别的数据类型,而在C/C+语言中,数组是指针的一种使用特例。using System;namespace DoubleMatrix class Class1 static void Main(string args)int,Matrix=new int3,3;for(int a=0;a3;a+)for(int b=0;b3;b+)Matrixa,b=(a+1)*(b+1);

11、for(int a=0;a3;a+)for(int b=0;b3;b+)Console.Write(0,Matrixa,b);Console.Write(n);#include using namespace std;void main()int*Matrix;Matrix=new int*3;for(int i=0;i3;i+)Matrixi=new int3;for(int a=0;a3;a+)for(int b=0;b3;b+)Matrixab=(a+1)*(b+1);for(int a=0;a3;a+)for(int b=0;b3;b+)cout Matrixab ;cout endl

12、;a12使用VS.NET 2005创建“Hello World”应用程序-1u单击“开始”“所有程序”“Microsoft Visual Studio.NET 2005”“Microsoft Visual Studio.NET 2005”u此时将打开 VS.NET 2005 的起始页u要创建 C#控制台应用程序,请从列表中选择“创建建”“项目”。此时将打开“新建项目”窗口u选择“Visual C#项目”作为项目类型,选择“控制台应用程序”作为模板 a13使用VS.NET 2005创建“Hello World”应用程序-2输出Console.WriteLine(Hello World);a14使

13、用VS.NET 2005创建“Hello World”应用程序-3uHelloWorld.csprojuAssemblyInfo.csuProgram.cs“Hello World”应用程序文件应用程序文件a15编译和执行 C#程序u要生成 C#项目,请从菜单中选择“生成”“生成解决方案”。u该过程将编译项目中包括的所有文件,编译结果显示在“输出”窗口中。u如果结果显示“生成:1 成功或最新,0失败,0被跳过”,则说明已经成功生成,然后即可交付该应用程序。a16编译和执行 C#应用程序u.要运行刚才生成的应用程序,请从菜单中选择“调试”“开始执行(不调试)”。u输出结果显示在 VS.NET 控

14、制台窗口中。a17C#应用程序文件夹结构uVisual Studio.NET 2005 创建一个与项目同创建一个与项目同名的文件夹,此处为名的文件夹,此处为“HelloWorld”。u该文件夹包含项目文件该文件夹包含项目文件“HelloWorld.csproj”和其他关联文件和其他关联文件。u每个新项目都创建了每个新项目都创建了 bin、obj和和Properties 三个文件夹。三个文件夹。uBin和和obj这两个文件夹下都有一个这两个文件夹下都有一个 Debug 子子目录,其中包含可执行文件目录,其中包含可执行文件 HelloWorld.exe u在在“解决方案资源管理器解决方案资源管理器

15、”中启用中启用“显示所有显示所有文件文件”选项,可查看选项,可查看“HelloWorld”项目的结项目的结构构。a18Hello World 程序uusing System;u class HelloWorldu u static void Main()u u Console.WriteLine(“Hello,World!”);u u u/Hello World 程序示例HelloWorld.csa19讲解”Hello World”程序u第 1 行:1:using System;uusing 关键字 1.用来引用.NET框架类库中的资源 2.通常在程序文件的开头使用 3.如果程序中需要多种资源

16、,可以使用多次usinguSystem 命名空间 System命名空间提供了构建应用程序所需的系统统能的访问。a20讲解”Hello World”程序u第 2,3,8 行:2:class HelloWorld3:.8:u类 1.在C#或其他面向对象语言中,需要编写类。2.使用关键字class定义一个类,类的内容放在一对 中。3.示例中定义了一个名为HelloWorld的类。a21讲解”Hello World”程序u第 4,5,7 行:4:static void Main()5:.7:uMain 方法 1.Main 方法是应用程序的入口点,编译器将由该处开始执行程序。2.方法体也放在一对 中。3

17、.每个C#的应用程序都必须包含Main方法。4.static表示Main方法是一个全局方法。5.void表示Main方法没有任何返回值,即返回值是空。6.参数放在小括号中定义。此处括号内没有内容,表明Main方法没有任何参数。a22讲解”Hello World”程序u第 6 行:6:Console.WriteLine(“Hello,World!”);u语句 1.在C#中要执行的指令。2.语句之间用;分隔,编译器通过分号来区分多个语句。3.使用大括号 标识某个代码块的开始和结束,从而可以对语句 进行组合。大括号必须成对匹配。4.HelloWorld程序的主要目的就是在屏幕上显示字符串。Write

18、Line方法用来将字符串写到标准输出设备上。5.Console代表标准输出设备-屏幕,它属于System命名空间 6.WriteLine方法是Console类的方法。访问类或对象的方法使用点取符.来完成。7.字符串用双引号“”表示。8.字符串“Hello,World”是WriteLine方法的参数,表示屏幕输出的内容。a23讲解”Hello World”程序u第 9 行:9:/Hello World 程序示例u注释 1.单行注释/2.多行注释/*和*/3.XML注释功能/a24数据类型uC#的数据类型可以分为:值类型、引用类型。的数据类型可以分为:值类型、引用类型。u值类型包括简单类型(如字符

19、型、浮点型和整数型等值类型包括简单类型(如字符型、浮点型和整数型等内置数据类型)、集合类型和结构型。引用类型包括内置数据类型)、集合类型和结构型。引用类型包括类类型、接口类型、代表类型和数组类型。类类型、接口类型、代表类型和数组类型。u值类型和引用类型的不同之处是值类型的变量值直接值类型和引用类型的不同之处是值类型的变量值直接包含数据,而引用类型的变量把它们的引用存储在对包含数据,而引用类型的变量把它们的引用存储在对象中。对于引用类型的变量,完全有可能让两个不同象中。对于引用类型的变量,完全有可能让两个不同的变量引用同一个对象,这样一来,对其中一个变量的变量引用同一个对象,这样一来,对其中一个

20、变量的操作就会影响到被另一个变量引用的对象。对于值的操作就会影响到被另一个变量引用的对象。对于值类型的变量而言,每一个变量有它们自己的数值,因类型的变量而言,每一个变量有它们自己的数值,因此对其中一个变量的操作不可能影响到另外一个变量。此对其中一个变量的操作不可能影响到另外一个变量。a25值类型值类型-简单类型简单类型uC#的内置数据类型大致可划分为:u逻辑型:boolu文本型:charu整 型:byte,sbyte,short,ushort,int,uint,long,ulongu浮点型:float,double,decimal。a26整型整型uC#中支持8种整型:sbyte、byte、sh

21、ort、ushort、int、uint、long、ulong。uSbyte:代表有符号的8位整数,数值范围从-128 127uByte:代表无符号的8位整数,数值范围从0255uShort:代表有符号的16位整数,范围从-32768 32767uushort:代表无符号的16位整数,范围从0 32767uInt:代表有符号的32位整数,范围从-2147483648 2147483648 uuint:代表无符号的32位整数,范围从0 4294967295uLong:代表有符号的64位整数,范围从u -9223372036854775808 9223372036854775808 uUlong:代

22、表无符号的64位整数,范围从 0 18446744073709551615。a27charuchar:代表无符号的16位整数,数值范围从065535。uChar类型的值对应于统一字符编码标准(Unicode)的字符集。uChar类型与其他整数类型相比有以下两点不同之处:1、没有其他类型到char类型的隐式转换。即使是对于sbyte,byte和ushort这样能完全使用char类型代表其值的类型,sbyte,byte和ushort到char的隐式转换也不存在。2、char类型的常量必须被写为字符形式,如果用整数形式,则必须带有类型转换前缀。比如(char)10u赋值形式有三种:1.char ch

23、somechar=“A”;2.char chsomechar=“x0065”;十六进制 3.char chsomechar=“u0065;unicode表示法。a28特殊字符和转义字符特殊字符和转义字符u有些特殊字符无法直接放在引号中,此时要表示这些字符,必须使用转义符。字符名称字符名称转义符转义符字符名称字符名称转义符转义符反斜线反斜线水平制表符水平制表符t退格退格b垂直制表符垂直制表符v回车回车r换行换行n双引号双引号”单引号单引号a29浮点类型浮点类型uC#支持两种浮点类型:float和double。uFloat型所能表示的值的范围大约可以从1.5*10-453.4*1038,精确到小数

24、点后面7位。Double型所能表示的值的范围大约可以从5.0*10-3241.7*10308,精确到小数点后面15位或16位。u如果二元操作中的其中一个操作数为浮点类型,那么另外一个操作数是整型或浮点类型,运算规则如下:1、如果其中一个操作数是整型,则操作数被转换为另一个操作数的浮点数类型;2、如果操作数之一为double,则另一操作数也被转换成double类型,运算以double类型的精度和取值范围进行,并且所得结果也为double类型;u3、否则,运算至少将以float类型的取值范围和精度进行,并且所得结果也为float型。a30小数(小数(decimal)类型)类型u小数类型非常适用于金

25、融和货币运算。数值范围从1.0*10-287.9*1028,精确到小数点后面28位。u如果二元操作中的其中一个操作数是小数类型,那么另外一个从操作数是整型或小数类型。整型在运算前被转化为小数类型数。u如果一个小数类型的算术运算产生了一个对于小数类型的格式来说太小的值,操作的结果将会变成0。u如果一个小数类型的算术运算产生了一个对于小数类型的格式来说太大的值,就会触发溢出错误。u小数类型较浮点类型而言,具有更大的精确度,但是数值范围相对小了很多。将浮点类型的数向小数类型的数转化时会产生溢出错误,将小数类型的数向浮点类型的数转化时会造成精确度的损失。因此,两种类型不存在隐式或显式转换。a31布尔型

26、布尔型u布尔型:值为true或false。没有标准能实现布尔类型和其他类型的转换。a32枚举类型枚举类型我们经常需要从多个相关的值中进行选取,如u一种天气:晴、阴、雨、雪、雾。u一周的某一天:Monday,Tuesday,Sunday。u一年的某个月:Jan,Feb,Mar.Dec。u一种对齐方式:左对齐、右对齐、居中对齐、两端对齐。那我们怎么样实现对这些数据的选取a33枚举类型枚举类型u枚举类型是一组被命名的数字常量,即:一个枚举类型中包含了多个相关的数字常量,且每个常量都被赋予了一个容易记忆的“名字”u使用enum关键字创建枚举类型 u枚举类型:枚举类型的元素使用的类型只能是long、in

27、t、short、byte。默认类型是int。u如果不赋值,默认第一个元素的值是0,每一个连续的元素按1递增。u可以强制定义其他类型,如:enum monthnames:byteJanuary,February,March;a34枚举类型枚举类型u创建枚举类型创建枚举类型。enum Weather Sunny,/默认值0Cloudy,/默认值1Rain,/默认值2Snow,/默认值3fog /默认值4u引用枚举成员引用枚举成员。Weather bj;bj=Weather.Sunny;/显示结果Console.WriteLine(bj);/显示Sunny,而不是数字0 a35枚举类型枚举类型u也可

28、以枚举成员明确赋值enum Month Jan=1,Feb=2,Mar=3,Dec=12 a36 结构类型u结构类型也是一种值类型,使用它的目的是用于创建小型的对象,u用以节省内存.下面的例子表示一个使用byte类型的4个字段的IP地址。u using System;uStruct IP /声明结构u public byte b1,b2,b3,b4;uClass testupublic static void Main()u uIP myIP;umyIP.b1=192;u myIP.b2=168;u myIP.b3=1;u myIP.b4=101;u Console.Write(“0.1.”,

29、myIP.b1,myIP.b2);u Console.Write(“0.1”,myIP.b3,myIP.b4);u ua37引用类型-1 引用类型包括类类型、接口类型、代表类型和数组类型。u类类型 类类型定义了一种数据结构,这个数据结构中包含了数据成员(如常量、字段和事件等),函数成员(如方法、属性、索引、操作、构造函数和析构函数等)和嵌套类型。支持继承。u对象类型 对象类型是其他所有类型最终的基础类型。在C中每一种类型都直接或者间接的源于object这个类类型。u字符串类型 字符串类型是直接从object中继承而来的密封类。String类型的值可以写成字符串文字的形式。a38引用类型-2u接

30、口类型 一个接口声明一个只有抽象成员的引用类型,接口仅仅存在方法标志,但没有执行代码。当定义一个类时,如果类从接口派生,可以派生自多重接口;但是如果类从类派生,就只能从一个类派生。声明方法如例:interface iface void showmyface();u代表类型 代表引用一种静态的方法或者对象实例,引用该对象的实例方法。与其接近的是c/c+中的指针,但指针只能访问静态的函数,代表既能访问静态的方法,也能访问实例的方法。a39引用类型-3u数组 数组是包含一串变量的数据结构。数组变量也称做数组元素,它们具有相同的类型,这种类型也称做数组元素类型。数组的元素类型可以是任何类型,包括数组类

31、型。数组用下标确定每一个数组元素的索引号。只有一个下标的数组称为一维数组,多于一个下标的数组称为多维数组。例:int a=0,2,4,6,8;等价于int a=new int 0,2,4,6,8;也可以这样初始化:a0=0;a1=2;a2=4;a3=6;a4=8;int a;/int型的一维数组 int,a;/int型的二维数组 int,a;/int型的三维数组 int a;/int型的数组的数组 inta;/int型的数组的数组的数组a40引用类型-4 数组的每个维数的长度不是数组类型的一部分,维数的长度是在数组创建语句中指定的,而不是在数组类型中指定的,例如:int,a3=new int1

32、0,20,30;a3是是一个数组变量,int,没有指定数组的长度,数组 创建语句new int10,20,30才指定。下面的例子创建一个数组的数组:int J=new int3;J0=new int 1,2,3;J1=new int 1,2,3,4,5,6;J2=new int 1,2,3,4,5,6,7,8,9;a41变量和参数u变量扮演存储的角色。每个变量有一个数据类型,这个类型决定那些数据可以被存储在这个变量中。局部变量是在方法.属性或索引声明的变量。一个局部变量通常通过指定的类型名称和说明符来定义,它指定了变量名称和一个任意的初始值,例如:int a;int b=1;也可以一个局部变量

33、声明包括多个说明符。例如:int a,b=1;a42声明并初始化变量 u第 1步:声明变量u作用:通过声明变量,可以在内存中为 该变量申请存储空间。u语法:类型 变量名;int numberOfVisitors;string bear;a43声明并初始化变量u第 2步:初始化变量u作用:给变量分配初值u语法:变量名=初值;string bear;bear=“Grizzly”;/声明和初始化一步完成声明和初始化一步完成string bear=“Grizzly”;a44声明并初始化变量u注意事项:ubool 只能取2个值:true 或 false。uchar 表示单个Unicode字符,用表示使用

34、后缀。bool isOpen=0;/错误bool isOpen=false;char c =A;decimal balance=3400.20;/错误decimal balance=3400.20M;a45声明并初始化字符串u字符串表示任意长度的Unicode字符序列u字符串使用“”表示u可以使用转义字符或verbatim字符string s=Hello World;string filename=“c:trainerReadme.txt”;/错误或string filename=“c:trainerReadme.txt”;a46创建并使用常量 u常量是指一旦被初始化,其数值保持不变的变量u常

35、量通常用来表示有意义的固定数值,如圆周率u声明常量时必须对其赋值u语法:const 类型 常量名 =数值const decimal PI=3.1415926M;/圆周率圆周率const int earthRadius=6378;/地球半径地球半径a47类型转换u相容的数据类型可以混合运算。运算中,不同数据类型先被自动转换为相同数据类型,然后再进行运算。转换时低容量数据类型向高容量数据类型转换。shortintlongfloatdoublebyte低高a48类型转换u将低容量数据类型转换成高容量数据类型时,系统自动完成,成为隐式转换。int x=123456;long y=x;/将int隐式转换

36、为longu将高容量数据类型转换成低容量数据类型时,可能丢失信息,必须使用强制类型转换。decimal d=100.99;int x=(int)d;/x的值是100,小数点后的值被舍弃a49类型介绍uC#是一种强类型语言。每个变量和常量都有一个类型,每个计算为值的表达式也是如此。每个方法签名为每个输入参数和返回值指定一个类型。.NET Framework 类库定义了一组内置数值类型以及表示各种逻辑构造的更复杂的类型,例如文件系统、网络连接、对象的集合和数组及日期。典型 C#程序使用类库中的类型,还使用为特定于该程序问题域的概念建模的用户定义类型。u类型中存储的信息包括:u该类型的变量所需的存储

37、空间。u该类型可以表示的最大值和最小值。u该类型包含的成员(方法、字段、事件等)。u该类型所继承的基类型。u将在运行时为其分配变量内存的位置。u允许的运算种类。a50类型的转换有那几种u隐式转换隐式转换u显式转换显式转换u用户定义的转换用户定义的转换u使用帮助程序类的转换使用帮助程序类的转换a51隐式转换隐式转换u由于该转换是一种安全类型的转换,不会导致数据丢失,因此不需要任何特殊的语法。例如,从较小整数类型到较大整数类型的转换以及从派生类到基类的转换都是这样的转换。u对于内置数值类型,如果要存储的值无需截断或四舍五入即可适应变量,则可以进行隐式转换。int num=2147483647;lo

38、ng bigNum=num;a52显式转换(强制转换)显式转换(强制转换)u显式转换需要强制转换运算符。源变量和目标变量兼容,但由于目标变量的类型大小比源变量小(或者目标变量是源变量的一个基类),因此存在数据丢失的风险。u如果进行转换可能会导致信息丢失,则编译器会要求执行显式转换,显式转换也称为“强制转换”。强制转换是显式通知编译器您打算进行转换且您知道可能会发生数据丢失的一种方式。double x=1234.7;int a;a=(int)x;a53用户定义的转换用户定义的转换u可以定义一些特殊的方法来执行用户定义的转换,从而使不具有基类派生类关系的自定义类型之间可以显式和隐式转换。uC#允许

39、程序员在类或结构上声明转换,以便类或结构与其他类或结构或者基本类型进行相互转换。class SampleClass public static explicit operator SampleClass(int i)SampleClass temp=new SampleClass();/code to convert from int to SampleClass.return temp;a54使用帮助程序类的转换使用帮助程序类的转换u若要在不兼容的类型之间进行转换,例如在整数与 System.:.DateTime 对象之间转换,或者在十六进制字符串与字节数组之间转换,则可以使用 System

40、.:.BitConverter 类、System.:.Convert 类和内置数值类型的 Parse 方法。a55形式参数u一个变量在使用前,必须被声明和指定数据类型。形式参数声明同样定义变量。一般形式参数分为四种。1.数据参数 2.引用参数 3.输出参数 4.参量参数a56数据参数-介绍u数据参数用来做”入”参数传递,一个自变量的数据通过他传递到方法中,而对参数的修改不会影响到原始的自变量。数据参数指向它自己在存储器中的位置,它与变量存储位置有明确的区分。次存储位置通过把拷贝相应变量的数据来初始化。a57数据参数-实例uusing System;uclass Test ustatic voi

41、d F(int p)uConsole.WriteLine(p=0,p);up+;uustatic void Main()uint a=1;uConsole.WriteLine(pre:a=0,a);uF(a);uConsole.WriteLine(post:a=0,a);uua58数据参数-实例u程序Test中有一个方法F,方法F有一个数据参数p.程序运行F方法的时候需要为F方法传递一个变量a。10:F(a);u参数传递到F方法后将参数p加1,由原来的1变成了2。这时候原始传递的参数a没有变化。5:p+;a59数据参数u编译运行后。展示如下:u编译运行后的结果看出a没有变化,说明将一个变量的数

42、据通过数据参数传递到方法中,而对参数的修改不会影响到原始的变量。a60引用参数-介绍u引用参数是用作”通过引用”参数传递,这里,参数表现为调用者提供变量的别名。引用参数自己并不定义存储位置,而是指向相应的变量。对引用参数的修改马上会直接地影响到相应的变量。引用参数需要用一个ref修饰符来声明。a61引用参数-实例uusing System;uclass Test ustatic void Swap(ref int a,ref int b)uint t=a;ua=b;ub=t;uustatic void Main()uint x=1;uint y=2;uConsole.WriteLine(pre

43、:x=0,y=1,x,y);uSwap(ref x,ref y);uConsole.WriteLine(post:x=0,y=1,x,y);uua62引用参数-实例u程序Test中有一个Swap方法,此方法需要两个引用参数a和b。u程序运行时将x=1传到a中,y=2传到b中。并在方法Swap中将a和b的数值进行交换。4:int t=a;5:a=b;6:b=t;a63引用参数u从编译运行后的结果看出来,使用引用参数传递到方法中对参数进行修改,可以直接修改到原始的变量,因为他们使用的是相同的地址。u编译运行后。展示如下:a64总结u通过Hello World了解程序的基本结构uC#的数据类型可以分

44、为:值类型、引用类型。u变量是存放特定数据类型的值的容器,而常量也存放特定数据类型的值,但常量在整个程序中都保持一致a65作业u如何在vs中设置程序代码的行序号?u如何将”服务资源管理器”窗口隐藏?u如何实现对代码的注释?u如何使用#region,#endregion关键字?u打印1-100的所有质数?u编写一个C#程序,要求用户定义一个变量,程序将此变量反向处理后,将结果输出在控制台中。例:用户定义变量为3124,程序将3124倒序的结果4213输出在控制台。a66作业u定义一个枚举常量表示四则运算符-加、减、乘、除,分别将加的枚举常量值定义为1,减定义为2,乘定义为3,除定义为4。u定义一个学生成绩的结构,包含的成员有:学号(字符串型)课号(字符串型)学生该门课的成绩(浮点型)

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公、行业 > 各类PPT课件(模板)
版权提示 | 免责声明

1,本文(《C基础语法》课件.ppt)为本站会员(晟晟文业)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|