




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
C語(yǔ)言最重要的知識(shí)點(diǎn)總體上必須清楚的:1)程序結(jié)構(gòu)是三種:順序結(jié)構(gòu)、選擇結(jié)構(gòu)(分支結(jié)構(gòu))、循環(huán)結(jié)構(gòu)。2)讀程序都要從main()入口,然后從最上面順序往下讀(碰到循環(huán)做循環(huán),碰到選擇做選擇),有且只有一個(gè)main函數(shù)。概念:1、編譯預(yù)處理#include“stdio.h”…2、每個(gè)C語(yǔ)言程序中main函數(shù)是有且只有一個(gè)。4、算法:可以沒有輸入,但是一定要有輸出。6、break可用于循環(huán)結(jié)構(gòu)和switch語(yǔ)句。7、逗號(hào)運(yùn)算符的級(jí)別最低,賦值的級(jí)別倒數(shù)第二。第一章C語(yǔ)言的基礎(chǔ)知識(shí)熟悉vc++1)、VC是軟件,用來(lái)運(yùn)行寫的C語(yǔ)言程序。2)、每個(gè)C語(yǔ)言程序?qū)懲旰螅际窍染幾g,后鏈接,最后運(yùn)行。(.cpp.obj---.exe)這個(gè)過程中注意.cpp和.obj文件時(shí)無(wú)法運(yùn)行的,只有.exe文件才可以運(yùn)行。第二章流程圖第三章順序結(jié)構(gòu)1.標(biāo)識(shí)符1)、標(biāo)識(shí)符:合法的要求是由字母,數(shù)字,下劃線組成。有其它元素就錯(cuò)了。并且第一個(gè)必須為字母或則是下劃線。第一個(gè)為數(shù)字就錯(cuò)了數(shù)據(jù)類型P43圖3.4算術(shù)表達(dá)式和賦值表達(dá)式核心:表達(dá)式一定有數(shù)值!1、算術(shù)表達(dá)式:+,-,*,/,%一定要注意:“/”兩邊都是整型的話,結(jié)果就是一個(gè)整型。3/2的結(jié)果就是1.“/”如果有一邊是小數(shù),那么結(jié)果就是小數(shù)。3/2.0的結(jié)果就是0.5“%”符號(hào)請(qǐng)一定要注意是余數(shù),而非除號(hào)。)%符號(hào)兩邊要求是整數(shù)。2、賦值表達(dá)式:1、intx,x=10;定義完成后,可以連續(xù)賦值。3、復(fù)合的賦值表達(dá)式:inta=2;a+=2+3;運(yùn)行完成后,a的值是7。一定要注意,首先要在2+3的上面打上括號(hào)。變成(2+3)再運(yùn)算。4、自加表達(dá)式:自加、自減表達(dá)式:假設(shè)a=5,++a(是為6),a++(為5);運(yùn)行的機(jī)理:++a是先把變量的數(shù)值加上1,然后把得到的數(shù)值放到變量a中,然后再用這個(gè)++a表達(dá)式的數(shù)值為6,而a++是先用該表達(dá)式的數(shù)值為5,然后再把a(bǔ)的數(shù)值加上1為6,再放到變量a中。進(jìn)行了++a和a++后在下面的程序中再用到a的話都是變量a中的6了??谠E:++在前先加后用,++在后先用后加。字符1)字符數(shù)據(jù)的合法形式::'1'是字符,"1"是字符串。大寫字母和小寫字母轉(zhuǎn)換的方法:'A'+32='a'相互之間一般是相差32。2)轉(zhuǎn)義字符:P401、使用printf和scanf函數(shù)時(shí),要在最前面加上#include“stdio.h”2、printf可以只有一個(gè)參數(shù),也可以有兩個(gè)參數(shù)。7、格式輸出格式說明表示內(nèi)容格式說明表示內(nèi)容%d整型int%c字符char%ld長(zhǎng)整型longint%s字符串%f浮點(diǎn)型float%o八進(jìn)制第三節(jié)數(shù)據(jù)輸入輸出P69,74,75-77第四章特別要注意:C語(yǔ)言中是用非0表示邏輯真的,用0表示邏輯假的。關(guān)系運(yùn)算符號(hào):注意<=的寫法,==和=的區(qū)別!if只管后面一個(gè)語(yǔ)句,要管多個(gè),請(qǐng)用大括號(hào)!2)邏輯表達(dá)式:核心:表達(dá)式的數(shù)值只能為1(表示為真),或0(表示假)。共有&&||!三種邏輯運(yùn)算符號(hào)。!>&&>||優(yōu)先的級(jí)別。3)if語(yǔ)句a、else是與最接近的if且沒有else的語(yǔ)句匹配。b、交換的程序?qū)懛ǎ簍=x;x=y;y=t;c、if(a<b)t=a;a=b;b=t;if(a<b){t=a;a=b;b=t;}兩個(gè)的區(qū)別d、單獨(dú)的if語(yǔ)句:if(a<b)t=a;標(biāo)準(zhǔn)的if語(yǔ)句:if(a<b)min=a;elsemin=b;嵌套的if語(yǔ)句:if(a<b)if(b>c)printf(“ok!”);多選一的if語(yǔ)句if(a==t)printf(“a”);elseif(b==t)printf(“b”);elseif(c==t)printf(“c”);elsepritnf(“d”);4)條件表達(dá)式:表達(dá)式1?表達(dá)式2:表達(dá)式3口訣:真前假后。b、注意是當(dāng)表達(dá)式1的數(shù)值是非0時(shí),才采用表達(dá)式2的數(shù)值做為整個(gè)運(yùn)算結(jié)果,當(dāng)表達(dá)式1的數(shù)值為0時(shí),就用表達(dá)式3的數(shù)值做為整個(gè)的結(jié)果。5)switch語(yǔ)句:第五章1)三種循環(huán)結(jié)構(gòu):a)for();while();do-while()三種。b)for循環(huán)當(dāng)中必須是兩個(gè)分號(hào),千萬(wàn)不要忘記。c)寫程序的時(shí)候一定要注意,循環(huán)一定要有結(jié)束的條件,否則成了死循環(huán)。d)do-while()循環(huán)的最后一個(gè)while();的分號(hào)一定不能夠丟。,do-while循環(huán)是至少執(zhí)行一次循環(huán)。2)break和continue的差別記憶方法:break:是打破的意思,(破了整個(gè)循環(huán))所以看見break就退出整個(gè)一層循環(huán)。continue:是繼續(xù)的意思,(繼續(xù)循環(huán)運(yùn)算),但是要結(jié)束本次循環(huán),就是循環(huán)體內(nèi)剩下的語(yǔ)句不再執(zhí)行,跳到循環(huán)開始,然后判斷循環(huán)條件,進(jìn)行新一輪的循環(huán)。3)嵌套循環(huán)第六章數(shù)組數(shù)組:
存放的類型是一致的。多個(gè)數(shù)組元素的地址是連續(xù)的。1、一維數(shù)組的初始化:int
a[5]={1,2,3,4,5};
合法int
a[5]={1,2,3,
};
合法int
a[]={1,2,3,4,5};
合法,后面決定前面的大??!int
a[5]={1,2,3,4,5,6};
不合法,賦值的個(gè)數(shù)多余數(shù)組的個(gè)數(shù)了2、一維數(shù)組的定義;int
a[5];注意這個(gè)地方有一個(gè)重要考點(diǎn),定義時(shí)數(shù)組的個(gè)數(shù)不是變量一定是常量。int
a[5]
合法,最正常的數(shù)組int
a[1+1]
合法,個(gè)數(shù)是常量2,是個(gè)算術(shù)表達(dá)式int
a[1/2+4]
合法,同樣是算術(shù)表達(dá)式int
x=5,int
a[x];不合法,因?yàn)閭€(gè)數(shù)是x,是個(gè)變量,非法的,define
P
5
int
a[P]
合法,define
后的的P是符號(hào)常量,只是長(zhǎng)得像變量3、二維數(shù)組的初始化int
a[2][3]={1,2,3,4,5,6};合法,很標(biāo)準(zhǔn)的二維的賦值。int
a[2][3]={1,2,3,4,5,
};
合法,后面一個(gè)默認(rèn)為0。int
a[2][3]={{1,2,3,}
{4,5,6}};合法,每行三個(gè)。int
a[2][3]={{1,2,}{3,4,5}};
合法,第一行最后一個(gè)默認(rèn)為0。int
a[2][3]={1,2,3,4,5,6,7};不合法,賦值的個(gè)數(shù)多余數(shù)組的個(gè)數(shù)了。int
a[][3]={1,2,3,4,5,6};不合法,不可以缺省行的個(gè)數(shù)。int
a[2][]={1,2,3,4,5,6};合法,可以缺省列的個(gè)數(shù)。補(bǔ)充:1)一維數(shù)組的重要概念:對(duì)a[10]這個(gè)數(shù)組的討論。1、a表示數(shù)組名,是第一個(gè)元素的地址,也就是元素a[0]的地址。(等價(jià)于&a)2、a是地址常量,所以只要出現(xiàn)a++,或者是a=a+2賦值的都是錯(cuò)誤的。3、a是一維數(shù)組名,所以它是列指針,也就是說a+1是跳一列。對(duì)a[3][3]的討論。1、a表示數(shù)組名,是第一個(gè)元素的地址,也就是元素a[0][0]的地址。2、a是地址常量,所以只要出現(xiàn)a++,或者是a=a+2賦值的都是錯(cuò)誤的。3、a是二維數(shù)組名,所以它是行指針,也就是說a+1是跳一行。4、a[0]、a[1]、a[2]也都是地址常量,不可以對(duì)它進(jìn)行賦值操作,同時(shí)它們都是列指針,a[0]+1,a[1]+1,a[2]+1都是跳一列。5、注意a和a[0]
、a[1]、a[2]是不同的,它們的基類型是不同的。前者是一行元素,后三者是一列元素。2)
二維數(shù)組做題目的技巧:如果有a[3][3]={1,2,3,4,5,6,7,8,9}這樣的題目。步驟一:把他們寫成:第一列第二列第三列a[0]1
2
3
->第一行a[1]4
5
6
—>第二行a[2]7
8
9
->第三行步驟二:這樣作題目間很簡(jiǎn)單:*(a[0]+1)我們就知道是第一行的第一個(gè)元素往后面跳一列,那么這里就是a[0][1]元素,所以是1。*(a[1]+2)我們就知道是第二行的第一個(gè)元素往后面跳二列。那么這里就是a[1][2]元素,所以是6。一定記?。褐灰嵌S數(shù)組的題目,一定是寫成如上的格式,再去做題目,這樣會(huì)比較簡(jiǎn)單。3)
數(shù)組的初始化,一維和二維的,一維可以不寫,二維第二個(gè)一定要寫int
a[]={1,2}
合法。
int
a[][4]={2,3,4}合法。
但int
a[4][]={2,3,4}非法。4)
二維數(shù)組中的行指針int
a[1][2];其中a現(xiàn)在就是一個(gè)行指針,a+1跳一行數(shù)組元素。
搭配(*)p[2]指針a[0],a[1]現(xiàn)在就是一個(gè)列指針。a[0]+1
跳一個(gè)數(shù)組元素。
搭配*p[2]指針數(shù)組使用5)
還有記住
a[2]
變成
*(a+2)
a[2][3]變成
*(a+2)[3]再可以變成
*(*(a+2)+3)15)字符串的賦值
C語(yǔ)言中沒有字符串變量,所以用數(shù)組和指針存放字符串:1、char
ch[10]={“abcdefgh”};對(duì)2、charch[10]=“abcdefgh”;對(duì)3、charch[10]={‘a(chǎn)’,’b’,’c’,’d’,’e’,’f’,’g’,’h’};
對(duì)4、char
*p=“abcdefgh”;對(duì)5、char
*p;
p=“abcdefgh”;對(duì)6、char
ch[10];
ch=“abcdefgh”;錯(cuò)了!數(shù)組名不可以賦值!7、char
*p={“abcdefgh”};錯(cuò)了!不能夠出現(xiàn)大括號(hào)!第七章函數(shù)1、函數(shù):是具有一定功能的一個(gè)程序塊,是C語(yǔ)言的基本組成單位。2、函數(shù)不可以嵌套定義。但是可以嵌套調(diào)用。3、函數(shù)名缺省返回值類型,默認(rèn)為
int。4、C語(yǔ)言由函數(shù)組成,但有且僅有一個(gè)main函數(shù)!是程序運(yùn)行的開始!5、如何求階層:n!
int
fun(int
n){
int
p=1;for(i=1;i<=n;i++)
p=p*i;return
p;}7、函數(shù)的參數(shù)可以是常量,變量,表達(dá)式,甚至是函數(shù)調(diào)用。
add(int
x,int
y){return
x+y;}
main()
{
int
sum;
sum=add(add(7,8),9);}請(qǐng)問sum的結(jié)果是多少?
結(jié)果為24
8、
函數(shù)的參數(shù),返回?cái)?shù)值(示意圖):
9、一定要注意參數(shù)之間的傳遞
實(shí)參和形參之間
傳數(shù)值,和傳地址的差別。
傳數(shù)值的話,形參的變化不會(huì)改變實(shí)參的變化。
傳地址的話,形參的變化就會(huì)有可能改變實(shí)參的變化。10、函數(shù)聲明的考查:一定要有:函數(shù)名,函數(shù)的返回類型,函數(shù)的參數(shù)類型。不一定要有:形參的名稱。int
*fun(int
a[]
,
int
b[])
{…………..}已經(jīng)知道函數(shù)是這樣。這個(gè)函數(shù)的正確的函數(shù)聲明怎么寫?int
*fun(int
*a
,
int
*b)這里是函數(shù)聲明的寫法,注意數(shù)組就是指針int
*fun(int
a[]
,
int
b[])這種寫法也是正確的
int
*fun(int
b[]
,
int
c[])這種寫法也是正確的,參數(shù)的名稱可以隨便寫int
*fun(int
*
,
int
*)這種寫法也是正確的,參數(shù)的名稱可以不寫
11、要求掌握的庫(kù)函數(shù):
a、庫(kù)函數(shù)是已經(jīng)寫好了函數(shù),放在倉(cāng)庫(kù)中,我們只需要如何去使用就可以了!
b、以下這些庫(kù)函數(shù)經(jīng)??嫉?,所以要背誦下來(lái)。
abs()、
sqrt()、fabs()、pow()、sin()
其中pow(a,b)是重點(diǎn)。23是由pow(2,3)表示的。第八章指針指針變量的本質(zhì)是用來(lái)放地址,而一般的變量是放數(shù)值的。指針變量是存放地址的。并且指向哪個(gè)就等價(jià)哪個(gè),所有出現(xiàn)*p的地方都可以用它等價(jià)的代替。例如:int
a=2,*p=&a;
*p=*p+2;
(由于*p指向變量a,所以指向哪個(gè)就等價(jià)哪個(gè),這里*p等價(jià)于a,可以相當(dāng)于是a=a+2)1、int
*p
中
*p和p的差別:簡(jiǎn)單說*p是數(shù)值,p是地址!*p可以當(dāng)做變量來(lái)用;*的作用是取后面地址p里面的數(shù)值
p是當(dāng)作地址來(lái)使用??梢杂迷趕canf函數(shù)中:scanf(“%d”,p);
2、*p++
和
(*p)++的之間的差別*p++是
地址會(huì)變化??谠E:取當(dāng)前值,然后再移動(dòng)地址?。?p)++
是數(shù)值會(huì)要變化。
口訣:取當(dāng)前值,然后再使數(shù)值增加1。
例題:int
*p,a[]={1,3,5,7,9};
p=a;請(qǐng)問*p++和(*p)++
的數(shù)值分別為多少?*p++:
這個(gè)本身的數(shù)值為1。由于是地址會(huì)增加一,所以指針指向數(shù)值3了。
(*p)++
這個(gè)本身的數(shù)值為1。由于有個(gè)++表示數(shù)值會(huì)增加,指針不移動(dòng),但數(shù)值1由于自加了一次變成了
溫馨提示
- 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 酒店裝修設(shè)計(jì)與施工承包合同書
- 紡織工程經(jīng)濟(jì)與管理試題及答案
- 石油化工行業(yè)試題安全操作知識(shí)問答
- 2025福建漳州市經(jīng)濟(jì)發(fā)展集團(tuán)有限公司招聘勞務(wù)派遣人員10人筆試參考題庫(kù)附帶答案詳解
- 2025江蘇宜宸產(chǎn)業(yè)投資有限公司招聘2人筆試參考題庫(kù)附帶答案詳解
- 2025年甘肅海林中科科技股份有限公司招聘30人筆試參考題庫(kù)附帶答案詳解
- 解密紡織品檢驗(yàn)過程中的難點(diǎn)試題及答案
- 營(yíng)養(yǎng)配餐員試題及答案
- 解除房屋銷售合同協(xié)議書
- 承包除雪合同協(xié)議書
- 明亞保險(xiǎn)經(jīng)紀(jì)人考試題庫(kù)答案
- 干部選拔任用程序
- 機(jī)械制造技術(shù)-機(jī)械加工工藝
- 設(shè)卡堵截示范作業(yè)教案
- 供貨組織措施及供貨方案
- 浙教版-信息技術(shù)-必修1-32-python-語(yǔ)言的程序設(shè)計(jì)-課件(教學(xué)課件)
- 頂管工程施工應(yīng)急預(yù)案27615
- 《音樂審美心理分析》考試題庫(kù)(含答案)
- 2023年同等學(xué)力申碩-同等學(xué)力(新聞傳播學(xué))考試歷年重點(diǎn)考核試題含答案
- 水電安裝施工組織設(shè)計(jì)施工組織設(shè)計(jì)
- 水滸傳名著匯報(bào)課
評(píng)論
0/150
提交評(píng)論