用户:WA掘机查看:0 回复:0 评论:0 创建时间:2021-03-28T14:10:10
Hi,大家好,今天我给大家讲解C++的一些进阶内容 为啥是进阶内容呢?因为很多内容大家都知道,dalao的,太难…… 所以我就讲一下适中难度的。 今天我们讲的是听起来高大上却很简单的东西——函数 ————————————————分割线———————————————— 函数……听起来是不是很熟悉? 对!我们学过一个叫intmain()的东西 他叫主函数 函数,大概分为两个类型,void函数和其他类型的函数,首先我们来讲void函数。 ————————————————分割线———————————————— void函数定义方式如下: voidhanshu(){ ...... ruturn; } 其中,hanshu为函数名,void为保留字,.....为其中的内容,return;为返回 注意:void函数没有返回值,所以return后没有任何值,没有return也行(划掉),养成良好编码习惯,最好加return。 还有一点要强调:C++中不允许函数嵌套声明,也就是说,不能出现如下形式: voidhanshu(){ ...... voidhanshu1(){ ...... return; } reutrn; } 否则会报错。 Q:函数的命名规则是什么? A:函数命名规则和变量一样,由字母或下划线开头,且只能由字母,下划线和数字组成。 Q:为啥要写函数? A:函数相当于一个语句,可以用在主函数或其他函数里。 举个例子: #include<bits/stdc++.h> usingnamespacestd; voidhanshu(){ cout<<"IlikeC++!"; return; } intmain(){ hanshu(); return0; } 运行结果:输出:IlikeC++! 通过以上实例,我们懂了:函数相当于一个语句,执行函数内部的语句。 Q:函数有没有提前退出的命令? A:当然有!如果遇到return,函数就会自动跳出。 ————————————————分割线———————————————— 接下来,我们来讲第二种函数 他的声明如下: inthanshu(){ ...... return0; } 你可能会说:int不是变量类型吗? 是的,但是int在这里指返回类型。 Q:什么是返回值? A:return后的数就叫返回值。 Q:返回值有什么用? A:这种函数相当于运算,返回值就是运算结果。 Q:那么返回类型有什么用? A:告诉计算机返回值是什么类型。例如bool就只能返回0/1,char只能返回一个字符…… Q:那么运算数据(输入)从哪来? A:这就要说到含参列表了。 参数,是函数的输入数据,举个例子: #include<bits/stdc++.h> usingnamespacestd; intab(intn,intm){ intc; c=n+m; returnc; } intmain(){ inta,b; cin>>a>>b; cout<<ab(a,b); return0; } 这里的函数ab,实现的是一个数加一个数的功能。 他有两个参数,m和n。 当输入m,n后,使c为m+n。 最后,返回c(运算结果为c) 那么显然,(intm,intn)就是这个函数的含参列表。 Q:函数的返回类型和含参列表里的变量类型要一样吗? A:当然可以不一样! Q:那么void函数不能有参数吗? A:是的!void函数不能有参数。 Q:那么intmain()可以改成boolmain()、doublemain()…… A:是,但是不建议这么改。 Q:主函数的返回值必须是0? A:不一定!可以是其它数。但如果main的返回值不是0的话,计算机会认为程序没有正常停止,信息竞赛中也有相关要求。 ————————————————分割线———————————————— 好了,关于函数的语法部分已近讲完了,下一节课我们会将递归,是不是很高级呢? 88~