C語言入門語法教程:對零基礎小白也許會有所幫助!
眾所周知,C語言是世界上最好的語言(不知道梗的自行百度),今天我就想出一期快速上手C語言指南,不要996!不要996!只要10分鐘,C語言基礎掌握它(大概就是基礎中的基礎中的基礎吧)。
好了廢話說夠了,下面開始正文:
Chapter 01 經典內容介紹
作為一名對程式語言毫無瞭解的小白,當然要從程式如何產生並執行講起啦。
C語言作為一門編譯-連結形語言,需要將原始碼轉為機器碼並連結以在計算機上執行。這時候有小朋友就要問了,連結是幹什麼的呀,編譯成機器碼不就應該能跑了 。眾所周知(但也不一定),編譯是以檔案為單位的,那我們在用別人做好的東西的時候就需要連結到別人程式碼對應的指令才能正常執行。
現在想學習C語言的同學抓緊時間領取下方福利,全新C語言入門學習教程資料,包含有系統化學習路線、原始碼筆記、經典教材和影片教程,內容清晰詳細,講解通俗易懂,非常適合零基礎小夥伴領取學習!
好的,這部分先說到這裡,我們來個程式看看。
首先有請我們的 Hello World 選手登場,作為一個最基礎的C語言程式,它包含兩個部分。
第一部分就是第一行的綠色字,他表示預處理指令。include尖括號的東西,表示引用了這個庫(stdio。h 表示standard input output。header),可以理解為前文所說的連結的位置。
第二部分從int main(){ 開始,這表示一個函式的開始。
啥?不知道函式是啥?沒關係!
把他理解為程式的入口就好了,而這個函式叫做main而接下來大括號就是它裡面的內容。上過幼兒園的同學肯定都能想到這就是主程式的入口了。
那麼進入了這個函式,裡面一行行的程式碼就是要執行的內容了。
第一句 printf(“Hello World\n”); 這句呼叫了一個函式,來自之前宣告的
\n
哪裡去了呢,螢幕上能看到的字元只有前面的“Hello World”而它實際上成為一個換行符出現了換行符當然是看不到的,但是他讓游標往下挪了一個,你可以試試加
\n
和不加在輸出介面有什麼區別哦(此外,請自行百度跳脫字元)。最後的分號表示該語句的結束(
不要打成中文的哦!
)
接下來是第二句 return 0;表示函式結束,返回一個數0。若是沒有正常結束的話返回的將是一個隨機的數字。我們可以由此判斷我們的main函式有沒有正常結束。當然通常並不靠這個
Chapter 02 基礎語法掃盲
為了完成一個我們常見的輸入、計算、輸出的做題流程,我們需要學會IO、條件分支、迴圈三個的語法點,而為了便捷的儲存資料,我們還需要用到陣列這一的工具。
在這些開始之前,我們先引入一個概念
變數
。它就是一個空間可以用來存一個已知種類的資料,我們可以修改它的值來完成計算。
其中 a, b, c 就分別是三個變數,我們透過 int a, b, c; 這條指令聲明瞭這三個變數。變數宣告的格式為 變數型別(自己查一下都有哪些)+變數名稱(自己查一下規則)。在接下來,我們可以在作用域(不知道不用管 自己百度更好)內隨意(也不完全隨意)的使用他們。我們可以給他賦予相對應資料型別的值並進行符合規則的運算。
格式化輸入&輸出
輸入輸出就是程式的感官和四肢,而作為初學者,只要掌握最基礎的兩個函式便好。
首先便是萬能的輸入函式 scanf()
沒有色盲的同學可以輕易的發現括號裡主要由兩部分組成,分別為藍色的
格式字串
(對應輸入的格式),和後面的一眾
引數變數
(別跟我說逗號啥的)。在格式字串裡有兩個
%d
是
佔位符
,
一一對應
後面的引數。
不同的資料型別對應不同的佔位符。(具體對應關係請自行百度)而scanf會忽視中間所有的空白字元:空格、製表符與換行符。而後面的變數前的
&
表示取地址,簡單理解就是想修改一個變數需要知道它具體在哪而不僅是它的名字(不理解還是沒關係,先記住就好)。
至此便是輸入部分。
接下來是萬能的printf()
和scanf一樣printf的引數也是由
格式字串
和對應的
變數
兩部分構成。和scanf 一樣,printf中佔位符也和後面的引數一一對應。
那麼上面這個程式編譯執行以後可以在控制檯得到以下結果:
其中第一行的123 456為輸入,第二行為輸出。分割線以下為系統的返回資訊,我們看到最後三個詞return value 0對應前文提到的在函式結尾加return 0;
條件語句
為了做判斷或分支跳轉,我們需要有條件語句。在這裡我們先介紹最常用的條件語句if else的用法。
如圖,我們先定義了a b c 三個變數,然後輸入了兩個用空白字元分開的兩個字元存入a b。然後我們判斷a是否大於b,是的話則執行c = a - b 否則則執行 c = b – a。if語句由三部分組成,首先是
if關鍵字
,緊隨其後是一個圓括號表示
判斷條件
,最後是一個由花括號括起來的條件成立下
執行的程式碼段
。而在
if
語句後緊跟
else
關鍵字和
else
後花括號內程式碼段構成了
else
語句,表示在
if
語句不成立時執行的程式碼。
if
後面不跟
else
則會
繼續執行接下來的指令。
如下圖:
在判斷完後,若成立則執行第
7
行程式碼,執行完後繼續執行第
9
行程式碼。不成立則直接執行第
9
行程式碼,
c
的值在無論
a>b
是否成立的情況下
c
都會是
b – a。
注意:分支程式碼段一定要用花括號括起來縮排並不影響程式碼執行順序!!!
上面的內容不知道大家是否容易消化,實在難理解的小夥伴可以先領取下方的學習教程跟著學習試試,跟著專業老師學習更容易掌握和理解知識,加深對知識點的記憶,還有各種經典實戰專案可以領取上手練習,需要的小夥伴歐能在下方外掛免費領取!
迴圈
講完分支,下面來講講迴圈。顧名思義迴圈便是執行某一程式碼段很多遍。
從第六行開始,看到
while
關鍵字,判斷括號內條件(
a < b
) 成立則進入迴圈,執行迴圈內語句。每次執行完後,再次判斷(
a < b
)是否成立,成立則繼續迴圈,不成立則跳出迴圈。括號內可以為任意邏輯表示式作為迴圈進入和繼續的條件(其實不是邏輯表示式也行,但是現在先這樣理解)。以上便是while迴圈的語法內容。
for迴圈也是類似的功能
和while迴圈不同的是for迴圈內有用分號分離的三個表示式分別代表引數初始化表示式,迴圈條件表示式,更新迴圈變量表達式。講起來不直觀,我們不妨把上圖的for迴圈寫成等價的while迴圈,如下圖:
可以看到第一個表示式挪到了整體迴圈的外面,第三個表示式挪到了迴圈程式碼塊的最後一句。由此,我相信聰明的你一定看懂了for迴圈的意義啦。
一些迴圈內使用的關鍵字:
break:
跳出迴圈
continue:
直接跳過程式碼段餘下內容,執行更新迴圈變量表達式或進行下一次迴圈的判斷
(
看不懂自行百度
)
陣列
終於到了本篇指導的最後一個部分了,至此我們已經學完了
輸入、輸出、分支、迴圈
幾部分了。當然,我相信對於你來說一定也自己百度拓展學習了
基礎的不同變數型別、不同佔位符的含義、不同的跳脫字元
。
當我們在編寫一個程式要用到很多資料時,他們可能是邏輯上有規律的,比如一串數字,邏輯上他們有先後順序。若是要透過宣告單一變數來一一對應則會非常的麻煩,這時候便用得上陣列了。陣列可以透過一個
變數名
加上
序號
來訪問一組資料中的任意指定位置的元素(而且非常快)。
上圖第4行我們聲明瞭一個數組叫a大小為10 。由此你一定看出了陣列的宣告規則
陣列元素型別 + 陣列名稱 + 方括號及內部表示陣列大小的數
。接下來在使用陣列時我們只要透過陣列名稱加方括號陣列元素序號即可取到相應的資料或對相應的資料修改了。上程式執行則會讀接下來輸入的十個整數,然後輸出出來(中間沒有空格,因為我沒加)。
注意:c語言中陣列序號從0開始
,即大小為3的陣列元素序號為0,1,2 。當對大於2或小於0的陣列元素取值時都有可能發生未知錯誤(你的程式可能崩掉,還好你的電腦系統保護了他自己)。
至此便是今天介紹的C語言入門基礎語法的全部內容,想了解更加詳細的學習知識內容可以前往下方的學習交流群,很多志同道合的小夥伴在群裡分享學習,還有技術大神指導學習情況分享學習資料教程,進群就能免費領取,不管是小白還是有技術的大牛都可以前往交流群分享學習!
掌握這次的內容你已經可以靠這些東西在第一次新生杯大殺四方了 (maybe) ,當然,程式設計的學習無止無盡,也希望你能在接下來的Coding中如魚得水,樂在其中,加油哦!!!