




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、 順序程序設(shè)計(jì)本章內(nèi)容 3.1 順序結(jié)構(gòu)編程 3.2 基本的變量和常量類型 3.3 變量的存儲(chǔ) 3.4 綜合案例3.1 順序結(jié)構(gòu)編程三種基本結(jié)構(gòu):三種基本結(jié)構(gòu):順序結(jié)構(gòu)、選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu)順序順序結(jié)構(gòu):結(jié)構(gòu):程序的執(zhí)行順序從上到下,逐行執(zhí)行 3.1.2 變量使用 變量定義 變量賦值 變量取值 變量定義 例: int num; /定義整型變量num float score; /定義單精度型變量score char sex; /定義字符型變量sex變量類型變量類型 變量名稱;變量名稱; 1) 使用賦值運(yùn)算符 “=” 例:int num ; num = 10; 或:int num = 10; /變量
2、初始化 2) 通過輸入函數(shù)進(jìn)行賦值 例:int num ; scanf(%d,& num); 變量賦值 變量取值變量的值在運(yùn)算過程中可能會(huì)發(fā)生變化例:int money = 30, num = 10, total;money隨機(jī)數(shù)total 30mum10 變量取值變量的值在運(yùn)算過程中可能會(huì)發(fā)生變化例:int money = 30, num = 10, total; money = money + 20; total=num*money;50money500totalmum10 習(xí)題1 .以下能正確定義且賦初值的語(yǔ)句是( ) A.int n1=n2=10; B.char c=32; C
3、.float f=f+1.1; D.double x=12.3E2.5; 答案:B3.1.3 運(yùn)算符與表達(dá)式 算術(shù)運(yùn)算符與表達(dá)式 關(guān)系運(yùn)算符與表達(dá)式 邏輯運(yùn)算符與表達(dá)式 位運(yùn)算符與表達(dá)式 基本算術(shù)運(yùn)算符運(yùn)算符示例描述+a + ba 和 b的和-a ba 和 b的差*a * ba 和 b的積/a / ba 除以 b所得到的商%a % ba 除以 b所得到的余數(shù)(a和b都必須是整數(shù))雙目運(yùn)算符:兩個(gè)操作數(shù)參加運(yùn)算的運(yùn)算符 自增自減運(yùn)算符 自增自減運(yùn)算符:+、- 作用:使變量值自加1或減1 種類:前置 +i, -i 后置 i+, i- 例如:int i=5, j, k; j=i+;i10隨機(jī)數(shù)k6j
4、5 自增自減運(yùn)算符 自增自減運(yùn)算符:+、- 作用:使變量值自加1或減1 種類:前置 +i, -i 后置 i+, i- 例如:int i=5, j, k; j=i+; k=+i;i107k7j5 復(fù)合賦值運(yùn)算符 a += b 等價(jià)于 a = a + b a -= b 等價(jià)于 a = a b a *= b 等價(jià)于 a = a * b a /= b 等價(jià)于 a = a / b a %= b 等價(jià)于 a = a % b 關(guān)系運(yùn)算符 說明: (1)關(guān)系運(yùn)算符是雙目運(yùn)算,其運(yùn)算對(duì)象可以是數(shù)值型數(shù)據(jù),也可以是字符型數(shù)據(jù)。 (2)其結(jié)合性為左結(jié)合; (3)關(guān)系運(yùn)算符的運(yùn)算結(jié)果是邏輯值,若為“真”用整數(shù)1表示,
5、若為“假”用整數(shù)0表示。例如: a+b4*a*c x=y=z-1 邏輯運(yùn)算符 說明: (1)邏輯非:邏輯非是單目運(yùn)算。運(yùn)算規(guī)則:運(yùn)算對(duì)象為非0其結(jié)果為0;若為0則結(jié)果為1。 例如:!100 、!a 、!0 int a=10,b=0; !a !b結(jié)合性:右結(jié)合 例如:!100n(0)n(1)n(1) (2)邏輯與:邏輯與是雙目運(yùn)算。運(yùn)算規(guī)則:兩個(gè)運(yùn)算對(duì)象全部為非0其結(jié)果為1;若兩個(gè)對(duì)象中有一個(gè)為0或兩個(gè)都為0,則結(jié)果為0。 例如:結(jié)合性:左結(jié)合 (3)邏輯或:邏輯或是雙目運(yùn)算。運(yùn)算規(guī)則:兩個(gè)運(yùn)算對(duì)象全部為0其結(jié)果為0;若兩個(gè)對(duì)象中有一個(gè)為非0或兩個(gè)都為非0 ,則結(jié)果為1。 例如:結(jié)合性:左結(jié)合例
6、如: char c1=a,c2=A; int n1=65,n2=97; float f1=3.0,f2=3.0001; !c1 f1|f2 !c2c1 f1f2|!c1 n1+32=n2&n1=c2 (0)(1)(0)(0)(1)說明:邏輯表達(dá)式運(yùn)算結(jié)果為邏輯值,如果結(jié)果為“真”則用1表示,若結(jié)果為“假”則用0表示。提醒學(xué)生注意 用&對(duì)兩個(gè)表達(dá)式進(jìn)行計(jì)算時(shí),若第一個(gè)表達(dá)式的值為“假”,則整個(gè)表達(dá)式的結(jié)果為“假”,C語(yǔ)言規(guī)定此時(shí)第二個(gè)表達(dá)式將不再計(jì)算。 用|對(duì)兩個(gè)表達(dá)式進(jìn)行計(jì)算時(shí),若第一個(gè)表達(dá)式的值為“真”,則整個(gè)表達(dá)式的結(jié)果為“真”,C語(yǔ)言規(guī)定此時(shí)第二個(gè)表達(dá)式將不再計(jì)算。 例如
7、:int a=1,b=1; (a=0) & (b=0)n(結(jié)果a為0,b仍為1) 習(xí)題2、已知a=4, b=0,則表達(dá)式(a=b & !b)的值是( ) A.0 B.1 C.“假” D.“真” 答案:B習(xí)題3、設(shè)有定義:int x;,下列表達(dá)式中,滿足“當(dāng)x為奇數(shù)時(shí),表達(dá)式的值為真;當(dāng)x為偶數(shù)時(shí),表達(dá)式的值為假”的表達(dá)式為:( ) A.!(x%2=1) B.x%2=0 C.!(x%2) D.x%2 答案:D習(xí)題4、若變量c為char類型,能正確判斷出c為數(shù)字字符的表達(dá)式是( ) A.0=c= 0)|(c= 0)&(c= 0)&(c= 9) 答案:D 習(xí)題5.在C
8、語(yǔ)言中,若要表示變量x與p和q的關(guān)系“pxq”,正確的表達(dá)式是( ) A.pxq B.pxq C.(xp) D.(xp)|(xq) 答案:C 賦值運(yùn)算符 1)形式:變量表達(dá)式 2)功能:將賦值運(yùn)算符右邊的表達(dá)式的值賦給其左邊的變量。 例如:x=10+5的作用是將10+5的運(yùn)算結(jié)果賦給變量x。 說明: (1)賦值號(hào)左邊只能是變量,而不能是常數(shù)或表達(dá)式。 (2)其結(jié)合性為右結(jié)合。 (3)可以同時(shí)給多個(gè)變量賦相同的值。 例如:x=y=z=1 (表示同時(shí)給變量x,y,z賦1) (4)如果表達(dá)式類型與變量類型不一致,則先將表達(dá)式的類型轉(zhuǎn)換成與變量一致的類型,再賦給變量。 條件運(yùn)算符 1.運(yùn)算符號(hào): ?
9、: 2.格式:?: 3.說明: (1)條件運(yùn)算符是一個(gè)三目運(yùn)算符,表達(dá)式可以是任何類型的表達(dá)式。 (2)運(yùn)算規(guī)則:先計(jì)算的值,若為“真”則取的值;若為“假”則取的值。 例如: int a=10,b=20,c=30; a?b:c !a?b:cn(結(jié)果20)n(結(jié)果30) 位運(yùn)算符 程序中的所有數(shù)在計(jì)算機(jī)內(nèi)存中都是以二進(jìn)制的形式儲(chǔ)存的。位運(yùn)算就是直接對(duì)整數(shù)在內(nèi)存中的二進(jìn)制位進(jìn)行操作。包括位邏輯運(yùn)算和移位運(yùn)算,位邏輯運(yùn)算能夠方便地設(shè)置或屏蔽內(nèi)存中某個(gè)字節(jié)的一位或幾位,也可以對(duì)兩個(gè)數(shù)按位相加等;移位運(yùn)算可以對(duì)內(nèi)存中某個(gè)二進(jìn)制數(shù)左移或右移幾位等。位運(yùn)算符位運(yùn)算符含義含義舉例舉例& &(a
10、ndand)按位與按位與a&ba&b| ( or )| ( or )按位或按位或a|ba|b ( xor xor )按位異或按位異或abab ( not ) ( not )按位取反按位取反aa ( shi ) ( shi )左移左移a1a ( ( shrshr ) )右移右移a1a1 位運(yùn)算符a ab ba&ba&ba|ba|bababaabb0 00 00 00 00 01 11 10 0 1 10 01 11 11 10 01 10 00 01 11 10 01 11 11 11 11 10 00 00 0例:char a=0 x21; 則a2的過程 001
11、0 00012 = 1000 0100;即 a2的值為0 x84。 左移1位相當(dāng)于該數(shù)乘以2,左移n位相當(dāng)于該數(shù)乘以2n。 習(xí)題6. 表達(dá)式0X13|0X17的值是( ) A. 0X13 B. 0X17 C. 0XE8 D. 0Xc8 答案:B 習(xí)題7. 下列程序輸出結(jié)果是( ) mainmain() () char char a=0 x95a=0 x95, ,b,cb,c; ; b=(a&0 xf)4;b=(a&0 xf)4;c=(a&0 xf0)4; a=a=b|cb|c; ; printfprintf(%x(%xn,cn,c); ); 593.2 基本的變量和常量
12、類型 3.2.1 整型變量與整型常量 3.2.2 浮點(diǎn)型變量與浮點(diǎn)型常量 3.2.3 字符型變量與字符型常量 3.2.4 變量類型轉(zhuǎn)換3.2.1 整型變量與整型常量 整型變量類型類型類型變量長(zhǎng)度(單位:字節(jié))變量長(zhǎng)度(單位:字節(jié))數(shù)值范圍數(shù)值范圍short2-215 215-1int4-231 231-1long4-231 231-1unsigned short20 216-1unsigned int40 232-1unsigned long40 232-1 整型常量三種形式十進(jìn)制數(shù) 八進(jìn)制數(shù)十六進(jìn)制數(shù)2 02 0 x235 043 0 x2394 0136 0 x5E十進(jìn)制:由數(shù)字09和正負(fù)
13、號(hào)表示八進(jìn)制:由數(shù)字0開頭,后接數(shù)字07 十六進(jìn)制:由0 x開頭,后接09,af,AF3.2.1 整型變量與整型常量例例1 1:共享單車費(fèi)用算法設(shè)計(jì) 第一步:定義整型變量 days,total 第二步:輸入每月騎行天數(shù) 第三步:計(jì)算總金額:total = 12*days*(1+1) 第四步:輸出花費(fèi)總金額total 共享單車費(fèi)用程序代碼#includeint main() int days, total; printf(請(qǐng)輸入小明每月工作天數(shù):); scanf(%d,& days); total = 12 * days * (1+1); printf(小明一年騎車的費(fèi)用為:%d元n,
14、total); return 0; 共享單車費(fèi)用程序運(yùn)行結(jié)果3.2.2 浮點(diǎn)型變量與浮點(diǎn)型常量 浮點(diǎn)型變量類型float:?jiǎn)尉刃停瑑?nèi)存空間長(zhǎng)度為4,取值范 圍為 -3.4*10-38 +3.4*1038double:雙精度型,內(nèi)存空間長(zhǎng)度為8,取值 范圍為 -1.7*10-308 1.7*103083.2.2 浮點(diǎn)型變量與浮點(diǎn)型常量十進(jìn)制數(shù)形式:數(shù)字必須有小數(shù)點(diǎn) 例:0.123 .123 123.0 0.0指數(shù)形式:e或E之前必須有數(shù)字,指數(shù)必須為整數(shù) 例:1.23E4 /* 1.23 104 */ 85.67E-5 /* 85.67 10-5 */ 浮點(diǎn)型常量?jī)煞N形式例例2:孩子身高預(yù)測(cè)問
15、題描述:孩子的身高可以利用遺傳因素即利用父母的身高進(jìn)行預(yù)測(cè)。女兒身高計(jì)算公式為:女兒成人時(shí)的身高(父高0.96 + 母高)2 (注:此方法未考慮環(huán)境因素的影響)。 第一步:定義浮點(diǎn)型變量f_height,m_height,d_height 第二步:輸入f_height,m_height的值 第三步:計(jì)算d_height = ( f_height*0.96+ m_height)/2.0 第四步:輸出預(yù)測(cè)女兒身高d_height例例2:孩子身高預(yù)測(cè)算法設(shè)計(jì)#includeint main() float f_height,m_height,d_height; /身高變量(厘米) printf(請(qǐng)輸
16、入父親身高:); scanf(%f,& f_height); printf(請(qǐng)輸入母親身高:); scanf(%f,& m_height); d_height =( f_height*0.96+ m_height)/2.0; printf(女兒長(zhǎng)大后身高為%.1fcm, d_height); return 0;例例2:孩子身高預(yù)測(cè)程序代碼例例2:孩子身高預(yù)測(cè)程序運(yùn)行結(jié)果3.2.3 字符型變量與字符型常量 字符型變量類型char:內(nèi)存空間長(zhǎng)度為1,值范圍為-27 27 - 1 unsigned char:內(nèi)存空間長(zhǎng)度為1,取值范圍為 0 28 -1l 用單引號(hào)括起來的字符 例:a
17、-z A-Z 0-9l 大小寫字母代表不同的字符常量 例:a 與 A是不同的字符l 字符常量的值為其ASCII值 例:a的ASCII值為973.2.3 字符型變量與字符型常量 字符型常量ASCII碼:美國(guó)標(biāo)準(zhǔn)信息交換代碼,共128個(gè),包括 52個(gè)大小寫英文字母、10個(gè)阿拉伯?dāng)?shù)字 和英文標(biāo)點(diǎn)及一些控制符48-57:0到9十個(gè)阿拉伯?dāng)?shù)字65-90:26個(gè)大寫英文字母97-122:26個(gè)小寫英文字母3.2.3 字符型變量與字符型常量3.2.3 字符型變量與字符型常量 轉(zhuǎn)義字符轉(zhuǎn)義字符含 義nvradddtb0 xhh含 義換行垂直制表回車響鈴單引號(hào)8進(jìn)制數(shù)代表的字符水平制表退格字符串結(jié)束反斜線雙引號(hào)
18、16進(jìn)制數(shù)代表的字符轉(zhuǎn)義字符思考:“ab245x79stn” 在內(nèi)存占多少個(gè)字節(jié)空間9 自定義常量 自定義自定義常量常量:使用關(guān)鍵字#define定義的常量 #include#define PRICE 1 /自定義常量PRICEint main() int days,total; printf(請(qǐng)輸入小明每月工作天數(shù):); scanf(%d,& days); total = 12 * days * (PRICE+PRICE); printf(小明一年騎車的費(fèi)用為:%d元n, total); return 0;3.2.4 類型轉(zhuǎn)換說明說明: :必定的轉(zhuǎn)換必定的轉(zhuǎn)換運(yùn)算對(duì)象類型不同時(shí)轉(zhuǎn)換運(yùn)
19、算對(duì)象類型不同時(shí)轉(zhuǎn)換doublefloatlongunsignedintchar,short低高 自動(dòng)類型轉(zhuǎn)換3.2.4 類型轉(zhuǎn)換 強(qiáng)制類型轉(zhuǎn)換例子:int m; float n; m=(int)(3/2.0); n=(float)(5/2);形式:(類型名)(表達(dá)式)例例3:計(jì)算考生平均分問題描述:已知某考生語(yǔ)文、數(shù)學(xué)、英語(yǔ)成績(jī)分別為88,90,95,計(jì)算該生考試的總成績(jī)和平均分。 第一步:定義四個(gè)整型變量nchi,nmat,neng,nsum 第二步:定義一個(gè)浮點(diǎn)型變量favg 第三步:為三門功課變量nchi,nmat,neng賦值 第四步:使用類型轉(zhuǎn)換計(jì)算總分和平均分 第五步:輸出總分和
20、平均分例例3:計(jì)算考生平均分算法設(shè)計(jì)例例3:計(jì)算考生平均分程序代碼#includeint main() int nchi,nmat,neng,nsum; float favg; nchi = 87; nmat = 90; neng = 95; nsum = nchi + nmat + neng; favg = nsum / 3; printf(總成績(jī):%dn, nsum); printf(平均分:%fn, favg); return 0;例例3:計(jì)算平均分程序運(yùn)行結(jié)果計(jì)算出的平均分結(jié)果不正確?例例3:計(jì)算考生平均分程序代碼#includeint main() int nchi,nmat,nen
21、g,nsum; float favg; nchi = 87; nmat = 90; neng = 95; nsum = nchi + nmat + neng; favg = (float)nsum / 3; printf(總成績(jī):%dn, nsum); printf(平均分:%fn, favg); return 0;例例3:計(jì)算平均分程序運(yùn)行結(jié)果3.3 變量的存儲(chǔ) 3.3.1 變量與內(nèi)存的關(guān)系 3.3.2 指針變量 3.3.3 變量在內(nèi)存中的表示形式3.3.1 變量與內(nèi)存的關(guān)系int num=10; int money= 20; 內(nèi)存空間地址內(nèi)存內(nèi)存空間空間地址地址:類似門牌號(hào),是數(shù)據(jù)在內(nèi)存中
22、的 存儲(chǔ)位置編號(hào) 例:變量num的地址是0 x0022ff44&:取址運(yùn)算符,用來獲取變量的內(nèi)存空間地址, 是單目運(yùn)算符 例:scanf(%d,&money); 3.3.2 指針變量指針變量指針變量:用于存放變量?jī)?nèi)存地址值的變量定義格式:定義格式:類型名 *指針變量名; 例例:int *pa; 指針變量定義3.3.2 指針變量 指針變量賦值例:int a=30; int *pa; pa=&a;或者:int a=30;int *pa=&a; /指針變量初始化3.3.2 指針變量 通過指針間接訪問變量int a=0;int *pa=&a;printf(%d,
23、*pa);*pa=1;printf(%d,*pa); * 的不同含義在使用中表示取指針變量所指變量的值例:int i=30, *i_pointer; i_pointer =&i; *i_pointer=100;例:int *i_pointer;在定義中表示定義一個(gè)新的指針型變量 3.3.2 指針變量 例1:閱讀下列程序看輸出結(jié)果 #include void main() int j=28,k,*p=&j; char c1,c2=f,*q; k=*p*2-3; q=&c1; *q=c2+1; printf(k=%dnc1=%cn,k,*q); 例2:輸入3個(gè)整數(shù),按從小到大的順序輸出。要求用指針變 量處理。 先考慮不用指針變量編程: void main() int a,b,c,t; scanf(%d,%d,%d,&a,&b,&c); if (ab)t=a,a=b,b=t; if (ac)t=a,a=c,c=t; if (bc)t=b,b=c,c=t; printf(%d=%d*pb)p=pa,pa=pb,pb=p; if (*pa*pc)p=pa,pa=pc,pc=p; if (*pb*pc)p=pb,pb=pc,pc=p; printf(%d=%d=%dn,*pa,*pb,*p
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 企業(yè)年會(huì)場(chǎng)地租賃合同模板(版)
- 個(gè)人股權(quán)抵押借款合同協(xié)議
- 城市軌道交通維護(hù)勞務(wù)分包合同
- 江蘇省蘇州市虎丘教育集團(tuán)2025年數(shù)學(xué)五年級(jí)第二學(xué)期期末質(zhì)量檢測(cè)模擬試題含答案
- 上海浦東新區(qū)2024-2025學(xué)年數(shù)學(xué)四下期末質(zhì)量跟蹤監(jiān)視模擬試題含解析
- 肉類采購(gòu)合同范本
- 江蘇省寶應(yīng)縣山陽(yáng)中學(xué)2025年初三3月第一次考試生物試題含解析
- 肇慶醫(yī)學(xué)高等專科學(xué)校《貿(mào)易數(shù)據(jù)庫(kù)與分析工具》2023-2024學(xué)年第二學(xué)期期末試卷
- 山東文化產(chǎn)業(yè)職業(yè)學(xué)院《會(huì)計(jì)職業(yè)道德》2023-2024學(xué)年第二學(xué)期期末試卷
- 蘇州托普信息職業(yè)技術(shù)學(xué)院《中國(guó)現(xiàn)當(dāng)代文學(xué)與小學(xué)語(yǔ)文》2023-2024學(xué)年第二學(xué)期期末試卷
- 200道100以內(nèi)四個(gè)數(shù)字的加減法混合題目
- 光明乳業(yè)財(cái)務(wù)戰(zhàn)略研究
- 水電站斜井工程施工方案
- 第六單元實(shí)驗(yàn)活動(dòng)3創(chuàng)新實(shí)驗(yàn):二氧化碳的制取與性質(zhì)一體化實(shí)驗(yàn)說課-2024-2025學(xué)年九年級(jí)化學(xué)人教版上冊(cè)
- 工地會(huì)議室使用管理制度
- 3000道兩位數(shù)進(jìn)位退位加減法題1
- 2024年?yáng)|南亞智能聯(lián)網(wǎng)電視(Connected TV)市場(chǎng)深度研究及預(yù)測(cè)報(bào)告
- 中西醫(yī)結(jié)合內(nèi)科學(xué)-主治復(fù)習(xí)
- 2022年版 義務(wù)教育《數(shù)學(xué)》課程標(biāo)準(zhǔn)
- 2025深圳市中考英語(yǔ) 語(yǔ)法填空 專項(xiàng)復(fù)習(xí)課件
- 《鐵路職業(yè)道德》課件-2.1鐵路職業(yè)道德的內(nèi)涵及規(guī)范
評(píng)論
0/150
提交評(píng)論