




版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
會(huì)計(jì)學(xué)1C語(yǔ)言第講關(guān)系運(yùn)算與邏輯運(yùn)算if語(yǔ)句4.1.1邏輯值及其在C語(yǔ)言中的表示
關(guān)系運(yùn)算和邏輯運(yùn)算的運(yùn)算結(jié)果都是一個(gè)邏輯值,邏輯值只有兩個(gè)值,即:“真”和“假”。在C語(yǔ)言中,用數(shù)值1來(lái)表示“真”,用數(shù)值0來(lái)表示“假”。因此邏輯值也可以作為一個(gè)整數(shù)參與算術(shù)運(yùn)算。反之,對(duì)于參與關(guān)系運(yùn)算或邏輯運(yùn)算的任意一個(gè)表達(dá)式,如果該表達(dá)式的值為零,就代表一個(gè)邏輯“假”值;只要表達(dá)式的值不是零,無(wú)論是正數(shù)還是負(fù)數(shù),都代表一個(gè)邏輯“真”值。第1頁(yè)/共19頁(yè)4.1.2關(guān)系運(yùn)算符與關(guān)系表達(dá)式
所謂“關(guān)系運(yùn)算”實(shí)際上就是“比較運(yùn)算”,即將兩個(gè)數(shù)據(jù)進(jìn)行比較,判定兩個(gè)數(shù)據(jù)是否符合給定的關(guān)系。例如,“a>b”中的“>”表示一個(gè)大于關(guān)系運(yùn)算。如果a的值是8,b的值是5,則這個(gè)關(guān)系運(yùn)算的結(jié)果為“真”,即數(shù)值1,表示條件成立;如果a的值是6,b的值是9,則運(yùn)算的結(jié)果為“假”,即數(shù)值0,表示條件不成立。第2頁(yè)/共19頁(yè)1.關(guān)系運(yùn)算符及其優(yōu)先級(jí)C語(yǔ)言提供了六種關(guān)系運(yùn)算符,如表4.1所示。
注意:有些運(yùn)算符是由兩個(gè)字符組合而成的,如:<=;其兩個(gè)字符之間不能有空格。在關(guān)系運(yùn)算符中,前4個(gè)優(yōu)先級(jí)相同,后2個(gè)也相同,且前4個(gè)關(guān)系運(yùn)算符的優(yōu)先級(jí)高于后2個(gè)。
所有關(guān)系運(yùn)算符的優(yōu)先級(jí)都比算術(shù)運(yùn)算符的優(yōu)先級(jí)低、但都比賦值運(yùn)算符的優(yōu)先級(jí)高。表4.1關(guān)系運(yùn)算符及其優(yōu)先級(jí)109第3頁(yè)/共19頁(yè)2.關(guān)系表達(dá)式
用關(guān)系運(yùn)算符將兩個(gè)操作數(shù)(常量、變量或表達(dá)式)連接起來(lái),進(jìn)行關(guān)系運(yùn)算的式子,稱(chēng)為關(guān)系表達(dá)式。例如,假設(shè)n1=5,n2=8,n3=10,則:(1)關(guān)系表達(dá)式n1==n2的值為0。(2)關(guān)系表達(dá)式n1<=n3的值為1。(3)關(guān)系表達(dá)式n1+n2>n3的值為1。(4)關(guān)系表達(dá)式n1==
n2>n3的值等為0。注意:由于存在存儲(chǔ)誤差和轉(zhuǎn)換誤差,不能直接用關(guān)系運(yùn)算符“==”來(lái)判斷兩個(gè)實(shí)型數(shù)是否相等。單精度實(shí)數(shù):fabs(x-y)<0.000001
雙精度實(shí)數(shù):fabs(a-b)<1e-14第4頁(yè)/共19頁(yè)1.邏輯運(yùn)算符及其優(yōu)先級(jí)
C語(yǔ)言提供了三種基本的邏輯運(yùn)算符。邏輯代數(shù)的其它邏輯運(yùn)算都可以轉(zhuǎn)化為這三種邏輯運(yùn)算的組合。4.1.3邏輯運(yùn)算符與邏輯表達(dá)式優(yōu)先級(jí)次序:!(邏輯非)14算術(shù)運(yùn)算符13/12關(guān)系運(yùn)算符10/9&&(邏輯與)5||(邏輯或)4賦值運(yùn)算符2
表4.2邏輯運(yùn)算符及其優(yōu)先級(jí)14右結(jié)合45第5頁(yè)/共19頁(yè)2.邏輯表達(dá)式
由邏輯運(yùn)算符和運(yùn)算對(duì)象所組成的表達(dá)式稱(chēng)為邏輯表達(dá)式。邏輯運(yùn)算的對(duì)象可以是C語(yǔ)言中任意合法的表達(dá)式。例如:在關(guān)系表達(dá)式(x>y)為真的條件下,若a值為10,b值為16,表達(dá)式(a>b)&&(x>y)的值為“假”,用數(shù)值0來(lái)表示;若a值為10,b值為6,表達(dá)式(a>b)&&(x>y)的值則為“真”,用數(shù)值1來(lái)表示。表4.3邏輯運(yùn)算符的運(yùn)算規(guī)則第6頁(yè)/共19頁(yè)
數(shù)學(xué)表達(dá)式0<x<10表示x的值應(yīng)該在0到10的范圍內(nèi)。但在C語(yǔ)言中不能用0<x<10這樣一個(gè)關(guān)系表達(dá)式來(lái)表述以上的數(shù)學(xué)關(guān)系。因?yàn)闊o(wú)論x是什么值,按照C語(yǔ)言的運(yùn)算規(guī)則,左邊的表達(dá)式0<x的運(yùn)算結(jié)果只能為0或1,因而表達(dá)式0<x<10的運(yùn)算結(jié)果總是1。只有用邏輯表達(dá)式0<x&&x<l0才能正確地表述以上數(shù)學(xué)關(guān)系。用邏輯表達(dá)式來(lái)表示多個(gè)條件的組合如判斷一個(gè)年份是否是閏年的邏輯表達(dá)式為:(year%4==0)&&(year%100!=0)||(year%400==0)第7頁(yè)/共19頁(yè)“非完全求解”法:當(dāng)求出某個(gè)邏輯運(yùn)算符的左邊的運(yùn)算量的值就能夠明確地確定這個(gè)邏輯運(yùn)算的結(jié)果時(shí),就結(jié)束求解過(guò)程,直接給出運(yùn)算結(jié)果。例如:(1)a&&b&&c
若a為“假”,直接求得a&&b及整個(gè)表達(dá)式的值為“假”;
若a為“真”,b為“假”,a&&b及整個(gè)表達(dá)式的值為“假”。只有當(dāng)a為“真”時(shí),才需要判別b的值;只有當(dāng)a&&b的值為“真”時(shí),才需要判別c的值。(2)a||b||c
若a為“真”,直接求得a||b及整個(gè)表達(dá)式的值為“真”;若a為“假”,b為“真”,a||b及整個(gè)表達(dá)式的值為“真”;只有當(dāng)a為“假”時(shí),才需要判別b的值;只有當(dāng)a||b的值為“假”時(shí),才需要判別c的值。邏輯表達(dá)式的“非完全求解”法第8頁(yè)/共19頁(yè)例:“非完全求解”#include"stdio.h"voidmain(){intx,a,b,c;a=1;b=2;c=3;x=(a-1)&&(++b)&&(++c);printf("1:a=%d,b=%d,c=%d,x=%d\n",a,b,c,x);a=1;b=2;c=3;x=a&&(b-2)&&(++c);printf("2:a=%d,b=%d,c=%d,x=%d\n",a,b,c,x);a=1;b=2;c=3;x=a&&(++b)&&(++c);printf("3:a=%d,b=%d,c=%d,x=%d\n",a,b,c,x);}第9頁(yè)/共19頁(yè)4.2if語(yǔ)句1.if語(yǔ)句的一般形式
if(表達(dá)式)
語(yǔ)句1
[else
語(yǔ)句2]
if語(yǔ)句可以根據(jù)給定的條件進(jìn)行判斷,決定執(zhí)行某個(gè)分支程序段,以實(shí)現(xiàn)選擇結(jié)構(gòu)的程序設(shè)計(jì)。表達(dá)式可以是任何類(lèi)型的C表達(dá)式語(yǔ)句1、語(yǔ)句2都可以是復(fù)合語(yǔ)句else子句不能單獨(dú)使用(可選)
if語(yǔ)句的執(zhí)行過(guò)程:先求表達(dá)式的值第10頁(yè)/共19頁(yè)main(){intn1,n2,n3,max;printf("Pleaseinputthreenumbers:");scanf("%d,%d,%d",&n1,&n2,&n3);
if(n1>n2)
max=n1;
else
max=n2;
if(n3>max)
max=n3;printf("max=%d\n",max);}程序運(yùn)行情況如下:Pleaseinputthreenumbers:11,22,18<CR>max=22例4.1輸入三個(gè)整數(shù),求最大值/*簡(jiǎn)化形式*/max=n1;if(n2>max)max=n2;第11頁(yè)/共19頁(yè)例4.2輸入三個(gè)整數(shù),在變量a,b,c中排序main(){inta,b,c,t;printf("inputa,b,c:");scanf("%d%d%d",&a,&b,&c);
printf("a=%d,b=%d,c=%d\n",a,b,c);
if(a>b)
{t=a;a=b;b=t;}
if(a>c)
{t=a;a=c;c=t;}
if(b>c)
{t=b;b=c;c=t;}
printf("a=%d,b=%d,c=%d\n",a,b,c);}程序運(yùn)行情況如下:inputa,b,c:623424<CR>a=62,b=34,c=24a=24,b=34,c=62第12頁(yè)/共19頁(yè)if語(yǔ)句中的if子句和else子句可以是任意合法的C語(yǔ)句,當(dāng)然也可以是另外一個(gè)if語(yǔ)句,通常稱(chēng)這種語(yǔ)句為嵌套的if語(yǔ)句。
內(nèi)嵌的if語(yǔ)句既可以嵌套在if子句中,也可以嵌套在else子句中。在運(yùn)用嵌套的if語(yǔ)句時(shí),應(yīng)該特別注意else子句和if子句的配套問(wèn)題。如果在嵌套的if語(yǔ)句中沒(méi)有用一對(duì)花括號(hào)強(qiáng)制地結(jié)束某個(gè)內(nèi)嵌的不帶else子句的if語(yǔ)句,則else子句總是與在它前面的、離它最近的、尚未與其它else子句匹配的if子句相匹配。以下介紹兩種值得關(guān)注的嵌套if語(yǔ)句。2.嵌套的if語(yǔ)句第13頁(yè)/共19頁(yè)
在if語(yǔ)句的else子句中嵌套多個(gè)具有else子句的if語(yǔ)句語(yǔ)句形式如下:if(表達(dá)式1)語(yǔ)句1else
if(表達(dá)式2)語(yǔ)句2
else
if(表達(dá)式3)語(yǔ)句3
elseif(表達(dá)式4)語(yǔ)句4...
else語(yǔ)句n
執(zhí)行過(guò)程:從上向下逐一對(duì)if后的表達(dá)式進(jìn)行檢測(cè),當(dāng)其中某一個(gè)表達(dá)式的值為非零時(shí),就執(zhí)行與之對(duì)應(yīng)的if子句,階梯形子句中的其余部分就被跳越過(guò)去。如果所有表達(dá)式的值都為零,則執(zhí)行最后的else子句,即語(yǔ)句n;如果最內(nèi)層的if語(yǔ)句沒(méi)有else子句,那么將不進(jìn)行任何操作。(1)用嵌套的if語(yǔ)句形成多分支語(yǔ)句第14頁(yè)/共19頁(yè)例4.3
編寫(xiě)程序,根據(jù)輸入的學(xué)生成績(jī),給出相應(yīng)的等級(jí)。90分以上的等級(jí)為A,60分以下的等級(jí)為E,其余每10分為一個(gè)等級(jí)。main(){intg;
printf("Enterg:");scanf("%d",&g);printf("g=%d:",g);
if(g>=90)printf("A\n");
else
if(g>=80)printf("B\n");
else
if(g>=70)printf("C\n");
elseif(g>=60)printf("D\n");elseprintf("E\n");}程序運(yùn)行情況如下:Enterg:78<CR>g=78:C第15頁(yè)/共19頁(yè)(2)在if子句中嵌套不含else子句的if語(yǔ)句
用花括號(hào)把內(nèi)層if語(yǔ)句括起來(lái)后,使得此內(nèi)層if語(yǔ)句在語(yǔ)法上成為一條獨(dú)立的語(yǔ)句,從而使得else子句只能與外層的if配對(duì)。注意:if子句中的花括號(hào)
if(表達(dá)式1)
if(表達(dá)式2)
語(yǔ)句1
else
語(yǔ)句2語(yǔ)句形式如下:if(表達(dá)式1)
{if(表達(dá)式2)語(yǔ)句1}els
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 白酒回購(gòu)合同協(xié)議合同書(shū)
- 景觀綠化工程服務(wù)合同
- 購(gòu)銷(xiāo)合同貨物清單
- 邊坡防護(hù)工程勞務(wù)合同
- 用圖形進(jìn)行編碼(教學(xué)設(shè)計(jì))2024-2025學(xué)年四年級(jí)上冊(cè)信息技術(shù)蘇科版
- 8 比尾巴(教學(xué)設(shè)計(jì))2024-2025學(xué)年語(yǔ)文一年級(jí)上冊(cè)統(tǒng)編版
- 人教版初中歷史與社會(huì)七年級(jí)下冊(cè) 6.3.2草原風(fēng)情 教學(xué)設(shè)計(jì)
- 浙江工商大學(xué)杭州商學(xué)院《供應(yīng)鏈管理》2023-2024學(xué)年第二學(xué)期期末試卷
- 云南經(jīng)貿(mào)外事職業(yè)學(xué)院《生物技術(shù)專(zhuān)業(yè)文獻(xiàn)檢索與科技論文寫(xiě)作》2023-2024學(xué)年第二學(xué)期期末試卷
- 中國(guó)藥科大學(xué)《單片機(jī)原理》2023-2024學(xué)年第二學(xué)期期末試卷
- CJT 290-2008 城鎮(zhèn)污水處理廠(chǎng)污泥處置 單獨(dú)焚燒用泥質(zhì)
- 飛行員陸空通話(huà)(2)智慧樹(shù)知到期末考試答案章節(jié)答案2024年中國(guó)民航大學(xué)
- 三禁 兩不 十不準(zhǔn) 課件-2024-2025學(xué)年高一上學(xué)期新生入學(xué)系列教育主題班會(huì)
- 圖解《匠心筑夢(mèng)職啟未來(lái)》主題團(tuán)日活動(dòng)課件
- 2024年上海市普通高中學(xué)業(yè)水平等級(jí)性考試化學(xué)試卷(含答案)
- 【喜德盛自行車(chē)營(yíng)銷(xiāo)策略探究13000字】
- 乳制品及含乳飲料制造行業(yè)作業(yè)活動(dòng)風(fēng)險(xiǎn)分級(jí)管控清單
- 免疫檢查點(diǎn)抑制劑相關(guān)肺炎診治專(zhuān)家共識(shí)
- 計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)基礎(chǔ) (項(xiàng)目式微課版) 課件全套 崔升廣 第1-6章-計(jì)算機(jī)網(wǎng)絡(luò)概述 - 廣域網(wǎng)技術(shù)
- 康復(fù)治療技術(shù)專(zhuān)業(yè)《康復(fù)工程技術(shù)》課程標(biāo)準(zhǔn)
- (高清版)TDT 1013-2013 土地整治項(xiàng)目驗(yàn)收規(guī)程
評(píng)論
0/150
提交評(píng)論