lg函数c语言表达式,C语言第七讲,函数入门.

本文作为C语言第七讲,详细介绍了函数的概念和使用。首先对比了面向过程和面向对象的区别,强调C语言的面向过程特性。接着解释了函数作为解决问题的基本代码单位,通过实例展示了如何定义和调用无参数无返回值以及有参数有返回值的函数。最后讨论了函数的形参和实参数,说明了形参如何接收实参的值,并指出在不涉及指针的情况下,函数调用不会改变实参的原始值。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

C语言第七讲,函数入门.

一丶了解面向过程和面向对象的区别.

为什么要先讲面向过程和面向对象的区别?

面向过程,就是什么都要自己做.  比如你要吃饭. 那么你得自己做饭.

面向对象, 面向对象就是我要吃饭. 我只需要支付一点点酬金.就能吃了. 不用自己做了.

而C语言就是面向过程的.

也就是说. 面向过程就是自己做. 自己写函数.

二丶什么是函数.

函数不是数学上的函数. 这里的函数指的是解决一定问题的基本代码.

基本的功能单位.

比如你想写一个加法.

我们可以自己写一个Add函数. 然后进行调用则可以完成加法操作.

比如我们家里都有袋子.

这一个袋子可以装鞋子. 袜子.以及其余的各种东西.

但是鞋子会很脏.这个时候你用一个小袋子装起来. 袜子也是. 然后放到这个大袋子里面.

这个小袋子就是函数.

三丶自定义函数

语法:

函数返回值 函数名字 (函数行形参)

1.无参数无返回值函数的定义

首先定义一个无参数无返回值的函数.

比如我们打印输出.

voidPrint()

{

printf("%d\r\n", 2);

}intmain()

{

Print();

system("pause");return 0;

}

这样 main函数则会调用我们自己写的函数. 则会输出2.

2.有参数有返回值的定义

int Sub(int a, int b) //返回值int ,所以用int类型变量接受.参数是int,且是2个.所以传入两个int参数

{return a -b;

}intmain()

{int Ret = Sub(4,3);//main 调用Sub

printf("%d\r\n",Ret);

system("pause");return 0;

}

3.函数的形参和函数的实参数.

int Sub(int a, intb)

{return a -b;

}intmain()

{int Ret = Sub(4,3);

printf("%d\r\n",Ret);

system("pause");return 0;

}

还是我们第二个函数的例子. 此时我们要知道 Sub函数的 a和b都是形参

什么意思?

也就是说,你可以把它们看作是变量a 和 b,在函数调用过程中.  4, 3两个整形常量. 会赋值给 a 和 b

也就是额外产生的代码为:

int a = 4;

int b = 3;

但是这个是编译器产生的. 我们看不到. 如果我们的4和3是变量. 那么调用玩 sub函数之后,我们的变量是不会改变的.

例如:

int Sub(int a, intb)

{return a -b;

}intmain()

{int nNum1 = 4;int nNum2 = 3;int Ret =Sub(nNum1,nNum2);

printf("%d\r\n",Ret);

printf("nNum1 = %d nNum2 = %d\r\n",nNum1,nNum2);

system("pause");return 0;

}

输出结果.

70340cf6bff58f3085841458805f9553.png

所以说,我们的nNum1 和nNum2并没有做减法,而是Sub中 a 和 b做的减法.

等讲指针的时候在讲解怎么更改实际参数的值.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值