黑馬程式設計師 c語言部分基礎

2021-07-02 15:09:14 字數 2214 閱讀 5287

c語言是一種古老但是依然屹立在眾多強勢程式語言中的佼佼者,它提供一種能以簡易的方式編譯、產生少量的機器嗎以及不需要任何執行環境支援便能執行的程式語言。oc是完全相容c語言的一種物件導向語言,所以,學好c語言是高階oc的必經之路,話不多說,讓我們看看c語言的一些基礎知識。 函式

c語言中的函式大致分為3種:主函式,使用者自定義函式,系統提供的函式庫函式。

主函式:也稱main函式,乙個c程式必須由主函式開始執行,主函式有且只能有乙個。

使用者自定義函式:可有可無,數量不限。

那麼如何定義乙個函式呢?

無引數函式定義如下:

返回值型別 函式名()

比如定義乙個加法函式:

這裡值得注意的是scanf語句,從鍵盤上讀取資料時要注意讀取的格式,如果兩個佔位符之間有空格,那麼輸入資料也要加上空格。

有引數函式的定義:

返回值型別 函式名(引數列表)

這裡值得注意的是,引數列表要註明引數的資料型別

比如定義乙個加法

引數分為實際引數和形式引數,那麼什麼是實際引數,形式引數?

函式名後面括號中傳遞的是形式引數,在函式呼叫中傳入的引數是實際引數。

既然說到函式,自然會想起很多耳熟能詳的函式庫函式,下面簡要介紹兩個

printf:

它是c語言函式庫函式,作用是在螢幕中輸出資料。

printf(「study c language\n」);  //輸出字串「study c language」,\n表示換行

printf(「my age is %d」, 22);    //%d是佔位符,表示要輸出的是int型別的資料,後面傳入相應資料型別的資料,這裡傳入的是22

printf(「my height is %.2f」, 1.83);//這裡要傳入float型別的資料,保留小數點後兩位,這裡傳入的是1.83

scanf:

它也是c語言函式庫函式,作用是從鍵盤讀取資料

int a;

scanf(「%d」, &a);      //&是取位址符,顧名思義,就是讀取位址,把輸入的資料儲存到這個位址中

這兩個函式都是stdio.h中函式,使用之前應該在開頭加上一句,#include

基本資料型別

可分為如下幾類:

基本資料型別:整型 int。浮點型 float , double。字元型 char。

指標型別:void*。

構造型別:陣列,結構體,共用體,列舉。

先說基本資料型別吧:不同型別的資料佔據的記憶體是不同的,以16位編譯器為例,int 佔2個位元組,float 佔4個位元組,double 佔8個位元組,char佔1個位元組。

這裡給char型別資料賦值時有兩種方法:

char character = 65;     //這裡65代表ascii 碼中的第65個字元,a

char character = 『a』;     //直接賦值

還有幾種常見錯誤寫法:

char c1 = 『我』;             //漢字不在ascii碼中,不能賦值給char變數

char c2 = 『123』;      //123是字串

char c3 = 「123」;      //它只能接受乙個字元

陣列:陣列其實很簡單,也沒什麼說的,作為c語言的乙個知識點,我就介紹一下動態陣列的使用吧。

動態陣列,在宣告時沒有確定陣列大小的陣列,當要用它時,可隨時用malloc重新指出陣列的大小。

什麼時候會用到動態陣列呢?所需的記憶體空間取決於實際輸入的資料,而無法預先確定。

示例**如下:

指標:

想要理解指標,先要理解變數賦值的底層過程,當我們宣告乙個變數時,系統會空出一塊位址空間(空間大小取決於變數的資料型別),賦值的時候,直接把資料儲存到記憶體中。

再學習指標之前,先了解兩個概念:直接引用,間接引用。

什麼是直接引用?通過變數名來讀寫資料

什麼是間接引用呢?首先將乙個變數的位址存放在另乙個變數中,然後通過另乙個變數來間接引用這個變數。

示例**如下:

值得注意的是:指標很危險,當你對指標操作時,一定要先指向某個變數再對指標操作,否則會造成野指標,亂修改記憶體中的資料。

指標的應用:交換兩個變數的值

我們發現a和b的值並沒有交換,這是為什麼呢?

問題出在傳遞的引數上,要想修改變數的值(其實是修改位址中儲存的值,所以需要傳遞位址),需要把引數的位址傳給函式,我們可以這樣修改函式。

下面就開始我的oc之旅,哈哈。

黑馬程式設計師 C語言基礎

ios培訓 android培訓 期待與您交流!一 c語言的流程控制 1 順序結構 按照程式的書寫順序執行每一條語句 2 選擇結構 對給定的條件進行判斷,再根據判斷結果來決定執行哪一段 2.1 if語句 1 if的第一種結構 if 條件 eg include int main return 0 2 i...

黑馬程式設計師 C語言基礎

asp.net unity開發 net培訓 期待與您交流!c語言算數運算子 1.2.3.4.5.int a 10,b 20 printf 兩個差 d b a printf 兩個和 d b a printf 兩個積 d b a printf 兩個商 d b a printf 兩個餘 d b a 小技巧...

黑馬程式設計師 C語言基礎

asp.net unity開發 net培訓 期待與您交流!簡介 c語言於1972年發明,首次使用是用於重寫uinx作業系統。隨著unix作業系統的成功,c語言也得到了大幅度地推廣,是世界上最流行 使用最廣泛的高階程式語言之一。基礎語法 關鍵字 1 關鍵字就是c語言提供的有特殊含義的符號,也叫做 保留...