一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

學(xué)c語言最重要的知識點總結(jié)為學(xué)c語言發(fā)愁的同學(xué)轉(zhuǎn)走背一下吧(指針星號在非變量定義的時候它是一個操作符訪問指針?biāo)赶虼鎯臻g)

 山峰云繞 2018-07-28

學(xué)c語言最重要的知識點總結(jié),為學(xué)c語言發(fā)愁的同學(xué)轉(zhuǎn)走背一下吧


   【【ccc云志】學(xué)c語言最重要的知識點總結(jié),為學(xué)c語言發(fā)愁的同學(xué)轉(zhuǎn)走背一下吧】https://toutiao.com/group/6582822070382494216/?iid=15906422033&app=explore_article&timestamp=1532780891&tt_from=copy_link&utm_source=copy_link&utm_medium=toutiao_ios&utm_campaign=client_share


    (指針星號在非變量定義的時候它是一個操作符訪問指針?biāo)赶虼鎯臻g

學(xué)c語言最重要的知識點總結(jié),為學(xué)c語言發(fā)愁的同學(xué)轉(zhuǎn)走背一下吧

一、C語言的基本概念與常識

1、所有計算機(jī)的指令與數(shù)據(jù)都是由 0、1構(gòu)成

2、C語言是由函數(shù)組成的

3、C語言的入口是main函數(shù)

4、源碼 -> 編譯 -> 鏈接 -》運行

關(guān)鍵字:C語言提供的表示特殊含義單詞

標(biāo)示符:程序員自己為某些東西起名字

命名規(guī)則

1、字母、數(shù)字、下劃線

2、不能以數(shù)字開頭

3、不能與關(guān)鍵字重名

4、嚴(yán)格區(qū)分大小寫

命名規(guī)范

駝峰標(biāo)示

注釋:對代碼解釋說明,是給程序員看的,方便程序員之間的交流

1、注釋不參與編譯

2、 單行注釋 // 多行注釋

數(shù)據(jù)類型:按照存儲時間

靜態(tài)數(shù)據(jù):存儲在硬盤上的數(shù)據(jù)

動態(tài)數(shù)據(jù):存儲在內(nèi)存中的數(shù)據(jù)

常量:不可以改變量

變量:可以改變的量,變量使用來存儲常量數(shù)據(jù)的

運算符

算術(shù)運算符 - * / %

賦值運算符 = = -= /= *= %=

自增自減 --a a-- a a

關(guān)系運算符 == != > < >= <=

邏輯運算符 && || !

三目運算符 條件表達(dá)式 ? 結(jié)果1 : 結(jié)果2;

二、數(shù)據(jù)類型

基本數(shù)據(jù)類型

int 、float 、double 、char

枚舉:當(dāng)某個東西只有幾個固定的取值的時候,我們就使用枚舉

定義格式 enum 枚舉類型名{成員,... };

作用:提高代碼可讀性

構(gòu)造類型

數(shù)組:保存相同數(shù)據(jù)類型的多個數(shù)據(jù)的集合(容器)

格式: 數(shù)據(jù)類型 數(shù)組名[元素格式]

結(jié)構(gòu)體:用來保存不同數(shù)據(jù)類型的多個數(shù)據(jù)的,相同的數(shù)據(jù)類型但可以表示特定含義的也可以使用結(jié)構(gòu)體

定義結(jié)構(gòu)體類型的格式; struct 結(jié)構(gòu)體類型名{ 數(shù)據(jù)類型 成員名; ... };

特點:先定義結(jié)構(gòu)體類型再定義結(jié)構(gòu)體變量

作用:提高代碼的可讀性、封裝數(shù)據(jù)、然代碼更有組織

指針類型

定義格式:所指向數(shù)據(jù)類型 * 指針變量名

*作用:

1、在變量定義的時候,它是一個說明符,說明定義這個變量是指針變量;

2、在非變量定義的時候,它是一個操作符,訪問指針?biāo)赶虼鎯臻g

&作用:取出變量的地址

* 與 & 是一對反操作符

1、指針作為函數(shù)參數(shù)傳遞是地址傳遞

指向數(shù)組的指針:

int nums[5][10];

int (*array)[10] = nums;

指向結(jié)構(gòu)體指針

struct Person{int age;};

struct Person person = {10};

struct Perosn *p = &person;

p->age;

指向函數(shù)指針

int sum(int num1,int num2) { return num1 num2 ; }

int (*sumPointer)(int,int) = sum;

sumPointer();

字符串:

1、使用字符數(shù)組

char name[] = 'zbz'; //棧 : 可以修改的

2、使用字符指針

char *name = 'zbz'; //常量區(qū) 只讀的

3、字符串?dāng)?shù)組

1、char類型的二維數(shù)組

char names[][10] = {'xhh','xff','xmf'};//棧

2、char類型指針數(shù)組

char *names[] ={'xhh','xff','xmf'};// 常量區(qū)

總結(jié):所有的數(shù)據(jù)類型都可以定義變量

所有數(shù)據(jù)類型都可以作為函數(shù)參數(shù)

所有數(shù)據(jù)類型都可以作為函數(shù)的返回值

三、流程控制

順序結(jié)構(gòu):按照從上到下順序執(zhí)行

分支結(jié)構(gòu)(選擇結(jié)構(gòu)):就相當(dāng)于岔路口,根據(jù)不同條件指向不同代碼

if語句:當(dāng)條件滿足的時候,執(zhí)行if后面大括號中語句

1、if都是以if開頭

2、if語句最多只有一個else

3、if語句可以有任意個else if

4、if語句最多只有一個代碼會被執(zhí)行

switch語句

1、只支持整形數(shù)據(jù)

2、如果表達(dá)式中值與case中的常量相等就執(zhí)行這個case中語句

3、只有遇到break和 } 才會結(jié)束

4、只要匹配上一個case那么后面的case都失效了

循環(huán)結(jié)構(gòu)體:只要條件滿足就指向循環(huán)體中的語句,直到條件不再滿足為止

while循環(huán):當(dāng)while后條件表達(dá)滿足就指向循環(huán)體

do while: 循環(huán)體中的代碼至少會執(zhí)行一次

for循環(huán):

格式:for(初始化表達(dá)式;條件表達(dá)式;循環(huán)后操作表達(dá)式)

{

語句;

....

}

初始化表達(dá)式在整個循環(huán)中僅執(zhí)行一次

條件表達(dá)式:在每一次循環(huán)前都會判斷條件表達(dá)式是否滿足,如果滿足就執(zhí)行循環(huán)體中代碼

否則就退出循環(huán)

操作后表達(dá)式:在沒有循環(huán)結(jié)束的時候都可以循環(huán)后操作表達(dá)式

continue:

只能用循環(huán)結(jié)構(gòu)中,跳過本次循環(huán)中,continue后語句,進(jìn)入下一次條件判斷

break:

用在switch中,他是用結(jié)束switch語句的

用在循環(huán)結(jié)構(gòu)中,結(jié)束當(dāng)前循環(huán)語句的

四、 函數(shù):完成特定功能代碼段

函數(shù)定義的格式:

形參列表

返回值類型 函數(shù)名稱(形參類型 形參名稱...)

{

語句;

...

}

寫一個函數(shù)步驟:

1、確定函數(shù)功能,給函數(shù)起一個有意義名字

2、確定形參列表(完成該功能是否需要外界傳入一些補助值)

3、確定返回值類型(完成該功能是否需要返回數(shù)據(jù)給調(diào)用者)

4、寫函數(shù)體,完成函數(shù)功能

如果我們要在前面的函數(shù)中訪問后面的函數(shù),需要對函數(shù)進(jìn)行聲明

多文件開發(fā)

.h 中寫函數(shù)的聲明

.c 寫函數(shù)的實現(xiàn)(定義)

注意點:

1、基本數(shù)據(jù)類型作為函數(shù)參數(shù)傳遞是指值傳遞

2、數(shù)組作為函數(shù)參數(shù)傳遞是地址傳遞

3、指針作為函數(shù)參數(shù)傳遞是地址傳遞

4、結(jié)構(gòu)體作為函數(shù)參數(shù)傳遞是值傳遞

五、進(jìn)制

十進(jìn)制:逢 10 進(jìn) 1 默認(rèn) %d

二進(jìn)制:逢 2 進(jìn) 1 0b/0B開頭 無

八進(jìn)制:逢 8 進(jìn) 1 0開頭 %o

十六進(jìn)制:逢 16 進(jìn) 1 0x開頭 %x %X

位運算: & | ^ ~ >> <<

六、預(yù)處理指令:在編譯之前進(jìn)行解析處理指令

宏定義:

不帶參數(shù)宏定義: #define 宏名 值

作用:在預(yù)編譯的時候,將代碼中所有出現(xiàn)宏名地方都替換成值

帶參數(shù)宏定義:#define 宏名(參數(shù)列表) 表達(dá)式

作用:在編譯預(yù)處理的時候,使用表達(dá)式替換出現(xiàn)宏名列表的地方

#define SUM(x,y) ((x) (y))

SUM(10,20) ==== ((10) (20))

條件編譯:如果滿足條件就編譯if后面的語句

#if 條件表達(dá)式

語句;

#elif

語句;

#endif

1、防止頭文件的重復(fù)包含

2、可以處理項目上線與開發(fā)兩種狀態(tài)下執(zhí)行不同代碼

文件包含:

#inclue:拷貝文件

#inclue '' 包含自己寫頭文件

#inclue <> 包含系統(tǒng)自帶頭文件

7、typedef

1、給基本數(shù)據(jù)類型起別名

typedef int Integer;

2、給結(jié)構(gòu)體起別名

typedef struct{

int age;

} Person;

3、給枚舉類型起別名

typedef enum{

Man,

Woman,

Other

} Sex;

4、指針類型起別名

typedef int * Int;

Int p;

5、給函數(shù)指針起別名

int sum(int num1,int num2) {return num1 num2; }

typedef int (*Pointer)(int,int);

Pointer sumPointer = sum;

sumPointer();

學(xué)習(xí)基地(見評論區(qū))

很多人的學(xué)習(xí)環(huán)境就是課堂,離開了課堂,自己學(xué)的時間少之又少,少了份氣氛,就算逼著自己去學(xué)習(xí),慢慢的也會覺得枯燥,有問題不會也沒有人去問,可以找一個C/C 交流學(xué)習(xí)群,集合了眾多志同道合的朋友,這樣對你學(xué)習(xí)會起到一定的暗示作用,有問題也可以在群里討論。

寫在最后

喜歡此篇文章或覺得這篇文章對你有幫助的讀者可以點播關(guān)注或者轉(zhuǎn)發(fā),以便幫助更多對如何學(xué)習(xí)C/C 迷茫的小白。

=->學(xué)習(xí)基地見評論區(qū)

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多

    久久精品国产熟女精品| 国产永久免费高清在线精品| 中文字幕在线五月婷婷| 成年人免费看国产视频| 国产精品久久精品毛片| 自拍偷拍福利视频在线观看| 欧美精品亚洲精品日韩专区| 精品伊人久久大香线蕉综合 | 国产毛片av一区二区三区小说| 国产欧美日韩精品一区二区| 日本熟女中文字幕一区| 日本欧美视频在线观看免费 | 国产欧美高清精品一区| 成年女人下边潮喷毛片免费| 婷婷亚洲综合五月天麻豆| 激情偷拍一区二区三区视频| 激情爱爱一区二区三区| 免费播放一区二区三区四区| 污污黄黄的成年亚洲毛片| 国产麻豆精品福利在线| 午夜精品黄片在线播放| 黑色丝袜脚足国产一区二区| 亚洲国产精品久久网午夜| 国产午夜福利片在线观看| 操白丝女孩在线观看免费高清| 国产高清精品福利私拍| 国产精品涩涩成人一区二区三区| 亚洲妇女黄色三级视频| 中文字幕亚洲精品在线播放| 日韩国产传媒在线精品| 亚洲一区二区三区在线免费 | 色综合伊人天天综合网中文| 日本在线不卡高清欧美| 亚洲国产精品久久综合网| 国产精品视频一区二区秋霞| 欧美国产极品一区二区| 男人大臿蕉香蕉大视频| 亚洲欧美精品伊人久久| 深夜视频在线观看免费你懂| 久久精品欧美一区二区三不卡| 亚洲二区欧美一区二区|