能一眼看懂这些C语言函数,你就是天生的程序员!
如果你已经了解了变量,循环和条件语句,现在是时候学习函数了。你应该知道它们的用途,因为我们已经使用过它们,并以main为幌子定义了它们。Getchar是另一个函数的例子。通常,函数是代码块,它们执行许多预定义的命令以实现高效的工作。您可以使用内置库函数,也可以创建自己的函数。
程序员编写的函数通常需要原型。就像蓝图一样,原型提供了基本的结构信息:它告诉编译器函数将返回什么,函数将被调用,以及函数可以传递的参数。当我说该函数返回一个值时,我的意思是该函数可以像变量一样使用。例如,可以将变量设置为等于返回0到4之间的值的函数。
例如:
#include / *包含rand()* /int a = rand(); / * rand是所有编译器都具有的标准函数* /
不要认为'a'会随机变化,它将被设置为调用函数时返回的值,但不会再次更改。
原型的一般格式很简单:
return-type function_name (arg_type arg1,...,arg_type argN);
arg_type只表示每个参数的类型 - 例如,int,float或char。如果你声明一个变量,那就和你要放的东西完全一样。
可以有多个参数传递给函数或根本没有(括号为空),并且它不必返回值。不返回值的函数的返回类型为void。
我们来看一个函数原型:
int mult(int x,int y);
这个原型指定函数mult将接受两个参数,都是整数,并且它将返回一个整数。不要忘记尾随的分号。没有它,编译器可能会认为您正在尝试编写函数的实际定义。
当程序员实际定义函数时,它将从原型开始,减去分号。然后应该总是有一个块(用花括号括起来)和要执行该函数的代码,就像为主函数编写代码一样。传递给函数的任何参数都可以使用,就像它们在块中声明一样。最后,用樱桃和闭合支撑结束它。好吧,也许不是樱桃。
我们来看一个示例程序:
#include int mult(int x,int y) ;int main(){ int x; int y; printf(“请输入两个要乘的数字:”); scanf(“%d”,&x); scanf(“%d”,&y); printf(“你的两个数字的乘积是%d n”, mult(x,y)); 的getchar(); }int mult(int x,int y){ 返回x * y;}
该程序以唯一必需的包含文件开头。接下来是函数的原型。请注意,它有最后的分号!main函数返回一个整数,您应始终必须符合标准。如果您已按照之前的教程进行操作,则不应该无法理解输入和输出函数。
请注意printf实际上如何获取看似多功能的值。真正发生的是printf接受mult返回的值,而不是mult本身。
结果就像我们使用这个印刷品一样
printf(“你的两个数字的乘积是%d n”,x * y);
mult函数实际上是在main下面定义的。因为它的原型在main之上,所以编译器仍然认为它是声明的,因此编译器不会给出关于mult未声明的错误。只要原型存在,即使没有定义,也可以使用函数。但是,即使编译,代码也无法在没有定义的情况下运行。
学习从来不是一个人的事情,要有个相互监督的伙伴,工作需要学习C/C++或者为了入行、转行学习C/C++的伙伴可以私信回复小编“学习”领取全套免费C/C++学习资料、视频
原型是函数的声明,但是如果我们不想继续并完全定义函数,它们只需要警告编译器函数的存在。如果在使用之前定义了mult,我们可以取消原型 - 定义基本上也可以作为原型。
Return是用于强制函数返回值的关键字。请注意,可以使用不返回任何值的函数。如果函数返回void,则return语句有效,但前提是它没有表达式。换句话说,对于返回void的函数,语句“return;” 是合法的,但通常是多余的。(它可用于在函数结束前退出函数。)
最重要的功能(双关语)问题是为什么我们需要一个函数?功能有很多用途。例如,程序员可能有一段代码,他在整个程序中重复了四十次。执行该代码的函数可以节省大量空间,并且还可以使程序更具可读性。
此外,只有一个代码副本可以更容易地进行更改。您是否愿意在整个潜在的大型程序中分散四十个小变化,或者对功能体进行一次更改?我也会。
功能的另一个原因是将复杂程序分解为逻辑部分。例如,在选择菜单选项时,选择运行复杂代码的菜单程序。该程序可能最好通过为每个实际菜单选项创建函数,然后将复杂的任务分解为更小,更易于管理的任务来完成,这些任务可以在他们自己的功能中。
通过这种方式,可以设计一个在读取时有意义的程序。并且具有更容易理解的结构。最糟糕的程序通常只有必需的功能,主要,并用乱码代码填充它。
.
如有侵权,请联系删除
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
大数据成人工智能应用重点
随着AI技术的细分场景越来越多,人工智能带来的第四次工业革命浪潮已成汹涌之势,众多传统行业借助AI赋能产业结构,不断升级换代与创新变革,新产品也在不断涌现,AI也在潜移默化改变着生活的方方面面,生物识别、视频识别、内容审核、智能安防等。国内更是诞生了诸如旷视科技、商汤科技、极链科技Video++、依图科技等优秀人工智能初创企业。当前,人工智能已经不仅仅是提升工作效率的一种技术手段,同时还在重塑着产业链和价值创造方式。 人工智能这几年有了这么大的突破,其中一个重要的推动力就是大数据。在大数据这个概念出现之前计算机并不能很好的解决需要人去做判别的一些问题。所以说如今的人工智能不如说是数据智能,人工智能其实就是用大量的数据作导向,让需要机器来做判别的问题最终转化为数据问题。 互联网科技发展蓬勃兴起,人工智能时代来临,抓住下一个风口。为帮助那些往想互联网方向转行想学习,却因为时间不够,资源不足而放弃的人。我自己整理的一份最新的大数据进阶资料和高级开发教程,大数据学习抠qun: 74加零零4加13八1就可以找到组织学习 欢迎进阶中和进想深入大数据的小伙伴加入 技术型的高科技创业公司都喜欢特别的新...
- 下一篇
C语言程序员不会告诉你的14个工具和插件 | 收藏
关注我并收藏这篇文章,可以私信我领取这篇文章内所有的工具和插件! koz.ross 维护的一个 C 语言资源列表,包括了:构建系统、编译器、数据库、加密、初中高的教程/指南、书籍、库等等。 1.构建系统 下面是一些 C 项目的自动化构建和测试工具。 aimake – 一个被设计来避免复杂配置的构建工具。GNU GPL3 或更高版本。 Autoconf – 一个可扩展的 M4 宏指令包,提供命令行脚本来自动配置软件源码包,是 Autotools 的一部分。GNU GPL3 或更高版本。 Automake – 一个自动生成符合 GNU 代码标准的 Makefile.in 文件的工具。需要与 Autoconf 配合使用,它也是 Autotools 的一部分。GNU GPL3 或更高版本。 Jam – 一个构建系统,它被设计的比make更加易用。隐式地理解 C 的构建规则。Jam License。 Libtool – 一个通用库支持脚本,是 Autotools 的一部分。GNU GPL3 或更高版本。 Meson – 一个非常快,用户友好的构建系统,基于 Ninja。Apache2.0. 2....
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS7,8上快速安装Gitea,搭建Git服务器
- SpringBoot2更换Tomcat为Jetty,小型站点的福音
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- CentOS关闭SELinux安全模块
- Docker安装Oracle12C,快速搭建Oracle学习环境
- Hadoop3单机部署,实现最简伪集群
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- CentOS7安装Docker,走上虚拟化容器引擎之路