




下載本文檔
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、學(xué)習(xí)好資料歡迎下載C語(yǔ)言程序設(shè)計(jì)課程教案表授課題目課時(shí)安排1第一章程序的控制結(jié)構(gòu)(3)選擇結(jié)構(gòu)if授課時(shí)間教學(xué)目的和要求1 .掌握:條件表達(dá)式、if語(yǔ)句2 .熟悉:關(guān)系運(yùn)算符和關(guān)系表達(dá)式、邏輯運(yùn)算符和邏輯表達(dá)式教學(xué)內(nèi)容1 .基本內(nèi)容:(1)關(guān)系運(yùn)算符和關(guān)系表達(dá)式(2)邏輯運(yùn)算符和邏輯表達(dá)式(3)條件語(yǔ)句2 .重點(diǎn):條件語(yǔ)句講課進(jìn)程和時(shí)間分配引子(15分鐘)關(guān)系運(yùn)算就是比較運(yùn)算,即將兩個(gè)數(shù)據(jù)進(jìn)行比較,判定兩個(gè)數(shù)據(jù)是否符合給定的關(guān)系。a > b a = = b a ! = b1、關(guān)系運(yùn)算符和關(guān)系表達(dá)式(1)關(guān)系運(yùn)算符及其優(yōu)先次序1)關(guān)系運(yùn)算符C語(yǔ)言中關(guān)系運(yùn)算符為二目運(yùn)算符,共有6種:>
2、 小于關(guān)系運(yùn)算符> =小于等于> 大于> =大于等于=等于)!二不等于關(guān)系操作數(shù)可以是數(shù)值類型數(shù)據(jù)和字符型數(shù)據(jù)。2)關(guān)系運(yùn)算符的優(yōu)先級(jí)<、<=、> 和 >=為同一級(jí),=和!=為同一級(jí)。且前4個(gè)高于后2個(gè);結(jié)合方向 均為自左至右。關(guān)系運(yùn)算符的優(yōu)先級(jí)低于算術(shù)運(yùn)算符,但高于賦值運(yùn)算符。例如:a+b > b+c 等效于(a+b)>(b+c)。(2+a)=(b-a) 等效于 2+a = b-a。(2)關(guān)系表達(dá)式1)關(guān)系表達(dá)式的概念是指用關(guān)系運(yùn)算符將兩個(gè)表達(dá)式連接起來(lái)進(jìn)行關(guān)系運(yùn)算的式子。例如:a + b > b + c比較兩個(gè)算術(shù)表達(dá)式的值a &
3、lt;= 2 * b比較變量和算術(shù)表達(dá)式的值a' < 'b'比較兩個(gè)字符的 ASCII碼值2)關(guān)系表達(dá)式的值 一邏輯值(真”或 假”)由于C語(yǔ)言沒(méi)有邏輯型數(shù)據(jù),所以,用整數(shù)“1 ”表示 邏輯真”,用整數(shù)“昧示 邏輯假”例如,假設(shè)a=3, b=4, c=5則:a>b的值為0 (假)。(a>b)!=c的值為1 (真)。(a<b)+c 的值為 6, 因?yàn)?a<b的值為 1, 1+5=6。注意:C語(yǔ)言用整數(shù)1”表示 邏輯真”,用整數(shù)0”表示 邏輯假”。所以,關(guān)系表達(dá)式的值,還可以參與其它種類的運(yùn)算,例如算術(shù)運(yùn)算、邏輯運(yùn)算等。3)關(guān)系運(yùn)算符的結(jié)合律C
4、語(yǔ)言規(guī)定關(guān)系表達(dá)式采取左結(jié)合律。表達(dá)式中出現(xiàn)優(yōu)先級(jí)別為同一級(jí)別的運(yùn)算符時(shí),則按從左到右結(jié)合方向處理。例如:int a=2,b=3,c=1 ;a>b<c 值:1先計(jì)算a>b,值是0 ,再計(jì)算0<c,值是16>3<2 值:1先計(jì)算6>3,值是1 ,再計(jì)算1<2,值為12、邏輯運(yùn)算符和邏輯表達(dá)式(1 )邏輯運(yùn)算符C語(yǔ)言提供3種邏輯運(yùn)算符:&& 邏輯與(相當(dāng)于“同時(shí)”)|邏輯或(相當(dāng)于“或者”)!邏輯非(相當(dāng)于“否定”)其中,&窗口 |為雙目運(yùn)算符,且結(jié)合方向?yàn)樽宰笾劣遥?!為單目運(yùn)算符,僅對(duì)其右邊的操作 數(shù)進(jìn)行邏輯求反運(yùn)算。1)
5、邏輯非!邏輯非是一元運(yùn)算符。操作數(shù)值為0,邏輯非運(yùn)算的結(jié)果為1(邏輯真);當(dāng)操作數(shù)值為非0時(shí),邏輯非運(yùn)算的結(jié)果為 0。例如:int a=5,b=3;!a結(jié)果:0!(a < b)結(jié)果:1。因?yàn)閍 < b 的值為02)邏輯與&&邏輯與是二元運(yùn)算,只有參加邏輯與運(yùn)算的兩個(gè)操作數(shù)值均為非0(邏輯真)時(shí),結(jié)果才為真。例如:int a = 5,b = 3;a && b值:1(a < b) && (a > 0)值:0,因?yàn)閍<b的值為0。3)邏輯或|邏輯或也是二元運(yùn)算,只要兩個(gè)操作數(shù)中有一個(gè)為非0(邏輯真),結(jié)果就為1。例如:in
6、t a=5,b=3a | b值:1(a < b) | (a > 0)值:1因?yàn)閍 > 0 的值為1。(2)邏輯運(yùn)算符優(yōu)先級(jí)C語(yǔ)言邏輯運(yùn)算符的優(yōu)先級(jí)規(guī)定如下:1)優(yōu)先級(jí)順序?yàn)?! 一&&- |2)與其他種類運(yùn)算符的優(yōu)先關(guān)系:高A !(非)算術(shù)運(yùn)算符關(guān)系運(yùn)算符&& 和 1|低賦值運(yùn)算符例如:! a && b > 5 計(jì)算順序:(!a)&&(b> 5) a = = b | a < c計(jì)算順序:a = = ( b | (a<c)(3)邏輯表達(dá)式1 )邏輯表達(dá)式的概念所謂邏輯表達(dá)式是指,用邏輯運(yùn)算符
7、將1個(gè)或多個(gè)表達(dá)式連接起來(lái),進(jìn)行邏輯運(yùn)算的式子。在C語(yǔ)言中,可以用邏輯表達(dá)式表示多個(gè)條件的組合。例如:!(a > b)對(duì)關(guān)系表達(dá)式的值取非,(a > b) &&(b > c)(a > b ) && (b > c ) | ( b = 0)2)邏輯量的真假判定C語(yǔ)言用整數(shù)“1 ”表示“邏輯真”,用“ 0”表示“邏輯假”。但在判斷一個(gè)表達(dá)式或變 量的“真”或“假”時(shí),如果為0,則判定為“邏輯假”;如果為非0,則判定為“邏輯真”。3 )邏輯運(yùn)算符的結(jié)合性C語(yǔ)言邏輯運(yùn)算符采用左結(jié)合律。表達(dá)式中出現(xiàn)優(yōu)先級(jí)別為同一級(jí)別的運(yùn)算符時(shí),按從左到右的結(jié)合
8、方向處理。例如:a && b && c 計(jì)算順序?yàn)椋?a&& b)&& c 。3、條件語(yǔ)句(25分鐘)(1) if語(yǔ)句的三種格式引子:例如計(jì)算分段函數(shù)y= / 3-X (X<0)L 2x (x>=0)計(jì)算x<0 ,如果結(jié)果為1:計(jì)算:y=3-x;否則,計(jì)算:y=2 * x;需要根據(jù)x的值進(jìn)行流程選擇(分支)。首先先判斷表達(dá)式的值若為非0則執(zhí)行下面的語(yǔ)句若為0則跳過(guò)該語(yǔ)句1)單分支選擇語(yǔ)句般形式:i f (表達(dá)式)語(yǔ)句假(0)表達(dá)式真(非0)語(yǔ)句例:main() float x , y;scanf( "
9、%f " , &x);y = 2 * x ;if ( x < 0 )printf( "y= %6.2f ” , y );如果x<0為真,則打印y的值,否則跳過(guò)printf( "y= %6.2f ”直蹲執(zhí)行下面的語(yǔ)句。練習(xí):運(yùn)行下面程序時(shí),若從鍵盤輸入k4<CR>,則程序的輸出結(jié)果是main()int a,b,s;scanf("%d,%d,&a,&b);s=a;if(s<b) s=b;s=s*s;printf( " %d ,s);A、14 B、16 C、18 D、202)雙分支選擇語(yǔ)句if(表
10、達(dá)式)語(yǔ)句1else 語(yǔ)句2例:輸入兩個(gè)數(shù),比較其大小,將較大的數(shù)輸出 流程分析:? (1)輸入兩個(gè)數(shù)據(jù)a,b ;? (2)如果a>b則輸出a ;否則,輸出b。#include <stdio.h>main()float a, b;scanf( "f, %f ”,&a, &b); if (a>b) printf ("%f" , a );else printf ("%f" , b );練習(xí):下面程序的輸出結(jié)果是main() int x=2,y=-1,z=2;if(y<0) z=0else z+=1;pr
11、intf("r% d,z);3)多分支選擇語(yǔ)句一般形式:if(表達(dá)式)語(yǔ)句1else if (表達(dá)式)語(yǔ)句2 else 寫一個(gè)程序完成下列功能:1輸入一個(gè)分?jǐn)?shù) score2 score<60輸出E3 60<=score<70輸出D4 75<=score<80輸出C5 80<=score<90輸出B5 90<=score輸出 Amain() int score;scanf(" %d' , &score);if ( score<60) printf(" %c' ,' E');
12、else if ( score <70) printf(" %c' ,' D');else if (score <80)printf(" %c' ,' C');else if (score <90)printf( " %c' ,' B');else printf(" %c' ,'A');說(shuō)明:if語(yǔ)句中的表達(dá)式一般為關(guān)系或邏輯表達(dá)式,也可以為任何數(shù)值類型的表達(dá)式。 執(zhí)行語(yǔ)句可以是一條簡(jiǎn)單語(yǔ)句、空語(yǔ)句或復(fù)合語(yǔ)句,也可以嵌套其它流程控制語(yǔ)句。4)
13、復(fù)雜條件選擇問(wèn)題:輸入兩個(gè)字符chi和ch2,如果 ch1= 'Z'且 ch2=如',則輸出"You are right !"main() char ch1,ch2;ch1=getchar();ch2=getchar();if ( chi =&&ch2= ' B')printf( "You are right! ");練習(xí):以下不正確的語(yǔ)句為A、if(x>y);B、if(x>y) x+; y+; C、if(x=y)&&(x!=0)x+=y;D、if(x!=y) scanf
14、(" %d' ,&x);else scanf( " %d' ,&y);運(yùn)行下面程序時(shí),若從鍵盤輸入字母"b;則輸入結(jié)果是main() char c;c=getchar();if (c>=,a,&&c<=,u,) c=c+4;else if (c>=' v' &&c<= -2z; ) c=celse printf("input ernor!);putchar(c);A) g B)w C)f D) d5) if語(yǔ)句的嵌套一個(gè)if又包含一個(gè)或多個(gè)if語(yǔ)句,稱
15、為if語(yǔ)句的嵌套。在if語(yǔ)句中可以根據(jù)需要,用if語(yǔ)句的三種形式進(jìn)行互相嵌套。一般形式如下:if ()內(nèi)嵌ifif ()語(yǔ)句 1else 語(yǔ)句 2>elseif ()語(yǔ)句 3else 語(yǔ)句 4if ()if ()語(yǔ)句 1elseif ()語(yǔ)句 2else 語(yǔ)句 3>說(shuō)明:if與else的配對(duì)關(guān)系,從最內(nèi)層開(kāi)始,else總是與離它最近的未曾配對(duì)的if配對(duì)。if與else的個(gè)數(shù)最好相同,從內(nèi)層到外層一一對(duì)應(yīng),以避免出錯(cuò)。如果if與else的個(gè)數(shù)不相同,可以用花括號(hào)來(lái)確定配對(duì)關(guān)系。例如:if ()if ()語(yǔ)句 1else語(yǔ)句2>這時(shí)限定了內(nèi)嵌if語(yǔ)句的范圍,因此 else與第一個(gè)
16、if配對(duì)。例 4.3 對(duì)下面的函數(shù)編程,要求輸入一個(gè)x值,輸出對(duì)應(yīng)的 y值-1(x<0)y=0(x=0)1(x>0)方法 1: main ()int x , y;scanf C %d " , &x );if (x<0) y=-1;else if (x= =0 ) y=0;else y=1;printf (" x=%d , y=%dn ”, x, y);方法 2: main ()int x , y;scanf C %d " , &x );y=-1;if (x= =0) y=0;else if (x>0) y=1;printf
17、(" x=%d , y=%dn ”, x, y);練習(xí):運(yùn)行下面程序,若從鍵盤輸入“3和”5;則程序的輸出結(jié)果是main() int x,y;scanf("%d,%cT ,&x,&y);if(x=y) printf( "x=y" ); else if(x>y) printf("x>y” );else printf("x<y" );A) 3<5B) 5>3C) x>y執(zhí)行下列程序的輸出結(jié)果是 main() int a=258;if(a>=100) if(a>=1000) printf(D) x<y“%d is greater than n”,a);else printf( " %d is 100 tor999,a); else if(a<10) printf( " %d is less than' 10a);print
溫馨提示
- 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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 江蘇南京第十三中學(xué)2024~2025學(xué)年高二下冊(cè)期末考試數(shù)學(xué)試題學(xué)生卷
- 江蘇常州聯(lián)盟學(xué)校2024~2025學(xué)年高一下冊(cè)期末調(diào)研數(shù)學(xué)試題含解析
- 重癥監(jiān)護(hù)病例監(jiān)測(cè)指標(biāo)選擇考核試卷
- 水泵流體動(dòng)力學(xué)模擬考核試卷
- 單板加工生產(chǎn)質(zhì)量風(fēng)險(xiǎn)預(yù)防考核試卷
- 銷售區(qū)域市場(chǎng)顧客生命周期管理考核試卷
- 移動(dòng)營(yíng)銷在家用紡織品市場(chǎng)中的情感營(yíng)銷策略應(yīng)用考核試卷
- 體育市場(chǎng)體育培訓(xùn)行業(yè)競(jìng)爭(zhēng)格局分析考核試卷
- 2025年中國(guó)OA軟件數(shù)據(jù)監(jiān)測(cè)研究報(bào)告
- 2025年中國(guó)GPRS配變監(jiān)測(cè)儀數(shù)據(jù)監(jiān)測(cè)報(bào)告
- 血糖監(jiān)測(cè)課件小講課
- 汽車車身密封條設(shè)計(jì)指南
- 光伏工程勞務(wù)承包合同協(xié)議書(shū)
- DBJT13-24-2017 福建省建筑幕墻工程質(zhì)量驗(yàn)收規(guī)程
- 2024新人教版七年級(jí)上冊(cè)英語(yǔ)單詞表衡水體字帖
- 學(xué)校會(huì)議審批管理制度
- 課內(nèi)文言文翻譯句句落實(shí)-2024-2025學(xué)年統(tǒng)編版語(yǔ)文九年級(jí)上冊(cè)
- 【中美家庭教育差異比較探究(英文)(論文)】
- 國(guó)防動(dòng)員工作計(jì)劃
- 小學(xué)生科技模型課程設(shè)計(jì)
- T-CQAAS 008-2023 花椒香氣組分含量的測(cè)定-氣相色譜質(zhì)譜法
評(píng)論
0/150
提交評(píng)論