day08 函数

2024-05-05 08:58
文章标签 函数 day08

本文主要是介绍day08 函数,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

C语言里可以采用分组方式管理语句
我们把每个分组叫做一个函数

多函数程序执行时需要对时间进行划分,
   时间划分需要遵守如下规则
1.整个程序的执行时间被分成几段,不同
    时间段被分配给不同的函数使用
2.所有时间段之间不能重叠并且必须连续
3.如果函数A在执行过程中把一段时间分配
    给函数B使用,则函数B在完成所有
    工作之后必须把后面的时间还给函数A

如果函数A在执行过程中把自己的时间分配给
    函数B使用就表示他们之间存在函数调用
    关系
在这个关系里函数A叫做调用函数,函数B
   叫做被调用函数
在被调用函数工作的时间范围内函数调用
    关系才存在

调用函数里编写函数调用语句可以产生函数
   调用关系

不可以跨函数使用变量
不同函数里的变量可以重名
如果一个函数多次执行则每次执行的时候
   它里面的变量代表的存储区都可能不同
声明变量的时候可以使用volatile关键字,
    使用这个关键字声明的变量可以被其他
    程序修改

函数调用过程中通常会伴随着两个函数之间
   的数据传递
数据传递存在两个完全相反的方向,可以从
    调用函数向被调用函数传递数据也可以
    从被调用函数向调用函数传递数据
任何方向的数据传递都使用的被调用函数
    提供的存储区

只能从被调用函数向调用函数传递一个数据
这个数据叫做被调用函数的返回值
只有在被调用函数结束的时候才能传递
    返回值
被调用函数里使用return关键字指定返回值
    的数值
被调用函数把返回值记录在一个专门的
    存储区里,被调用函数需要把这个存储区
    的类型名称写在函数名称前
调用函数里把函数调用语句当作数字使用就
    可以得到被调用函数的返回值

如果被调用函数里没有使用return关键字设置
   返回值数值则存放返回值的存储区里内容是
    随机的
调用函数只有一次获得返回值的机会,得到
   返回值以后或者立刻使用或者转存到其他
    存储区
如果函数不提供返回值就需要在函数名称前
   写void,这表示函数不提供用来记录
    返回值的存储区
如果函数名称前什么都没有在C89规范里表示
    函数有一个整数类型的存储区用来存放
    返回值,在C99规范里不允许这样

被调用函数不可以使用数组记录返回值

可以从调用函数向被调用函数传递任意多个
   数据,这些数据的类型也是任意的
被调用函数需要为每个数据提供一个同类型的
    存储区
在函数名称后面的小括号里写一组变量声明
    语句,相邻的变量声明语句用逗号分开。
这些变量就代表了用来传递数据的那些存储区
这些变量叫做函数的形式参数,小括号里的
   所有内容叫做函数的形式参数列表
每个形式参数都必须有自己的类型名称
被调用函数里可以象使用变量一样使用形式参数,
   每个形式参数代表调用函数传递过来的
    一个数字
函数调用语句的小括号里需要为每个形式参数
   提供一个对应的数字,这些数字会被传递
    给被调用函数。
这些数字叫做实际参数
只要能当作数字使用的内容都可以作为实际
    参数使用
如果函数不提供形式参数就需要在小括号里
   写void
如果小括号里什么都没有表示函数可以提供
   任意多个不同类型的形式参数

预习:
    1.函数
    2.递归函数
    3.作用域和生命周期
    4.全局变量和局部变量

这篇关于day08 函数的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/961304

相关文章

【操作系统】信号Signal超详解|捕捉函数

🔥博客主页: 我要成为C++领域大神🎥系列专栏:【C++核心编程】 【计算机网络】 【Linux编程】 【操作系统】 ❤️感谢大家点赞👍收藏⭐评论✍️ 本博客致力于知识分享,与更多的人进行学习交流 ​ 如何触发信号 信号是Linux下的经典技术,一般操作系统利用信号杀死违规进程,典型进程干预手段,信号除了杀死进程外也可以挂起进程 kill -l 查看系统支持的信号

java中查看函数运行时间和cpu运行时间

android开发调查性能问题中有一个现象,函数的运行时间远低于cpu执行时间,因为函数运行期间线程可能包含等待操作。native层可以查看实际的cpu执行时间和函数执行时间。在java中如何实现? 借助AI得到了答案 import java.lang.management.ManagementFactory;import java.lang.management.Threa

SQL Server中,isnull()函数以及null的用法

SQL Serve中的isnull()函数:          isnull(value1,value2)         1、value1与value2的数据类型必须一致。         2、如果value1的值不为null,结果返回value1。         3、如果value1为null,结果返回vaule2的值。vaule2是你设定的值。        如

tf.split()函数解析

API原型(TensorFlow 1.8.0): tf.split(     value,     num_or_size_splits,     axis=0,     num=None,     name='split' ) 这个函数是用来切割张量的。输入切割的张量和参数,返回切割的结果。  value传入的就是需要切割的张量。  这个函数有两种切割的方式: 以三个维度的张量为例,比如说一

神经网络第三篇:输出层及softmax函数

在上一篇专题中,我们以三层神经网络的实现为例,介绍了如何利用Python和Numpy编程实现神经网络的计算。其中,中间(隐藏)层和输出层的激活函数分别选择了 sigmoid函数和恒等函数。此刻,我们心中不难发问:为什么要花一个专题来介绍输出层及其激活函数?它和中间层又有什么区别?softmax函数何来何去?下面我们带着这些疑问进入本专题的知识点: 1 输出层概述 2 回归问题及恒等函数 3

神经网络第一篇:激活函数是连接感知机和神经网络的桥梁

前面发布的文章介绍了感知机,了解了感知机可以通过叠加层表示复杂的函数。遗憾的是,设定合适的、能符合预期的输入与输出的权重,是由人工进行的。从本章开始,将进入神经网络的学习,首先介绍激活函数,因为它是连接感知机和神经网络的桥梁。如果读者认知阅读了本专题知识,相信你必有收获。 感知机数学表达式的简化 前面我们介绍了用感知机接收两个输入信号的数学表示如下:

vscode python pip : 无法将“pip”项识别为 cmdlet、函数、脚本文件或可运行程序的名称

在vscode中控制台运行python文件出现:无法将"pip”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。 使用vscode开发python,需要安装python开发扩展: 本文已经安装,我们需要找的是python安装所在目录,本文实际路径如下: 如果在本文路径中没有此目录,请尝试在C盘中搜索 python,搜索到相关python目录后,点击Python 3.9进入目录,

C语言入门系列:初识函数

文章目录 一,C语言函数与数学函数的区别1,回忆杀-初中数学2,C语言中的函数 二, 函数的声明1,函数头1.1,函数名称1.2,返回值类型1.3,参数列表 2,函数体2.1,函数体2.2,return语句 三,main函数四,函数的参数与传递方式1,实参和形参1.1,函数定义(含形参)1.2,函数调用(使用实参) 2,参数传递方式2.1,值传递2.2,引用传递 五,函数原型与预声明1,

Linux C/C++ socket函数

目录 socket函数 函数原型 头文件 功能 返回值 参数 错误码 socket函数 函数原型 int socket(int domain, int type, int protocol); 头文件                 #include <sys/types.h>                 #include <sys/socket.h>

C语言 gets函数 puts函数 getchar函数

gets函数从标准输入读取一行文本并把它存储于作为参数传递给它的数组中。 一行输入由一串字符组成,以一个换行符(newline)结尾。 gets函数丢弃换行符,并在改行的末尾存储一个NULL字节(一个NULL字节是指字节模式为全0的字节,类似’\0’这样的字符常量)。然后,gets函数返回一个非NULL值,表示该行已被成功读取。 当gets函数被调用,但事实上不存在输入行时,它就返回NULL值,表