版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
C語(yǔ)言運(yùn)算符及優(yōu)先次序優(yōu)先級(jí)運(yùn)算符特征1(),[],.,->2!,~,(t),+(正號(hào)),-(負(fù)號(hào)),*,&(取地址),++,--,sizeof34*,/,%,+,-5<<,>>67<,<=,>,>=,==,!=8910&,^,|1112&&,||13?:三目14=,+=,-=,*=,/=,%=,&=,^=,|=;>>=;<<=15,5、長(zhǎng)度運(yùn)算sizeof()返回變量或數(shù)據(jù)類型的字節(jié)長(zhǎng)度例如: intx; printf(“%d\n”,sizeof(x)); printf(“%d\n”,sizeof(int));使用長(zhǎng)度運(yùn)算符可以增強(qiáng)程序的移植性,不受具體計(jì)算機(jī)數(shù)據(jù)類型長(zhǎng)度的限制。C語(yǔ)言運(yùn)算符及優(yōu)先次序優(yōu)先級(jí)運(yùn)算符特征1(),[],.,->雙目2!,~,(t),+(正號(hào)),-(負(fù)號(hào)),*,&(取地址),++,--,sizeof單目34*,/,%,+,-雙目5<<,>>67<,<=,>,>=,==,!=8910&,^,|1112&&,||13?:三目14=,+=,-=,*=,/=,%=,&=,^=,|=;>>=;<<=雙目15,雙目移位運(yùn)算a>>b表示將a的二進(jìn)制右移b位,a<<b表示將a的二進(jìn)制左移b位,其中a、b均為整型,b為正數(shù)
例如,a=12;a=a<<2 00001100 00110000(十進(jìn)制60) a=12;a=a>>2 00001100 00000011(十進(jìn)制4)三種移位實(shí)現(xiàn)方式(與具體編譯器有關(guān)):循環(huán)移位:移入的位等于移出的位邏輯移位:移出的位丟失,移入的位取0算術(shù)移位:移出的位丟失,左移入的位取0,右移入的
位取符號(hào)位(常用)移位運(yùn)算的功能例如:a=15;a=a<<2 00001111 00111100(十進(jìn)制60) a=16;a=a>>2 00010000 00000100(十進(jìn)制4)在數(shù)據(jù)可表達(dá)的范圍里,左移1位相當(dāng)于乘2,左移2位相當(dāng)于乘4(無(wú)符號(hào)數(shù)),右移1位相當(dāng)于除2,右移2位相當(dāng)于除4。 a=15;a=a>>1 00001111 00000111(十進(jìn)制7)位邏輯運(yùn)算ABA&BA|BA^B~A000001010111100110111100運(yùn)算規(guī)則:先將兩個(gè)操作數(shù)化為二進(jìn)制數(shù),然后按位運(yùn)算,且只有對(duì)應(yīng)位進(jìn)行運(yùn)算,相鄰位之間沒有關(guān)系例如:
01010100(十進(jìn)制84) &) 00111011(十進(jìn)制59) 00010000(十進(jìn)制16)練習(xí)2下列程序運(yùn)行后變量z的二進(jìn)制值是() charx=3,y=6,z; z=x^y<<2;B練習(xí)3設(shè)二進(jìn)制x數(shù)的值是,若要通過(guò)x^y使x高四位取反,低四位不變,則y的二進(jìn)制數(shù)是()設(shè)二進(jìn)制x數(shù)的值是,若要通過(guò)x&y運(yùn)算使x中低四位不變,高四位清零,則y的二進(jìn)制數(shù)是()C語(yǔ)言運(yùn)算符及優(yōu)先次序優(yōu)先級(jí)運(yùn)算符特征1(),[],.,->雙目2!,~,(t),+(正號(hào)),-(負(fù)號(hào)),*,&(取地址),++,--,sizeof單目34*,/,%,+,-雙目5<<,>>67<,<=,>,>=,==,!=8910&,^,|1112&&,||13?:三目14=,+=,-=,*=,/=,%=,&=,^=,|=;>>=;<<=雙目15,雙目關(guān)系運(yùn)算的優(yōu)先級(jí)和結(jié)合次序關(guān)系運(yùn)算符>,<,>=,<=的優(yōu)先級(jí)相同,如在表達(dá)式中同時(shí)出現(xiàn),則自左向右順序運(yùn)算。C語(yǔ)言運(yùn)算符及優(yōu)先次序優(yōu)先級(jí)運(yùn)算符特征1(),[],.,->雙目2!,~,(t),+(正號(hào)),-(負(fù)號(hào)),*,&(取地址),++,--,sizeof單目34*,/,%,+,-雙目5<<,>>67<,<=,>,>=,==,!=8910&,^,|1112&&,||13?:三目14=,+=,-=,*=,/=,%=,&=,^=,|=;>>=;<<=雙目15,雙目關(guān)系運(yùn)算的優(yōu)先級(jí)和結(jié)合次序關(guān)系運(yùn)算符>,<,>=,<=的優(yōu)先級(jí)相同,如在表達(dá)式中同時(shí)出現(xiàn),則自左向右順序運(yùn)算。例如: printf(“%d\n”,5>3>1);而==,!=優(yōu)先級(jí)低于前四種例如: printf(“%d\n”,11==11<35)關(guān)系運(yùn)算優(yōu)先級(jí)低于算術(shù)運(yùn)算例如: 10>1+12等價(jià)于10>(1+12)輸出為0輸出為0C語(yǔ)言運(yùn)算符及優(yōu)先次序優(yōu)先級(jí)運(yùn)算符特征1(),[],.,->雙目2!,~,(t),+(正號(hào)),-(負(fù)號(hào)),*,&(取地址),++,--,sizeof單目34*,/,%,+,-雙目5<<,>>67<,<=,>,>=,==,!=8910&,^,|1112&&,||13?:三目14=,+=,-=,*=,/=,%=,&=,^=,|=;>>=;<<=雙目15,雙目8、邏輯運(yùn)算邏輯運(yùn)算:用形式邏輯原則來(lái)建立數(shù)值間關(guān)系,運(yùn)算對(duì)象和運(yùn)算結(jié)果均為邏輯量。任何非零的數(shù)均表示邏輯真,零表示邏輯假。邏輯運(yùn)算符:與(&&),或(||),非(!),共三種。真值表PQP&&QP||Q!P00001010111001011110邏輯運(yùn)算的優(yōu)先級(jí)&&優(yōu)先級(jí)高于||例如:a||b&&c等價(jià)于a||(b&&c)!的優(yōu)先級(jí)高于&&例如:!a&&b等價(jià)與(!a)&&b邏輯運(yùn)算優(yōu)先級(jí)低于關(guān)系運(yùn)算例如:ch>=‘a(chǎn)’&&ch<=‘z’等價(jià)于(ch>=‘a(chǎn)’)&&(ch<=‘z’)邏輯運(yùn)算邏輯表達(dá)式求解中,并非所有邏輯運(yùn)算符的操作數(shù)都被執(zhí)行,只是在執(zhí)行下一個(gè)操作數(shù)才能求出表達(dá)式的值時(shí)才執(zhí)行下一個(gè)操作數(shù)。例如:a||b,當(dāng)a為真不再求b,直接取值為真。 a&&b,當(dāng)a為假不再求b,直接取值為假。邏輯運(yùn)算間可以轉(zhuǎn)換例如:!(a||b)可寫成!a&&!b !(a&&b)可寫成!a||!b練習(xí)1要求當(dāng)A的值為奇數(shù)時(shí),表達(dá)式的值為真,A的值為偶數(shù)時(shí),表達(dá)式的值為假,以下不滿足要求的表達(dá)式是:A%2==1!(A%2==0)!(A%2)A%2C練習(xí)2能正確表示a和b同時(shí)為正或同時(shí)為負(fù)的邏輯表達(dá)式是()A)(a>=0‖b>=0)&&(a<0‖b<0) B)(a>=0&&b>=0)&&(a<0&&b<0)C)(a+b>0)&&(a+b<=0) D)a*b>0
D練習(xí)4設(shè)inta=3;結(jié)果為0的表達(dá)式為()A)2%aa/=a!a~aCC語(yǔ)言運(yùn)算符及優(yōu)先次序優(yōu)先級(jí)運(yùn)算符特征1(),[],.,->雙目2!,~,(t),+(正號(hào)),-(負(fù)號(hào)),*,&(取地址),++,--,sizeof單目34*,/,%,+,-雙目5<<,>>67<,<=,>,>=,==,!=8910&,^,|1112&&,||13?:三目14=,+=,-=,*=,/=,%=,&=,^=,|=;>>=;<<=雙目15,雙目10、順序求值運(yùn)算“,”逗號(hào)既可做分隔符,也可作運(yùn)算符。逗號(hào)做分隔符用于分隔說(shuō)明語(yǔ)句中的變量或函數(shù)中參數(shù)。例如:inta,b,c; printf(“%d%d”,a,b);逗號(hào)作運(yùn)算符使用,將若干獨(dú)立表達(dá)式連接在一起,組成逗號(hào)表達(dá)式,一般形式為:
表達(dá)式1,表達(dá)式2
運(yùn)算時(shí),先計(jì)算表達(dá)式1的值,再計(jì)算表達(dá)式2的值,將表達(dá)式2的值作為整個(gè)表達(dá)式的值,因此也稱為順序求值運(yùn)算符。練習(xí)1寫出下列代碼段的結(jié)果: inta1,a2,b=2,c=7,d=5;
a1=(++b,c--,d+3);
a2=++b,c--,d+3; printf(“%d,%d\n”,a1,a2);8,4本章內(nèi)容提要常量、變量和數(shù)據(jù)類型輸入與輸出格式C語(yǔ)言中的運(yùn)算結(jié)構(gòu)化的程序設(shè)計(jì)思想結(jié)構(gòu)化程序設(shè)計(jì)思想(§2.5.2)程序的質(zhì)量標(biāo)準(zhǔn)初期:程序占用內(nèi)存容量的大小和運(yùn)行時(shí)間長(zhǎng)短現(xiàn)今:具有良好的結(jié)構(gòu),容易理解和閱讀結(jié)構(gòu)化程序設(shè)計(jì)方法
強(qiáng)調(diào)程序設(shè)計(jì)的風(fēng)格和程序結(jié)構(gòu)的規(guī)范化,提倡清晰的結(jié)構(gòu),其基本思路是將一個(gè)復(fù)雜問題的求解過(guò)程劃分為若干階段,每個(gè)階段要處理的問題都容易被理解和處理。結(jié)構(gòu)化程序設(shè)計(jì)方法的核心“自頂向下,逐步細(xì)化,模塊化”結(jié)構(gòu)化編碼1.自頂向下的分析方法把大的復(fù)雜問題分解成小問題后再解決。面對(duì)復(fù)雜問題,首先進(jìn)行上層(整體)分析,按組織或功能,將問題分解為子問題,如果子問題仍然復(fù)雜,再做進(jìn)一步分解,直到處理對(duì)象相對(duì)簡(jiǎn)單,容易處理為止。當(dāng)所有子問題都解決了,整個(gè)問題就解決了。每一次分解都是對(duì)上一層問題進(jìn)行細(xì)化和逐步求精,最終形成類似樹形的層次結(jié)構(gòu),來(lái)描述分析的結(jié)果。學(xué)生成績(jī)統(tǒng)計(jì)程序的層次結(jié)構(gòu)圖開發(fā)一個(gè)學(xué)生成績(jī)統(tǒng)計(jì)程序,輸入一批學(xué)生的5門課程的成績(jī),要求輸出每個(gè)學(xué)生的平均分和每門課程的平均分,找出平均分最高的學(xué)生。學(xué)生成績(jī)統(tǒng)計(jì)程序成績(jī)輸入數(shù)據(jù)計(jì)算數(shù)據(jù)查找輸出成績(jī)計(jì)算學(xué)生平均分計(jì)算課程平均分2.模塊化設(shè)計(jì)將模塊組織成良好的層次系統(tǒng),頂層模塊調(diào)用其下層模塊以實(shí)現(xiàn)程序的完整功能,每個(gè)下層模塊再調(diào)用更下層的模塊,從而完成程序的一個(gè)子功能,最下層的模塊完成最具體的功能。模塊可以是一條語(yǔ)句,一個(gè)程序段,或一個(gè)函數(shù)。遵循模塊獨(dú)立性的原則,即模塊之間的聯(lián)系應(yīng)盡量簡(jiǎn)單。一個(gè)模塊只完成一個(gè)指定的功能。模塊之間只通過(guò)參數(shù)進(jìn)行調(diào)用。一個(gè)模塊只有一個(gè)入口和一個(gè)出口。模塊內(nèi)慎用全局變量。學(xué)生成績(jī)統(tǒng)計(jì)程序的層次結(jié)構(gòu)圖開發(fā)一個(gè)學(xué)生成績(jī)統(tǒng)計(jì)程序,輸入一批學(xué)生的5門課程的成績(jī),要求輸出每個(gè)學(xué)生的平均分和每門課程的平均分,找出平均分最高的學(xué)生。學(xué)生成績(jī)統(tǒng)計(jì)程序成績(jī)輸入數(shù)據(jù)計(jì)算數(shù)據(jù)查找輸出成績(jī)計(jì)算學(xué)生平均分計(jì)算課程平均分3.結(jié)構(gòu)化編碼按照結(jié)構(gòu)化程序設(shè)計(jì)的觀點(diǎn),任何功能的程序都可以通過(guò)三種基本結(jié)構(gòu)的組合來(lái)實(shí)現(xiàn),即順序、分支和循環(huán)。順序控制結(jié)構(gòu):一個(gè)程序模塊執(zhí)行完后,按自然順序執(zhí)行下一個(gè)模塊。分支(選擇)控制結(jié)構(gòu):根據(jù)不同的條件選擇要執(zhí)行的模塊。循環(huán)控制結(jié)構(gòu):反復(fù)執(zhí)行某些相同的處理過(guò)程。
每一個(gè)結(jié)構(gòu)可以包含若干條語(yǔ)句和其它基本結(jié)構(gòu)。4、流程圖:開始或結(jié)束:輸入或輸出:處理框:連接點(diǎn):流程線程序流程圖的基本符號(hào):判斷框ABBYPNABPNY(a)順序結(jié)構(gòu)(b)簡(jiǎn)單分支結(jié)構(gòu)(c)選擇分支結(jié)構(gòu)(d)當(dāng)型循環(huán)APYNAPYN(e)直到型循環(huán)基本的程序流程圖4.c語(yǔ)句分類根據(jù)結(jié)構(gòu)化程序設(shè)計(jì)的三個(gè)模塊分為:用于順序結(jié)構(gòu)的:表達(dá)式語(yǔ)句(表達(dá)式后加一分號(hào))用于分支結(jié)構(gòu)的:if語(yǔ)句、switch語(yǔ)句用于循環(huán)結(jié)構(gòu)的:while語(yǔ)句、for語(yǔ)句、do-while語(yǔ)句根據(jù)c語(yǔ)言的句法分為:?jiǎn)蝹€(gè)語(yǔ)句復(fù)合語(yǔ)句:用一對(duì)“{}”,將若干語(yǔ)句順序組合在一起就形成了一個(gè)程序段??照Z(yǔ)句:僅一分號(hào)構(gòu)成的語(yǔ)句5.程序書寫的風(fēng)格對(duì)變量、函數(shù)、常量等命名時(shí),要見名知意,有助于對(duì)變量含義或函數(shù)功能的理解。在程序中增加必要的注釋,增加程序的可讀性。程序要清晰易懂,語(yǔ)句構(gòu)造要簡(jiǎn)單直接,一行寫一條語(yǔ)句,采用縮進(jìn)格式。程序有良好的交互性,輸入有提示,輸出有說(shuō)明,并盡量采用統(tǒng)一整齊的格式。順序結(jié)構(gòu)程序設(shè)計(jì)舉例1長(zhǎng)方體體積計(jì)算器。#include<stdio.h>main(){ intx,y,z,
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 荷蘭豆植保技術(shù)培訓(xùn)課件
- 分步乘法技術(shù)
- 安全生產(chǎn)管理制度執(zhí)行檢查單
- 分布式發(fā)電技術(shù)
- 色彩肌膚護(hù)理的內(nèi)外調(diào)理方法
- 護(hù)理睡眠心理支持
- 蘇教版三年級(jí)語(yǔ)文【下】你必須把這條魚放掉!
- 餐吧服務(wù)員技能培訓(xùn)課件
- 新月體腎炎的早期識(shí)別與護(hù)理
- 免疫學(xué)基礎(chǔ):免疫細(xì)胞凋亡調(diào)控課件
- 民事檢察案例匯報(bào)
- 2025秋季學(xué)期國(guó)開電大法學(xué)本科《國(guó)際私法》期末紙質(zhì)考試簡(jiǎn)述題題庫(kù)珍藏版
- 小區(qū)凈水設(shè)備維修方案(3篇)
- 2025年道教傳度考試題及答案
- 微機(jī)電系統(tǒng)(MEMS)技術(shù) 柔性微機(jī)電器件循環(huán)彎曲變形后電氣特性測(cè)試方法 編制說(shuō)明
- 小區(qū)充電樁轉(zhuǎn)讓合同范本
- (2025年標(biāo)準(zhǔn))國(guó)債使用協(xié)議書
- 2025年南京市事業(yè)單位教師招聘考試體育學(xué)科專業(yè)知識(shí)試卷(秋季篇)
- 巴林特小組與團(tuán)體心理輔導(dǎo)對(duì)護(hù)士共情能力提升的影響
- 2021年普通高等學(xué)校招生全國(guó)統(tǒng)一考試英語(yǔ)試卷(天津卷)含答案
- 車站生活污水清運(yùn)方案(3篇)
評(píng)論
0/150
提交評(píng)論