剛開始接觸C語言的時候,會遇到很多語法、運算符、函數等等問題,可能對于剛剛上手的朋友來說不太能夠理解。所以今天通過編寫代碼,來分析一下每行代碼的作用,幫助大家理解。
首先,我們先來寫一段簡單的代碼。代碼要求也很簡單:創建一個整形變量,并且給其賦值,最後顯示這個變量的值。
#include <stdio.h>
int main (void)
{
int demo;
demo = 21;
printf("Is ");
printf("Lucy\n");
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("Lucy\n");
調用 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 的話,不管你傳什麼參數進去,都不會報錯的。隻不過就是不會處理這個參數而已。
那麼本期的C語言幹貨就先分享到這裡,歡迎大家一起來探讨。
我是Lucy,喜歡分享實用的幹貨。
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!