C 语言教程方法和类 (2).

小夏 教育 更新 2024-01-31

3.3 输出参数

与参考参数类似,输出参数不会打开新的内存区域。 与引用参数的区别在于:

在调用方法之前,无需初始化变量。

输出类型参数用于传递方法返回的数据。

调用包含引用参数的方法时,在传递参数时,需要使用 out 关键字将参数声明为输出参数。 方法返回后,传递的变量被视为已初始化。

我们以参数和输出参数为例进行比较。

static void squareref( ref int x )

x = x * x;

static void squareout( out int x )

x = 8;

x = x * x;

static void main()

int i = 3, j ;

squareref(ref i);

squareout(out j);

console.writeline("i = , j = ", i, j);

该函数的输出为:

i = 9, j = 64

分析。 从上面的例子中,我们可以看到参考参数和输出参数之间的区别。 squareref 方法使用引用参数方法,而 squareout 方法使用输出参数方法,两种方法都做完全相同的事情,都是平方的。 只需在 squareout 方法中将 x 的值初始化为 8 即可。

3.4 数组参数

数组也可以用作方法的参数,这些方法用于表示称为数组参数的参数,数组参数只能放在参数列表的末尾,数组参数只能是一维数组。

声明数组参数需要使用 params 关键字

using system;

class test;

console.writeline("thesum:"+sum(var));console.writeline("the sum:"+sum(10,20,30,40,50));

程序被编译并执行输出:

the sum:15 the sum:150

3.5. 变量:作用持续时间和范围

变量的持续时间是指变量在内存中存在的时间量。

变量的作用域是指程序中可以引用变量的位置。 某些变量可以在整个程序中引用,而其他变量只能在程序的有限部分中引用。

以下示例说明了实例变量和局部变量的作用域:

using system;

class test

public int s = 1;

public void methoda()

int s = 23;

console.writeline("s in methoda is :"+ s+"after entering methoda" );

s;console.writeline("s in methoda is :"+ s+"before le**ing methoda" );

public void methodb()

static void main()

程序的输出如下:

s in methoda is :23after entering methoda

s in methoda is :24before le**ing methoda

s in methodb is :1after entering methodb

s in methodb is :10after entering methodb

3.6 递归

递归是一个重要的概念,在现实生活中,我们可能会遇到这样的问题:一个复杂的问题可以分解成简单的问题,一个简单问题的解决方法和复杂问题的解决方法是一样的,我们知道一个简单问题的解决方法,这就是为什么我们可以用递归来解决一个复杂的问题。

我们知道数学中的阶乘表示为 n!,计算公式为:

n! = n * n-1)*(n-2)*…1

现在让我们用递归的思想来考虑因子求值,因子可以写成:

n! = n *(n-1)!

3.7 方法重载

在C语言中,可以在一个类中定义多个同名的方法,只要它们具有不同的参数即可,这称为方法重载。

在下面的示例中,方法重载用于计算 int 和 double 数据的平方。

public int square(int x)

return x*x;

public double square(double x)

需要强调的是,重载方法必须至少满足以下条件之一:

参数的数量不同。

参数类型不同。

参数的顺序不同。

4. C 命名空间

命名空间提供了一种组织相关类和其他类型的方法。 与文件或组件不同,命名空间是逻辑组合,而不是物理组合。 不在同一文件中的多个类可以共同包含在命名空间中,从而创建逻辑结构。

若要创建命名空间,需要使用 namesapce 关键字

4.1 命名空间的使用

虽然命名空间的使用使类组织得更好,但也引入了类全名很长的问题,使用起来非常不方便。 C 允许简写类的全名,C 声明在使用类之前,需要在文件顶部列出类所在的命名空间,并且命名空间名称需要在 using 关键字前面,以便可以使用相对名称来引用类而不是其绝对名称。 在以下两个示例中,第一个示例使用类的全名,第二个示例使用类的相对名称:

system.int32 a;使用您的全名。

using system;

int32 a;

4.2 命名空间的别名

using 关键字的另一个用途是给类和命名空间赋值别名,如果命名空间名称很长,在 **中已经用过好几次了,但是命名空间的名称包含在 using 指令中,可以给命名空间赋值一个别名,语法如下:

using alias = 命名空间名称;

5. 类方法的使用

5.1 控制台类方法

控制台类表示控制台应用程序的标准输入、输出和错误流。

5.2 数学方法

我是技术创造者

相似文章

    2022 Lich 简易语言教程

    种植停止 dbbpnet .html Easy Language是一种易于学习的编程语言,旨在使没有编程基础的人轻松学习习编程并开发自己的应用程序。Easy Language 的出现让那些对编程感兴趣但缺乏经验的人可以轻松上手并逐渐掌握编程技能。简单的语言具有多种功能和用途。首先,它可以帮助人们快速...

    和在c语言中的区别

    在 C 语言中,符号 和 虽然相似,但在功能和用法上却存在显著差异。混淆这两者通常会导致编程错误和逻辑问题。本文将深入探讨这两个运算符的定义 功能和区别,以及它们在 C 语言中的实际应用。在 C 中,用于将右边的值分配给左边的变量。这是一个赋值操作,它不比较变量,而是更改变量的值。用于比较两个值是否...

    Python和C语言的比较分析

    Python 和 C 是两种常见的编程语言,它们在语法 应用场景和开发效率方面有很大不同。Python 和 C 在语法上存在很大差异。具体表现在以下几个方面 数据类型 Python 是一种动态类型语言,可以在运行时根据变量的值确定变量的类型另一方面,C 是一种静态类型语言,它在编译时指定变量的类型。...

    一种在 C 中保留十进制数的除法方法

    在 C 中,除法运算通常返回整数结果。但是,有时我们需要进行除法运算并获得保留小数的结果,这在需要准确计算和输出的情况下很重要。本文将详细介绍如何在 C 中除以和保留十进制数,包括使用浮点数 类型转换和使用数学h 库函数等的提示和注意事项 在 C 中保留小数的除法描述如下 .使用浮点数 最简单的方法...

    如何在C语言中输入字符串?分析了这三种方法

    C语言作为一种古老而强大的编程语言,一直因其对字符串的输入操作而备受程序员的关注。在编写程序时,如何高效准确地输入字符串成为必备技能。本文将为读者提供全面而实用的指南,介绍在 C 中输入字符串的各种方法。.使用 scanf 函数 在 C 语言中,scanf 函数是专门用于从标准输入设备获取数据的经典...