首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

C语言入门基础学习函数?来看我就告诉你!

适合在校大学生,小白,想转行,想通过这个找工作的加入。...如果你的函数不需要接收任何参数,那么设置参数列表为空就好了,这样的函数被称为无参函数。相反地,参数列表不为空的函数就是有参函数。接下来分别讲解这两种函数。...1、无参函数 在C语言中,无参函数的定义很简单,先来看一个定义无参函数的示例代码,具体如下: void func() { printf("这是我的第一个函数!..."); } 在这个示例代码中,func()函数就是一个无参函数,在定义时参数列表为空。要想执行这个函数,需要在main()函数中调用它。...从图中可以看出,有参函数和无参函数的调用过程类似,只不过在调用有参函数时,需要传入实参,并将传入的实参赋值给形参,然后在函数体中执行x+y操作,最终将结果输出到控制台。

54630

【C++修行之道】(引用、函数提高)

,可以利用引用的技术让形参修饰实参 优点:可以简化指针修改实参 示例: // 引用做函数参数 //1....二、函数提高 2.1 函数默认参数 在C++中,函数的形参列表中的形参是可以有默认值的。...语法:返回值类型 函数名 (参数= 默认值){} 示例: //函数默认参数 //在C++中,函数的形参列表中的形参是可以有默认值的。...,用来做占位,调用函数时必须填补该位置 语法: 返回值类型 函数名 (数据类型){} 在现阶段函数的占位参数存在意义不大,但是后面的课程中会用到该技术 示例: //占位参数 //返回值类型 函数名(数据类型...函数名称相同 函数参数类型不同 或者 个数不同 或者 顺序不同 注意: 函数的返回值不可以作为函数重载的条件 示例: //函数重载 //可以让函数名相同,提高服用型 //函数重载的满足条件

12910
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    江哥带你玩转C语言 | 08 - C语言函数

    用户可把自己的算法编写成一个个相对独立的函数,然后再需要的时候调用它 例如:你用C语言编写了一个MP3播放器程序,那么它的程序结构如下图所示 可以说C程序的全部工作都是由各式各样的函数完成的,所以也把...(返回值类型为void, 不用使用return关键字返回对应数据) 从主调函数和被调函数之间数据传送的角度看,又可分为无参函数和有参函数两种 无参函数: 在函数定义及函数说明及函数调用中均不带参数。...形式参数2,…) { 函数体; 返回值; } 示例 int main(){ printf("hello world\n"); retrun 0; } 定义函数的步骤 函数名...:函数叫什么名字 函数体:函数是干啥的,里面包含了什么代码 返回值类型: 函数执行完毕返回什么和调用者 ---- 无参无返回值函数定义 没有返回值时return可以省略 格式: void 函数名() {...} ---- 无参有返回值函数定义 格式: 返回值类型 函数名() { 函数体; return 值; } 示例: int getMax() { printf("请输入两个整数

    44400

    C++核心编程(上)

    ,可以利用引用的技术让形参修饰实参 **优点:**可以简化指针修改实参 示例: //1....,用来做占位,调用函数时必须填补该位置 语法: 返回值类型 函数名 (数据类型){} 在现阶段函数的占位参数存在意义不大,但是后面的课程中会用到该技术 示例: //函数占位参数 ,占位参数也可以有默认参数...,提高复用性 函数重载满足条件: 同一个作用域下 函数名称相同 函数参数类型不同 或者 个数不同 或者 顺序不同 注意: 函数的返回值不可以作为函数重载的条件 示例: //函数重载需要函数都在同一个作用域下...按类型分为:普通构造和拷贝构造 三种调用方式: 括号法 显示法 隐式转换法 示例: //1、构造函数分类 // 按照参数分类分为 有参和无参构造 无参又称为默认构造函数 // 按照类型分类分为...,c++不会再提供其他构造函数 示例: class Person { public: //无参(默认)构造函数 Person() { cout 无参构造函数!"

    1.9K30

    Python自定义函数

    2.make是函数名,用来以后调用的。 3.make(a)中的a为函数的参数,为函数里面的操作提供数据。 4.return用来返回一个对象,这个对象可以是函数处理的结果也可以是状态等等。 ?...#无参的函数 def hello(): return 'Hello World!' a = hello() print(a) 执行结果: Hello World!...#多参的函数 def sum_all(a,b,c): return a+b+c m_sum = sum_all(10,20,30) print(m_sum) 执行结果: 60 函数的复用 为什么要创建...有现成的为什么不用呢,有一个现成函数可以大大降低程序员的工作量。实现功能的第一反应应该是:是否有现成的函数/方法/模块 可用?而不是重复的造轮子。...,只要一行代码调用yes_no函数即可,大大减少了重复的工作量。

    82130

    python 之 函数

    为什么呢?...#只检测语法,不执行代码也就说,语法错误在函数定义阶段就会检测出来,而代码的逻辑错误只有在执行时才会知道 定义函数的三种形式 #1、无参:应用场景仅仅只是执行一些操作,比如与用户交互,打印#2、有参:需要根据外部传进来的参数...,意味着调用时也无需传入参数 #2、定义时有参,意味着调用时则必须传入参数 无参 有参 def auth(user,password):...,变量数应和返回值数目一致无返回值的情况:函数名()有返回值的情况:变量 = 函数名()多个变量接收多返回值:变量1,变量2,... = 函数名() 咱们用len()方法时,得到的结果会赋值给一个变量,...传递参数,简称传参,我们调用函数时传递的这个“hello world”和定义函数时的s1就是参数。

    36860

    【C语言】卍字通晓→函数+递归

    用函数的最首要原因是为了降低程序的复杂性,可以使用函数来隐含信息,从而使你不必再考虑这些信息。 避免重复代码段!如果在两个不同函数中的代码很相似,这往往意味着分解工作有误。...自定义函数和库函数一样,有函数名,返回值类型(int & void)和函数参数(有参无参),但是不一样的是这些都是我们自己来设计的,这从而就给了程序员一个很大的发挥空间。...像上面的示例当中void swap(int *x, int *y) 这里的无返回类型swap函数里面就是形式参数。 形参和实参的功能是传递数据,发生函数调用时,实参的值会传递给形参。...函数的声明组成 函数的返回值类型,返回值可以是某个 C 的数据类型 函数名,函数名也就是函数的标识符,函数名在程序中必须是唯一的。因为标识符,所以函数名也要遵守表示符的一个命名规程。...形参字符型指针变量str指向的不就是这个字符串吗。那么这个拿到字符串的第一个长度是很容易的,因为我们一开始str就是从第一个字符拿到的不是吗?刚好可以进行判断它是不是'\0',如果不是就继续执行!

    76310

    C++进阶之路:何为默认构造函数与析构函数(类与对象_中篇)

    函数名与类名相同。 2. 无返回值。 3. 对象实例化时编译器自动调用对应的构造函数。 4. 构造函数可以重载 5....如果类中没有显式定义构造函数,则C++编译器会自动生成一个无参的默认构造函数,一旦用户显式定义编译器将不再生成。...注意:无参构造函数、全缺省构造函数、我们没写编译器默认生成的构造函数,都可以认为是默认构造函数。 对重载函数的调研不明确,有歧义!...对象在销毁时会自动调用析构函数,完成对象中资源的清理工作。...析构函数名是在类名前加上字符 ~。 2. 无参数无返回值类型。 3. 一个类只能有一个析构函数。若未显式定义,系统会自动生成默认的析构函数。 注意:析构函数不能重载 4.

    15200

    【C++小语法技巧】缺省参数和函数重载

    1.默认参数规则: (1)只能从左往右传实参,形参只能从右往左缺省 (2)不能在函数声明和函数定义同时给默认参数(一般在函数声明时给) 2.全缺省和半缺省 (1)全缺省:全部参数都设置默认值...函数重载前提: 1.同一作用域 2.函数名相同 3.功能类似 区分:参数列表不同,包括参数的类型、个数、类型顺序不同 注:函数返回类型不能区分函数重载 问:为什么c不支持函数重载,c++怎么支持函数重载...C语言在编译后,会将函数名转化为一个唯一的标识符(通常是在函数名前加上一个下划线),这个标识符在链接阶段用于确定函数的具体实现。...具体来说,C++编译器在编译时,会将函数名和参数信息一起进行编码,生成一个独一无二的“修饰名”。这个修饰名在链接阶段用于确定函数的具体实现。...代码示例: #include using namespace std; // 第一个重载函数,无参数 void sayHello() { cout << "Hello, world

    11100

    - 函数的定义与使用

    函数可以提前保存起来,并给它起一个独一无二的名字,只要知道它的名字就能使用这段代码。函数还可以接收数据,并根据数据的不同做出不同的操作,最后再把处理结果反馈给我们。...函数名代表了该函数要做的事情。函数体是实现函数功能的流程。在实际工作中,我们把实现一个函数也叫做 "实现一个方法或者实现一个功能"函数可以帮助我们重复使用功能,通过函数名我们也可以知道函数的作用。...使用默认参数,可以简化函数的调用,尤其是在函数需要被频繁调用的情况下如果默认参数在调用函数的时候被给予了新的值,函数将优先使用新传入的值进行工作示例如下:def add(a, b, c=3): return...也就是说不会重复使用的函数,并且业务简单的场景,我们就可以通过 lambda 来定义函数lambda 函数的用法示例如下# 定义匿名函数的两种方法# 方法1:无参数的匿名函数test = lambda:...练习一个学生信息库的案例,并且随着之后的章节学习我们还会不端升级、优化这个信息库,达到真正可以使用的功能。接下来我们先定义出学生信息库的基本结构,之后开发这个信息库的增、删、改、查功能。

    10211

    C++的六大“天选之子“之“构造“与“析构“

    示例:下面这段代码并没有显示定义构造函数....全缺省构造函数 带参构造函数 当然,学过函数重载的友友 们一定知道全缺省和无参会存在调用不明确的情况. class Date { public: Date()//无参构造函数 { _year...无返回值(不是void)。 对象实例化时编译器自动调用对应的构造函数。 构造函数可以重载。...(为了解决满足多样的初始化要求) 默认构造函数是对内置类型不进行处理,C++11中,打了个补丁,内置类型成员变量在类中声明时可以给默认值(缺省值) 如果类中没有显式定义构造函数,则C++编译器会自动生成一个无参的默认构造函数...总结: 析构函数名是类名前加上字符 ~。无参数无返回值类型。 与构造函数不同的是,析构函数不支持函数重载,所以一个类只能有一个析构函数。若未显式定义,系统会自动生成默认的析构函数。

    16320

    【Python 第69课】函数的参数传递(3)

    示例: def printAll(**kargs): for k in kargs: print k, ':', kargs[k] printAll(a=1, b=2, c=3) printAll(...同样在调用时,参数的顺序无所谓,只要对应合适的形参名就可以了。于是,采用这种参数传递的方法,可以不受参数数量、位置的限制。 当然,这还不够。...arg=)须在无默认值的形参(arg)之后; 元组参数(*args)须在带有默认值的形参(arg=)之后; 字典参数(**kargs)须在元组参数(*args)之后。...可以省略某种类型的参数,但仍需保证此顺序规则。 调用时也需要遵守: 指定参数名称的参数要在无指定参数名称的参数之后; 不可以重复传递,即按顺序提供某参数之后,又指定名称传递。...而在函数被调用时,参数的传递过程为: 1.按顺序把无指定参数的实参赋值给形参; 2.把指定参数名称(arg=v)的实参赋值给对应的形参; 3.将多余的无指定参数的实参打包成一个 tuple 传递给元组参数

    72630

    【C++】类和对象(中):类的默认成员函数,构造函数、析构函数、拷贝构造函数、运算符重载

    //函数名和类名相同,无返回值 Date() { _year = 1; _month = 1; _day = 1; } class Date { public: Date() //无参构造函数...Date d2(2024, 8, 9); d2.Print(); 这里也说一下为什么无参的构造函数实例化对象后面不加(),因为加了是下面这个样子。...C++规定对象在销毁时会自动调用析构函数,完成对象中资源的清理释放工作。 析构函数特点: 1.析构函数名是在类名前加~。 2.无参数,无返回值。..._day; } 加const是为了保护形参不被改变。这里解释一下为什么拷贝构造第一个参数传参方式必须是引用。 首先我们要知道,C++规定传值传参要调用拷贝构造,没有为什么,就是规定。...而*这个运算符,可以是一元的解引用运算符,也可以是二元的乘法运算符。

    11910

    类的成员函数总结

    无返回值 对象实例化时编译器自动调用对应的构造函数 构造函数可以重载 如果类中没有显示定义构造函数,则C++编译器会自动生成一个无参的默认构造函数,一旦用户显示定义编译器将不再生成。...比如上面是自定义类型,就会自己调用Stack的默认构造函数 默认构造函数的概念: 我们不写显示构造函数,编译器默认生成的构造函数,叫默认构造 无参构造函数也可以叫默认构造 全缺省也可以叫默认构造 小总结...因为初始化只能初始化一次,而构造函数体内可以多次赋值。 为什么引用和const变量不能在函数体内初始化?...答案是不能,因为有些初始化或者检查的工作,初始化列表也不能全部搞定。所以需要混合使用。 一道具有迷惑性的题目: 最终输出的结果是1 和 随机值。 为什么不是两个1呢?...而对象在销毁时会自动调用析构函数,完成对象中资源的清理工作。 2、特性 析构函数名是在类名前加上字符~ 无参数无返回值类型 一个类只能有一个析构函数。若未显示定义,系统会自动生成默认的析构函数。

    6610

    第三节(函数)

    每个函数都有独一无二的函数名。 在程序的其他部分使用函数名,可以执行该函数中的语句。 这也称为调用(call)函数。可以在函数中调用其他函数。 函数是独立的。...//无返回值 如上所示: func1 返回一个整型数 func2 返回一个浮点型数 func3无返回值。 (2)函数名 函数名的命名规则遵循C语言变量的命名规则。...为什么需要函数原型? 答:从外观上看,除了末尾的分号,函数原型与函数头完全相同; 从内容上看,函数原型与函数头一样,同样包含函数的返回类型、函数名和形参的信息。...这个示例更好: if ( do_a_process() !...但是,这个示例很重要。 该例检查do_a_process() 的返回值,判断该进程是否运行正常。如果不正常,则执行if块中的语句,处理错误或进行清理工作。

    19720

    认真理一理C++的构造函数

    一个类可以有多个构造函数,其函数名一致,形参不同,因而构造函数可以重载。 我们创建类的一个const对象的时候,需要等到构造函数执行完成,或者说只有初始化完成,才能有真正的const属性。...如果类中某个成员它自己没有默认构造函数(无参构造函数),那么编译器也就不能合成默认构造函数。...另外,从这个例子中我们也可以看到,由于Foo中已经定义了自己的构造函数,因此编译器不会为它生成默认的构造函数。 如何解决呢?...对于有参构造函数,使用 类名 变量名(实参); 的方式,例如前面看到的: Test test("编程珠玑",); 而对于默认构造函数,或者说无参构造函数则不能这样: Test test(); 由于这种构造函数无参...,可以使用拷贝形式的初始化 类中某个成员它自己没有默认构造函数(无参构造函数),那么编译器也就无法合成默认构造函数 如果定义了自己的构造函数,编译器将不会合成默认构造函数 对于有const或者引用的成员变量

    56220

    【C++篇】C++类与对象深度解析(二):类的默认成员函数讲解

    示例 class Testclass { public: Testclass()//构造函数名称与类名相同 { } }; 2.2 无返回值 返回值啥都不需要给,也不需要写void,不要纠结...示例 Testclass obj1;//编译器自动调用构造函数,并完成初始化工作 2.4 构造函数可以重载 构造函数可以重载,即同一个类中可以有多个构造函数,它们的参数列表必须不同。...注意:返回值的不同不可以构成构造函数重载。 解释:通过构造函数的重载,可以灵活地初始化对象。例如,一个类可以有无参构造函数和带参构造函数,以满足不同的初始化需求。...示例 #include using namespace std; class Testclass { public: //无参构造函数,即默认构造函数 Testclass()...); d2.Print(); return 0; } 通过这个详细的解析和示例代码,我们可以清晰地理解C++类的默认成员函数和构造函数的特点及其作用。

    8700

    类与对象(中)

    函数名与类名相同。 2. 无返回值。(也不需要写void) 3. 对象实例化时编译器自动调用对应的构造函数。 4. 构造函数可以重载。(这里的重载指的是函数重载) 为什么构造函数支持函数重载?...d1是函数名,参数列表是空,返回值是Date。 7. 无参的构造函数和全缺省的构造函数都称为默认构造函数,并且默认构造函数只能有一个。...注意:无参构造函数、全缺省构造函数、我们没写编译器默认生成的构造函数,都可以认为是默认构造函数。不传参就可以调用的函数就叫做默认构造函数。...析构函数名是在类名前加上字符 ~。 2. 无参数无返回值类型。 3. 一个类只能有一个析构函数。若未显式定义,系统会自动生成默认的析构函数。注意:析构函数不能重载 4....这个经常在笔试选择题中出现。

    5210

    C++初阶-类和对象中

    无返回值(没有返回值并不是void,void返回值是空) 对象实例化时编译器自动调用对应的构造函数(在C语言上的优化) 构造函数可以重载(可以存在多种初始化方式) 示例:...Date d2(2022, 2, 1); // 调用带参的构造函数 // 注意:如果通过无参构造函数创建对象时,对象后面不用跟括号,否则就成了函数声明 // 以下代码的函数:声明了d3函数,该函数无参...如果类中没有显式定义构造函数(我们没有主动写),则C++编译器会自动生成一个无参的默认构造函数,一旦用户显式定义编译器将不再生成 示例: class Date { public: /* // 如果用户显式定义了构造函数...,并且默认构造函数只能有一个(默认构造函数:无参构造函数、全缺省构造函数、我们没写编译器默认生成的构造函数) 示例: class Date { public: //构造函数可以重载,因为可能我们想初始化对象的方式有多种...,而对象在销毁时会自动调用析构函数,完成类的一些资源清理工作(释放动态开辟的空间) 特性: 析构函数名是在类名前加上字符 ~ 无参数无返回值 一个类有且只有一个析构函数,若未显式定义

    62120
    领券