C語言程序的基本結構


一、C語言基礎知識的學習方法

1)我的課程內容是精心整理的,某些知識點可能沒有提到應用場景,但絕對不會是沒用的知識。課程中沒有提到的知識可以了解一下,但不必深入學習,意義不大。

2)學習不要貪快,欲速則不達的道理大家應該明白,學習的重點是培養寫程序的感覺。

3)不要記筆記,不要記關鍵字,不要記函數的參數,忘了就忘了,忘了是因為沒有經過實戰,所以,到了項目實戰課程的時候,忘了內容很自然的會全部想起來。

4)不要用手機看視頻,看着看着就想睡覺,學習的過程是邊看邊寫,沒有看出來的程序員。趙括,知道不?就是那個空讀兵書不成器的家伙,只看書看視頻不寫程序,和趙括沒什么不同。

5)程序員的指法很重要,翹着二郎腿,嘴里叨着煙,揮舞一指禪,一副吊兒郎當的樣子,是成不了程序員的。

6)學習的過程中遇到的問題,如果三十分鍾解決不了,不要糾纏,在群里向大家請教。但是,反對遇到問題不經思考就提問的方式。

7)開始學習C語言之前,必須先熟悉Linux環境,掌握Linux常用命令和vi的基本用法。

8)高手都是從菜鳥開始的,只要您按視頻教程一步一個腳印的學習,一定能成為優秀的程序員。

二、C語言程序開發的流程

現階段,我們編寫的C程序比較簡單,程序開發的流程如下:

在這里插入圖片描述

三、安裝C語言的編譯器

Linux下C語言的編譯器是gcc,以root用戶登錄,執行以下命令安裝它:

yum  -y  install  gcc

注意,如果您的服務器沒有安裝gcc,以上命令就會安裝最新版本的gcc,如果已經安裝了gcc,就會更新到最新版本,所以,以上命令不管執行多少次都沒有問題。

安裝gcc的前提條件是服務器必須可以訪問互聯網。

四、C程序的基本結構

C 程序主要包括以下部分:

1)注釋(說明文字)

2)預處理指令

3)主函數入口

4)主函數體

示例(book1.c)

/*
 *  程序名:book1.c,此程序用於演示C程序的基本結構。
 *  作者:C語言技術網(www.freecplus.net) 日期:20190525
*/

// 預處理指令,把頭文件stdio.h包含進來。
#include <stdio.h>     // standard input output

// 主函數main,這里是程序執行的起點。
int main()
{
  // 調用printf函數在屏幕上輸出文字。
  printf("我心匪石,不可轉也。我心匪席,不可卷也。威儀棣棣,不可選也。\n");

  return 0; // main函數返回
}

接下來我們講解一下上面這段程序。

1、程序的注釋

/*
 *  程序名:book1.c,此程序用於演示C程序的基本結構。
 *  作者:C語言技術網(www.freecplus.net) 日期:20190525
*/
// 預處理指令,把頭文件stdio.h包含進來。
// standard input output
// 主函數main,這里是程序執行的起點。
// 調用printf函數在屏幕上輸出文字。
// main函數返回

以上是C程序的注釋(說明文字),注釋的目的是為了提高程序的可讀性,是給程序員看的,不是給計算機看的,編譯器編譯程序時將忽略它。

/* */用於注釋多行文字,/*是開始,*/是結束。

// 用於注釋一行文字,可以獨占一行,也可以放在代碼的后面。

2、預處理指令

#include <stdio.h>     // standard input output

這一行是(編譯)預處理指令,告訴 C
語言編譯器在編譯之前要包含stdio.h文件,程序中使用了printf函數,如果不包含它的頭文件,編譯時會出現警告或報錯。

3、主函數的入口

int main()

main是主函數,程序從這里開始執行。在同一程序中,main函數只能有一個。

4、主函數體

  printf("我心匪石,不可轉也。我心匪席,不可卷也。威儀棣棣,不可選也。\n");

  return 0; // main函數返回

主函數體的代碼在一對花括號,本程序的主函數體有兩行代碼。

第一行代碼調用了printf函數,printf函數的功能是把內容輸出到屏幕,這里是輸出一行文字,文字結尾的\n表示換行,多個\n就可以輸出多個換行。

第二行代碼return 0;表示主函數返回,程序退出。

注意,main函數體中的空行和每行代碼前面的空格是為了提高程序的可讀性,對程序的功能沒有任何影響。

五、編譯並執行 C 程序

在Linux的命令行下用gcc命令編譯源程序book1.c。

gcc -o book1 book1.c

編譯完成后,將生成目標程序book1(可執行程序名由-o參數指定),加./執行它。

./book1

執行的結果是在屏幕上輸出一行文字。

我心匪石,不可轉也。我心匪席,不可卷也。威儀棣棣,不可選也。

運行效果
在這里插入圖片描述

六、知識總結

/**/ 多行注釋。

// 單行注釋。

#include 包含其它文件的預處理指令。

main 程序執行的起點。

{} 函數體、語句塊的開始和結束。

() 函數的參數放在括號中。

"" 字符串放在雙引號中。

\n 換行符。

; 分號,一行代碼的結束。

1)以上都是C語言的語法約定,是規則,不可改變,不能質疑,必須遵守;

2)C語言嚴格區分大小寫;

3)中文的全角標點符號C語言無法識別,編譯時會報錯;

4)C程序以分號“; ”表示一條語言的結束,多條語句可以書寫在一行。

5)如果某行代碼只有分號“; ”,表示一條空語句,什么也不做。

七、課后作業

1)請寫一個最簡單的C程序,實現什么功能無所謂,代碼越少越好。

2)有一個坑,中國程序經常掉進去,但美國程序卻不會,請問這是個什么坑?

3)在屏幕中輸出詩經《我是一只傻傻鳥》,源程序命名為book2.c,執行的效果如下:

在這里插入圖片描述

4)請在屏幕中間用符號“*”拼出一個大大的字母H,源程序命名為book3.c,執行的效果如下:

在這里插入圖片描述

八、版權聲明

C語言技術網原創文章,轉載請說明文章的來源、作者和原文的鏈接。
來源:C語言技術網(www.freecplus.net)
作者:碼農有道

如果文章有錯別字,或者內容有錯誤,或其他的建議和意見,請您留言指正,非常感謝!!!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM