GG學(xué)習(xí)C語(yǔ)言的筆記_第1頁(yè)
GG學(xué)習(xí)C語(yǔ)言的筆記_第2頁(yè)
GG學(xué)習(xí)C語(yǔ)言的筆記_第3頁(yè)
GG學(xué)習(xí)C語(yǔ)言的筆記_第4頁(yè)
GG學(xué)習(xí)C語(yǔ)言的筆記_第5頁(yè)
已閱讀5頁(yè),還剩9頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

3.1C語(yǔ)言的基本元素一、符號(hào)集(字符集)I大、小與字母a宀譏、A?Z II阿拉伯?dāng)?shù)字0?9III下劃線_標(biāo)點(diǎn)符號(hào)和運(yùn)算符逗號(hào)|豎線(左圓括號(hào))右圓括號(hào).圓點(diǎn)?波折號(hào)[左方括號(hào)]右方括號(hào)分號(hào)#井號(hào){左大括號(hào)}右大括號(hào):冒號(hào)%百分號(hào)<左尖括號(hào)>右尖括號(hào)?問(wèn)號(hào)&and(與)單引號(hào)雙引號(hào)!感嘆號(hào)Axor(異或)/斜杠\反斜杠*乘號(hào)-減號(hào)=AfrT.口等于號(hào)+加號(hào)以字母(大小寫均可)或下劃線開頭。隨后可跟若干個(gè)(包括以字母(大小寫均可)或下劃線開頭。隨后可跟若干個(gè)(包括0)字母、數(shù)字、下劃線。標(biāo)識(shí)符的長(zhǎng)度各個(gè)系統(tǒng)不同,最好不超過(guò)8個(gè)字符。區(qū)分大、小寫。(1)(2)(3)、,亠-^7-.注意:三、關(guān)鍵字(保留字):C語(yǔ)言中具有特定含義,專門用作語(yǔ)言特定成分的一類標(biāo)識(shí)符。注意:(1)所有的關(guān)鍵字都有固定的意義,不能用作其他。(2)所有的關(guān)鍵字都必須用小寫。3.2C的數(shù)據(jù)類型數(shù)據(jù)是操作的對(duì)象,數(shù)據(jù)類型是指數(shù)據(jù)的內(nèi)在表現(xiàn)形式(代碼、、存儲(chǔ)、運(yùn)算)數(shù)據(jù)類型(1)基本類型:整型(int)、實(shí)型(浮點(diǎn)型)、字符型(char)(2) 構(gòu)造類型:數(shù)組類型、結(jié)構(gòu)體類型、共用體類型、枚舉類型(3) 指針類型(4) 空類型3.3常量和變量一、 常量和符號(hào)常量I常量:在程序運(yùn)行過(guò)程中,其值不能被改變的量。II符號(hào)常量:用一個(gè)標(biāo)識(shí)符代表的一個(gè)常量。#define標(biāo)識(shí)符常量二、 變量(1) 變量:其值可以改變的量,它用標(biāo)識(shí)符(變量名)來(lái)表示,在內(nèi)存中占據(jù)一定的存儲(chǔ)空間。變量的表示(變量名) 變量的值(存儲(chǔ)單元)(2) 變量的定義:類型符標(biāo)識(shí)符(3) 注意:見名知意、先定義后使用、必須使用合法的標(biāo)識(shí)符作變量名、不能使用關(guān)鍵字作標(biāo)識(shí)符(4) 習(xí)慣:符號(hào)常量名用大寫,變量名用小寫,以示區(qū)別。3.4整型數(shù)據(jù)一、整型常量(1) 十進(jìn)制常量(2) 八進(jìn)制常量由0?7數(shù)字組成;最高位必須用0作引導(dǎo)符。如果前面有-號(hào),表示對(duì)真值取反。(3)十六進(jìn)制常量由0?9、a?f(A?F)組成,最高位必須用Ox(OX)作引導(dǎo)符。二、整型變量(1) 整型數(shù)據(jù)在內(nèi)存中的存放形式:數(shù)據(jù)在內(nèi)存中以二進(jìn)制的補(bǔ)碼表示(符號(hào)位+二進(jìn)制數(shù)值)正數(shù):原碼、反碼、補(bǔ)碼相同,符號(hào)位為0,數(shù)值為對(duì)應(yīng)的二進(jìn)制數(shù)。負(fù)數(shù):原碼符號(hào)位為1,數(shù)值為絕對(duì)值的二進(jìn)制數(shù)。反碼符號(hào)位為1,數(shù)值為絕對(duì)值的二進(jìn)制數(shù)各位變反。補(bǔ)碼符號(hào)位為1,數(shù)值為絕對(duì)值的二進(jìn)制數(shù)各位變反加1。(2) 整型變量的分類根據(jù)其數(shù)值的范圍:基本整型(int)2、短整型(shortint)2、長(zhǎng)整型(longint)4根據(jù)變量的表數(shù)范圍有符號(hào)數(shù)(signed)(可省略):最高位為符號(hào)位無(wú)符號(hào)(unsigned)(不可?。鹤罡呶粸閿?shù)據(jù)位(4) 有符號(hào)型:基本型:基本型的類型說(shuō)明符為int,在內(nèi)存中占2個(gè)字節(jié),其取值的范圍為-215?215-1,即-32768?32767。短整型:短整型的類型說(shuō)明符為shortint或short,所占字節(jié)和取值范圍均與基本型相同。長(zhǎng)整型:長(zhǎng)整型的類型說(shuō)明符為longint或long,在內(nèi)存中占4個(gè)字節(jié),其取值范圍是-231?231-1,即-2147483648?2147483647。(5) 無(wú)符號(hào)型:(1) 無(wú)符號(hào)基本型:類型說(shuō)明符為unsignedint或unsigned,取值范圍是0?65535。(2) 無(wú)符號(hào)短整型:類型說(shuō)明符為unsignedshort,與無(wú)符號(hào)基本型一樣(3) 無(wú)符號(hào)長(zhǎng)整型:類型說(shuō)明符為unsignedlongint或unsignedlong,取值范圍為0?232-1,即0?4294967295。(6) 整型變量的定義(7) 注意:(1)整數(shù)后有后綴u或U,認(rèn)為是unsignedo(2)整數(shù)后有后綴l或L,認(rèn)為是longint型。3.5實(shí)型數(shù)據(jù)一、 實(shí)型常量(實(shí)數(shù)又稱浮點(diǎn)數(shù))(1) 表示形式:(1)十進(jìn)制數(shù)形式(2)指數(shù)形式(注意:e前后必須有數(shù)字,e后必須為整數(shù))(2) 類型:缺省為double型(默認(rèn))后綴為f或F,為float型;后綴為l或L,為longdouble型。二、 實(shí)型變量(取值范圍與值的精度與機(jī)器有關(guān))(1) 單精度型(float型):占4個(gè)字節(jié),7位有效數(shù)字(3.4e-38?3.4e+38)(2) 雙精度型(double型):占8個(gè)字節(jié),15?16位有效數(shù)字(1.7e-308?1.7e+308)(3) longdouble型:占10個(gè)字節(jié)15~16位有效數(shù)字,3.4e-4932?1.1e+4932)三、實(shí)型數(shù)據(jù)的舍入誤差(1)在內(nèi)存中,實(shí)型數(shù)據(jù)是以指數(shù)形式存放小數(shù)符號(hào)位 小數(shù) 指數(shù)符號(hào)位(階符)指數(shù)( 有效數(shù)字 ) (范圍 )若超過(guò)有效位,則被舍去,然后系統(tǒng)隨機(jī)產(chǎn)生,故可能產(chǎn)生誤差。3.6字符型數(shù)據(jù)一、 字符常量:用單引號(hào)括起來(lái)的一個(gè)字符。(包括字母、數(shù)字、各種符號(hào)等用ASCII碼表示的字符)二、 轉(zhuǎn)義字符:具有特殊意義的字符常量,它們都以'\'開頭。(代表一個(gè)字符)(1)輸出格式控制:\n 換行符\0空值\t 橫向跳格\v 縱向跳格\b退格\a 報(bào)警\r 回車\f走紙換頁(yè)(2)輸出字符(1) \\ 輸出\\ 輸出(依此類推)(2)\ddd 1~3位八進(jìn)制數(shù)表示的字符(ASCII碼)例:'\101'代表字符'A'(3)\xhh 1~2位十六進(jìn)制數(shù)表示的字符(ASCII碼)例:'\x41'代表字符'A'三、 字符變量字符變量用來(lái)存放字符,且只能存放一個(gè)字符。定義方法:charc1,c2unsingnedcharc1,c2字符型變量的賦值方法:c1='a' c2=‘\101'c3=0xffc4='\377'四、 字符數(shù)據(jù)的存儲(chǔ)(1) 將一個(gè)字符常量存放在一個(gè)字符變量中,是將該字符相應(yīng)的ASCII碼存放在存儲(chǔ)單元中。(占用一個(gè)字節(jié))(2) 字符數(shù)據(jù)可以與整型數(shù)據(jù)相互賦值。(3) 字符數(shù)據(jù)可以以字符型式輸出,也可以以整型數(shù)形式輸出。注意:TurboC把字符處理成帶符號(hào)的整數(shù)。五、 字符串常量(1) 字符串常量:用一對(duì)雙引號(hào)括起來(lái)的字符序列。(2) 字符串結(jié)束標(biāo)記'\0'(一般由系統(tǒng)自動(dòng)加上)例: 'a'為一個(gè)字符 a“a”為兩個(gè)字符 a\0(3) 所儲(chǔ)存的單元數(shù):串長(zhǎng)度+1(結(jié)束標(biāo)記)3.7變量賦初值:在變量定義的同時(shí)設(shè)置初值,亦稱初始化。注意: (1)intx=1,y=1,z=1不能寫成x=y=z=1(2)沒有賦初值,變量的值是隨機(jī)。3.8不同類型數(shù)據(jù)間的混合運(yùn)算3.9運(yùn)算符和表達(dá)式一、C的運(yùn)算符⑴算術(shù)運(yùn)算符:+,-*,/,%⑵關(guān)系運(yùn)算符:>,<,==,>=,<=,!=⑶邏輯有運(yùn)算符:!,&&,II⑷位運(yùn)算符:<< , >> ,?,I,人,&⑸賦值運(yùn)算符:=⑹條件運(yùn)算符:?,:⑺逗號(hào)運(yùn)算符:,⑻指針運(yùn)算符:*, &⑼求字節(jié)運(yùn)算符:sizof,⑽強(qiáng)制類型轉(zhuǎn)換運(yùn)算符: (類型)(11) 分量運(yùn)算符:.,(12) 下標(biāo)運(yùn)算符:[](13) 其他二、算術(shù)運(yùn)算符和算術(shù)表達(dá)式(1)基本的算術(shù)運(yùn)算符+(加法運(yùn)算符或正值運(yùn)算符) -(減法運(yùn)算符,或負(fù)值運(yùn)算符)*(乘法運(yùn)算符)2*X (*不能省略)/(除法運(yùn)算符)注意:兩個(gè)整數(shù)相除其值為整數(shù),5/3=1除數(shù)、被除數(shù)有一為負(fù)值時(shí),結(jié)果“向零取整”除數(shù)、被除數(shù)有一為實(shí)數(shù)時(shí),結(jié)果為double型% 取余運(yùn)算符或稱模運(yùn)算符(兩側(cè)均為整型數(shù)據(jù))注意:7%4的值為3 -7%3、7%-3、-7%-3的值均為-3(符號(hào)由被除數(shù)決定)(2) 算術(shù)表達(dá)式和運(yùn)算符的優(yōu)先級(jí)別與結(jié)合型(1) 算術(shù)表達(dá)式:用算術(shù)運(yùn)算符和括號(hào)運(yùn)算符將運(yùn)算對(duì)象(也叫操作數(shù))連接起來(lái)的符合C語(yǔ)言規(guī)則的式子,稱為算術(shù)表達(dá)式。(運(yùn)算對(duì)象包括常量、變量、函數(shù)等)(2) 運(yùn)算符的優(yōu)先級(jí)別與結(jié)合型優(yōu)先級(jí):先*, / , % ,后+ ,-結(jié)合型:左結(jié)合性,即表達(dá)式從左到右進(jìn)行計(jì)算。(3) 自增自減運(yùn)算符++i ,--i在使用i之前,先使i的值加1或減1i++,i-- 在使用i之后,再使i的值加1或減1b=++a相當(dāng)于a=a+1 ;b=ab=a++相當(dāng)于b=a;a=a+1注意:(1)自增自減運(yùn)算符只能用于變量,不能用于常量或表達(dá)式。(2)++和一的優(yōu)先級(jí)別高于算術(shù)運(yùn)算符,結(jié)合方向是“自右向左”例-i++相當(dāng)于-(i++)3.10賦值運(yùn)算符和賦值表達(dá)式(1) 賦值運(yùn)算符:“=”形式:變量=表達(dá)式作用:將表達(dá)式的值賦給變量。(常量和變量是表達(dá)式的特例)注意:與數(shù)學(xué)里的等式不同。(2) 賦值結(jié)果和類型轉(zhuǎn)換I 實(shí)型數(shù)據(jù)(包括單、雙精度)賦給整型變量時(shí),舍棄實(shí)數(shù)的小數(shù)部分。a+=a-=a*aa=2分析:a=a-(a*a)a=-2a=a+aa=-4注意:不能理解成a=a+(a-(a*a))例:IIIw整型數(shù)據(jù)賦給單、雙精度變量時(shí),數(shù)值不變,但以浮點(diǎn)數(shù)形式存儲(chǔ)到變量中。(小數(shù)部分補(bǔ)0)長(zhǎng)度相同的有符號(hào)和無(wú)符號(hào)的整型數(shù)間,原樣賦值。(但數(shù)值有時(shí)會(huì)發(fā)生化)charIIIw整型數(shù)據(jù)賦給單、雙精度變量時(shí),數(shù)值不變,但以浮點(diǎn)數(shù)形式存儲(chǔ)到變量中。(小數(shù)部分補(bǔ)0)長(zhǎng)度相同的有符號(hào)和無(wú)符號(hào)的整型數(shù)間,原樣賦值。(但數(shù)值有時(shí)會(huì)發(fā)生化)char、int、long等類型的轉(zhuǎn)換①“短”數(shù)據(jù)賦給“長(zhǎng)”變量符號(hào)擴(kuò)展:若最高位為1(負(fù)數(shù))則變量的高字節(jié)補(bǔ)1,反之補(bǔ)0。“長(zhǎng)”數(shù)據(jù)賦給“短”變量只將低字節(jié)位原封不動(dòng)送到變量中,舍去高字節(jié)。(數(shù)據(jù)可能會(huì)有差錯(cuò))復(fù)合的賦值運(yùn)算符在“=”之前加上其他運(yùn)算符,構(gòu)成復(fù)合的賦值運(yùn)算符+=,-=,*=<<=,>>=,&=/=A=x=x*(y+8),%=,|=例如:x*=(y+8)等價(jià)于賦值表達(dá)式:由賦值運(yùn)算符將一個(gè)變量和一個(gè)表達(dá)式連接起來(lái)的式子。形式:計(jì)算過(guò)程:(右結(jié)合)變量=表達(dá)式計(jì)算賦值運(yùn)算符右側(cè)“表達(dá)式”的值將計(jì)算結(jié)果賦給左邊變量。賦值表達(dá)式的值就是被賦值的變量的值。數(shù)據(jù)類型的自動(dòng)轉(zhuǎn)換:自動(dòng)將精度低、表示范圍小的運(yùn)算對(duì)象類型向精度高、表示范圍大的運(yùn)算對(duì)象類型轉(zhuǎn)換強(qiáng)制類型轉(zhuǎn)換:可以利用強(qiáng)制類型轉(zhuǎn)換運(yùn)算符,將一個(gè)表達(dá)式轉(zhuǎn)換成所需類型。形式: (類型名)表達(dá)式表達(dá)式1,表達(dá)式表達(dá)式1,表達(dá)式2,表達(dá)式3, ,表達(dá)式i用于連接表達(dá)式。(1)(2)(3)(1)(2)(3)形式:求解表達(dá)式1求解表達(dá)式1再求表達(dá)式2,,表達(dá)式i整個(gè)逗號(hào)表達(dá)式的值是表達(dá)式i的值。一個(gè)逗號(hào)表達(dá)式又可與另一個(gè)表達(dá)式組成一個(gè)新的逗號(hào)表達(dá)式。逗號(hào)運(yùn)算符是所有運(yùn)算符中級(jí)別最低的。并不是任何地方出現(xiàn)的逗號(hào)都是逗號(hào)運(yùn)算符。、,亠-^7-.

、,亠-^7-.

注意:t=5,t+5,t++表達(dá)式的值為t=5,t+5,t++表達(dá)式的值為2且t=1順序結(jié)構(gòu)程序設(shè)計(jì)(賦值語(yǔ)句和輸入/輸出函數(shù))第4章4.1C語(yǔ)句概述語(yǔ)句是用來(lái)對(duì)數(shù)據(jù)進(jìn)行加工(完成操作任務(wù))。是構(gòu)成程序的基本單位。通常一個(gè)C程序由若干個(gè)函數(shù)(系統(tǒng),用戶)組成。每一個(gè)函數(shù)由若干條語(yǔ)句組成,每條語(yǔ)句都由“;”結(jié)束。C語(yǔ)句的分類I簡(jiǎn)單語(yǔ)句㈠表達(dá)式語(yǔ)句;賦值語(yǔ)句(賦值表達(dá)式加一個(gè);號(hào))2?函數(shù)調(diào)用語(yǔ)句(函數(shù)調(diào)用表達(dá)式加一個(gè);號(hào))㈡結(jié)構(gòu)控制語(yǔ)句;(控制程序流程)選擇語(yǔ)句:if...elseswitch循環(huán)語(yǔ)句:forwhiledowhile轉(zhuǎn)向語(yǔ)句:continuebreakreturngoto復(fù)合語(yǔ)句:將一組語(yǔ)句括在一對(duì){}中說(shuō)明:1.復(fù)合語(yǔ)句的{}后不能有;號(hào)2?復(fù)合語(yǔ)句中可以是簡(jiǎn)單語(yǔ)句、復(fù)合語(yǔ)句、空語(yǔ)句空語(yǔ)句:;/*僅有一個(gè);*/空語(yǔ)句什么也不做,有時(shí)用作轉(zhuǎn)向點(diǎn),或?yàn)檠h(huán)語(yǔ)句提供空體。4.2賦值語(yǔ)句(賦值表達(dá)式后面加一個(gè)分號(hào),構(gòu)成賦值表達(dá)式語(yǔ)句)1賦值表達(dá)式可以作為運(yùn)算對(duì)象參與其他表達(dá)式的運(yùn)算,而賦值語(yǔ)句則不能。2賦值語(yǔ)句只能作為一條單獨(dú)的語(yǔ)句,或放在復(fù)合語(yǔ)句中。3賦值語(yǔ)句用途廣泛。4.3字符輸出函數(shù)putchar程序開頭: #include“stdio.h”或#include<stdio.h> (變量定義,宏定義)默認(rèn)的輸入設(shè)備(鍵盤) 默認(rèn)的輸出設(shè)備(顯示器)形式: putchar(C)功能: 在標(biāo)準(zhǔn)輸出設(shè)備(即顯示器屏幕)上輸出一個(gè)字符。(將C的值輸出到顯示器上,C可以是字符型和整型的變量、常量、表達(dá)式)4.4字符輸入函數(shù)getchar格式 getchar()作用:從鍵盤緩沖區(qū)讀入一個(gè)字符。注意:1?當(dāng)輸入多個(gè)字符時(shí),多余字符作廢。(按回車健才開始接受字符)2?用getchar()得到的字符可以賦給字符型變量、整型變量、或作為表達(dá)式的一部分。3,getchar需要交互式輸入,接收到字符之后才繼續(xù)執(zhí)行程序。4.5格式輸出函數(shù)printf作用:向終端輸出若干個(gè)類型任意的數(shù)據(jù)。形式:printf(格式控制符,輸出項(xiàng)列表)(雙引號(hào)括起來(lái)的字符串,要輸出的內(nèi)容)格式控制符:用雙引號(hào)括起的字符串,用于指定輸出數(shù)據(jù)的類型、格式、個(gè)數(shù),包括普通字符和格式說(shuō)明符。格式控制符的完整的格式:% + -m.nl/h(長(zhǎng)度修正符) 格式字符% 格式說(shuō)明的引導(dǎo)符號(hào)0 指定空位填0+ 使輸出的數(shù)值數(shù)據(jù)無(wú)論正負(fù)都帶符號(hào)輸出- 使數(shù)據(jù)在輸出域內(nèi)按左對(duì)齊方式輸出m.nm 即對(duì)應(yīng)的輸出項(xiàng)在輸出設(shè)備上所占的字符數(shù)(即域?qū)挘㊣實(shí)際數(shù)據(jù)寬度〉m,按實(shí)際數(shù)據(jù)寬度輸出1/hlIIIIIIh②格式字符:

實(shí)行數(shù)據(jù):字符型數(shù)據(jù):實(shí)型數(shù)據(jù):(小數(shù)點(diǎn)占1/hlIIIIIIh②格式字符:

實(shí)行數(shù)據(jù):字符型數(shù)據(jù):實(shí)型數(shù)據(jù):(小數(shù)點(diǎn)占1個(gè)字節(jié),占1位)實(shí)際數(shù)據(jù)寬度vm,左邊補(bǔ)空。對(duì)實(shí)型數(shù)據(jù),指定輸出n位小數(shù);對(duì)字符串,指定左端截取n個(gè)字符輸出與d、0、x、u結(jié)合輸入長(zhǎng)整型數(shù)與f結(jié)合輸入double型數(shù)只用于整型的格式字符修正為short指定輸出項(xiàng)的數(shù)據(jù)類型和輸出的格式有符號(hào)的十進(jìn)制d無(wú)符號(hào)的八進(jìn)制x單個(gè)字符c小數(shù)形式單精度f(wàn)無(wú)符號(hào)的十進(jìn)制o無(wú)符號(hào)的十六進(jìn)制u字符串s指數(shù)形式單精度e變量地址變量的地址通過(guò)對(duì)變量名“求地址”運(yùn)算得到。地址參數(shù)形式: &變量名 (&求地址運(yùn)算符)格式控制符%*m1/h 格式字符 (不提倡使用m)* 忽略讀入的數(shù)據(jù)(即不將讀入數(shù)據(jù)賦給相應(yīng)變量)輸入數(shù)據(jù)的分隔㈠采用隱含的分隔符:空格、回車、Tab?、娓鶕?jù)格式所指定的域?qū)拋?lái)分隔數(shù)據(jù)(不提倡)。㈢采用用戶指定的分隔符(不提倡)。scanf不使用u說(shuō)明符,對(duì)unsigned型數(shù)據(jù)采用d、o、x輸入。對(duì)數(shù)據(jù)輸入不規(guī)定精度。(不能用m.n形式附加說(shuō)明)在“格式控制”字符串中,若有格式說(shuō)明以外的其他字符,輸入時(shí),應(yīng)照原樣輸入。%c一次只接收一個(gè)字符。無(wú)需單引號(hào),空格字符是個(gè)有效字符。scanf函數(shù)格式控制中的格式說(shuō)明符與輸出參數(shù)的個(gè)數(shù)和類型必須一一對(duì)應(yīng)。IIIII自動(dòng)決定f和e中較短一種,不打印無(wú)效的0g輸出% %、,亠-^7-.

注意:對(duì)于單精度數(shù),使用%f,僅前7位為有效數(shù)字,小數(shù)6位

對(duì)于雙精度數(shù),使用%1f,僅前16位為有效數(shù)字,小數(shù)6位

對(duì)于長(zhǎng)整型數(shù),應(yīng)用%1d、%1x、%1u輸出。(否則會(huì)出現(xiàn)錯(cuò)誤)

注意事項(xiàng):①編譯程序只是檢查、,亠-^7-.

注意:格式字符要用小寫字母。格式字符控制串中可包含轉(zhuǎn)義字符。格式字符控制串中的普通字符原樣輸出。輸出項(xiàng)的參數(shù)可以是常數(shù)、變量、表達(dá)式、函數(shù)調(diào)用。printf函數(shù)格式控制中的格式說(shuō)明符與輸出參數(shù)的個(gè)數(shù)和類型必須一一對(duì)應(yīng)。格式說(shuō)明符的%與后面的描述符間不能有空格。4.6格式輸入函數(shù)scanf格式:scanf(格式控制符,變量地址列表);作用:按格式控制符的要求將數(shù)據(jù)從終端傳送到變量地址所指定的內(nèi)存空間I注意:①②③⑥格式字符中無(wú)普通字符時(shí),輸入的數(shù)值型數(shù)據(jù)用空白符分隔,字符型數(shù)據(jù)不必分隔。⑦為了減少不必要的輸出量,除了逗號(hào)、分號(hào)、空格符以外,格式控制中盡量不要出現(xiàn)普通字符,也不要出現(xiàn)轉(zhuǎn)義字符。例1: scanf("a=%d,b=%f",&a,&b)例2: #include"stdio.h"voidmain(){floata,b;charc='a'inti=97a=31.1111b=28.333printf(“%f,%7.4f,\n",a+b,a—b)printf(“%c,%d,\n",c,c)printf(“%c,%d,\n”,i,i)printf(“%s,%%,\n",“china”)輸出59.444099(59.4441有誤差),2.7781 a,97a,97 china,%例3:#include"stdio.h"voidmain(){charc1,c2;c1='b';c2='98';putchar(c1);putchar(c2);putchar('b');putchar(98);} 輸出bbbb(putchar輸出不換行)例4:#include"stdio.h" /*輸出控制字符、轉(zhuǎn)義字符;*/voidmain(){putchar('101');putchar('\n');putchar('\\'); 輸出A}\例5: f=12.345輸出f=%5.1f f=12.3(最前面空1格)例6: #include"stdio.h"voidmain(){unsignedinta=65535;b=—2;printf(“a=%d,%o,%x,%u\n",a,a,a,a)printf(“b=%d,%o,%x,%u\n",b,b,b,b)}a=—1,177777,ffff,65535 b=—2,177776,fffe,65534例7: c=getchar(c)+32putchar(c)輸入A輸出a例8: %*d%忽略輸出的一個(gè)整型數(shù)第五章選擇結(jié)構(gòu)語(yǔ)句(關(guān)系表達(dá)式、邏輯表達(dá)式、if、switch)5.1關(guān)系表達(dá)式關(guān)系運(yùn)算:是對(duì)兩個(gè)量進(jìn)行“比較運(yùn)算”。關(guān)系運(yùn)算符:〉,<,>=,<=,==,!= (要區(qū)分“=”和“==”)優(yōu)先級(jí)別>,<,>=, <=高于==, !=關(guān)系表達(dá)式:用關(guān)系運(yùn)算符將兩個(gè)表達(dá)式(算術(shù)、字符表達(dá)式)連接起來(lái)的有意義的式子。

字符量比較(ASCII字符量比較(ASCII碼的大?。┘伲?)II(或)關(guān)系表達(dá)式的值是邏輯值: 真(1)5.2邏輯運(yùn)算符邏輯有運(yùn)算符:?。ǚ牵?,&&(與)邏輯量:當(dāng)一個(gè)量(可以是基本類型的常量或變量)用作判斷時(shí),C編譯系統(tǒng)認(rèn)為:非0(真)0(假)邏輯表達(dá)式:用邏輯運(yùn)算符將關(guān)系表達(dá)式或邏輯量連接起來(lái)的有意義的式子。(單個(gè)邏輯量、關(guān)系表達(dá)式是邏輯表達(dá)式的特例)。邏輯表達(dá)式的值:真(1)假(0)結(jié)合性:!為右結(jié)合5.3if語(yǔ)句一、if語(yǔ)句的三種形式e為邏輯表達(dá)式1?條件執(zhí)行if(e)A當(dāng)e為真執(zhí)行A分支選擇if(e)AelseB當(dāng)e為真值(非0)時(shí)執(zhí)行A,否則執(zhí)行B或后續(xù)語(yǔ)句A或B可以為單一條語(yǔ)句,也可以是復(fù)合語(yǔ)句else部分不能獨(dú)立存在。即else前一定要有“;”它必定為if語(yǔ)句的一部分注意:在C語(yǔ)言中,表達(dá)式e的值為非0時(shí),系統(tǒng)均按“真值”處理。例:比較大小判斷一交換法t=a;a=b;b=t(引入中間變量)elseif語(yǔ)句形式(梯遞式的if-else語(yǔ)句)if(P1)S1elseif(P2)S2elseif(Pn)Snelse Sn+1系統(tǒng)從上到下逐個(gè)判斷條件P,—旦發(fā)現(xiàn)某條件Pi滿足時(shí),則執(zhí)行與它相關(guān)的語(yǔ)句Si,并跳過(guò)其他剩余的階梯。若所有條件均不滿足,則執(zhí)行最后一個(gè)else語(yǔ)句或后續(xù)語(yǔ)句。注意:一般else與最近的if配套例floatxif(x=0.)ptintf("ok.") 注意小數(shù)點(diǎn)二、if語(yǔ)句的嵌套(實(shí)現(xiàn)多路分支)注意:①通過(guò)加“{ }”,可以改變else的位層,從而改變程序的執(zhí)行流程。提倡縮格書寫,有利于閱讀程序?;窘Y(jié)構(gòu):if(p1)對(duì)于簡(jiǎn)單的嵌套的if語(yǔ)句,要注意是否使用“{ }”else總是與離它最近的尚未配對(duì)的if配對(duì)if(P2)AelseBelseif(P3)CelseD三、條件運(yùn)算符和條件表達(dá)式(1)條件運(yùn)算符: ?和: /*唯一的三目運(yùn)算符*/(2)條件表達(dá)式:el?e2:e3(3) 執(zhí)行過(guò)程:(1)計(jì)算el(2)若el為真(非零),計(jì)算并返回e2的值,否則計(jì)算并返回e3。(4)優(yōu)先級(jí)別:!算術(shù)運(yùn)算符關(guān)系運(yùn)算符 &&II條件運(yùn)算符賦值運(yùn)算符逗號(hào)運(yùn)算符(5) 結(jié)合性:右結(jié)合a>b?a:c>d?c:d相當(dāng)于a>b?a:(c>d?c:d)(6) 對(duì)于二分支、并對(duì)同一變量進(jìn)行時(shí)用條件表達(dá)式較方便。5.4開關(guān)語(yǔ)句(即多分支選擇語(yǔ)句)開關(guān)語(yǔ)句與嵌套的if語(yǔ)句實(shí)現(xiàn)多路分支問(wèn)題相比,其程序結(jié)構(gòu)清晰、易懂。(1)格式:switch(e){caseC1:語(yǔ)句1caseC2:語(yǔ)句2caseCn:語(yǔ)句n[default:語(yǔ)句n+1]}注意:表達(dá)式e可以是整型、字符型、枚舉型。(不能是實(shí)型)常量表達(dá)式Ci必須與表達(dá)式類型一致。(整型可以與字符型通用)(2)執(zhí)行過(guò)程:1、 計(jì)算表達(dá)式e的值2、 若與常量表達(dá)式Ci(等價(jià)于語(yǔ)句標(biāo)號(hào))值一致,則從語(yǔ)句i開始執(zhí)行;直到遇到break語(yǔ)句或switch語(yǔ)句的“;”(只有switch與break語(yǔ)句的結(jié)合才能實(shí)現(xiàn)程序的分支)3、 若與任何常量表達(dá)式的值均不一致時(shí),則執(zhí)行default語(yǔ)句,或執(zhí)行后續(xù)語(yǔ)句。注意:1、常量表達(dá)式Ci僅起語(yǔ)句標(biāo)號(hào)作用,不做求值判斷。2、 常量表達(dá)式的值必須是唯一的,沒有先后順序。3、 多個(gè)case語(yǔ)句可共用一組執(zhí)行語(yǔ)句。4、 同一個(gè)switch語(yǔ)句中任意兩個(gè)case的常量表達(dá)式的值不能相同。5、 default可以寫在語(yǔ)句體的任何位置,也可以不寫。6、 case和常量表達(dá)式間必須有空格。關(guān)鍵:如何表示表達(dá)式和常量常量的取值與表達(dá)式有關(guān)。(可采取放大或縮小的方法)7.1基本概念1、 基本類型存儲(chǔ)特點(diǎn):每個(gè)變量單獨(dú)儲(chǔ)存,亦稱簡(jiǎn)單變量。2、 構(gòu)造類型:由基本類型構(gòu)造而成的。(數(shù)組、結(jié)構(gòu)體、共用體、枚舉)3、 構(gòu)造類型的每一個(gè)分量是一個(gè)變量,它可以是一個(gè)簡(jiǎn)單類型或構(gòu)造類型。4、 構(gòu)造類型的分量使用方法與簡(jiǎn)單變量相同。5、 構(gòu)造類型的分量占用相鄰的儲(chǔ)存空間。6、 對(duì)于構(gòu)造類型來(lái)說(shuō),重點(diǎn)是訪問(wèn)其分量的方法。7、 數(shù)組:按序排列的的具有相同類型的變量的集會(huì)。用一符號(hào)名(數(shù)組名)來(lái)表示這一組數(shù)。用數(shù)組名后跟一個(gè)下標(biāo)來(lái)唯一地確定數(shù)組中的元素。數(shù)組的首地址、數(shù)組元素的類型和個(gè)數(shù)(數(shù)組長(zhǎng)度)。7.2一維數(shù)組一、 定義一維數(shù)組類型名數(shù)組名l[exp]注意:exp為常量表達(dá)式1、 數(shù)組名的命名規(guī)則和簡(jiǎn)單變量命名規(guī)則相同。2、 數(shù)組名后只能用方括號(hào)括起來(lái)的常量表達(dá)式(常量和符號(hào)常量)。3、 常量表達(dá)式的值確定數(shù)組元素的個(gè)數(shù)(數(shù)組尺寸)。二、 一維數(shù)組的儲(chǔ)存:用連續(xù)的內(nèi)存單元存放各個(gè)元素。保存數(shù)組所需內(nèi)存量與數(shù)組元素的基本類型和數(shù)組大小有關(guān)??傋止?jié)數(shù)=sizeof(基本類型)*數(shù)組元素個(gè)數(shù)三、 一維數(shù)組的引用數(shù)組要先定義后使用C語(yǔ)言規(guī)定只能逐個(gè)引用數(shù)組元素,而不能一次引用整個(gè)數(shù)組。引用一維數(shù)組元素的一般形式:數(shù)組名[

溫馨提示

  • 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ù)覽,若沒有圖紙預(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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論