<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>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                # 練習5:一個C程序的結構 > 原文:[Exercise 5: The Structure Of A C Program](http://c.learncodethehardway.org/book/ex5.html) > 譯者:[飛龍](https://github.com/wizardforcel) 你已經知道了如何使用`printf`,也有了可以隨意使用的一些工具,現在讓我們逐行分析一個簡單的C程序,以便你了解它是如何組織的。在這個程序里你會編寫一些不是很熟悉的東西,我會輕松地把它們拆開。之后在后面的幾章我們將會處理這些概念。 ```c #include <stdio.h> /* This is a comment. */ int main(int argc, char *argv[]) { int distance = 100; // this is also a comment printf("You are %d miles away.\n", distance); return 0; } ``` 手動輸入這段代碼并運行它,之后確保在`Valgrind`下不出現任何錯誤。你可能不會這樣做,但你得習慣它。 ## 你會看到什么 這真是一段無聊的輸出,但是這個練習的目的是讓你分析代碼: ```sh $ make ex5 cc -Wall -g ex5.c -o ex5 $ ./ex5 You are 100 miles away. $ ``` ## 分解代碼 當你輸出這段代碼時,可能你只弄清楚了這段代碼中的一小部分C語言特性。讓我們快速地逐行分解它,之后我們可以做一些練習來更好地了解每一部分:   ex5.c:1   這是一個`include`,它是將一個文件的內容導入到這個文件的方式。C具有使用`.h`擴展名作為頭文件的慣例。頭文件中擁有一些函數的列表,這些都是你想在程序中使用的函數。   ex5.c:3   這是多行注釋,你可以在`/*`和`*/`之間放置任意多行。   ex5.c:4   這是一個你遇到的更復雜的 `main` 函數。操作系統加載完你的程序,之后會運行叫做`main`的函數,這是C程序的工作方式。這個函數只需要返回`int`,并接受兩個參數,一個是`int`作為命令行參數的數量,另一個是`char*`字符串的數組作為命令行參數。這是不是讓人難以理解?不用擔心,我們稍后會講解它。   ex5.c:5   任何函數都以`{`字符開始,它表示“程序塊”的開始。在Python中用一個`:`來表示。在其它語言中,可能需要用`begin`或者`do`來表示。   ex5.c:6   一個變量的聲明和同時的賦值。你可以使用語法`type name = value;`來創建變量。在C的語句中,除了邏輯語句,都以一個`;`(分號)來結尾。   ex5.c:8   注釋的另一種形式,它就像Python或Ruby的注釋。它以`//`開頭,直到行末結束。   ex5.c:9   調用了我們的老朋友`printf`。就像許多語言中的函數調用,使用語法`name(arg1, arg2);`。函數可以不帶任何參數,也可以擁有任何數量的參數。`printf`函數是一類特別的函數,可以帶可變數量的參數。我們會在之后說明。   ex5.c:11   一個`main`函數的返回語句,它會向OS提供退出值。你可能不熟悉Unix軟件的返回代碼,所以這個也放到后面去講。   ex5.c:12   最后,我們以一個閉合的`}`花括號來結束了`main`函數。它就是整個程序的結尾了。 在這次分解中有大量的信息,所以你應該逐行來學習,并且確保至少掌握了背后發生了什么。你不一定了解所有東西,但是在我們繼續之前,你可以猜猜它們的意思。 ## 附加題 + 對于每一行,寫出你不理解的符號,并且看看是否能猜出它們的意思。在紙上寫下你的猜測,你可以在以后檢查它,看看是否正確。 + 回頭去看之前幾個練習的源代碼,并且像這樣分解代碼,來看看你是否了解它們。寫下你不了解和不能自己解釋的東西。
                  <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>

                              哎呀哎呀视频在线观看