iT邦幫忙

3

【從零開始的 C 語言筆記】第三篇-基本的程式結構介紹 & 列印三角形

  • 分享至 

  • xImage
  •  

不怎麼重要的前言

上一篇我們學會怎麼創建檔案,也運行了我們的第一個程式,接下來會介紹上次的程式碼,分析一個最基本的程式結構是什麼,最後我們來做個小作業,來列印一些「Hello World!」之外的東西吧!

然後我想大家都知道,不管學習什麼事物,一定要多去嘗試與變化才能學得更多,能更好學習新的東西也更好理解。

還是再次重申,這篇教學文比較適合不太會使用電腦/程式設計經驗0/對程式語言抱持恐懼或是不知從何下手,但仍然想學習想嘗試看看的人,所以會很繁瑣很簡單,也會附上很多圖文步驟,已經有一些基礎的人是不太適合的。


基本的程式結構介紹

我們要先知道程式碼是一行一行由上而下接著執行的,而上次我們使用的程式碼在這裡:

#include <stdio.h>

int main(){
    printf("Hello World!\n");
    
    return 0;
}

我們大致分成這樣來解釋:
https://ithelp.ithome.com.tw/upload/images/20211007/20142565MKhTeKWHvK.png

  1. 上段的部分--引入函式庫:
#include <stdio.h>

我們大致分成這樣來解釋:
https://ithelp.ithome.com.tw/upload/images/20211007/20142565L3MLHVL0Yo.png

(1) 我們可以使用這個「#include」來引入其他的函式庫檔案函式庫就像是別人做好的工具包,會包含了很多方便使用的函式(工具),而我們可以藉由在程式碼的開頭使用「#include」,來取得函式庫才能在接下來的程式碼中使用它包含的函式

#include

(2) 而後面stdio.h」,則是被引入的函式庫,「stdio.h」是一個C語言的標準輸入輸出函式庫(可以當成基礎工具包),而我們會稱這個.h的檔案為標頭檔(Header)。

#include <stdio.h>

在 「#include」之後使用「< >」引入文件時,它會去include的預設目錄尋找檔案;而如果使用「" "」引入文件時,則會在檔案所在之目錄尋找檔案。(若有興趣可以參考此連結)

  1. 和下段的部分--主函式:
int main(){
    printf("Hello World!\n");
    
    return 0;
}

我們大致分成這樣來解釋:
https://ithelp.ithome.com.tw/upload/images/20211007/20142565A61rB6PZN3.png

(1) 我們會稱被以下這個「{ }」所包含的部分為主函式,它是這個程式的主體也是最主要的核心,而結尾部分的「return 0;」是我們習慣用來確認執行時程式有好好結束(而詳細原因我們在之後會說)。

int main(){
    
    return 0;
}

(2) 而被這個主程式包含的內容中,這個「printf("Hello World!\n");」的部分,是讓我們能在運行(run)後看到「Hello World!」的工程,我們也稱「printf( );」為一個列印的函式

printf("Hello World!\n");

(結尾的\n是換行符號)

  1. 最後是寫C語言程式碼的重要規則,在結束一行程式碼時我們會用「;」作為結尾,因為C語言其實並不強制換行與縮排,所以在結尾時加上「;」是非常重要的事情,會影響程式碼能不能被好好執行;而包裹主函式內容的「{ }」,則是表示被包裹的部分為前段程式碼的body(或是說為block),而在包含的部份我們會習慣縮排(通常是按tab一下),雖然並不強制但會很影響程式的閱讀性(之後會在說明怎麼增加程式閱讀性)。
    https://ithelp.ithome.com.tw/upload/images/20211007/20142565hoQJTtnfN2.png

來測試一下printf吧!

前面我們有講到「printf();」是用來列印的程式碼,所以我們使用「printf("Hello World!\n");」來列印出「Hello World!」,不知道你們有沒有用它來試著列印一點別的東西,透過修改「" "」內的內容就可以列印出你想要的東西了。

不管有沒有,我們都來列印看看下面的三角形吧,可以試著用不同的寫法來完成喔!

*
**
***
****
*****

(要記得\n可以換行呀!)


辛苦看到這裡的你們,不知道有沒有對程式結構比較了解了呢?

下一篇我們來介紹運算子(+ - * / %)並實際使用看看吧!


圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言