這是一個標准的C語言Hello World!程序,下面是該程序詳解:
#include <stdio.h>
int main(){
printf("Hello,World!\n");
return 0;
}
1.#include頭文件包含
#include是告訴編譯器,包含一個頭文件,在C語言中,任何庫函數調用都需要提前包含頭文件.
<頭文件>,代表讓C語言編譯器去系統目錄下尋找相關頭文件
"頭文件",代表讓C語言編譯器去用戶目錄下尋找相關頭文件
如果是使用了一個C語言庫函數需要的頭文件,那么一定是#include<頭文件>
反之如果是使用了一個自定義的頭文件,那么一定是#include"頭文件"
2.main函數
main函數是C語言中的主函數,一個C語言的程序必須有一個主函數,也只能有一個主函數
3.注釋
//,單行注釋,代表注釋,就是一個文字說明,沒有實質的意義,單行注釋是c++的注釋方式
/**/,多行注釋,多行注釋是標准C語言的注釋方式
並且注釋不參與代碼編譯
4.{}括號,作用域與定義域
C語言所有的函數的代碼都是在大括號里包着的
5.聲明
int x;
聲明一個變量名字叫x,對於C語言,變量的名稱是可以自定義的.
6.C語言自定義名字的規則
可以使用大小寫字母,下划線,數字,但第一個字母必須是字母或下划線
且字母區分大小寫
不能用C語言的關鍵字作為變量名稱
7.printf函數
printf函數是向標准的輸出設備輸出字符串
如果是要輸出一個字符串,printf("Hello,World!\n");
如果是要輸出一個數字,printf(”%d”, 整數)
8.return語句
一個函數遇到return語句就終止了,並且return是C語言的關鍵字
9.system系統調用
system庫函數的功能是指行操作系統的命令或者運行指定程序,並且system庫函數的使用在,windows環境和
Unix/Linux是不同的
10.一個C語言程序編譯的過程,以a.c文件和gcc和gcc編譯器為例:
1.預編譯/預處理 gcc -E a.c -o a.e
預編譯是將#include包含的頭文件內容替換到C文件中,同時將代碼沒有的注釋部分刪除
2.匯編 gcc -S a.e -o a.S
匯編就是將C語言轉化為匯編語言
3.編譯 gcc -c a.S -o a.o
編譯就是將代碼編譯成二進制的機器指令
4.鏈接 gcc a.o -o a.exe
gcc沒有任何參數,代表就是鏈接