剛開始接觸C語言的時候,會遇到很多語法、運算符、函數等等問題,可能對於剛剛上手的朋友來說不太能夠理解。所以今天通過編寫代碼,來分析一下每行代碼的作用,幫助大家理解。
首先,我們先來寫一段簡單的代碼。代碼要求也很簡單:創建一個整形變數,並且給其賦值,最後顯示這個變數的值。
#include <stdio.h>
int main (void)
{
int demo;
demo = 21;
printf("Is ");
printf("Lucyn");
printf("I am %d years old n",demo);
return 0;
}
看了這段代碼之後,如果認為屏幕上能夠列印東西,說明我們的理解是對的。所以運行一下程序,來看一看結果。

運行結果
運行之後可以看到程序輸出了兩行結果:
Is Lucy
I am 21 years old
雖然程序沒有問題,但是不理解的朋友可能會有以下幾點問題:
1:n 和 %d 是什麼意思
2:printf 列印了三個,為什麼 Is 和 Lucy 合併到一起了
3:main 括弧當中的 void 是幹嘛用的
先不要著急,我們先來了解一下每行代碼的作用。
#include <stdio.h>告訴編譯器,把 stdio.h 這個頭文件包含到當前程序當中。頭文件中包含了我們的代碼所要支持的文件。
int main (void) 函數名main()是一個函數名,int表示main()函數返回一個整數,void表示main不帶任何參數。
int demo; 聲明一個變數demo,該變數是一個整形變數。
demo = 21; 給demo賦值,把值21賦值給demo,這樣demo就等於是21。
printf("Is ");
printf("Lucyn");調用 printf() 函數
第一個printf()函數在我們的計算機屏幕上顯示 Is ,(is後面我打了一個空格)游標停留在同一行。
第二個printf()函數顯示的Lucy 緊跟在is後面,n是告訴我們的計算機要另起一行,游標就移動到下一行。
printf("I am %d years old n",demo);同樣也是調用 printf() 函數。不同的是,它把 demo 的值 21 一起列印出來,%d就是告訴計算機是以那種形式輸出demo的值的。
return 0;return 是給調用方返回一個值,這裡可以看作是結束main函數所必須的要求
} 右花括弧,表示函數體的結束
理解了每行代碼之後,回想一下剛剛的幾個問題:
1:n 和 %d 是什麼意思
2:printf 列印了三個,為什麼 Is 和 Lucy 合併到一起了
3:main 括弧當中的 void 是幹嘛用的
第一個問題:
顯然 n 是告訴我們的計算機要另外起一行;
%d 呢是告訴我們的計算機輸出的值是以整形的方式輸出,%d 呢只是眾多的形式中的一種,還有很多像是%f、%a、%p.…等等眾多形式。這裡呢先不說那麼多,以後用到再給大家科普,當然網上的資源也很多,大家可以去網上提前科普一下。
第二個問題:
其實第二個問題在第一個問題的時候就已經給大家解答了。
執行第一個 printf 的時候,因為 Is 的後面沒有加 n ,那麼游標默認在第一行;
到執行到第二個 printf 的時候 Lucy 就直接跟在 Is 後面了;
到執行到第三個 printf 的時候時,因為 Lucy 後面加了一個 n ,所以游標到第二行,所以第三個 printf 的內容是在第二行列印出來的。
第三個問題 *:
這裡打個星號,是因為這個問題對剛剛開始學的朋友來說會有一些難理解。如果你能夠理解,就忽略這個 * 號。
void 其實就是表示 main() 函數的參數是空的,就是沒有的,如果你給 main() 函數傳遞參數的話,那麼編譯就會出錯。
我們都知道 return 是一個返回函數,這裡給我們的 return 返回的值是0,就是返回的是空的,所以這就是為什麼在程序的最後面要加一個 return 0 ;的原因了。
當然,如果沒有 void 的話,不管你傳什麼參數進去,都不會報錯的。只不過就是不會處理這個參數而已。
原創文章,作者:投稿專員,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/281742.html
微信掃一掃
支付寶掃一掃