版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
c語言重點知識點總結(jié)
C語言是一門重要的計算機(jī)基礎(chǔ)課,想要學(xué)好c語言首先要知道哪些是學(xué)問重點,下面請看c語言重點學(xué)問點總結(jié)!
c語言重點學(xué)問點總結(jié)
◆學(xué)問點1:交換兩個變量值的方法
1)采納第三方變量(最簡單想到的方法)
2)采納加減法進(jìn)行值得交換(面試時常用**)
代碼如下:
b=a-b;
a=a-b;
b=a+b;
3)采納按位異或的位方式
代碼如下:
a=a^b;
b=a^b;
a=a^b;
◆學(xué)問點2:取語言重點學(xué)問點總結(jié)余運(yùn)算%的結(jié)果與被除的符號相同,結(jié)果為兩個正數(shù)取余后前面加符號
◆學(xué)問點3:sizeof的使用
sizeof是一種運(yùn)算符不要想當(dāng)然理解為函數(shù)
sizeof使用時可以不加()
sizeof可以加變量、常量、數(shù)據(jù)類型
跟數(shù)據(jù)類型是必需加()
◆學(xué)問點4:#include編譯預(yù)處理命令與多文件團(tuán)隊開發(fā)
include編譯預(yù)處理命令可以認(rèn)為是:將后面的文件內(nèi)容拷貝到當(dāng)前的文件中
多文件團(tuán)隊開發(fā):模塊分別編譯成.o都不能鏈接勝利,合起來鏈接生成最終程序。
鏈接:把項目中全部相關(guān)聯(lián)的.o目標(biāo)文件、C語言函數(shù)庫合并在一起,生成可執(zhí)行文件
——函數(shù)的定義放.c文件,函數(shù)的聲明放.h文件
——假如要使用某個.c文件中定義的函數(shù),只需要#include這個.c文件對應(yīng)的.h文件
——h文件的作用:被別人拷貝。編譯鏈接的時候不需要管.h文件
◆學(xué)問點5:數(shù)組的幾種初始化方式如下:
inta[3]={10,9,6};
inta[3]={10,9};
inta[]={11,7,6};
inta[4]={[1]=11,[0]=7};(知道有此種初始化方式即可)
◆學(xué)問點6:數(shù)組的內(nèi)存分析和留意點
存儲空間的劃分(內(nèi)存的安排是從高地址到低地址進(jìn)行的,但一個數(shù)組內(nèi)部元素又是從低到高進(jìn)行的)
數(shù)組名的作用,查看元素地址
留意數(shù)組不要越界
◆學(xué)問點7:字符串學(xué)問點
123”其實是由’1’、’2’、’3’、’\0’組成
字符串的輸出”%s”,’\0’是不會輸出的
◆學(xué)問點8:字符串處理函數(shù):strlen()
計算的是字符數(shù),不是字?jǐn)?shù)
計算的字符不包括’\0’,一個漢字相當(dāng)于3個字符
例子:哈haha字符數(shù)為7
從某個地址開頭的數(shù)字符個數(shù),知道遇到’\0’為止
指針部分在C語言中占據(jù)重要地位,所以重點學(xué)習(xí)與整理了指針的學(xué)問:
◆學(xué)問點9:指針定義的格式
變量類型*變量名
如:Int*p
◆學(xué)問點10:指針作用
能夠依據(jù)一個地址值,訪問對應(yīng)的存儲空間
例:
Int*p;
Inta=90;
P=a;
*p=10;//把10賦值給p所指的存儲空間
◆學(xué)問點11:指針使用留意
Int*p只能指向int類型的數(shù)據(jù)
指針變量只能存儲地址
指針變量未經(jīng)初始化不要拿來間接訪問其他存儲空間
◆學(xué)問點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ù)組的訪問方式
數(shù)組名[下標(biāo)]
指針變量名[下標(biāo)]
*(p+i)
◆學(xué)問點12:指針與字符串
定義字符串的兩種方式:
1、利用數(shù)組
Charname[]=“Andyzhao”
特點:字符串里的字符可以修改
適用場合:字符串內(nèi)容需要常常修改
2、利用指針
Char*name=“itcast”
特點:字符串是一個常量,字符串里面的字符不能修改
使用場合:字符串的內(nèi)容不需要修改,而這個字符串常常使用
◆學(xué)問點13:預(yù)處理指令(三種):
宏定義
條件編譯
文件包含
1、宏定義的配對使用和帶參數(shù)的宏:
#define
...
#undef
帶參數(shù)的宏:
#definesum(v1,v2)((v1)+(v2))//括號是必需的
例如:
#definepingfang(a)a*a
#definepingfang(a)(a*a)
調(diào)用時
pingfang(10)/pingfang(2)//不正確
pingfang(5+5)//不正確
帶參數(shù)的宏效率比函數(shù)高
2、條件編譯(一般是推斷宏的值)
#if條件
...
#elif條件
...
#else
...
#endif(特別重要)不然后面的代碼全部無效
3、文件包含:
表示系統(tǒng)自帶的文件,表示自定義文件
不允許循環(huán)包含,比如a.h包含b.h,b.h又包含a.h
◆學(xué)問點14:typedef只是給類型起了個別名并不是定義新類型
structStudent{
intage;
char*name;
};
typedefstructStudentStudent;
等價于
typedefstructStudent{
intage;
char*name;
}Student;
也等價于
typedefstruct{
intage;
char*name;
}Student;
類似的給枚舉類型起名
typedefenumSex
{
Man,Women
}Sex;
下面這種狀況的寫法比較特別
//下面是函數(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é)問點15:static和extern區(qū)分是能否進(jìn)行跨文件訪問
①.函數(shù)
②.變量
1、對函數(shù)的作用:
外部函數(shù):定義的函數(shù)能被本文件和其他文件訪問
內(nèi)部函數(shù):定義的函數(shù)只能被本文件訪問
默認(rèn)狀況下,全部函數(shù)都是外部函數(shù)(相當(dāng)于帶關(guān)鍵字extern),所以可以省略
extern作用:
完整的定義和引用一個外部函數(shù)都加extern
引用時也是默認(rèn)是外部函數(shù)所以也省略extern
static作用:定義一個內(nèi)部函數(shù)
使用:static返回類型函數(shù)名(參數(shù)列表)
不能被其他文件調(diào)用
一個項目中,本文件的外部函數(shù)名不能和其他文件的外部函數(shù)同名(error)
本文件中的內(nèi)部函數(shù)(static)可以和其他文件的函
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- GB/T 12690.20-2024稀土金屬及其氧化物中非稀土雜質(zhì)化學(xué)分析方法第20部分:稀土氧化物中微量氟、氯的測定離子色譜法
- 本周工作總結(jié)與下周工作計劃報告
- 2025年禁毒宣傳工作計劃例文
- 個人教學(xué)計劃范文集合
- 做好班級家長工作計劃
- 個人工作計劃書的寫作模板
- 學(xué)年度第二學(xué)期四年級班主任個人工作計劃
- 2025護(hù)理個人的工作計劃范文
- 銀行新員工個人工作計劃
- 2025年“心起點”工作室開學(xué)工作計劃范文
- 托盤演示教學(xué)課件
- 中華農(nóng)耕文化及現(xiàn)實意義
- DB32T 4353-2022 房屋建筑和市政基礎(chǔ)設(shè)施工程檔案資料管理規(guī)程
- 農(nóng)產(chǎn)品品牌與營銷課件
- 加快中高職銜接,促進(jìn)職業(yè)教育協(xié)調(diào)發(fā)展(201507)課件
- 車輛二級維護(hù)檢測單參考模板范本
- 亮化照明維護(hù)服務(wù)方案
- 疼痛評估方法與管理
- 測定總固體原始記錄
- (最新整理)夜市一條街建設(shè)方案
- 住院醫(yī)師解讀心電圖
評論
0/150
提交評論