system函数_自学C++基础教程【函数】
函数的概念
一个函数由:函数的返回值类型、函数名、参数表、函数体 这4个部分组成。
int Add( int _a , int _b ) {return _a + _b; }该函数 Add 完成对两个整型数据的求和功能。
函数的调用方式: 函数名(参数表);
在代码区键入如下代码,观察程序运行结果
#include<iostream>using namespace std;int Add( int _a , int _b ){return _a + _b;}void main() {int iResult = Add(3, 5); // 该行既为函数的调用cout<<iResult<<endl;system(“pause”);}函数的定义,声明、实现
函数的定义:该函数出现的时候就具有返回值、函数名、参数表、函数体
在代码区键入如下代码,观察运行结果:
#include <iostream>using namespace std;void GetSum( int _a , int _b ) {cout<<"两数之和为:"<<_a+_b<<endl;}void main() {GetSum(3,5);system("pause");}如果代码变为如下样子,是否有问题?
#include <iostream>using namespace std;void GetSum(int, int);void main() {GetSum(3,5);system("pause");}void GetSum( int _a , int _b ) {cout<<"两数之和为:"<<_a+_b<<endl;}如果代码变为如下样子,是否有问题?
#include <iostream> using namespace std;void main() {void GetSum( int _a , int _b ){cout<<"两数之和为:"<<_a+_b<<endl;}GetSum(3,5);system("pause");}函数的声明:该函数出现的时候只具有返回值、函数名、参数表,但是缺少函数体,而以分号作为结尾
函数的实现:在声明过一个函数之后,我们为其添加函数体的过程
在代码区键入如下代码,观察运行结果
#include <iostream> using namespace std;void GetSum( int, int); // 声明一个函数void main() {GetSum(3,5); //调用一个已经声明过的函数system("pause");}代码修改如下,观察运行结果
#include <iostream> using namespace std;void GetSum( int , int ); // 函数的声明,在声明一个函数的时候我们可以不给出函数的形参名void main() {GetSum(3,5); //调用一个已经声明过的函数system("pause");}void GetSum( int _a , int _b ) //函数的实现 {cout<<"两数之和为:"<<_a+_b<<endl;}通过以上讲解可以看出:
一个函数:由函数返回值、函数名、参数表、函数体这四个部分组成
注意:main函数是一个特殊的函数,它是C++的入口函数。
函数返回值可以是任何基本数据类型。
在代码区键入以下代码,编译并运行后查看结果
#include <iostream> using namespace std;int getSum(int _a , int _b) {return _a+_b;}void main(){int iResult = getSum(3,5);cout<<"3+5 = "<<iResult<<endl;system("pause"); }函数的返回值
将代码改写为如下,编译并运行后查看结果
#include <iostream>using namespace std;int getSum(int _a , int _b) {return _a+_b;}void main(){// int iResult = getSum(3,5);cout<<"3+5 = "<<getSum(3,5)<<endl;system("pause");}在函数的返回值类型不是“void”的情况下,函数体内部必须至少存在一个“return”语句,用于返回必要的数据。
#include <iostream> using namespace std;bool playerIsDead(int _hp) {if( _hp > 0 )return false;return true; } void main(){int iHP = 0;cout<<"请输入玩家HP:"<<endl;cin>>iHP;if( playerIsDead(iHP) )cout<<"玩家死亡"<<endl;elsecout<<"玩家存活"<<endl;system("pause"); }注意:在函数内部需要分支返回的情况下,必须确保所有分支路径都具有返回值。否则程序将会提示警告:“不是所有路径都有返回值”
如果一个函数不需要返回任何数据,使用void作为函数的返回值
如果一个函数的返回值为void时,return语句可以省略。
在代码区键入以下代码,编译运行查看结果
#include <iostream> using namespace std;void printArray( int _iArray[] , int _length ){for(int i = 0 ; i < _length ; ++i)cout<<_iArray[i]<<endl; } void main(){int iArray[10] = {1,2,3,4,5,6,7,8,9,10};printArray(iArray,10);system("pause");}函数名
函数名的命名要遵循C++标识符的命名规则。
可以采取驼峰式命名规则:
如:
GetSum
PlayerIsDead
首个单词首字母小写,其他单词首字母大写
函数的参数表
函数的参数表由() 中间添加向该函数传递的参数组成。
参数是用于向函数传递数据的变量。
函数参数的()中可以没有任何参数,但是()不能省略
#include <iostream> using namespace std;void main() {cout<<"parameter"<<endl;system("pause"); }函数的参数分为两种:形式参数(形参)、实际参数(实参)
形参出现在函数声明或定义中,在整个函数体内都可以使用,离开该函数则不能使用。
实参出现在调用语句中,进入被调函数后,实参不能使用。
在代码区键入如下代码,编译并运行查看结果:
#include <iostream> using namespace std;int getMax( int _a , int _b ) {return _a > _b ? _a: _b; }void main() {int iValue1 = 10 , iValue2 = 5;cout<<"较大的为:"<<getMax(iValue1,iValue2)<<endl;system("pause");}函数的形参和实参具有以下特点:
函数的缺省参数(默认参数、可选参数):
在函数的参数表中被赋以初始值的参数
函数可以在参数表中设置一个或多个参数的缺省值。
void Test( int _a , int _b = 4);Test(); //正确
Test(10); //正确
Test(100,200); //正确
Test( , 200); //错误
函数调用时,实参表和形参表中的参数是按位置对应的。
缺省参数只能从后向前替代缺少的实参值。
如果我们将没有赋初始值的参数称之为:必选参数,那么当我们在定义一个函数的时候:
该函数的参数中必须同时既有必选参数,又有可选参数,它的定义形式一定为:
返回值 函数名(必选参数1,.,.,必选参数n,可选参数1,.,.,可选参数n)
void Test( ); //正确
void Test( int _a ); //正确
void Test( int _a , int _b = 0 ); //正确
void Test( int _a = 0 , int _b = 0 ); //正确
void Test( int _a = 0 , int _b ); //错误
函数体
函数体为当前函数所能完成功能的复合语句。
例如:该函数返回两个参数中较大的一个
int getMax( int _a , int _b ) {if(_a > _b)return _a;elsereturn _b;}今天主要讲解了函数的基本概念、函数的声明、实现、定义,函数的基本组成部分等函数相关的基本概念。
这些基本概念是我进行后续学习的基础。
学习资料领取:
https://pan.baidu.com/s/1VX_zb_eqWH_coos1ZB9QQw
提取码:w8st
学习从来都不是一个人的事,如果你感觉小编的这篇文章对你有帮助的话,可以关注小编首页和小编来一起学习C/C++语言,小编会持续更新后续的内容哦!!
总结
以上是生活随笔为你收集整理的system函数_自学C++基础教程【函数】的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: 如何去掉DataTable中的重复行(新
- 下一篇: 数组指针 sizeof 实现_C++数组