学逆向论坛

找回密码
立即注册

只需一步,快速开始

发新帖

1246

积分

6

好友

46

主题
发表于 2019-4-19 14:13:20 | 查看: 7606| 回复: 0

C语言快速入门系列-1(初识C)
C语言快速入门系列-2(编程环境)
C语言快速入门系列-3(第一个程序)
C语言快速入门系列-4(认识变量)
C语言快速入门系列-5(运算符)
C语言快速入门系列-6(数组)
C语言快速入门系列-7(条件判断)
C语言快速入门系列-8(for循环)
C语言快速入门系列-9(while循环)
==================================================================================================================
今天给大家介绍的是函数这一知识点,其实这里是很简单的一部分,函数在其他的语言设计中可能还有一个名字叫方法,但实质都是一样的。
我们直接看正题
先来看一段代码:
#include<stdio.h>
void func1()
{
        printf("func1\n");
}
int func2()
{
        int a;
        printf("func2\n");
        a=3;
        return a;
}
void func3()
{
        int a=2,c;
        printf("func3\n");
        c=2*a;
}
int func4(int a)
{
        int c;
        printf("func4\n");
        c=2*a;
        return c;
}
int main()
{
        int b;
        func1();
        b=func2();
        printf("%d\n",b);
        func3();
        printf("%d\n",func4(3));
        return 0;
}


上面的代码运行结果:
111.png

接下来我们分析一下函数
上面的代码有一个主函数和多个子函数,main函数在整个程序中只能由一个,而其他的函数则可以有多个。
main函数中主要是用来调用子函数的,是整个程序的主干
而子函数则是程序功能的具体实现,又叫作方法
函数可以有返回值也可以没有返回值(即返回值为空),无返回值的是执行完函数之后不返回任何东西,有返回类型的是返回函数的执行结果
函数分为有参函数和无参函数,具体介绍如下:
子函数的构建格式如下:
void func1( )
{
}
这个就是一个返回值为空的无参函数的框架,函数名为func1
void则是返回值的类型,也可以是C中的一些基本类型,如int 、float等
int func2( )
{
}
这是一个返回值为整型的无参函数的框架,函数名为func2
int func4(int a)
{
}
这个是返回值为整型的有整型参数的函数的框架,参数的类型可以是C中的一些基本类型如float、double等
int func2()
{
        int a;
        printf("func2\n");
        a=3;
        return a;
}

上面这个函数的执行结果是将a的值待带回,也就是再主函数中调用此函数则能得到的结果是a的值,例如s=func2();那么s的值即为return a;中a的值,也就是整个函数的执行的结果。
void func3()
{
        int a=2,c;
        printf("func3\n");
        c=2*a;
}

像这个函数则不返回任何值,那么他的作用一般就是做一些输出操作
int main()
{
        int b;
        func1();
        b=func2();
        printf("%d\n",b);
        func3();
        printf("%d\n",func4(3));
        return 0;
}

主函数中则是对子函数的一个调用和声明,但是这个主函数中没有做声明,这是为什么呢?因为子函数全部写再了主函数的上方,程序在执行的时候会先解上方的程序,如果写在主函数的下方则程序会在编译的时候报错。如果非得写在下方,那么我们就需要在主函数中做子函数的声明语句,来告诉程序有这个函数的存在。函数的声明语句其实很简单,只需要在函数名字的后面加上分号后放在主函数里就可以了。
本教程例代码也可写成如下:
#include<stdio.h>

int main()
{
        //下方内容为函数声明
        void func1();
        int func2();
        void func3();
        int func4(int a);
        //上方内容为函数声明
        int b;
        func1();
        b=func2();
        printf("%d\n",b);
        func3();
        printf("%d\n",func4(3));
        return 0;
}
void func1()
{
        printf("func1\n");
}
int func2()
{
        int a;
        printf("func2\n");
        a=3;
        return a;
}
void func3()
{
        int a=2,c;
        printf("func3\n");
        c=2*a;
}
int func4(int a)
{
        int c;
        printf("func4\n");
        c=2*a;
        return c;
}

void func1();
int func2();
void func3();
int func4(int a);
这些语句则是每个函数对应的声明语句,一定要写在主函数中,并且有分号。声明了语句之后函数写在主函数下方也没问题了。

任务:
用之前的案例,自行练习函数的使用
温馨提示:
1.如果您喜欢这篇帖子,请给作者点赞评分,点赞会增加帖子的热度,评分会给作者加学币。(评分不会扣掉您的积分,系统每天都会重置您的评分额度)。
2.回复帖子不仅是对作者的认可,还可以获得学币奖励,请尊重他人的劳动成果,拒绝做伸手党!
3.发广告、灌水回复等违规行为一经发现直接禁言,如果本帖内容涉嫌违规,请点击论坛底部的举报反馈按钮,也可以在【投诉建议】板块发帖举报。
已有 1 人评分荣耀 理由
xuenixiang + 2 感谢您的作品!

总评分: 荣耀 + 2   查看全部评分

小黑屋|手机版|站务邮箱|学逆向论坛 ( 粤ICP备2021023307号 )|网站地图

GMT+8, 2024-11-22 06:24 , Processed in 0.122936 second(s), 41 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表