欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程语言 > c/c++ >内容正文

c/c++

system函数_自学C++基础教程【函数】

发布时间:2025/3/8 c/c++ 38 豆豆
生活随笔 收集整理的这篇文章主要介绍了 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;}

通过以上讲解可以看出:

  • 一个函数既可以定义,也可以先声明,后实现
  • 两种形式的函数在调用上无区别
  • 函数的定义往往出现在程序结构相对简单的代码中
  • 函数的声明、实现经常出现在代码需要拆分为 .h 与 .cpp两个文件中的情况(例如我们后面将要讲解的类,类的函数的声明出现在它的.h文件中,而该函数的实现往往出现在.cpp文件中)

  • 一个函数:由函数返回值、函数名、参数表、函数体这四个部分组成

  • 函数返回值:可以是任何基本数据类型。
  • 函数名是由用户定义的标识符,需遵循C++标识符命名规则。
  • 函数的参数表,由()中间的参数组成。参数是用于向函数传递数据的变量。
  • 函数体为当前函数所能完成功能的复合语句。
  • 注意: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++基础教程【函数】的全部内容,希望文章能够帮你解决所遇到的问题。

    如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。