C++ 基礎(chǔ)教程

C++ 流程控制

C++ 函數(shù)

C++ 數(shù)組 & 字符串

C++ 數(shù)據(jù)結(jié)構(gòu)

C++ 類 & 對(duì)象

C++ 指針

C++ 繼承

C++ STL 教程

C++ 參考手冊(cè)

C++ goto 語(yǔ)句

在本文中,您將了解goto語(yǔ)句,它是如何工作的,以及為什么應(yīng)該避免它。

在C ++編程中,goto語(yǔ)句用于通過(guò)將控制權(quán)轉(zhuǎn)移到程序的其他部分來(lái)更改程序執(zhí)行的正常順序。

goto語(yǔ)句的語(yǔ)法

goto label;
... .. ...
... .. ...
... .. ...
label: 
statement;
... .. ...

在上面的語(yǔ)法中,label是標(biāo)識(shí)符。當(dāng)遇到goto label;,程序的指定跳轉(zhuǎn)到label:并執(zhí)行它下面的代碼。

在C ++編程中使用goto語(yǔ)句

示例:goto語(yǔ)句

//此程序計(jì)算用戶輸入的數(shù)字的平均值。

//如果用戶輸入負(fù)數(shù),它將忽略該數(shù)字,并且

//計(jì)算之前輸入的數(shù)字的平均值。

# include <iostream>
using namespace std;

int main()
{
    float num, average, sum = 0.0;
    int i, n;

    cout << "最大輸入數(shù): ";
    cin >> n;

    for(i = 1; i <= n; ++i)
    {
        cout << "輸入數(shù)字 n" << i << ": ";
        cin >> num;
        
        if(num < 0.0)
        {
           // 控制程序跳轉(zhuǎn)到j(luò)ump
            goto jump;
        } 
        sum += num;
    }
    
jump:
    average = sum / (i - 1);
    cout << "\n平均數(shù) = " << average;
    return 0;
}

輸出結(jié)果

最大輸入數(shù): 10
輸入數(shù)字 n1: 2.3
輸入數(shù)字 n2: 5.6
輸入數(shù)字 n3: -5.6

平均數(shù) = 3.95

您可以編寫任何c++程序,而不需要使用goto語(yǔ)句,因此不使用goto語(yǔ)句通常被認(rèn)為是一個(gè)好主意。

避免使用goto聲明的原因

goto語(yǔ)句可以跳轉(zhuǎn)到程序的任何部分,但會(huì)使程序的邏輯變得復(fù)雜而混亂。

在現(xiàn)代編程中,goto語(yǔ)句被認(rèn)為是有害的構(gòu)造和不良的編程習(xí)慣。

在大多數(shù)C ++程序中,可以使用break和continue語(yǔ)句代替goto 語(yǔ)句。

丰满人妻一级特黄a大片,午夜无码免费福利一级,欧美亚洲精品在线,国产婷婷成人久久Av免费高清