2019-03-13 C入門1:Hello World

1. 第一個C語言程序:Hello World

開始的第一個程序是一個最簡單的程序霍衫,也就是最經(jīng)典的Hello World程序,它的功能為打印出Hello World亚享。程序的內(nèi)容非常簡單劣欢,也是C語言編寫程序的基本結(jié)構(gòu)框架氯庆。

1.1.示例

1.創(chuàng)建文件hello.c

? ? ? ? ? ?vim hello.c


2.在hello.c下如下面代碼,并保存

????????#include <stdio.h>

? ? ? ? int main() {

? ????????????printf("hello world\n");

? ? ? ? }


3.編譯hello.c

????????gcc hello.c

編譯成功后衷恭,自動生成a.out文件此叠。


4.運行a.out

????????./a.out

輸出

????????hello world


1.2. 說明

1.2.1 代碼說明

1.#include <stdio.h>是一個文件,在C語言中稱為頭文件随珠,里面有些函數(shù)提供給我們直接使用拌蜘。

2.main()稱為主函數(shù)杆烁,是C語言中默認的入口函數(shù),在默認情況下運行程序時系統(tǒng)會先調(diào)用程序中的main函數(shù)简卧。一般情況下兔魂,一個完整的程序中主函數(shù)是必須的。

????????C語言的函數(shù)表示方法與數(shù)學函數(shù)表示方法相似举娩,例如:sin(x)析校。

3.main后面的()表示函數(shù)參數(shù)列表。這里使用了空的參數(shù)列表()铜涉。

4.main()后面的{}被稱為函數(shù)體智玻,定義函數(shù)的主要操作。

5.printf("hello world\n");是一條C語言執(zhí)行命令芙代,被稱為語句吊奢,每條語句都以英文分號;結(jié)束。主要作用是在屏幕上打印hello world纹烹。其中printf()是打印函數(shù)页滚,它定義在頭文件stdio.h中。

語句相當于漢語中的一句話铺呵,只不過在漢語中是以句號裹驰。結(jié)尾。

6.使用雙引號"包裹的一段文字片挂,被稱為字符串幻林,這里是在終端需要輸出的內(nèi)容。

7.\n是一個換行符音念,主要是在打印hello world后自動換行沪饺。


在C語言中,除去必要的空格外闷愤,空行和空格往往不是必須的随闽,它的作用是為了提高代碼的可讀性。例如寫成這樣也是可以的肝谭。

#include <stdio.h>

main(){printf("hello world\n");}

好的代碼風格是縮進整齊掘宪,每個語句一行,適當留空行攘烛。

1.2.2 編譯執(zhí)行說明

在Hello World示例中魏滚,有兩個文件hello.ca.outhello.c被稱作源文件(或者源程序/代碼)坟漱,a.out被稱為可執(zhí)行文件(或者程序)鼠次。二者區(qū)別:

上面使用gcc命令就是把人便于讀寫的源文件翻譯成機器可以理解可執(zhí)行文件,這個過程被稱作編譯,所以腥寇,gcc經(jīng)常被稱作編譯器成翩。

主要術語

C語言版本

C語言主要分為幾個版本:Old Style C、C89赦役、C99和C11麻敌。其中,C89掂摔、C99和C11是標準語言規(guī)范术羔,現(xiàn)在廣泛使用的是C99。

K&R的《C程序設計語言》(The C Programming Language)是第一本關于C語言著作乙漓,也是最經(jīng)典的一本C語言著作级历,早期版本使用早期的Old Style C編寫風格,最新版本改用標準C89風格叭披。在C89中寥殖,hello.c應該寫成:

#include <stdio.h>

int main() {

? printf("hello world\n");

? return 0;

}

2. C語言特點及其運行環(huán)境

2.1 C語言特點

1.語言簡潔、緊湊涩蜘,使用方便靈活嚼贡;

2.運算符豐富;

3.數(shù)據(jù)類型豐富皱坛,具有現(xiàn)代語言的各種數(shù)據(jù)結(jié)構(gòu)编曼;

4.具有結(jié)構(gòu)化的控制語句豆巨;

5.語法限制不太嚴格剩辟,程序設計自由度大;

6.C語言允許直接訪問物理地址往扔,能進行位(bit)操作贩猎,能實現(xiàn)匯編語言的大部分功能,可以直? ? ?接對硬件進行操作萍膛;

7.生成目標代碼質(zhì)量高吭服,程序執(zhí)行效率高;

8.用C語言編寫的程序可移植性好(與匯編語言比)蝗罗。

? 這是跟C語言誕生之前的語言的比較艇棕。

2.2 C語言運行環(huán)境

No.? ? ?IDE/編譯器? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?OS

1????????????Microsoft Visual C++/Microsoft Visual Studio????????????Windows

2????????????Code::Blocks? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? Linux

3????????????gcc? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?Windows/Linux

4????????????clang? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? Windows/Linux

5????????????eclipse? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?Windows/Linux

3. C語言和面向?qū)ο笳Z言C++、Java的比較

1.C語言是經(jīng)典的面向過程的編程語言串塑,編程入門一般都學C語言以了解編程以及鍛煉邏輯思維能力沼琉,在一些跟硬件比較緊密的編程中也經(jīng)常用到。

2.C++是在C語言的基礎上加入了面向?qū)ο蟮母拍钭耍蔀榛旌闲兔嫦驅(qū)ο笳Z言打瘪,功能強大,但難度也大。

3.Java是在C++的基礎上進行改進的闺骚,摒棄了一些C++的不足之處彩扔,語法跟C++很像,它是運行在Java虛擬機上僻爽,所以可以跨平臺虫碉,一處編譯,到處執(zhí)行进泼。

4. 注釋

在代碼中有些不用于執(zhí)行蔗衡,僅僅作為代碼說明的文本,稱為注釋乳绕。

在C語言中绞惦,使用/*作為注釋的開始,*/作為注釋的結(jié)束洋措。例如

/* 這是注釋 */

也可以寫作多行

/* 這

*/

注釋主要提高代碼可讀性济蝉,常用來說明代碼功能以及實現(xiàn)邏輯。

上面的注釋稱為多行注釋菠发。在C99中王滤,支持單行注釋,只需要//作為注釋開頭滓鸠,注釋只能對單行起作用雁乡。

本文引用自作者:jdzhangxin

鏈接:http://www.reibang.com/p/65f9b1eecb1c

如有侵權,聯(lián)系必刪

?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末糜俗,一起剝皮案震驚了整個濱河市踱稍,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌悠抹,老刑警劉巖珠月,帶你破解...
    沈念sama閱讀 217,657評論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異楔敌,居然都是意外死亡啤挎,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,889評論 3 394
  • 文/潘曉璐 我一進店門卵凑,熙熙樓的掌柜王于貴愁眉苦臉地迎上來庆聘,“玉大人,你說我怎么就攤上這事勺卢』锱校” “怎么了?”我有些...
    開封第一講書人閱讀 164,057評論 0 354
  • 文/不壞的土叔 我叫張陵值漫,是天一觀的道長澳腹。 經(jīng)常有香客問我织盼,道長,這世上最難降的妖魔是什么酱塔? 我笑而不...
    開封第一講書人閱讀 58,509評論 1 293
  • 正文 為了忘掉前任沥邻,我火速辦了婚禮,結(jié)果婚禮上羊娃,老公的妹妹穿的比我還像新娘唐全。我一直安慰自己,他們只是感情好蕊玷,可當我...
    茶點故事閱讀 67,562評論 6 392
  • 文/花漫 我一把揭開白布邮利。 她就那樣靜靜地躺著,像睡著了一般垃帅。 火紅的嫁衣襯著肌膚如雪延届。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,443評論 1 302
  • 那天贸诚,我揣著相機與錄音方庭,去河邊找鬼。 笑死酱固,一個胖子當著我的面吹牛械念,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播运悲,決...
    沈念sama閱讀 40,251評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼龄减,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了班眯?” 一聲冷哼從身側(cè)響起希停,我...
    開封第一講書人閱讀 39,129評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎鳖敷,沒想到半個月后脖苏,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體程拭,經(jīng)...
    沈念sama閱讀 45,561評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡定踱,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,779評論 3 335
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了恃鞋。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片崖媚。...
    茶點故事閱讀 39,902評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖恤浪,靈堂內(nèi)的尸體忽然破棺而出畅哑,到底是詐尸還是另有隱情,我是刑警寧澤水由,帶...
    沈念sama閱讀 35,621評論 5 345
  • 正文 年R本政府宣布荠呐,位于F島的核電站,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏泥张。R本人自食惡果不足惜呵恢,卻給世界環(huán)境...
    茶點故事閱讀 41,220評論 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望媚创。 院中可真熱鬧渗钉,春花似錦、人聲如沸钞钙。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,838評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽芒炼。三九已至瘫怜,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間本刽,已是汗流浹背宝磨。 一陣腳步聲響...
    開封第一講書人閱讀 32,971評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留盅安,地道東北人唤锉。 一個月前我還...
    沈念sama閱讀 48,025評論 2 370
  • 正文 我出身青樓,卻偏偏與公主長得像别瞭,于是被迫代替她去往敵國和親窿祥。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 44,843評論 2 354

推薦閱讀更多精彩內(nèi)容