




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
c語(yǔ)言重點(diǎn)知識(shí)點(diǎn)總結(jié)
C語(yǔ)言是一門(mén)重要的計(jì)算機(jī)基礎(chǔ)課,想要學(xué)好c語(yǔ)言首先要知道哪些是學(xué)問(wèn)重點(diǎn),下面請(qǐng)看c語(yǔ)言重點(diǎn)學(xué)問(wèn)點(diǎn)總結(jié)!
c語(yǔ)言重點(diǎn)學(xué)問(wèn)點(diǎn)總結(jié)
◆學(xué)問(wèn)點(diǎn)1:交換兩個(gè)變量值的方法
1)采納第三方變量(最簡(jiǎn)單想到的方法)
2)采納加減法進(jìn)行值得交換(面試時(shí)常用**)
代碼如下:
b=a-b;
a=a-b;
b=a+b;
3)采納按位異或的位方式
代碼如下:
a=a^b;
b=a^b;
a=a^b;
◆學(xué)問(wèn)點(diǎn)2:取語(yǔ)言重點(diǎn)學(xué)問(wèn)點(diǎn)總結(jié)余運(yùn)算%的結(jié)果與被除的符號(hào)相同,結(jié)果為兩個(gè)正數(shù)取余后前面加符號(hào)
◆學(xué)問(wèn)點(diǎn)3:sizeof的使用
sizeof是一種運(yùn)算符不要想當(dāng)然理解為函數(shù)
sizeof使用時(shí)可以不加()
sizeof可以加變量、常量、數(shù)據(jù)類型
跟數(shù)據(jù)類型是必需加()
◆學(xué)問(wèn)點(diǎn)4:#include編譯預(yù)處理命令與多文件團(tuán)隊(duì)開(kāi)發(fā)
include編譯預(yù)處理命令可以認(rèn)為是:將后面的文件內(nèi)容拷貝到當(dāng)前的文件中
多文件團(tuán)隊(duì)開(kāi)發(fā):模塊分別編譯成.o都不能鏈接勝利,合起來(lái)鏈接生成最終程序。
鏈接:把項(xiàng)目中全部相關(guān)聯(lián)的.o目標(biāo)文件、C語(yǔ)言函數(shù)庫(kù)合并在一起,生成可執(zhí)行文件
——函數(shù)的定義放.c文件,函數(shù)的聲明放.h文件
——假如要使用某個(gè).c文件中定義的函數(shù),只需要#include這個(gè).c文件對(duì)應(yīng)的.h文件
——h文件的作用:被別人拷貝。編譯鏈接的時(shí)候不需要管.h文件
◆學(xué)問(wèn)點(diǎn)5:數(shù)組的幾種初始化方式如下:
inta[3]={10,9,6};
inta[3]={10,9};
inta[]={11,7,6};
inta[4]={[1]=11,[0]=7};(知道有此種初始化方式即可)
◆學(xué)問(wèn)點(diǎn)6:數(shù)組的內(nèi)存分析和留意點(diǎn)
存儲(chǔ)空間的劃分(內(nèi)存的安排是從高地址到低地址進(jìn)行的,但一個(gè)數(shù)組內(nèi)部元素又是從低到高進(jìn)行的)
數(shù)組名的作用,查看元素地址
留意數(shù)組不要越界
◆學(xué)問(wèn)點(diǎn)7:字符串學(xué)問(wèn)點(diǎn)
123”其實(shí)是由’1’、’2’、’3’、’\0’組成
字符串的輸出”%s”,’\0’是不會(huì)輸出的
◆學(xué)問(wèn)點(diǎn)8:字符串處理函數(shù):strlen()
計(jì)算的是字符數(shù),不是字?jǐn)?shù)
計(jì)算的字符不包括’\0’,一個(gè)漢字相當(dāng)于3個(gè)字符
例子:哈haha字符數(shù)為7
從某個(gè)地址開(kāi)頭的數(shù)字符個(gè)數(shù),知道遇到’\0’為止
指針部分在C語(yǔ)言中占據(jù)重要地位,所以重點(diǎn)學(xué)習(xí)與整理了指針的學(xué)問(wèn):
◆學(xué)問(wèn)點(diǎn)9:指針定義的格式
變量類型*變量名
如:Int*p
◆學(xué)問(wèn)點(diǎn)10:指針作用
能夠依據(jù)一個(gè)地址值,訪問(wèn)對(duì)應(yīng)的存儲(chǔ)空間
例:
Int*p;
Inta=90;
P=a;
*p=10;//把10賦值給p所指的存儲(chǔ)空間
◆學(xué)問(wèn)點(diǎn)11:指針使用留意
Int*p只能指向int類型的數(shù)據(jù)
指針變量只能存儲(chǔ)地址
指針變量未經(jīng)初始化不要拿來(lái)間接訪問(wèn)其他存儲(chǔ)空間
◆學(xué)問(wèn)點(diǎn)12:指針與數(shù)組
遍歷數(shù)組
intages[5]={10,4,9,44,99};
for(inti=0;i5;i++)
{
printf(%d,ages[i]);
}
使用指針遍歷數(shù)組:
int*p;
//指針變量P指向了數(shù)組的首地址
p=ages[0];
//使用指針遍歷數(shù)組
for(inti=0;i5;I++)
{
printf(ages[%d]=%d,i,*(p+i));
}
注:指針+1取決于指針的類型
注:數(shù)組的訪問(wèn)方式
數(shù)組名[下標(biāo)]
指針變量名[下標(biāo)]
*(p+i)
◆學(xué)問(wèn)點(diǎn)12:指針與字符串
定義字符串的兩種方式:
1、利用數(shù)組
Charname[]=“Andyzhao”
特點(diǎn):字符串里的字符可以修改
適用場(chǎng)合:字符串內(nèi)容需要常常修改
2、利用指針
Char*name=“itcast”
特點(diǎn):字符串是一個(gè)常量,字符串里面的字符不能修改
使用場(chǎng)合:字符串的內(nèi)容不需要修改,而這個(gè)字符串常常使用
◆學(xué)問(wèn)點(diǎn)13:預(yù)處理指令(三種):
宏定義
條件編譯
文件包含
1、宏定義的配對(duì)使用和帶參數(shù)的宏:
#define
...
#undef
帶參數(shù)的宏:
#definesum(v1,v2)((v1)+(v2))//括號(hào)是必需的
例如:
#definepingfang(a)a*a
#definepingfang(a)(a*a)
調(diào)用時(shí)
pingfang(10)/pingfang(2)//不正確
pingfang(5+5)//不正確
帶參數(shù)的宏效率比函數(shù)高
2、條件編譯(一般是推斷宏的值)
#if條件
...
#elif條件
...
#else
...
#endif(特別重要)不然后面的代碼全部無(wú)效
3、文件包含:
表示系統(tǒng)自帶的文件,表示自定義文件
不允許循環(huán)包含,比如a.h包含b.h,b.h又包含a.h
◆學(xué)問(wèn)點(diǎn)14:typedef只是給類型起了個(gè)別名并不是定義新類型
structStudent{
intage;
char*name;
};
typedefstructStudentStudent;
等價(jià)于
typedefstructStudent{
intage;
char*name;
}Student;
也等價(jià)于
typedefstruct{
intage;
char*name;
}Student;
類似的給枚舉類型起名
typedefenumSex
{
Man,Women
}Sex;
下面這種狀況的寫(xiě)法比較特別
//下面是函數(shù)指針類型的自定義數(shù)據(jù)類型,返回值類型和參數(shù)類型要匹配
#include
typedefint(*TypeFuncPointer)(int,int);
intadd(inta,intb)
{
returna+b;
}
intminus(inta,intb)
{
returna-b;
}
intmain()
{
TypeFuncPointerp=add;//使用自定義類型
TypeFuncPointerp2=minus;//使用自定義類型
printf(add=%d,p(1,2));
printf(minus=%d,p2(1,2));
return0;
}
下面是定義結(jié)構(gòu)體的指針類型
typedefstructStudent{
intage;
char*name;
}*PtrStu;
//使用方式
Studentstu={18,zhangsan};
PtrStup=stu;
宏定義也是可以為類型起名的
#defineIntegerint
相當(dāng)于
typedefintInteger
留意和typedef的區(qū)分
例如:
typedefchar*String
#defineString2char*
◆學(xué)問(wèn)點(diǎn)15:static和extern區(qū)分是能否進(jìn)行跨文件訪問(wèn)
①.函數(shù)
②.變量
1、對(duì)函數(shù)的作用:
外部函數(shù):定義的函數(shù)能被本文件和其他文件訪問(wèn)
內(nèi)部函數(shù):定義的函數(shù)只能被本文件訪問(wèn)
默認(rèn)狀況下,全部函數(shù)都是外部函數(shù)(相當(dāng)于帶關(guān)鍵字extern),所以可以省略
extern作用:
完整的定義和引用一個(gè)外部函數(shù)都加extern
引用時(shí)也是默認(rèn)是外部函數(shù)所以也省略extern
static作用:定義一個(gè)內(nèi)部函數(shù)
使用:static返回類型函數(shù)名(參數(shù)列表)
不能被其他文件調(diào)用
一個(gè)項(xiàng)目中,本文件的外部函數(shù)名不能和其他文件的外部函數(shù)同名(error)
本文件中的內(nèi)部函數(shù)(static)可以和其他文件的函
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 探討育嬰師考試中的人際關(guān)系管理試題及答案
- 2025年計(jì)算機(jī)二級(jí)考試模擬練習(xí)試題及答案
- gre考試題目及答案
- 稅務(wù)師考試中的數(shù)學(xué)應(yīng)用試題及答案
- 文學(xué)之都考試題及答案
- 2024年藥劑學(xué)前沿研究動(dòng)態(tài)試題及答案
- 教師資格考試在線課程與試題及答案
- 全面解析藥物相互影響的試題及答案
- 常規(guī)英文面試題及答案
- c 教師筆試題目及答案
- 2025年職業(yè)指導(dǎo)師專業(yè)能力測(cè)試卷:職業(yè)指導(dǎo)服務(wù)與心理咨詢
- 政務(wù)服務(wù)人員培訓(xùn)
- 學(xué)校安全管理制度匯編
- 2025-2030中國(guó)化妝棉行業(yè)市場(chǎng)深度調(diào)研及發(fā)展策略研究報(bào)告
- 2025建筑安全員C證考試(專職安全員)題庫(kù)及答案
- 安全標(biāo)識(shí)(教學(xué)設(shè)計(jì))-2024-2025學(xué)年浙美版(2012)美術(shù)四年級(jí)下冊(cè)
- 2024-2025學(xué)年七年級(jí)下冊(cè)歷史 【教學(xué)課件】第10課《金與南宋的對(duì)峙》
- 創(chuàng)新思維拓展-知到答案、智慧樹(shù)答案
- 左心衰竭合并肺水腫的護(hù)理查房
- 空白頁(yè)大副船上見(jiàn)習(xí)記錄.doc
- 【操作性強(qiáng)、重考核】公交公司員工薪酬管理辦法
評(píng)論
0/150
提交評(píng)論