APCS觀念題目,題型解析 - 20

請問以下程式執行後的輸出值為多少?

int g1 = 30, g2 = 20; int f1( int v) {
int g1 = 10; return g1+v; } int f2( int v) {
int c = g2; v = v+c+g1;; g1 = 10; c = 40; return v; } int main() {
g2 = 0; g2 = f1(g2); printf("%d", f2(f2(g2))); return 0; }

原始碼解析:

int g1 = 30, g2 = 20;

/*

設定變數g1,g2為全域變數(global variable),並指定變數類型為int(整數)。 此部分需了解全域及區域變數,variable scope,每種語言都有,規則不一樣。

*/

/*

  • 變數 - java,swift, CSS, JavaScript,php,Perl, python, linux等課程都有章節講解。

    • Java課程的第2章
    • Perl課程的第1章
    • Swift課程第2章
    • PHP - 第2章
  • (Optional)變數類別 - int 是指定該變數的類型,電腦語言有強類別及弱類別兩種,C,C++,java,swift,kotlin 爲強類別語言(Strong Typed), Perl,php,JavaScript,python,Linux bash爲弱類別語言。

    • Java課程 - 第2章
    • Swift課程 - 第2章 */

int f1(int v) { int g1 = 10; return g1+v; }

int f2(int v) { int c = g2; v = v+c+g1; g1 = 10; c = 40; return v; }

/*

  • 副程式,輔助程式,自訂函式 - 所需技能:變數,變數類別,一些簡單的語言內建函式如 print()。 所有程式語言都有提供的功能,主要學習各語言不一樣的指令:

    • C/C++ - 使用方式 : 回傳值類別 副程式名稱(輸入參數1, 輸入參數2 …….)
    • Java 課程 - 第6章
    • Swift - 第6章
    • PHP課程 - 第2章
    • Python課程 - 第3章
    • Perl課程 - 第4章
    • JavaScript課程 - 第4章
  • 運算符號 - 加減乘除,大於小於等於,等等,所有程式語言幾乎一模一樣,學了一種語言後,其他語言皆然。

    • Java - 第3章
    • Swift - 第3章
    • PHP課程 - 第2章
    • Python課程 - 第1章
    • Perl課程 - 第1章
    • JavaScript課程 - 第6章

*/

int main() { g2 = 0; /* 設定在副程式main()中,區域變數 g2 為 0 */ g2 = f1(g2); printf("%d", f2(f2(g2))); return 0; }



我想深入了解APCS!