IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> C++知识库 -> C语言中函数是什么?编程中的函数与数学中的函数区别?理解编程语言中的函数 -> 正文阅读

[C++知识库]C语言中函数是什么?编程中的函数与数学中的函数区别?理解编程语言中的函数

? ? ? ? 好多小伙伴刚学编程的时候,不知道函数和方法的区别是什么。java中叫方法,C语言又叫函数,javascript也叫函数...晕头转向。

? ? ? ? 其实,他们来自两个单词:function(函数)与method(方法)。作用基本上相同,不过,我个人的理解是:方法更加依赖于类,存在在对象/类中叫做方法,函数则不是。而后来逐渐就不是特别区分了。

????????在刚学编程语言的时候,有些小伙伴不知道编程语言中函数的作用。今天,我就用数学函数的角度解释编程语言中函数的作用!

总所周知,数学中的函数一般是这样的:

?y =??2 * x

估计上过八年级以上学过最基本的一次函数估计都可以理解这个式子。

那么,当他在x取不同值时,y也可以相应的变化。

? ? ? ? 如果将这个式子写在代码中,看起来就成了将 2*x 的结果赋值给 y ,y接收到的就是2*x表达式的返回值!

? ? ? ? 注意这个词:返回值。在未来你会反复的听到这个词。

? ? ? ? 此时如果让你写个分别计算当x是2、3、8、10的值,

? ? ? ? 数学中,将以上值一个个代入x中进行操作,得出对应的y

? ? ? ? 编程语言中也一样,

? ? ? ? 不过,假设后面要进行相同的某些较复杂的操作(这里就输出一句:代入xxx进行运算)

????????(为了方便演示,拆开写了):

#include <stdio.h>
int main(){
    int x,y;

    x = 2;
    printf("代入2进行运算\n");
    y = 2*x;
    printf("%d\n",y);

    x = 3;
    printf("代入3进行运算\n");
    y = 2*x;
    printf("%d\n",y);

    x = 8;
    printf("代入8进行运算\n");
    y = 2*x;
    printf("%d\n",y);

    x = 10;
    printf("代入10进行运算\n");
    y = 2*x;
    printf("%d\n",y);

    return 0;
}

? ? ? ? ?因为做的操作过于简单,但如果是个很复杂的式子,这样写就会显得代码冗余。那么就可以利用到函数这个概念。

? ? ? ? 先把C语言函数的格式讲一下吧!

? ? ? ? [返回值类型]? ?[函数名] ([函数参数]...){

? ? ? ? ? ? ? ? // 使用传过来的参数执行的操作

????????}

? ? ? ? 返回值类型可以是基本数据类型(如int,char,float,double...),返回的数据就是经过处理函数的数据!

? ? ? ? 那么,刚刚的式子就可以封装成一个函数(假设函数名就叫a):

int a(int x){
    printf("代入了%d进行计算!\n",x);
    return 2 * x;
}

????????这是最基本的一个C语言函数的格式,小括号中间的是参数。想对什么值做处理,就传入什么值即可(也可以选择声什么都不传,但是小括号不能省略),传入的类型与定义参数的类型必须相同,接收返回值的类型必须跟返回值类型相同!(如这个例子返回值为int类型,接收也用int类型)

? ? ? ? 此时,原来的代码就可以写成,也可以完成与刚刚相同的操作:

# include <stdio.h>

int main(){
    int x,y;

    x = 2;
    y = a(x);
    printf("%d\n",y);

    x = 3;
    y = a(x);
    printf("%d\n",y);

    x = 8;
    y = a(x);
    printf("%d\n",y);

    x = 10;
    y = a(x);
    printf("%d\n",y);

    return 0;
}

? ? ? ? ?有些同学又会觉得,这还要返回一个值,然后再输出。函数既然能复用,为什么不全封装进去?确实也可以这样,不过这时就要注意了:函数不需要返回什么给调用者的时候,返回值类型就可以写 void 了,不过此时,再也不能拿任何变量来接收这个函数的返回值了

? ? ? ? 完整代码如下:

#include <stdio.h>
void a(int x){
    // 声明一个变量保存x处理后的结果
    int y;
    printf("代入了%d进行计算!\n",x);
    y = 2 * x;
    printf("%d\n",y);
}
int main(){
    int x;

    // 调用函数的时候函数内会输出
    // 所以不需要一个个写printf    

    x = 2;
    a(x);


    x = 3;
    a(x);

    x = 8;
    a(x);

    x = 10;
    a(x);

    return 0;
}

????????此时,编程中的“函数”的概念与数学中“函数”的概念完美结合起来。但明显编程中的函数远比数学中函数更加的灵活多变!

  C++知识库 最新文章
【C++】友元、嵌套类、异常、RTTI、类型转换
通讯录的思路与实现(C语言)
C++PrimerPlus 第七章 函数-C++的编程模块(
Problem C: 算法9-9~9-12:平衡二叉树的基本
MSVC C++ UTF-8编程
C++进阶 多态原理
简单string类c++实现
我的年度总结
【C语言】以深厚地基筑伟岸高楼-基础篇(六
c语言常见错误合集
上一篇文章      下一篇文章      查看所有文章
加:2022-06-29 18:48:02  更:2022-06-29 18:50:58 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年4日历 -2024/4/20 22:01:42-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码