前言
上周寫了一篇 20 分鐘學會 C 語言與Python的文章——《一萬字一篇文20分鐘學會C語言和Python,十四年編程經驗老鳥傳授經驗之道》,之后見粉絲轉了一個話題“十分鐘如何學會C語言”,我就在想是否能夠十分鐘呢?答案是可以的,不過是針對于C語言的一般知識點完成語法入門,不過若你在進行考試時,若發現不會可以用這幾個規律對題目進行琢磨,說不定就寫出來了,
在C語言中或者很多編程語言在設計時都會遵從一定標準或者說規律,我們接下來先看看其中規律再進行 C 語言的學習吧,

你看得懂這個規律你就已經一般語法入門了
在 C 語言進行一般的語法撰寫時其實都是遵從了嚴謹的邏輯,而這些邏輯會在不同的知識點及概念中進行復用,我們就用這些規律對C語言進行學習,以下是總結出的一般語法規律如果你很理解下面的話,那么你已經掌握了大部分的C語言一般語法了:
- 雙引號引起來的內容為字串
- 函式就是某一個功能,用什么功能用什么函式
- 第一次遇見一個有值的內容或容器需對其進行型別的說明
- 型別說明放在開頭
- 有邏輯判斷時將條件添加到圓括號中
- 一般數學運算方式跟日常生活中的數學運算型別
- 一條陳述句叫做陳述句,多條陳述句叫做代碼塊,不同范圍或者層級下的代碼塊使用花括號進行標記,在陣列中用于標記陣列內容
- 逗號用來分隔
- 等于號將右邊內容賦值給左邊變數
- 復雜、簡單的運算式就類同于一個數學公式
- 一個運算式中若需要輸出內容,那么肯定先將這個運算式計算后才最后輸出
- 所有有功能性的標點符號必須是英文標點
- 引數就是給予函式進行運算所必備的傳入資料,傳入資料一般將內容填寫在函式的括號內
- 變數就是存盤一個值的容器
- 陣列就是存盤多個值的容器
- 代碼是自上而下的,例如變數需要先創建才可以使用
- 占位符顧名思義就是為一個值占據一個位置,也就是幫忙排隊真正使用到對應的值的時候將會換成正主
- 結構性代碼需緊密貼合,中間不能出現其他的代碼
- 關鍵字就是表示接下來說明要該關鍵字進行對應的事件
注:本篇查看物件最好是已經學了C語言一兩節課的同學,因為在此篇中將不會講解代碼在哪撰寫以及用什么軟體進行撰寫等問題,
開始計時正式開始學習
其實以上那幾個點就已經包含了很多C語言語法的內容,我們接下來就舉例并且適當的進行教學完成 C 語言一般語法的入門,
01 輸出顯示
根據以上規律中的第二點,想要輸出內容那么就需要使用一個可以輸出的函式,那么這個輸出內容的函式在 C 語言中是 printf();我們的內容若想輸出顯示 HelloWorld 那么 HelloWorld 是一串字串,那么根據以上規律的第一點我們寫成 “HelloWorld”,那么在這里 “HelloWorld” 跟 printf() 怎么樣結合在一起呢?此時我們再看第十三點規律“引數就是給予函式進行運算所必備的傳入資料,傳入資料一般將內容填寫在函式的括號內”,得知,直接將內容填入 printf() 的圓括號中即可:
printf("HelloWorld");
利用以上總結的規律提升學習效率簡直易如反掌,
02 變數
變數根據規律中的第十四點我們得知,變數為一個容器,并且可以存值;但是此時我們還需要查看第三點“第一次遇見一個有值的內容或容器需對其進行型別的說明”;我們在創建一個變數時,這個變數是對值進行存盤的容器,那么則需要對這個變數進行型別的說明,根據第四點我們得知型別的說明一般放在開頭,我們在此舉例幾個型別說明符:int(整數型別)、char(字符型別)、float(浮點數型別),這幾個型別說明符在第一次創建的時候給予說明,即是創建了這幾個型別的變數,創建一個變數的一般格式如下:
int 變數名稱=變數值
根據以上的格式我們將變數名稱改為 abc則是創建了一個名為 abc 的整數型別的變數,那么里面存盤的值肯定為整數;等于號可以從第九點規律中得知這就是將右邊的變數值存盤到左邊的變數中,那么代碼就可以寫成:
int abc=10;
03 變數輸出
變數輸出意思則是將變數進行顯示,顯示我們使用可以用作顯示的函式 printf(),假設此時我們有一個變數 abc所存盤的值是10,那么顯示代碼是直接寫成這樣嗎:
printf(abc);
這是不對的,那是這樣嗎?
printf("abc");
這樣也是錯的,這樣直接顯示了 abc 這個字串,那么我們該怎么做呢?這個時候看規律的17點,我們需要使用占位符,不同型別使用的占位符不同,每個型別對應一種,或者你可以理解為占位符就是這些變數的男朋友,逛街累了就需要他們去排隊,排完隊了正式買東西女主才過來挑,在這里 abc 是 int 整數型別,整數型別的占位符為 %d,那直接輸出 %d 就行:
printf("%d")
那這樣對不對?當然不對了,他女朋友哪去了呢?所以在這里我們需要指定一下他的女朋友;我們看規律的第八點,用逗號進行間隔,我們也不需要隔多遠,在雙引號外用逗號隔開就行,雙引號內就像排隊的佇列,雙引號外就是等待的“女朋友”們,
printf("%d",abc)
為什么我剛剛說是“女朋友”們?那是因為不能讓女生累這所以就一堆男性朋友都去排隊去了,假如現在有3個變數,分別是 abc、a1、a3,他們都是整數型別,如何輸出呢?那你就看下面的代碼了:
printf("%d --- %d --- %d",abc,a1,a3)
以上代碼中的 — 會照原樣輸出顯示,因為這些都是自己去為自己去排隊的,那么在 printf 中的這三個 %d 是怎么對應的呢?第一個 %d 就是對應 abc,第二個就是對應 a1 然后依次類推,最后結果如下:

這一小點完整的代碼如下:
int abc=0;
int a1=10;
int a3=20;
printf("%d --- %d --- %d",abc,a1,a3);
04 邏輯判斷
邏輯判斷就是一個情形下條件是否成立從而執行不同的流程,例如明天天氣好就去打球,天氣不好就在家打游戲,天氣好和天氣不好就是條件,那么用 C 語言的邏輯判斷陳述句如何表示呢?看下面這個一般的語法標準:
if(條件){
錯了干什么這里打代碼
}else{
對了干什么這里打代碼
}
以上這個格式其中 if 就是表示接下來要進行邏輯判斷,從第五點得知,邏輯判斷條件就是放在圓括號之中的,再接著從第七點中得知,花括號內撰寫的則是代碼塊,我們可以在其中撰寫多條代碼,
我們可以根據以上的格式撰寫如下代碼:
int a=3;
if(a==3){
printf("a 是 3 ");
}else{
printf("a 不是 3 ");
}
那以上的代碼我們就應該很清楚了,if 是邏輯判斷,那么圓括號內的就是表示條件花括號內的就是表示條件是否正確從而執行的不同代碼,在 C 語言中使用兩個等于號表示判斷等于號左邊內容值是否與右邊內容值相等,

我們也可以去掉 else 部分,這樣如果條件 a==3 判斷錯誤將不會執行別的內容,由此得知 else{} 就表示條件錯誤后需要執行的部分,而花括號內的代碼則是條件錯誤后具體需要執行的內容,
在此我們還可以判斷多個條件:
int a=5;
if(a==3){
printf("a 是 3 ");
}else if(a==4){
printf("a 是 4 ");
}else if(a==5){
printf("a 是 5 ");
}else{
printf("a 不是 3 ");
}
以上出現了一個 else if,這又是什么呢?其實就是判斷這個變數 a 如果不等于 3 就繼續下一個條件判斷,判斷成功就只執行其中一個流程內的代碼,隨后跳出整個 if 結構,

在此注意,根據規律十八點說明,結構之間必須緊密貼合不能夠在在中間打其他的代碼喲,例如下面這個就是錯的:
int a=5;
if(a==3){
printf("a 是 3 ");
}else if(a==4){
printf("a 是 4 ");
}
int b=0;
else if(a==5){`在這里插入代碼片`
printf("a 是 5 ");
}else{
printf("a 不是 3 ");
}
05 回圈
在 C 語言中我們有 while 回圈、for 回圈等,在此用這兩個舉例,while 和 for 都是關鍵字,根據規律十九點我們可以得知,while 就是表示開始回圈,那么在此處我可以告訴你,最簡單的回圈是由一個關鍵字、一個條件和對應代碼塊組成的,條件根據規律第五點知道是需要放在圓括號內,隨后再看規律第七點,花括號內表示需要執行的代碼塊,那么查看以下示例:
int a=0;
while(a<10){
printf("我在回圈...");
a++;
}
那么就可以很清楚的知道 while 就是表示要開始回圈,圓括號內的條件是 a<10,這是這個回圈執行的時候需要判斷的條件,若這個條件錯了那么則不再進行回圈,最后再看花括號內的代碼,輸出顯示 “我在回圈…” 這個字串;在這里需要說一下 a++,a++表示a這個變數自己自增加1,意思就是a最開始是0,自增1后那就是1了,隨后每次回圈都執行一次,知道 a<10 這個條件不對則不再進行回圈,

那還有一個 for 回圈呢?for回圈也很簡單,不過跟 while 回圈會有一定的差別,
int a;
for(a=0;a<10;a++){
printf("我在回圈...");
}
以上代碼中,for 表示回圈,但是在圓括號后中不止有條件,圓括號中的 a=0 表示第一次回圈執行一次 a=0,也就是把 0 存盤到 a 變數中,a<10 肯定是條件了,隨后 a ++ 則是表示每次回圈 a 就會加1,
以上結果跟 for 回圈的結果都一致,

06 陣列
我們可以從第十五點規律中得知,陣列就是存盤多個值的容器,那么創建一個容器肯定要說明型別,然后給予一個陣列名,最后給予一個內容,我們可以根據第七條規律得知,陣列的內容是使用花括號標記的,那具體如何寫呢?我們可以查看一下格式:
型別 陣列名[]={值1,值2}
從以上格式中我們可以得知,開頭就是型別,隨后就是陣列名,在陣列名右側是有一個方括號,表示這個是陣列,隨后等于號右邊用花括號將其值進行了引入,并且不同值之間使用了逗號進行分隔,那我們現在看一個C語言的陣列代碼:
int a[]={9,6,3,2,5,8,7,4,1,0};
以上代碼中創建了一個整型陣列 a,里面存盤了 9,6,3,2,5,8,7,4,1,0 ,他們之間使用了逗號進行分隔,
那我現在想顯示這個陣列內容怎么辦?很簡單,使用 printf() 函式唄,由于我們這個陣列值的型別是整型,肯定使用 %d 作為占位符,那么這樣寫肯定是沒錯的:
printf("%d ");
那接下來怎么寫呢?我們如果這個時候想顯示第一個元素也就是 9,那怎么顯示?這時通過一個叫做下標的知識點就可以完成了,例如 a[0]就表示9,a[1]就表示6,a[2]就表示3,從0開始依次遞增:
int a[]={9,6,3,2,5,8,7,4,1,0};
printf("%d ",a[2]);

07 自定義函式
自定義函式跟變數宣告一樣,型別說明符要放開頭,可以查看第四點規律,自定義函式的格式如下:
型別說明符 函式名(){
函式體代碼
}
函式是一個功能,那么自定義函式就是自己去寫一個功能,在此我撰寫一個自定義函式,該自定義函式的功能就是回傳一個值:
int r1(int a,int b){
return a+b;
}
以上函式 int 表示回傳值是整數型別,r1 是這個函式的名稱,圓括號內是引數;int a和 int b 表示接收兩個型別的函式,但是接收后需要有一個標記去參考,在這里就是對這兩個函式進行命名為a和b,他們之間使用逗號進行間隔,規律符合第八點規律;隨后在花括號中撰寫這個函式的函式代碼,符合第七點規律;在花括號內 return 表示將 a+b 的結果進行回傳,你若傳入兩個數字一個是 11 一個是 2 那么將會回傳3,如下完整代碼示例:
#include<stdio.h>
int r1(int a,int b){
return a+b;
}
int main(){
int a;
a=r1(11,2);
printf("%d ",a);
}

在函式中 return a+b 其中 a+b 就是運算式,將會先計算,最后再回傳,符合第十一點規律,在使用函式時使用函式名進行呼叫,傳入的值使用逗號進行間隔,最終將會回傳出來賦值給a變數;其實 a=r1(11,2); 這一行代碼也符合規律第十一點,將會先進行函式的內容最后才會回傳出來,
08 結構體
結構體其實就是一種復合的資料型別,使用一個結構體,你可以為結構體內的元素進行賦值從而定義一種型別的不同屬性,結構體也非常符合之前函式、變數創建的方式,我們先看一個代碼:
struct human{
int age;
char sex;
char name;
} ;
struct human xiaoming;
以上代碼 struct 就是結構體的一個關鍵字,human 就是這個機構體名,花括號內就是結構體的復合元素,在這里有整型變數 age、字符型別 sex以及字符型別 name,在花括號結尾再添加分號表示結束即可,
那么此時 human 就是表示一個結構體或者說是你自己創建的一種資料型別;之前我們說過直接使用資料型別修飾一個變數就可以了,不過在結構體中你還需要表示這個是個結構體變數,所以在開頭加一個 struct 進行標記寫成 struct human xiaoming; ,
那如何使用呢?我們看以下的示例:
#include<stdio.h>
void main(){
struct human{
int age;
char sex;
char name;
} ;
struct human xiaoming;
xiaoming.age=10;
xiaoming.sex='T';
xiaoming.name='M';
printf(" age 為:%d\n",xiaoming.age);
printf(" sex 為:%c\n",xiaoming.sex);
printf(" name 為:%c\n",xiaoming.name);
}
以上代碼中 %c 則表示為字符型別資料進行占位,xiaoming.age 表示xiaoming 這個使用這個結構體變數之中的 age 屬性并且賦值為 10;xiaoming.sex=‘T’; 則表示給 sex 屬性賦值為 T,在 C 語言中字符資料是使用單引號進行表示的,

完整入門教程
如果想進行較為完整且簡單的學習可以參照以下教程,
目錄
《看聊天記錄都學不會C語言?太菜了吧》(22)(必懂!題解 1-100 內素數)素數原來是質數!為什么你不早說!——(必懂!題解)求素數
《看聊天記錄都學不會C語言?太菜了吧》(21)(必懂!題解冒泡排序)在現實生活中,打擂臺比賽爭名次竟用的是冒泡排序?——(必懂!題解)冒泡必懂
《看聊天記錄都學不會C語言?太菜了吧》(20)(必懂!題解指定天數)我能知道2000年后的這個月一共有幾天——(必懂!題解)我能知道2000年后的這個月一共有幾天
《看聊天記錄都學不會C語言?太菜了吧》(19)鞏固開始,數字1、2、3、4能夠組成多少個 3 位數的不同的排列——鞏固1
《看聊天記錄都學不會C語言?太菜了吧》(18)2分鐘搞結構體——結構體
看聊天記錄都學不會C語言?太菜了吧》(17)5分鐘搞懂指標與多重指標——指標與多重指標
《看聊天記錄都學不會C語言?太菜了吧》(16)我一直以為校花很漂亮,直到我叫了她一聲…——生命空間、命名規則
《看聊天記錄都學不會C語言?太菜了吧》(15)你學了一節課的函式我5分鐘搞定了,還很熟——自定義函式傳參、回傳值
《看聊天記錄都學不會C語言?太菜了吧》(14)這么神奇?我寫了20行代碼竟然一行就可以搞定?——自定義函式
《看聊天記錄都學不會C語言?太菜了吧》(13)(9*9 乘法表)尋找電腦中的盲盒彩蛋——for 回圈與回圈嵌套 九九乘法表
《看聊天記錄都學不會C語言?太菜了吧》(12)回圈有多容易?你看一眼就懷…——回圈
《看聊天記錄都學不會C語言?太菜了吧》(11)2分鐘領悟陣列——陣列
《看聊天記錄都學不會C語言?太菜了吧》(10)程式媛聰明絕頂了——邏輯與運算子
《看聊天記錄都學不會C語言?太菜了吧》(9)老公餅真的有老公送?——字符陣列
《看聊天記錄都學不會C語言?太菜了吧》(8)牛郎和織女竟有一個孩子?——多條件if
《看聊天記錄都學不會C語言?太菜了吧(7)下一篇文章告訴你牛郎是誰——if邏輯判斷
《看聊天記錄都學不會C語言?太菜了吧(6)以前跟我說編程很難的給我站出來——浮點數及變數運算
《看聊天記錄都學不會C語言?太菜了吧(5)打了一把游戲我學會了一個編程知識?——變數輸出及占位符
《看聊天記錄都學不會C語言?太菜了吧(4)原來我早就會編程了——變數
《看聊天記錄都學不會C語言?太菜了吧(3)代碼都在談戀愛難道你不知道?——頭檔案及標點
《看聊天記錄都學不會C語言?太菜了吧(2)我說編程很容易你們不服?——Devc使用及HelloWorld
《看聊天記錄都學不會C語言?太菜了吧(1)我在大佬群里問基礎問題沒人理?——學習建議
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/278166.html
標籤:其他
