<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??一站式輕松地調用各大LLM模型接口,支持GPT4、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                # 【選擇測試】變量的作用域 ## Part1 在之前的課程內容中,我們學習了變量的概念,接下來我們將對變量可以被使用的范圍 —— 作用域進行了解釋。我們說,我們可以簡單的理解一個變量的 **作用域(scope)** 一般可以被界定為變量聲明語句之后、包裹了它的聲明語句的最內一層 `{}` 之內。例如下圖中,對于變量 `alpha`,圖中的綠色標記了包裹了它的聲明語句的最內一層 `{}` 所在的區域;而黃色的箭頭標記出了自它聲明后,它的實際作用域范圍(也就是作用域)。 這里我們只做一個簡單的介紹——對于 C++ 的 **命名空間**,在后續課程中我們會進一步地展開討論。 [![作用域](https://res.jisuanke.com/img/upload/9fe424620308e1c185c19fcb10710041ececaf43.png)](https://res.jisuanke.com/img/upload/9fe424620308e1c185c19fcb10710041ececaf43.png) 讀一下下面這個 C++ 語言程序,選出關于這個程序描述的所有正確選項(請注意,如果輸出格式的引號中有 `\n`,程序輸出的位置將換行)。 ~~~ #include <iostream> using std::cout; using std::endl; int main() { int year; year = 2011; { int month; month = 5; cout<<year<<" 年 "<<month<<" 月"<<endl; year = 2016; } int month; month = 3; cout<<year<<" 年 "<<month<<" 月"<<endl; return 0; } ~~~ A. 輸出第一行是 `2011 年 5 月` > 第一個變量 `year` 的在聲明后,在第 6 行被賦值為 `2011`。第一次輸出時它的值是 `2011`。這里輸出的 `month` 來自第 8 行的聲明,它的值則是在第 9 行的賦值中獲得。 B. 這個程序將會出錯,因為 `month` 這個變量被聲明了兩次。 > 這個給出的程序中第一個 `month` 變量并不會在第 12 行的右大括號后產生任何作用。所以之后聲明的第二個 `month` 變量并不會與前一個 `month` 沖突。 C. 輸出第二行是 `2016 年 3 月` > 第一個變量 `year` 的在聲明后,在第 6 行被賦值為 `2011`,第 11 行被再次賦值成了 2016(請注意這里 `year` 的賦值依然是發生在 year 作用域內的)。這里輸出的 `month` 來自第 13 行的聲明,它的值則是在第 14 行的賦值中獲得,和第 9 行聲明的 `month` 完全無關。 D. 如果去掉第 7 行的左大括號和第 12 行的右大括號,這個程序將會出錯。 > 如果去掉了這一對大括號,程序中第二個 `month` 變量的聲明發生在程序中第一個 `month` 變量的作用域內,這就會違背我們已經學過的“作用域內的多個變量不可使用相同的變量名”的要求了。在程序編譯時將會報錯。 E. 第二處輸出使用的變量 `month` 來自于第 8 行的聲明,它的值在第 14 行的賦值中獲得。 > 第二處輸出使用的變量 `month` 來自第 13 行的聲明;第 9 行聲明的 `month` 的作用域已經在第 12 行終結。 正確答案:ACD
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看