日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

C语言 03-第一个C程序代码分析

發(fā)布時間:2025/5/22 编程问答 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 C语言 03-第一个C程序代码分析 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

本文目錄

  • 一、代碼分析
  • 二、開發(fā)和運行C程序的步驟
  • 三、總結(jié)
  說明:這個C語言專題,是學習iOS開發(fā)的前奏。也為了讓有面向?qū)ο笳Z言開發(fā)經(jīng)驗的程序員,能夠快速上手C語言。如果你還沒有編程經(jīng)驗,或者對C語言、iOS開發(fā)不感興趣,請忽略?! ≡谏弦黄形覀円呀?jīng)創(chuàng)建了一個C程序,接下來分析一下里面的代碼。  項目結(jié)構(gòu)如下:一、代碼分析   打開項目中的main.c文件(C程序的源文件拓展名為.c),可以發(fā)現(xiàn)它是第一個C程序中的唯一一個源文件,代碼如下: 1 #include <stdio.h> 2 3 int main(int argc, const char * argv[]) 4 { 5 6 // insert code here... 7 printf("Hello, World!\n"); 8 return 0; 9 }

1.#include <stdio.h>

  • #include 是C語言的預處理指令之一,所謂預處理,就是在編譯之前做的處理,預處理指令一般以 # 開頭。
  • #include 指令后面會跟著一個文件名,預處理器發(fā)現(xiàn) #include 指令后,就會根據(jù)文件名去查找文件,并把這個文件的內(nèi)容包含到當前文件中。被包含文件中的文本將替換源文件中的 #include 指令,就像你把被包含文件中的全部內(nèi)容拷貝到這個 #include 指令所在的位置一樣。
  • 如果被包含的文件拓展名為.h,我們稱之為"頭文件"(Header File),頭文件可以用來聲明函數(shù)("函數(shù)"就是面向?qū)ο笾械?#34;方法"),要想使用這些函數(shù),就必須先用 #include 指令包含函數(shù)所在的頭文件。
  • #include?指令不僅僅限于.h頭文件,可以包含任何編譯器能識別的C/C++代碼文件,包括.c,.hpp,.cpp等,甚至.txt,.abc等等都可以。
  也就是說你完全可以將第3行到第9行的代碼放到其他文件中,然后用 #include 指令包含進來,比如:1> 將第3行到第9行的代碼放到my.txt中2> 在main.c源文件中包含my.txt文件 程序還是可以照常運行的,因為 #include 的功能就是將文件內(nèi)容完全拷貝到 #include 指令所在的位置。
  • 不過你可能會疑惑,為什么stdio.h用尖括號<>,而my.txt用雙引號"" ?這個很好區(qū)別,如果是系統(tǒng)自帶的文件,最好用<>;如果是開發(fā)人員自己創(chuàng)建的文件,最好用“”。因為“”是首先尋找開發(fā)人員自己創(chuàng)建的文件,如果文件不存在,才會去尋找系統(tǒng)中的文件。
?說明:這里用txt文件純屬演示,平時做項目不會這樣做,除非吃飽了撐著,才會把代碼都寫到txt中去。

2.main函數(shù)

  • 前面也已經(jīng)提到,C中的函數(shù)就是面向?qū)ο笾械?#34;方法"。C語言是一門面向過程的語言,是以過程為中心的編程思想,就是先分析出解決問題所需要的步驟,然后用函數(shù)把這些步驟一步一步實現(xiàn),使用的時候一個一個依次調(diào)用函數(shù)就可以了。
  • 一個C程序中一定會有一個main函數(shù),也只能有一個main函數(shù)。main函數(shù)是整個C程序的入口。main.c的第3行代碼就定義了一個main函數(shù)。
  • main函數(shù)的返回值為int類型,接收2個參數(shù),其實可以不寫參數(shù)。
main函數(shù)可以簡化成這樣: main() {// insert code here...printf("Hello, World!\n");
return 0; }   這里要注意的是:這里的main函數(shù)沒有寫返回值類型,并不代表函數(shù)沒有返回值,而是表示返回值類型為int類型,void才代表函數(shù)沒有返回值由于C語言的語法限制不嚴格,我們還可以進一步簡化main函數(shù): main() {// insert code here...printf("Hello, World!\n"); }   雖然它要求main函數(shù)返回int類型的值,但我們可以不返回。

3.stdio.h

  • stdio.h?是C語言函數(shù)庫中的一個頭文件,里面定義了一些標準輸入輸出函數(shù)。在main.c的第1行代碼中,用#include指令包含了stdio.h文件。
  • 這里之所以包含 stdio.h 文件,是因為在第7行中用到了在 stdio.h 內(nèi)部聲明的printf函數(shù),這個函數(shù)可以向標準輸出設(shè)備(比如顯示器屏幕)輸出數(shù)據(jù),屏幕上輸出的文字就是第7行代碼printf("Hello, World!\n");造成的,雙引號""內(nèi)的文本為C語言的字符串。
? 二、開發(fā)和運行C程序的步驟 步驟圖如下:

1.編寫程序

  C語言源文件的擴展名為".c",源文件以ASCII碼形式存儲,不能直接被計算機執(zhí)行,因為計算機只能識別二進制指令,也就是0和1。

2.編譯(VC環(huán)境下)

  • 把C的源程序翻譯成計算機可以識別的二進制形式的目標代碼文件,這個過程稱為編譯,由C的編譯器完成。
    • 在編譯的同時,還對源程序的語法等進行檢查。若出現(xiàn)語法錯誤,則編譯失敗。如果編譯成功則生成目標文件,目標文件名跟源程序文件名一樣,擴展名為".obj"。比如,lee.c編譯后生成目標文件lee.obj。
  • 每個源文件是單獨進行編譯的,假如一個項目中有多個.c源文件,編譯成功會生成多個對應(yīng)的.obj目標。一般情況下,目標文件之間是有關(guān)聯(lián)的,比如 a.obj 可能會調(diào)用 b.obj 中定義的一個函數(shù),因此它們都不能夠單獨被計算機執(zhí)行,而且目標文件中并不包含程序運行所需要的庫函數(shù)等。

3.鏈接(VC環(huán)境下)

  • 將所有有關(guān)聯(lián)的obj目標文件,以及系統(tǒng)提供的C庫函數(shù)等組合在一起生成可執(zhí)行文件的過程,稱為"鏈接"。
  • 鏈接生成的可執(zhí)行文件的文件名跟源程序文件同名,擴展名為".exe",計算機可以直接執(zhí)行。

4.運行

* 如果是在Windows環(huán)境下,直接雙擊".exe"文件即可運行C語言程序* 由于我們的第一個C程序,是在Mac OS X系統(tǒng)環(huán)境下用Xcode創(chuàng)建的命令行項目,Mac OS X系統(tǒng)是基于UNIX系統(tǒng)的,因此生成的可執(zhí)行文件的這樣的: ? * 雙擊可以用終端(命令行)打開: ? 三、總結(jié) 說了這么多,總結(jié)一下第一個C程序的運行步驟: 1.在編譯前先執(zhí)行#include指令,拷貝stdio.h的內(nèi)容到源程序中。 2.編譯源程序,生成目標文件。 3.鏈接C語言函數(shù)庫,生成可執(zhí)行文件。 4.運行可執(zhí)行文件,在屏幕上輸出"Hello, World!"看起來好像挺多步驟的、挺麻煩的,但是當我們點擊Xcode的運行按鈕時,Xcode會自動按順序執(zhí)行上面4個步驟 。

轉(zhuǎn)載于:https://www.cnblogs.com/hackerlee/p/3996152.html

總結(jié)

以上是生活随笔為你收集整理的C语言 03-第一个C程序代码分析的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。