版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
c語言重點(diǎn)知識點(diǎn)總結(jié)
C語言是一門重要的計算機(jī)基礎(chǔ)課,想要學(xué)好c語言首先要知道哪些是學(xué)問重點(diǎn),下面請看c語言重點(diǎn)學(xué)問點(diǎn)總結(jié)!
c語言重點(diǎn)學(xué)問點(diǎn)總結(jié)
◆學(xué)問點(diǎn)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é)問點(diǎn)2:取語言重點(diǎn)學(xué)問點(diǎn)總結(jié)余運(yùn)算%的結(jié)果與被除的符號相同,結(jié)果為兩個正數(shù)取余后前面加符號
◆學(xué)問點(diǎn)3:sizeof的使用
sizeof是一種運(yùn)算符不要想當(dāng)然理解為函數(shù)
sizeof使用時可以不加()
sizeof可以加變量、常量、數(shù)據(jù)類型
跟數(shù)據(jù)類型是必需加()
◆學(xué)問點(diǎn)4:#include編譯預(yù)處理命令與多文件團(tuán)隊(duì)開發(fā)
include編譯預(yù)處理命令可以認(rèn)為是:將后面的文件內(nèi)容拷貝到當(dāng)前的文件中
多文件團(tuán)隊(duì)開發(fā):模塊分別編譯成.o都不能鏈接勝利,合起來鏈接生成最終程序。
鏈接:把項(xiàng)目中全部相關(guān)聯(lián)的.o目標(biāo)文件、C語言函數(shù)庫合并在一起,生成可執(zhí)行文件
——函數(shù)的定義放.c文件,函數(shù)的聲明放.h文件
——假如要使用某個.c文件中定義的函數(shù),只需要#include這個.c文件對應(yīng)的.h文件
——h文件的作用:被別人拷貝。編譯鏈接的時候不需要管.h文件
◆學(xué)問點(diǎn)5:數(shù)組的幾種初始化方式如下:
inta[3]={10,9,6};
inta[3]={10,9};
inta[]={11,7,6};
inta[4]={[1]=11,[0]=7};(知道有此種初始化方式即可)
◆學(xué)問點(diǎn)6:數(shù)組的內(nèi)存分析和留意點(diǎn)
存儲空間的劃分(內(nèi)存的安排是從高地址到低地址進(jìn)行的,但一個數(shù)組內(nèi)部元素又是從低到高進(jìn)行的)
數(shù)組名的作用,查看元素地址
留意數(shù)組不要越界
◆學(xué)問點(diǎn)7:字符串學(xué)問點(diǎn)
123”其實(shí)是由’1’、’2’、’3’、’\0’組成
字符串的輸出”%s”,’\0’是不會輸出的
◆學(xué)問點(diǎn)8:字符串處理函數(shù):strlen()
計算的是字符數(shù),不是字?jǐn)?shù)
計算的字符不包括’\0’,一個漢字相當(dāng)于3個字符
例子:哈haha字符數(shù)為7
從某個地址開頭的數(shù)字符個數(shù),知道遇到’\0’為止
指針部分在C語言中占據(jù)重要地位,所以重點(diǎn)學(xué)習(xí)與整理了指針的學(xué)問:
◆學(xué)問點(diǎn)9:指針定義的格式
變量類型*變量名
如:Int*p
◆學(xué)問點(diǎn)10:指針作用
能夠依據(jù)一個地址值,訪問對應(yīng)的存儲空間
例:
Int*p;
Inta=90;
P=a;
*p=10;//把10賦值給p所指的存儲空間
◆學(xué)問點(diǎn)11:指針使用留意
Int*p只能指向int類型的數(shù)據(jù)
指針變量只能存儲地址
指針變量未經(jīng)初始化不要拿來間接訪問其他存儲空間
◆學(xué)問點(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ù)組的訪問方式
數(shù)組名[下標(biāo)]
指針變量名[下標(biāo)]
*(p+i)
◆學(xué)問點(diǎn)12:指針與字符串
定義字符串的兩種方式:
1、利用數(shù)組
Charname[]=“Andyzhao”
特點(diǎn):字符串里的字符可以修改
適用場合:字符串內(nèi)容需要常常修改
2、利用指針
Char*name=“itcast”
特點(diǎn):字符串是一個常量,字符串里面的字符不能修改
使用場合:字符串的內(nèi)容不需要修改,而這個字符串常常使用
◆學(xué)問點(diǎn)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é)問點(diǎn)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é)問點(diǎn)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)用
一個項(xiàng)目中,本文件的外部函數(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五版人工智能技術(shù)研發(fā)與應(yīng)用合同15篇
- 常州2025版二手房過戶稅費(fèi)處理與過戶手續(xù)辦理合同2篇
- 二零二五版智慧城市建設(shè)合作合同范本2篇
- 二零二五版在線教育管理系統(tǒng)定制開發(fā)合同3篇
- 二零二五版ISO9001質(zhì)量管理體系認(rèn)證與質(zhì)量管理體系審核與監(jiān)督合同3篇
- 水電工程2025年度施工安全評估合同2篇
- 二零二五版LED顯示屏戶外廣告位租賃合同協(xié)議3篇
- 二零二五年海鮮餐飲業(yè)特色菜品開發(fā)與銷售合同3篇
- 二零二五年度虛擬現(xiàn)實(shí)游戲開發(fā)電子合同承諾3篇
- 二零二五版智能零售企業(yè)兼職銷售員勞動合同3篇
- DLT 5285-2018 輸變電工程架空導(dǎo)線(800mm以下)及地線液壓壓接工藝規(guī)程
- 新員工入職培訓(xùn)測試題附有答案
- 勞動合同續(xù)簽意見單
- 大學(xué)生國家安全教育意義
- 2024年保育員(初級)培訓(xùn)計劃和教學(xué)大綱-(目錄版)
- 河北省石家莊市2023-2024學(xué)年高二上學(xué)期期末考試 語文 Word版含答案
- 企業(yè)正確認(rèn)識和運(yùn)用矩陣式管理
- 分布式光伏高處作業(yè)專項(xiàng)施工方案
- 陳閱增普通生物學(xué)全部課件
- 檢驗(yàn)科主任就職演講稿范文
- 人防工程主體監(jiān)理質(zhì)量評估報告
評論
0/150
提交評論