[物理]c程序设计第4章

上传人:tia****nde 文档编号:69949509 上传时间:2019-01-15 格式:PPT 页数:63 大小:352.01KB
返回 下载 相关 举报
[物理]c程序设计第4章_第1页
第1页 / 共63页
[物理]c程序设计第4章_第2页
第2页 / 共63页
[物理]c程序设计第4章_第3页
第3页 / 共63页
[物理]c程序设计第4章_第4页
第4页 / 共63页
[物理]c程序设计第4章_第5页
第5页 / 共63页
点击查看更多>>
资源描述

《[物理]c程序设计第4章》由会员分享,可在线阅读,更多相关《[物理]c程序设计第4章(63页珍藏版)》请在金锄头文库上搜索。

1、刘兵 制作,C# 程序设计, www.zg- www.zr- www.skf- www.nsk- www.fag- www.ntn- ,第4章 数组与字符串,数组的定义和初始化 数组元素的访问 字符串的定义 字符串的基本操作,4.1 函数,4.1.1 函数的基本概念 函数是可以完成一定功能,可以重复执行的代码块。同时在面向对象程序设计中,函数也叫方法。 函数可以使代码的可读性更高,可以创建多用途的代码。,显示1N,其中N是由用户来定义其初值,static void Display(int M) for (int i = 0; i M; i+) Cons

2、ole.WriteLine(i); static void Main(string args) int N = 5; Display(N); ,函数一般定义的语法格式如下: 函数修饰符 返回类型 函数名 (数据类型 数据变量名,) /函数体 ,函数的执行过程,static void myFunction() Console.WriteLine(“ 进入调用函数“); Console.WriteLine(“ 运行函数体“); Console.WriteLine(“ 退出函数调用“); static void Main(string args) Console.WriteLine(“在主程序中运行

3、。“); myFunction(); /函数调用 Console.WriteLine(“返回主程序“); Console.ReadLine(); ,4.1.2 函数的返回值,函数可以有各种形式的返回值,其格式如下: static 返回数据类型 函数名() return 返回数据; ,static int myFunction() return 168; static void Main(string args) int count; count = myFunction(); Console.WriteLine(“函数返回的值是:0“,count ); Console.ReadLine();

4、,4.1.3 函数的参数,在定义函数时,如果参数的个数不只一个时,参数之间要用逗号分开。例如定义一个两个数相加的函数addFunction: static int addFunction(int x,int y) return x+y; ,例:调用两个数相加函数的完整程序,static int addFunction(int x,int y) return x+y; static void Main(string args) int a,b,sum; a = 12; b = 24; sum = addFunction(a, b); Console.WriteLine(“a和b两数相加的结果是:

5、0“,sum ); Console.ReadLine(); ,在C#中函数的参数有四种类型:值参数、输入引用参数(以ref修饰)、输出引用参数(以out修饰)和数组型参数(以params),向函数传递值类型变量也就是向函数传递变量的一个副本。函数内发生的参数更改对实参变量中存储的原始数据无任何影响。 如果希望所调用的函数更改实参值,必须使用 ref 或 out 关键字通过引用传递该参数。,1. 值参数,static void Main(string args) int mainX = 168; int mainY = 861; Console.WriteLine(“调用函数之前变量的值是:ma

6、inX= 0 mainY=1 “, mainX, mainY); swap(mainX,mainY ); Console.WriteLine(“调用函数之后变量的值是:mainX= 0 mainY=1 “, mainX, mainY); Console.ReadLine(); static void swap( int x, int y) int temp = x; x = y; y = temp; Console.WriteLine(“函数内变量的值是:x=0 y=1“,x,y); ,引用参数并不开辟新的内存区域,当利用引用型参数向函数中传递形参时,编译程序将把实参值在内存中的地址传递给函数

7、。 ref关键字后应跟与形参的类型相同的类型声明。,2. 输入引用参数,static void Main(string args) int mainX = 168; int mainY = 861; Console.WriteLine(“调用函数之前变量的值是:mainX= 0 mainY=1 “, mainX, mainY); swap(ref mainX,ref mainY ); Console.WriteLine(“调用函数之后变量的值是:mainX= 0 mainY=1 “, mainX, mainY); Console.ReadLine(); static void swap( re

8、f int x, ref int y) int temp = x; x = y; y = temp; Console.WriteLine(“函数内变量的值是:x=0 y=1“,x,y); ,3. 输出型参数,out 关键字是定义输出型参数,该参数通过引用来传递,这与 ref 关键字类似。 不同之处在于 ref 要求变量必须在传递之前进行初始化,而使用 out 定义的输出型参数在调用方法之前可以不进行对实参变量的初始化,但是在函数或方法的返回值必须要对相应的实参变量进行初始化。,static void Method(out int i) i = 168; static void Main() i

9、nt value; Method(out value); Console.WriteLine(value); Console.ReadLine(); ,static void Method(out int i, out string s1) i = 168; s1 = “函数中的返回值“; static void Main() int value; string str1; Method(out value, out str1); Console.WriteLine(“value的返回值是:0“,value); Console.WriteLine(“str1的返回值是:0“, str1); C

10、onsole.ReadLine(); ,4.2.1 一维数组,1数组的定义 数组是包含多个变量的数据结构,这些变量称为数组的元素,数组元素可以通过索引值进行访问。 C#语言中的数组是从0开始的,也就是说,数组的索引值从0开始。所有的数组元素必须具有相同的数据类型,这个类型称为数组的元素类型。,4.2.1 一维数组,在C#中,数组定义的语法格式如下: 数组类型修饰符 数组名=new 数组类型数组元素初始化列表; 例如:声明了一个包含4个整数的数组: int lbArray = new int 4;,2. 数组初始化,可以在声明数组的时候进行初始化,此时不需要指定数组中元素的数目,因为初始化列表中

11、包含的元素个数就确定了数组中元素的个数。例如: int lbArray = new int 10,8,6,4,2;,3. 访问数组元素,若要访问数组中的某个数组元素,可以首先写出数组变量名,然后是一对方括号,并且在方括号中间写入将要访问元素的整数索引,即这个整数索引值称为下标。,遍历整个数组的所有元素,int lbArray = new int410,8,6,4; for (int index = 0; index != lbArray .Length; index+) int lb = lbArrayindex; Console.Write(lb+“, “); ,4.2.2 数组的基本操作,

12、1复制数组 数组是引用类型。复制的意思就是新建一个和被复制数组一样的数组对象,而不是创建一个和它相同的引用,这意味着将得到两个数组。例如: int lbArray = new int410,8,6,4; int alias = lbArray;,数组复制,int lbArray = new int410,8,6,4; int copyArray1 = new intlbArray.Length; int copyArray2 = new intlbArray.Length; int copyArray3 = new intlbArray.Length; int copyArray4 = new

13、 intlbArray.Length; /第一种复制数组方法 for (int i = 0; i != lbArray.Length ; i+) copyArray1i = lbArrayi; /第二种复制数组方法 lbArray.CopyTo(copyArray2,0); /第三种复制数组方法 Array.Copy(lbArray, copyArray3, lbArray.Length); /第四种复制数组方法 copyArray4 = (int)lbArray.Clone();,2数组排序,(1)Array.Sort(arr,beginIndex,count) 用于对一维arr数组的部分元

14、素进行排序,从beginIndex索引开始,操作count个元素,默认是从小到大进行排序。 (2)Array.Reverse(arr,beginIndex,count) 反转一维arr数组或部分arr数组中元素顺序(即从大到小进行排序),从beginIndex索引开始,操作count个元素,数组排序实例,int lbArray = new int48,4,10,6; int sortArray = new intlbArray.Length ; /复制数组 Array.Copy(lbArray, sortArray, lbArray.Length); /逆序数组排序 Array.Reverse(sortArray); /复制数组 Array.Copy(lbArray, sortArray, lbArray.Length); /从小到大进行排序 Array.Sort(sortArray); /复制数组 Array.Copy(lbArray, sortArray, lbArray.Length); Array.Sort(sortArray,2, 2);,在C#语言中提供了两种主要

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号