函数知识点简述

函数
函数是具有特定功能的代码块,函数使得程序更加模块化,这样便于人们阅读,修改,完善程序
1.函数的定义:
返回值类型  函数名 (形式参数)
{
  声明
  语句
}
无参函数举例
void hello()//无参数无返回值
{
   printf(“Hello World");
}
int peopleCount()//无参数 有返回值
{
  return 33;
}
有参函数举例
int max(int a, int b)//有参数有返回值
{
    return a > b ? a : b;
}
void printfNumber(int x)//有参数无返回值
{
printf(“number is %d”, x);
}

函数注意事项:
返回值类型:
函数的结果值类型,函数不能返回数组.没有其他的限制.
指定返回类型是void类型说明函数没有返回值
函数名的命名规范:由单词组成,除了第一个单词外,其余单词首字母大写
工程名的命名规范:由单词组成,并且每个单词的首字母都要大写(是单词,不是拼音)
变量名的命名规范:由单词组成,除了第一个单词外,其余单词首字母大写
每个形式参数的前面说明其类型,即使几个参数具有相同的数据类型,也必须对每个形式参数分别进行类型说明.形式参数用逗号进行分隔,就算没有参数函数后面的()也不能省略.
返回值:
函数的返回值成为函数的值,只能通过return语句返回给主调函数.
一个函数只能有一个返回值
函数即使没有返回值也可以使用return来结束函数的执行,回到主调函数
return 后面的语句不再执行.
函数调用:
函数调用由函数名和跟随其后的实际参数
函数的声明:
严格的编写大型程序事实上,可以把程序分割成任意数量的源文件.
源文件:xx.h头文件’xx.m源文件
函数声明写在.h文件里
函数定义写在.m源文件里
形参/实参
形式参数:出现在函数定义中,以假名字来表示函数调用时需要提供的值
实际参数:出现在函数调用表达式
函数调用中,形参会拷贝实参内容,传递参数是给函数传递信息的一种方法
形式参数的作用是:
提前占位,同时可以提高函数的通用性,而实际参数是真实数据,出现在函数调用的表达式中,在程序跳转执行函数内部代码时,形参会拷贝实参的内容.
注意:
实参传递给形参,是单向的值传递,是拷贝的过程
函数的嵌套
C语言不允许函数嵌套定义,但是允许函数嵌套调用
注意避免嵌套定义
数组作为参数
1.数组元素作为参数,与普通变量作为参数一样,单向的值传递.
2.数组作为参数,把数组名作为实参传入,数组名是数组的首地址
3.数组名作为参数时,形参和实参实际上是同一段内存空间.

数组作为参数时,是将数组名作为是实参,同时在函数执行其内部代码时,形参拷贝的数组名是指向的同一个内存空间(数组的内存空间).
函数的递归调用
C语言允许实现函数实现体再次调用函数本身.这种调用方式成为递归调用,这个函数称为递归函数
在计算机中阶乘就可以使用递归调用.
注意:递归一定要有出口.
变量的作用域:
所谓变量的作业域指的是变量的有效范围
定义在不同的位置,变量的作用域是不同的
外部变量(全局变量):文件作用域,从变量被声明的点开始一直到所在文件的末尾.
跟随在外部变量声明之后的所有函数都可以访问
局部变量:
快作用域,从变量被声明的点开始一直到第一个大括号的结尾
注意:
外部变量和局部变量可以重名,但是局部变量作用域只能访问局部变量

时间: 2024-08-24 15:03:58

函数知识点简述的相关文章

欧拉函数知识点总结及代码模板及欧拉函数表

概念梳理: 欧拉函数是少于或等于n的数中与n互质的数的数目. 欧拉函数的性质:它在整数n上的值等于对n进行素因子分解后,所有的素数幂上的欧拉函数之积. 欧拉函数的值 通式:φ(x)=x(1-1/p1)(1-1/p2)(1-1/p3)(1-1/p4)…..(1-1/pn),其中p1, p2……pn为x的所有质因数,x是不为0的整数.φ(1)=1(唯一和1互质的数(小于等     于1)就是1本身). (注意:每种质因数只一个.比如12=2*2*3那么φ(12)=12*(1-1/2)*(1-1/3)

python re 模块 findall 函数用法简述

python re 模块 findall 函数用法简述 代码示例: 1 >>> import re 2 >>> s = "adfad asdfasdf asdfas asdfawef asd adsfas " 3 4 >>> reObj1 = re.compile('((\w+)\s+\w+)') 5 >>> reObj1.findall(s) 6 [('adfad asdfasdf', 'adfad'), ('a

内联函数知识点

内联函数知识点 1 内联函数是C++为提高程序运行速度所作的一项改进 编译器将使用相应的函数代码替换函数调用,嵌入在代码中.对于内联代码,程序无需跳到另一个位置处执行代码,再跳回来.因此内联函数的运行速度比常规函数稍快,但代价是占用更多内存.如果程序在10给地方调用同一个内联函数,则该程序包含十个内联函数副本. 2 有选择得使用内联 a.如果执行函数代码时间比处理函数调用机制得时间长,则节约得时间将只占整个过程的一小部分. b.函数过大不使用内联,有的编译器会不能认识. 3内联函数使用方式 a.

函数知识点 1.包 2.hashlib模块 --- 摘要算法模块 3.logging模块 4.openpyxl模块 5.深浅拷贝 # 17

函数知识点1.包 1 # coding(编码系统):utf-8 2 """ 3 1.模块的三种来源: 4 1.内置 5 2.第三方 6 3.自定义 7 2.模块的四种表现形式: 8 1. .py文件 9 2.共享文件 10 3.包 11 4.内置 12 3.研究模块和包: 13 # 还可以站在另外两个角度分析: 14 1.模块的开发者 15 2.模块的使用者 16 4.导模块的那一瞬间发生了什么? 17 首先运行执行文件run.py,创建一个run.py的名称空间 18 1.

Mysql学习笔记(十)存储过程与函数 + 知识点补充(having与where的区别)

学习内容:存储程序与函数...这一章学的我是云里雾里的... 1.存储过程...   Mysql存储过程是从mysql 5.0开始增加的一个新功能.存储过程的优点其实有很多,不过我觉得存储过程最重要的优点就是实现了SQL代码的封装,那么我们为什么需要封装SQL语句呢?原因就是当我们在面对一个庞大的数据库的时候,当我们使用外部程序去访问数据库的时候...我们总不能在外部程序中内嵌很多的SQL语句吧...那样执行的效率不高,并且也不容易维护...因此存储过程将我们的操作进行封装,当我们需要对其进行操

JS函数知识点梳理

要想学好JavaScript除了基本的JavaScript知识点外,作为JavaScript的第一等公民--函数,我们要深入的了解.函数的多变来源于参数的灵活多变和返回值的多变.如果参数是一般的数据类型或一般对象,这样的函数就是普通函数:如果函数的参数是函数,这就是我们所要知道的高级函数:如果创建的函数调用另外一部分(变量和参数已经预置),这样的函数就是偏函数. 此外,还有一点就是可选参数(optional parameter)的使用. 函数的分类 普通函数 有函数名,参数,返回值,同名覆盖.示

函数知识点的博客

函数的定义:(return是返回值,可以没有,不过没有的话就返回了None) def wrapper(参数1,参数2,*args,默认参数,**kwargs): '''注释:函数功能和参数说明''' 函数体 return 返回值 函数就是将要调用的内容打包装进def()里面,在不调用的情况下只读入内存不执行任何操作,若要调用时再一步一步进行. 函数的参数:有形参和实参两种,形参指的是定义时写在def后面的括号里,实参指调用时才会用到的代码的实际的参数,形参就是在定义阶段帮实参占位置用的. 形参:

计算机基础第二周作业 作业整理函数知识点:(大部分笔记都在电脑的印象笔记里面) 这次总结的粗了一点

一. 字符编码 核心:以什么编码写的存入硬盘,就以什么编码取出 1.1  内存使用的是unicode编码,全是两个字节提高传输速度..一般都是使用utf-8的万国编码,优点是节省空间.缺点是运行速度相对较慢 1.2  数据最先产生在内存中的 是unicode格式,想要传输就要转化成二进制的bytes格式 1 #unicode----->encode(utf-8)------>bytes 2 拿到bytes,就可以往文件内存放或者基于网络传输 3 #bytes------>decode(g

Python函数知识点总结

1.函数的定义2.如何定义一个函数以及函数语法3.函数的调用4.函数的参数(形参,实参)以及参数的传递5.函数的返回值6.变量的作用域7.匿名函数8.嵌套函数和闭包9.装饰器 1.函数的定义 函数是组织好的,可重复使用的,用来实现一定功能的代码段.函数能提高应用的模块性,和代码的重复利用率. 2.如何定义一个函数以及函数语法 函数代码块以def关键词开头,后接函数名称和圆括号()传入的任何参数和自变量放在圆括号()中间函数的内容以冒号起始,并且缩进函数的第一行语句可以选择性的使用文档字符串---