




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
C語言程序設(shè)計復習資料來源:《C/C++程序設(shè)計》一書程序設(shè)計基礎(chǔ)復習資料第一章C語言概述我們學習的C語言是以接近英語國家的自然語言和數(shù)學語言作為語言的表達形式。1.1.2程序設(shè)計語言(P2)1、機器語言2、匯編語言3、面向過程語言如:C語言4、面向?qū)ο笳Z言如C++編譯語言的執(zhí)行過程如下:編輯程序T源程序T編譯程序T目標程序T連接程序T可執(zhí)行程序1.1.3程序設(shè)計的方法(P3)結(jié)構(gòu)化程序設(shè)計的三種基本結(jié)構(gòu):順序結(jié)構(gòu)、選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu)。C程序的基本構(gòu)成(P10)1、每個程序由程序主體、編譯預(yù)處理和注釋三部分組成。⑴函數(shù)定義是C程序的主體部分,程序功能是由函數(shù)來完成的。⑵一個完整的C程序必須有且只能有一個main()主函數(shù)。⑶一個C程序的執(zhí)行是從本程序的main函數(shù)開始,到main函數(shù)結(jié)束。2、語句是組成程序的基本單元,C語言中,語句是組成程序的基本單元,每個語句最后要以分號結(jié)尾。C語言的標識符(P14)標識符的命名原則:所有的標識符第一個字符必須是字母或下劃線;標識符的其他部分必須由字母、下劃線或數(shù)字組成;C語言區(qū)分字母大小寫,sum和SUM是不同的標識符;標識有效長度,一般環(huán)境運行32個字符;標識符不能與C語言關(guān)鍵字重名;【關(guān)鍵字又稱為保留字】(P13)32個關(guān)鍵字關(guān)鍵字語義關(guān)鍵字語義關(guān)鍵字語義關(guān)鍵字語義double雙精度int整數(shù)structbreakelse否劇long長整型switch開關(guān)enumregister奇存器typedef類型定義extern外部return返回union共用float浮點short短整型unsigned無櫛1continuefor對于signed帶符號void空goto轉(zhuǎn)向sizeof字節(jié)數(shù)volatile可變的if如果static靜態(tài)while當1.6.1C語言的實現(xiàn)過程(P")1、一個C語言程序從編寫到最后運行,需要經(jīng)過4個環(huán)節(jié):編輯、編譯、連接、運行。2、C語言源程序文件的擴展名是“.c”,經(jīng)過compile(編譯)后生成的文件擴展名為“.obj”,經(jīng)過Build(連接)后生成的文件擴展名為".exe”?!镜湫屠}精解】1、在C語言程序中,main()函數(shù)的位置可以放在任意位置。2、算法的5個基本特征:輸入、輸岀、有窮性、確定性、有效性。3、自頂向下、逐步求精和模塊化設(shè)計是結(jié)構(gòu)化程序設(shè)計方法中最典型、最具有代表性的方法。4、面向?qū)ο蟪绦蛟O(shè)計的主要特征是:封裝性、繼承性、和多態(tài)性。封裝性是指把對象的屬性和行為封裝在一起,并盡可能隱藏對象的內(nèi)部細節(jié)。繼承性是指特殊類的對象擁有其一般類的屬性和行為的類與類之間的層次關(guān)系。多態(tài)性是指不同對象收到相同消息時可以產(chǎn)生多種不同的行為方式。5、注釋說明必須括在TXXXX*/之間,注釋說明被計算機編譯系統(tǒng)忽略,注釋符用T之間不能有空格。6、VisualC++6.0IDE的編輯窗口的主要功能是建立并修改程序。7、編輯和運行可以不在VC++6.0編譯系統(tǒng)環(huán)境下進行。&C語言程序中的關(guān)鍵字必須是小寫字母。9、標準函數(shù)存放在庫文件中。10、C語言源程序?qū)儆谖谋绢愋偷奈募蚨梢允褂镁哂形谋揪庉嫻δ艿娜魏尉幾g器來編輯。第二章基本程序設(shè)計2.1C語言中最基本的數(shù)據(jù)類型包括整型、字符型、實型。(P24)2.2.3字符常量:用單引號括起來的一個字符。例如:合法的字符常fi:*\n\3、wTV;不合法的「bed'(常用的轉(zhuǎn)義字符理解)224字符串常量:用雙引號括起來的一串字符。(P24)字符串常量以'\0'為結(jié)束標志,如字符串^welcome”在內(nèi)存中占的字節(jié)數(shù)是9,而不是8。2.2.5符號常量(P28)可以使用#define或const來定義符號常量。2.3.2整型變量(P29)1、整型變量的分類,數(shù)類型包括:inkshortint(或以short表示)、longint(或以long表示)。設(shè)short類型的數(shù)據(jù)長度為2個字節(jié),unsignedshort類型數(shù)據(jù)的取值范圍是0-655356卩(0-2A16-1)(P31)2、整形數(shù)據(jù)的溢岀(什么時候溢出):一個整型變量只能容納一個范圍的數(shù),當數(shù)據(jù)超過此范圍時,就會發(fā)生溢出,但運行時并不報錯。下列語句的結(jié)果是什么?(P31)執(zhí)行語句“intb=32767;printfC%3d”,b);”結(jié)果是32767注釋:C語言中,%3d“表示以3位的固定寬度輸岀整型數(shù)。(不足3位,在前面補空格;超過3位按實際位數(shù)輸出,但是要在其范圍內(nèi)-32768-32767o)2.3.3實型變量分為:單精度型、雙精度型、長雙精度型3類。(P32)2.3.4字符變量(P33)1、字符變量的定義字符型變量(char)用來存放字符數(shù)據(jù),一個字符變量只能存放一個字符。字符變量的定義形式如下:chard,c2;定義c1、c2為字符變量,在內(nèi)存中各占一個字節(jié),可以分別存放一個字符。下面是對c1、c2賦值的語句:c1='a';c2='b';實際上其內(nèi)存中存放的是該字符的ASCII碼。2、例2.3大小寫字母的轉(zhuǎn)換程序。(P34)#includevoidmain(void){charc1,c2;c1=a,;c2=b,;c1=c1-32;c2=c2-32;prints%)%c\nM,c1,c2);}3、字符型數(shù)據(jù)和整型數(shù)據(jù)的計算。例:main(){charn1,n2;n1=A+7,-43,;n2='A'+7'?3;printf(44%dt%c\n,,,n1,n2);}2.4運算符和表達式(P34)1、算數(shù)運算符:+、?、*、/(除)、%(求余)。對于*運算,C語言和數(shù)學運算規(guī)則相同,但是書寫時乘號(”)不能省略。對于/運算,如果兩個操作數(shù)均為整數(shù),則結(jié)果為整數(shù)(舍去小數(shù)部分)對于%運算,兩個操作數(shù)必須為整數(shù),且在計算x%y時y的值不能為0(取值時余數(shù)的符號與被除數(shù)相同)。2、自增自減運算符(P35)例1:下列程序的結(jié)果?main(){inta=5,b=5;printf(44%d1%d,\a-5++b);}a-=5,++b=6注釋:自增自減運算符只能用于變量而不能用于常量或表達式(如“(a+b)++”)也是不合法的。2.4.2關(guān)系運算符和關(guān)系表達式(P36)例1、哪些是關(guān)系表達式⑴a!刊⑵ab(4)a=b(4)不是其余都是°為等于關(guān)系運算符“!=”為不等于關(guān)系運算符(參見表2-8)例2、if(x==y+z)printf(“正確\n”);elseprintf(,4Wi^\n")本語句的含義。如果是ifif(x==y+z)printf(“正確\n”);語句含義的變化。例3、printf(“%d",c>b>a)結(jié)果的取值?2.4.3邏輯運算符和邏輯表達式(P37)C語言提供了三種邏輯運算符:與(&&)或(||)非(!)的運算。例1、若x=0,y=3,z=3,下面表達式值為:!xy&&zx&&yx||y例2、設(shè)a=10,表達式a>=8&&x<15||a=1的值為:2.4.4賦值運算符和賦值表達式(P39)1、賦值號蹴是賦值運算符,它的作用是將一個數(shù)據(jù)賦值給一個變量。(也可以將一個表達式的值賦給一個變量)2、由賦值運算符將一個變量和表達式連接起來的式子稱為賦值表達式,其一般形式為:變量=表達式;(賦值表達式可以嵌套;賦值表達式可以放置在任何可以放置表達式的地方)注釋:C語言規(guī)定賦值運算是右結(jié)合性,即從右至左開始運算,因此表達式x=(y=8)中的括號可以省略寫成x=y=8o3、復合的賦值運算符:在C語言中,可以在賦值運算符之前加上其他運算符,構(gòu)成復合賦值運算符。(5種算術(shù)運算符組成的復合賦值運算符由算術(shù)運算符和賦值運算符結(jié)合在一起。女口:+=、-=、*=、/=、%=;x+=3;等價于x=x+3;y*=y+z;等價于y=y*(y+z);參加算術(shù)復合賦值運算的兩個運算數(shù),先進行算術(shù)運算,然后將其結(jié)果賦值給第一個運算數(shù)。5種是位運算符組成的復合賦值運算符,由位運算符和賦值運算符結(jié)合在一起o女U:<<=、>>=、&=、人=、|=o(課本P40)245其他運算符及表達式(P41)1、逗號運算符(,)是C語言中一個比較特殊的運算符,它的作用是將若干個表達式連接起來。逗號表達式的一般形式為:表達式1,表達式2,表達式n;求解過程從表達式1開始;在prinx,y);中逗號不是運算符而是分隔符。2、條件運算符和條件表達式條件表達式是由條件運算符連接表達式構(gòu)成的,其一般形式:e1?e2:e3;式中“?:”為條件運算符,e1主要是關(guān)系或邏輯表達式,e2,e3是同類表達式。表達式的含義:當e1為真(非0)時,表達式取e2的值,否則取e3的值。例1、“intx=4,y=5,乙z=x>y?x:y;”后z的值為:2.4.6運算的優(yōu)先級與結(jié)合性C語言中常見的運算:算術(shù)運算,關(guān)系運算,邏輯運算以及賦值運算。對于已學過的常見運算符的優(yōu)先級總結(jié)如下:單目運算高于雙目運算。比如!運算比&&運算優(yōu)先級高在上述條件下算術(shù)運算的優(yōu)先級高于關(guān)系運算,關(guān)系運算的優(yōu)先級高于邏輯運算,邏輯運算的優(yōu)先級高于賦值運算(包括運算符賦值,比如+=、怙等)括弧0具有最高的優(yōu)先級,可以用于優(yōu)先級的調(diào)整。3、數(shù)據(jù)類型的強制轉(zhuǎn)換可以利用強制類型轉(zhuǎn)換運算符將一個表達式的數(shù)據(jù)類型強制的轉(zhuǎn)換成指定的類型。其一般形式為:(類型名)(表達式)例如:(double)a/*將a的值轉(zhuǎn)換成double類型*/(int)(x+y)/*將x+y的值轉(zhuǎn)換成整型*/注意:表達式應(yīng)該用括號括起來。如果寫成(int)x+y,則只將x轉(zhuǎn)換成整數(shù),然后與y相加。2.5.3格式輸入/輸岀(P45)1、在C語言中,輸入操作是由庫函數(shù)scanf完成的,輸出操作是由庫函數(shù)printf完成的。2、用printf0函數(shù)輸岀字符串,需要使用%$格式說明符例:m=213.82631;Printf(,%3.2f\n”,m);程序中%3.2f的含義:f代表m應(yīng)以“小數(shù)”的格式輸出,“3”在小數(shù)輸出中表示“最少輸岀的字符數(shù)為3(少于此數(shù),在前加空格,多了原樣輸岀",“.2”在小數(shù)的輸出中則表示“小數(shù)點后輸岀的最多字符數(shù),少了加0,多則四五入”…例:原數(shù)sum若為123.4567則輸出的結(jié)果就應(yīng)是“123.46”......3、有語句“scanf(%d%d”,&a,&b);”,則輸入a和b的值時,兩數(shù)之間可以用空格、回車、Tab,但不能使用逗號間隔。(課后習題和2.6典型例題)第3章程序控制結(jié)構(gòu)3.1順序結(jié)構(gòu)(P58)例1:鍵盤上輸入半徑r,計算并輸出圓的周長、面積和球的體積。例2:鍵盤輸入三個數(shù),對三個數(shù)求平均值。例3:求三角形面積時用到了函數(shù)sqrt()函數(shù),它應(yīng)該包含在math.h頭文件中。3.2分支結(jié)構(gòu)(P61)1?分支結(jié)構(gòu)是對提供的條件進行判斷,并根據(jù)判斷結(jié)果選擇執(zhí)行不同的算法的一種結(jié)構(gòu),也稱為選擇結(jié)構(gòu);分支結(jié)構(gòu)中的判斷條件應(yīng)該是一個邏輯量;switch語句是一種多分支選擇語句。C語言提供的if(if-else)語句可實現(xiàn)分支結(jié)構(gòu),主要有3種形式:單分支結(jié)構(gòu)、雙分支、多分支結(jié)構(gòu)。3?為了避免嵌套的if—else語句的二義性,C語言規(guī)定else總是與在其之前未配對的最近的if組成配對關(guān)系。4?鍵盤輸入一個字符,判斷其是否是大寫字母,并顯示判斷結(jié)果(用if-else語句實現(xiàn))5?輸入兩個數(shù),輸岀其中較大值:參考P60(例3.2)6.鍵盤輸入三個數(shù)并求和,根據(jù)鍵盤輸入結(jié)果,判斷結(jié)果是否正確。3.2.2switch語句(P65)理解說明①-⑤的內(nèi)容例1:break語句可用于switch語句和循環(huán)語句中,在switch語句中,break語句是可選項。例2:voidmain(){intn;scanf("%d",&n);switch(n){easelprintf("語文");case2printf("數(shù)學");case3printf("英語");case4:printfC,物理”);case5printf("化學");defaultprintff'錯誤\n");}}若n=2,則程序結(jié)果為()例3:用字符TV,'B','C','D\'E'表示成績等級,編寫程序,要求:隨機輸入一個字符等級,如果是'A\'B','C\'D'中的某一個,都輸出“及格”,如果是'E;則輸出“不及格”,如果是其他字符,輸出“不合法的等級"。3.3循環(huán)結(jié)構(gòu)(P67)3.3.1while語句例:inta=100;while(a==10)a--;該程序循環(huán)幾次?3.3.2Do-while語句例1:intm=5;do{m--;}while(m<=0);該程序循環(huán)幾次?例2:C語言中while和do—while循環(huán)的主要區(qū)別是do—while的循環(huán)體至少無條件執(zhí)行一次3.3.3fori吾句:例1:main(){inti,j=6;for(i=1;i<6;i++)j=j+3;printf(%l”,j);}程序結(jié)果?例2:利用for循環(huán)求0-100之內(nèi)的和、奇數(shù)和及偶數(shù)和335循環(huán)的嵌套(P73)例1:多重循環(huán)中,百雞百錢問題如何實現(xiàn)?第4章數(shù)組4.2-維數(shù)組(P90)421—維數(shù)組的定義(識記P90說明:中的①-④)例:數(shù)組名代表該數(shù)組的首地址;數(shù)組元素必須是相同類型;數(shù)組元素的下標從0開始;定義數(shù)組時,其長度只能是常量或常量表達式,不能是變量。422數(shù)組元素的引用例:數(shù)組元素的引用:inta[10];",a[10]sa[6.3]a(6)a[10-10](哪個錯誤?)423—維數(shù)組的初始化例1:數(shù)組的定義合法的是?⑴intb[10]={3};⑵intb[2+5]={123,4,5};(3)intb0={1,2,3,4};(4)intb[4];b={1,2,3,4};例2:根據(jù)下面數(shù)組的定義,可以得到那些信息?intb[8]={6.7,8,9,10};4.2.4—維數(shù)組的應(yīng)用(P93)例1:數(shù)組元素求和(給定數(shù)組元素的值,參考課本P94例4.4)4.3多維數(shù)組(只掌握二維數(shù)組)例:若有二維數(shù)組:intx[2][3]={2,3,4,5,6,7};”a[1]⑴的值是?44字符數(shù)組和字符串(P101)44.1字符數(shù)組的定義(P102)有數(shù)組定義:chary[]="hi";則數(shù)組在內(nèi)存中所占的空間為?第五章函數(shù)5.1.2函數(shù)的分類(P120)從用戶的使用角度劃分,可將函數(shù)分為:用戶函數(shù)和系統(tǒng)函數(shù)5.2.2函數(shù)的調(diào)用例:利用函數(shù)求三個數(shù)的最大值(參考P123例5.1)5.3函數(shù)的參數(shù),“形參”是在定義函數(shù)時指定的參數(shù),用來接收調(diào)用該函數(shù)時傳遞來的數(shù)據(jù);“實參”是主調(diào)函數(shù)在調(diào)用函數(shù)時傳遞給被調(diào)函數(shù)的參數(shù);“實參”可以是常量、變量、表達式、標準函數(shù)等;但是在傳遞數(shù)據(jù)時,“實參”和“形參”在數(shù)量、類型、順序上,必須嚴格一致。例2、函數(shù)參數(shù)傳遞方式通常有兩種:值傳遞方式和地址傳遞。例3、在調(diào)用函數(shù)時,實參如果是數(shù)組的名字,則向形參傳遞的是數(shù)組的首地址。5.4函數(shù)的嵌套調(diào)用:函數(shù)的定義不可以嵌套,但函數(shù)的調(diào)用可以嵌套。(P133)5.5變量的作用域和存儲類型(P136)1、局部變量:在一個函數(shù)內(nèi)部或者某個復合語句內(nèi)部定義的變量稱為局部變量局部變量在不同的函數(shù)中允許同名(參考P137局部變量部分)2、全局變量:在所有函數(shù)(包括main()函數(shù))外部定義的變量成為全局變量,全局變量的作用域從定義變量的位置開始到源程序結(jié)束。5.5.2變量的存儲類型(P13刀靜態(tài)類型變量定義的一般形式:static數(shù)據(jù)類型變量名;(注:變量用關(guān)鍵字“static”指定)第六章指針指針變量的定義(P166)1?定義指針變量的一般形式如下:類型名*指針變量名1,節(jié)旨針變量名2,...*指針變量名n;空指針空指針是一個特殊的指針,它的值是0,C語言中用符號常量NULL(在stdio.h中定義)表示這個空值,并保證這個值不會是任何變量的地址。空指針對任何指針類型賦值都是合法的。一個指針變量具有空指針值表示當前它沒有指向任何有意義的東西。void指針(void*)類型的指針叫通用指針,可以指向任何的變量,C語言允許直接把任何變量的地址作為指針賦給通用指針。但是有—點需要注意void*不能指向由const修飾的變量,egconstinttest;void*ptv;ptv=&test第三句是非法的,只有將ptv申明為constvoid*ptv;上述第三句(ptv=&test),才是合法的.當需要使用通用指針所指的數(shù)據(jù)參加運算時,需要寫出類型強制轉(zhuǎn)換。如通用指針ptv所指空間的數(shù)據(jù)是整型數(shù)據(jù),p是整型指針,用此式轉(zhuǎn)換:p=(int*)ptv;例1、變量的指針代表變量的地址2、與指針相關(guān)的運算符(P16刀例1、表示取某變量地址的運算符是&,取內(nèi)容是*?!竞笪屙摬皇菚蟽?nèi)容為二級C考點】C語言基本知識【考點1】C程序C語言程序結(jié)構(gòu)有三種:順序結(jié)構(gòu),循環(huán)結(jié)構(gòu)(三個循環(huán)結(jié)構(gòu)),選擇結(jié)構(gòu)(if和switch)【考點2】main函數(shù)每個C語言程序中main函數(shù)是有且只有一個。讀程序都要從main()入口,然后從最上面順序往下讀(碰到循環(huán)做循環(huán),碰到選擇做選擇)。【考點引存儲形式計算機的數(shù)據(jù)在電腦中是以二進制的形式保存。最低的存儲單元是bit(位),位是由為0或者1構(gòu)成。byte是指字節(jié),一個字節(jié)=八個位。數(shù)據(jù)存放的位置就是它的地址?!究键c4】注釋是對程序的說明,可出現(xiàn)在程序中任意合適的地方,注釋從“/*”開始到最近一個“字結(jié)束,其間任何內(nèi)容都不會被計算機執(zhí)行,注釋不可以嵌套?!究键c引書寫格式每條語句的后面必須有一個分號,分號是語句的一部分。一行內(nèi)可寫多條語句,一個語句可寫在多行上?!究键c6】標識符合法的用戶標識符考查:合法的要求是由字母,數(shù)字,下劃線組成。有其它元素就錯了。并且第一個必須為字母或則是下劃線。第一個為數(shù)字就錯了。C語言標識符分如下3類(1)關(guān)鍵字。它們在程序中有固定的含義,不能另作他用。如int、for、switch等。⑵預(yù)定義標識符。預(yù)先定義并具有特定含義的標識符。如define、include等。(3)用戶標識符。用戶根據(jù)需要定義的標識符,符合命名規(guī)則且不與關(guān)鍵字相同。關(guān)鍵字不可以作為用戶標識符號。maindefinescanfprintf都不是關(guān)鍵字。迷惑你的地方卄是可以做為用戶標識符。因為If中的第一個字母大寫了,所以不是關(guān)鍵字?!究键c刀實型數(shù)據(jù)實型數(shù)據(jù)的合法形式:小數(shù)形式和指數(shù)形式。掌握判定指數(shù)形式合法性。2.333e-1就是合法的,且數(shù)據(jù)是2.333x10-1o考試口訣:e前e后必有數(shù),e后必為整數(shù)?!究键c8】字符字符數(shù)據(jù)的合法形式::T是字符占一個字節(jié),T"是字符串占兩個字節(jié)(含有一個結(jié)束符號)。'O'的ASCII數(shù)值表示為4&0的ASCII數(shù)值是97,A的ASCII數(shù)值是65。字符型和整數(shù)是近親:chara=65;printf(-%c",a);得到的輸出結(jié)果:aprintf(-%d",a);得到的輸出結(jié)果:65一般考試表示單個字符錯誤的形式:£5,T"字符是可以進行算術(shù)運算的,記?。?-0=48大寫字母和小寫字母轉(zhuǎn)換的方法:’A,+32='a'相互之間一般是相差32。【考點9】整型數(shù)據(jù)整型一般是兩個字節(jié),字符型是一個字節(jié),雙精度一般是4個字節(jié):考試時候一般會說,在16位編譯系統(tǒng),或者是32位系統(tǒng)。碰到這種情況,不要去管,一樣做題。掌握整型一般是兩個字節(jié),字符型是一個字節(jié),雙精度一般是4個字節(jié)就可以了。【考點10】轉(zhuǎn)義字符轉(zhuǎn)義字符的考查:在程序中inta=0x6d,是把一個十六進制的數(shù)給變量a注意這里的Ox必須存在。在程序中inta=06d,是一個八進制的形式。在轉(zhuǎn)義字符中,‘\x6d'才是合法的,0不能寫,并且x是小寫。'\141'是合法的,0是不能寫的。'\108'是非法的,因為不可以出現(xiàn)8?!究键c11】算術(shù)運算算術(shù)運算符一共有+、一、*、/、%這五個。%符號兩邊要求是整數(shù)。不是整數(shù)就錯了。三種取整丟小數(shù)的情況:不是四舍五入是舍掉小數(shù)部分。1、inta=1.6;2、(int)a;3、1/2;3/2;【考點12】強制類型轉(zhuǎn)換將一個運算對象轉(zhuǎn)換成指定類型,格式為(類型名)表達式一定是(int)a不是int(a),注意類型上一定有括號的。注意(int)(a+b)和(int)a+b的區(qū)別。前是把a+b轉(zhuǎn)型,后是把a轉(zhuǎn)型再加b?!究键c13】賦值是表達式就一定有數(shù)值。賦值表達式:表達式數(shù)值是最左邊的數(shù)值,a=b=5;該表達式為5,常量不可以賦值。復合賦值運算符:注意:a*=m+2是玄=8*(01+2)自加、自減表達式:假設(shè)a=5,++a(表達式的值為6),a++(表達式的值為5);j=a++;等價于j=a;a=a+1;ffiij=++a;等價于a=a+1;j=a;°考試口訣:++在前先加后用,++在后先用后加。【考點14】逗號運算逗號表達式:優(yōu)先級別最低;表達式的數(shù)值逗號最右邊的那個表達式的數(shù)值。(2,3,4)的表達式的數(shù)值就是4?!究键c15】數(shù)制轉(zhuǎn)換一定要記住二進制如何轉(zhuǎn)換成十進制。八進制是沒有8的,逢8進1,018的數(shù)值是非法的。【考點16】位運算會有一到二題考試題目。C語言提供6種位運算符:按位求反~,按位左移<<,按位右移〉>,按位與&,按位異或按位或人??偟奶幚矸椒ǎ簬缀跛械奈贿\算的題目都要按這個流程來處理(先把十進制變成二進制再變成十進制)。異或運算的規(guī)則:0異或1得到1,0異或0得到0,1異或1得到0。可記為“相同為0,不同為1”。見教材31頁例1。在沒有舍去數(shù)據(jù)的時候,<<左移一位表示乘以2;>>右移一位表示除以2。第七章數(shù)組【考點1】數(shù)組的定義數(shù)組是一組具有相同類型的數(shù)據(jù)的集合,這些數(shù)據(jù)稱為數(shù)組元素。格式為:類型名數(shù)組名[常量表達式]。數(shù)組的所占字節(jié)數(shù)為元素個數(shù)與基類型所占字節(jié)數(shù)的乘積。【考點2】數(shù)組的初始化第一維長度可以不寫,其它維必須寫。inta[]={1,2};合法,inta[][3]={2,3,4};合法,inta[2][]={2,3,4};非法。數(shù)組初始化元素值默認為0,沒有初始化元素值為隨機。如在inta[5]={0,1,2};中,元素a[4]值為0;而在inta[5];中,元素a[4]值為一個不確定的隨機數(shù)?!究键c引元素的引用數(shù)組元素的下標從0開始,到數(shù)組長度減1結(jié)束。所Uinta[5];中數(shù)組最后一個元素是a[4]。要把數(shù)組元素看作一個整體,可以把a[4]當作一個整型變量?!究键c4】二維數(shù)組數(shù)組8[2][3]={123,4,5,6};中含6個元素,有2行3列。第一行為a[0]行,第2行為a⑴行,a[0]、a⑴叫行首地址是地址常量。*(a[0]+1)是第一行第一個兀素往后跳一歹I」,即兀素a[0]⑴值為2,*(a[0]+3)是第一行第一個兀素往后跳三個,即兀素a[1][0]值為4O【考點引行指針是一個指針變量,占四個字節(jié),行指針指向一行連續(xù)數(shù)據(jù),形式為:int「p)[2];,p只能存放含有兩個整型元素的一維數(shù)組的首地址。注意(R)兩邊的小括號不能省略,否則就成了指針數(shù)組,是若干指針元素的集合?!究键c6】數(shù)組名數(shù)組名是數(shù)組的首地址。數(shù)組名不能單獨引用,不能通過一個數(shù)組名代表全部元素。數(shù)組名是地址常量,不能對數(shù)組名賦值,所以a++是錯誤的。但數(shù)組名可以作為地址與一個整數(shù)相加得到一個新地址?!究键c刀元素形式的轉(zhuǎn)換助記:“脫衣服法則”a[2]變成*(a+2),a[2][3]變成*(a+2)[3]再可變成*(*(a+2)+3)。這個思想很重要!二維數(shù)組做題目的技巧:如果有a[3][3]={123,4,5,6,7,8,9}這樣的題目。步驟一:把他們寫成:第一列第二列第三列a[0]123->第一行a[1]456—>第二行a[2]789->第三行步驟二:這樣作題目間很簡單:*(a[0]+1)我們就知道是第一行的第一個元素往后面跳一列,那么這里就是元素,所以是10*(a[1]+2)我們就知道是第二行的第一個元素往后面跳二列。那么這里就
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- GB/T 45292-2025輪胎翻新生產(chǎn)技術(shù)條件
- 農(nóng)村山地承包合同管理規(guī)定其四
- 市場調(diào)研服務(wù)合同協(xié)議范本
- 詳解:中保人壽保險合同之66鴻運保險(B型)
- 超市人力資源服務(wù)合同樣本
- 計算機銷售與技術(shù)服務(wù)合同協(xié)議
- 公司機密信息保護合同
- 股東權(quán)益分紅合同范本詳解
- 100以內(nèi)的加法和減法(二)(教學設(shè)計)-2024-2025學年二年級上冊數(shù)學人教版
- 雙方合作經(jīng)營合同模板
- 工程項目部安全生產(chǎn)治本攻堅三年行動實施方案
- 2024三農(nóng)新政策解讀
- HGE系列電梯安裝調(diào)試手冊(ELS05系統(tǒng)SW00004269,A.4 )
- 水利工程水庫混凝土防滲墻施工方案
- 2022春蘇教版五年級下冊科學全冊單元課件全套
- 小學期末班級頒獎典禮動態(tài)PPT模板
- 液堿生產(chǎn)工序及生產(chǎn)流程敘述
- 圖解調(diào)音臺使用說明(共14頁)
- 人民軍隊性質(zhì)宗旨和優(yōu)良傳統(tǒng)教育課件教案
- 心理抗壓能力測試例題
- 操作系統(tǒng)試題
評論
0/150
提交評論