1. 程式人生 > >C語言程式設計入門之--第三章編寫第一個C語言程式

C語言程式設計入門之--第三章編寫第一個C語言程式

 

  導讀:一般學一門計算機語言的第一堂上機課(“上機”顧名思義,上計算機,機你太美),就是往螢幕輸出“hello world”,本章也不例外。

 

1.1 Hello,World!

  這一節和讀者一起來編寫第一段C語言程式,過程詳細到令人髮指。

1.1.1 建立C語言原始碼檔案

  開啟 Dev C++,在上方選單欄中選擇“檔案 --> 新建 --> 原始碼”,如圖3.1,

  

圖3.1  建立原始碼檔案

 

1.1.2 輸入一段程式碼

  用鍵盤輸入以下程式碼,先輸入,等會再分析:

#include <stdio.h>  
void main()  
{  
    printf("hello,world");  
}  

圖3.2  輸入第一段程式碼

 

 

1.1.3 檔案儲存

  儲存到自定義的目錄下,給這個C語言程式的取名為helloworld.c,字尾為“c”,說明此檔案就為C語言程式檔案。

 

圖3.3  儲存為字尾為c的檔案

1.1.4 編譯執行

  點選“執行 --> 編譯執行”,為什麼要編譯執行呢,根據不同作業系統,比如windows的可執行檔案字尾為"exe",所以編譯c語言檔案為可執行的exe檔案,這樣才能在windows下執行。

 

圖3.4  編譯執行程式碼

 

1.1.5檢視執行結果

  

圖3.5   執行結果

   可以發現,在儲存helloworld.c的資料夾下面,多了一個helloworld.exe,這個就是編譯連結後生產的可執行檔案,一般電腦要關閉防毒軟體就能執行它了。

  下一節會簡明的說一下這段程式的意思。

 

2.1 初識C語言程式碼

  本節主要講解上一節寫的五行C語言程式。

#include <stdio.h>  
void main()  
{  
    printf("hello,world");  
}  

  下面就針對程式碼的每一行進行講解。

 

2.1.1 #,<>,(),{},"",;這些符號有什麼用?

    首先我們得清楚一個概念,編譯器神通廣大!

  看到這麼多符號,比如:#,<>,()......等等,先別緊張,它們都是給編譯器標識語句用的,這一小節先暫時不去考慮它們的意思,只要記住,編譯器有它識別的規範,這些都是規定好的,照做既可。

  注意:咱們中國人一般吧"#"念做井號,外國人應該把它念做Sharp,不管它怎麼念,C語言要會寫會用即可,程式設計師一般話不多說,直接用程式碼說事。

 

2.1.2 #include <stdio.h>

  C語言程式碼需要用到C庫裡面的功能的話,就需要申明標頭檔案,宣告標頭檔案的格式需要用到符號“#”,以及關鍵字include,然後把需要用到的標頭檔案放入<>符號中,比如本節用的<stdio.h>,就把標頭檔案stdio.h放入<>之中。

  新手肯定要開始困惑了,啥是C庫?啥是“宣告”?標頭檔案又是什麼東東?為啥要用到"#"?那就由我來逐一解釋吧。

  注意:如果解釋的不夠詳細,請在下發評論,筆者會重新修改這方面的解釋的,謝謝。

  C庫與標頭檔案:C語言為了減輕程式設計師的工作量,提供了C庫。C庫裡面有好多好多功能,好多好多檔案。為了編譯速度快些,所以當程式設計師需要使用C庫的某些功能的時候,就需要新增相關標頭檔案來表明,不需要就不新增。比如我們用到的stdio.h這個標頭檔案吧,這個就是標準的C庫輸入輸出標頭檔案,相關功能下一小節詳細介紹。

  注意:讀者暫時可以這麼理解,輸入就是接受鍵盤的輸入,輸出就是螢幕上輸出顯示。

  宣告與#include:上述說過,當程式設計師需要使用C庫的某些功能的時候,就需要新增相關標頭檔案來表明,這個過程就是宣告,宣告標頭檔案用到識別符號#,然後再用到關鍵字include,這些都是C語言程式碼格式的規定,照著做就是了,以後程式碼寫多了也就漸漸明白了。

  提示:可以知道include的直譯意思就是包含,包括。

 

2.1.3 printf("hello world");

  上一小節說到stdio.h這個標頭檔案,是標準C庫的輸入輸出標頭檔案。我們已經聲明瞭這個標頭檔案,所以就可以使用標頭檔案裡所有的功能,其中一個就是printf功能。

  注意:宣告標頭檔案辦法之前說過,這麼做:#include <stdio.h>

  先直譯一下printf,print的意思就是列印,f的意思筆者認為是flow的縮寫,就是流,所以printf的意思就是列印流或者叫輸出流,最終輸出流輸出到顯示屏上顯示出來。

  注意:流好比高山流水的水流,計算機程式設計裡面用流來表示要流過CPU的資料流,這裡的輸出流就是要輸出到顯示屏的資料流。如果比較拗口可以多讀幾遍,實在抱歉。

 

圖3.6  資料流

  本節我們輸出到顯示屏上的文字是hello world,現在需要讀者開啟Dev-C++,開啟helloworld.c,把滑鼠移動到printf中,按下鍵盤“Ctrl”,會發現滑鼠顯示變成了手的形狀,點選滑鼠可以看到如下程式碼:

int __cdecl printf(const char * __restrict__ _Format,...);

  看著似乎有點複雜呢,不急,本小節只需要知道printf的使用方法之一,輸出文字流即可,用法就是在printf後的括號裡面,新增雙引號“”,再把需要輸出的文字流放入雙引號裡面就行了,最後括號外面新增分號;即可:

printf("hello world");

  讀者可以自行修改需要輸出到顯示屏的文字流,看看效果體驗一下吧。

  

2.1.3 void main()與{}

  void是定義不需要返回值,為空的意思。

  main是主函式。

  ()的意思等同於庫函式printf的(),用來輸入引數用的。

  {}標識函式體的起始。   

  這裡涉及的返回值,函式,引數等知識,讀者先不用考慮,後面章節會逐一解釋,目前讀者只需要死記住,每次寫程式套用這個格式即可:

void main()
{
    所有程式內容寫在{}裡面
}

  程式寫在大括號{}裡即可。

 

2.3 初識程式設計規範

  寫程式的時候,每個人的品味不同,寫出來的程式風格也會有區別,但是大體上要參照一定的格式,為的是能讓一般程式設計師看的舒服。比如宣告標頭檔案的時候,#include <stdio>,在include後面會加一個空格,再比如main函式的函式體內,printf語句前會新增四個空格,也就是一個TAB按鍵空出的空間。

  以後程式碼寫多了再好好規範一下,目前只是初識。如果本節還有什麼部分不清楚的,歡迎在評論區留言,謝