版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
第四章選擇結(jié)構(gòu)程序設(shè)計(jì)學(xué)習(xí)目的:掌握關(guān)系運(yùn)算符和邏輯運(yùn)算符的運(yùn)算規(guī)則及優(yōu)先級(jí)關(guān)系
掌握條件語句的語句格式和執(zhí)行順序?qū)W會(huì)進(jìn)行選擇結(jié)構(gòu)程序設(shè)計(jì)重點(diǎn)難點(diǎn):條件語句的嵌套選擇結(jié)構(gòu)程序的分析方法和設(shè)計(jì)方法
4.1關(guān)系運(yùn)算符和關(guān)系表達(dá)式關(guān)系運(yùn)算符
<<=>>=(優(yōu)先級(jí)相同)高
==!=(優(yōu)先級(jí)相同)低
算術(shù)運(yùn)算符(高)關(guān)系運(yùn)算符賦值運(yùn)算符(低)例:
c>a+bc>b==aa==b<ca=b>c關(guān)系表達(dá)式概念:由關(guān)系運(yùn)算符將兩個(gè)表達(dá)式連接起來的式子如:d+a>b+c(a>b)>(c>d)
關(guān)系表達(dá)式的值真以1代表
假以0代表例:當(dāng)a=3,b=2,c=1求f=a>b>c的值當(dāng)a=5,b=4,c=2求a>b!=c的值4.2邏輯運(yùn)算符和邏輯表達(dá)式邏輯運(yùn)算符
&&(邏輯與)||(邏輯或)!(邏輯非)邏輯運(yùn)算符的運(yùn)算規(guī)則優(yōu)先級(jí):!&&||(高)
>(低)
!(高)算術(shù)運(yùn)算符關(guān)系運(yùn)算符
&&和||賦值運(yùn)算符(低)例(a>b)&&(x>y)(a==b)&&(x<y)!a||(a>b)邏輯表達(dá)式邏輯運(yùn)算結(jié)果邏輯值:真(1)假(0)運(yùn)算量的判斷:假(0)真(非0)例:a=6,b=4,c=2,
求表達(dá)式!(a-b)+c-1&&b+c/2的值
4.3if語句if語句的三種形式形式一格式:
if(expression)statement
執(zhí)行過程:exprstatement非0=0例:if(x>y)
printf(“%d”,x);形式二
格式:if(expression)statement1elsestatement2執(zhí)行過程::exprstatement1statement2非0=0例:if(x>y)max=x;elsemax=y;形式三:格式:執(zhí)行過程:if(expr1)statement1elseif(expr2)statement2elseif(expr3)statement3…...elseif(exprm)statementm
elsestatementnexpr1statemnt1非0=0expr2expr3statemntnstatemnt3statemnt2非0非0=0=0例:if(salary>1000)index=0.4;elseif(salary>800)index=0.3;elseif(salary>600)index=0.2;elseif(salary>400)index=0.1;elseindex=0;說明:if后面的表達(dá)式類型任意語句可以是復(fù)合語句
if(x)if(x!=0)if(!x)if(x==0)如:if(a==b&&x==y)printf(“a=b,x=y”);if(3)printf(“OK”);if(‘a(chǎn)’)printf(“%d”,’a’);例考慮下面程序的輸出結(jié)果:#include<stdio.h>main(){intx,y;
scanf(“%d,%d”,&x,&y);if(x>y)x=y;y=x;elsex++;y++;
printf(“%d,%d\n”,x,y);}CompileError!例:求一個(gè)數(shù)的絕對值#include<stdio.h>main(){intx,y;
printf("Enteraninteger:");
scanf("%d",&x);y=x;
if(y<0)y=-y;
printf("\ninteger:%d--->absolutevalue:%d\n",x,y);}運(yùn)行:Enteraninteger:-12integer:-12--->absolutevalue:12
比較兩個(gè)數(shù),求其中的大者
main(){inta,b;
printf("Enterintegera:");
scanf("%d",&a);
printf("Enterintegerb:");
scanf("%d",&b);
if(a>b)
printf(“themaxnumberis:%d”,a);else
printf(“themaxnumberis:%d”,b);}求y=x(x+2)2<x<=102x-1<x<=2x-1x<=-1main(){intx,y;scanf(“%d”,&x);If(x>2&&x<=10)y=x*(x+2);elseif(x>-1&&x<=2)y=2*x;elseif(x<=-1)y=x-1;elsey=-1;If(y!=-1)printf(“%d”,y);elseprintf(“error”);}4.4If語句的嵌套if(expr1)if(expr2)statement1elsestatement2內(nèi)嵌ifif(expr1)if(expr2)statement1elsestatement3
內(nèi)嵌ifif(expr1)statement1elseif(expr3)statement3elsestatement4內(nèi)嵌ifif(expr1)if(expr2)statement1elsestatement2elseif(expr3)statement3elsestatement4內(nèi)嵌if內(nèi)嵌if注:if~else配對原則:缺省{}時(shí),else總是和它上面離它最近的未配對的if配對if(……)if(……)if(……)else…...else…...else…...結(jié)果:-1main(){inta=2,b=3,c;c=a;if(a>b)c=1;elseif(a==b)c=0;elsec=-1;
printf(“%d”,c);}對函數(shù)y=-1(x<0)0(x=0)1(x>0)編程序,輸入x的值,輸出y的值程序1:程序2:main(){intx,y;
scanf(“%d”,&x);if(x<0)y=-1;elseif(x==0)y=0;elsey=1;printf(“x=%d,y=%d\n”,x,y);}main(){intx,y;
scanf(“%d”,&x);if(x>=0)if(x>0)y=1;elsey=0;elsey=-1;printf(“x=%d,y=%d\n”,x,y);}程序3:程序4:main(){intx,y;
scanf(“%d”,&x);y=-1;if(x!=0)if(x>0)y=1;elsey=0;
printf(“x=%d,y=%d\n”,x,y);}main(){intx,y;
scanf(“%d”,&x);y=0;if(x>=0)if(x>0)y=1;elsey=-1;
printf(“x=%d,y=%d\n”,x,y);}讀程序?qū)懡Y(jié)果main(){inta=1,b=3,c=5,d=4;if(a<b)if(c<d)x=1;elseif(a<c)if(b<d)x=2;elsex=3;elsex=6;elsex=7;printf(“x=%d”,x);}結(jié)果:x=24.5switch語句(開關(guān)分支語句)一般形式:
switch(表達(dá)式){caseE1:語句組1;break;caseE2:語句組2;break;…….caseEn:語句組n;break;[default:語句組n+1;]}switch表達(dá)式語句組1語句組2語句組n語句組…...E1E2Endefaultcase說明:E1,E2,…En是常量表達(dá)式,且值必須互不相同語句標(biāo)號(hào)作用,必須用break跳出case后可包含多個(gè)可執(zhí)行語句,且不必加{}switch可嵌套多個(gè)case可共用一組執(zhí)行語句如:……case‘A’:case‘B’:case‘C’:
printf(“score>60\n”);break;……..例switch(score){case5:printf(“Verygood!”);case4:printf(“Good!”);case3:printf(“Pass!”);case2:printf(“Fail!”);default:printf(“dataerror!”);}運(yùn)行結(jié)果:score為5時(shí),輸出:
Verygood!Good!Pass!Fail!dataerror!例
main(){intx=1,y=0,a=0,b=0;switch(x){case1:switch(y){case0:a++;break;case1:b++;break;}case2:a++;b++;break;case3:a++;b++;}
printf(“\na=%d,b=%d”,a,b);}運(yùn)行結(jié)果:a=2,b=1例根據(jù)輸入字母輸出字符串#include<stdio.h>main(){intc;
printf("Entermornorhorother:");c=getchar();switch(c){case'm':printf("\nGoodmorning!\n");break;case'n':printf("\nGoodnight!\n");break;case'h':printf("\nHello!\n");break;default:printf("\n????????\n");break;}}4.6條件運(yùn)算符一般格式表達(dá)式1?表達(dá)式2:表達(dá)式3
說明:執(zhí)行順序優(yōu)先級(jí)結(jié)合方向表達(dá)式的類型例:設(shè)intx=1,y=0;x-->(y+x)?10:12.5>y++?‘A’:‘Z’例:intx=0,y=1;x++*x--!=‘y’?8-4:y
4.7程序舉例:例1寫一個(gè)程序,判斷某一年是否閏年Year被4整除Year被100整除Year被400整除YLeap=1NLeap=0YNLeap=1YNleap=0YN輸出閏年輸出非閏年leapmain(){intyear,leap;
scanf(“%d”,&year);if(year%4==0){if(year%100==0){if(year%400==0)leap=1;elseleap=0;}elseleap=1;}elseleap=0;if(leap)
printf(“%dis”,year);else
printf(“%disnot“,year);printf(“aleapyear.\n”);}程序:例2:求ax2+bx+c=0方程式的根main(){floata,b,c,disc,x1,x2,real,imag;else
scanf(“%f,%f,%f”,&a,&b,&c);{real=-b/(2*a);
printf(“theequation”);imag=sqrt(-disc)/(2*a);
if(fabs(a)<=1e-6)printf(“hascomplexroot:\n);
printf(“isnotaquadratic\n”);printf(%8.4f+%8.4fi\n,real,imag);
elseprintf(%8.4f-%8.4fi\n”,real,imag);disc=b*b-4*a*c;}}
if(fabs(disc)<=1e-6)
printf(“hastwoequalroots:%8.4f\n”,-b/(2*a));elseif(disc>1e-6){x1=(-b+sqrt(disc))/(2*a);x2=(-b-sqrt(disc))/(2*a);
pr
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024新教材高中歷史 第五單元 晚清時(shí)期的內(nèi)憂外患與救亡圖存 第17課 列強(qiáng)侵略的加劇教學(xué)設(shè)計(jì)(一)部編版必修中外歷史綱要上
- 七年級(jí)生物上冊 第五章 物種的多樣性教案 (新版)冀教版
- 信息技術(shù) 我的電腦我作主“使用我的電腦”教學(xué)設(shè)計(jì) 江蘇省宜興市實(shí)驗(yàn)中學(xué) 蔣風(fēng)雷
- 安徽省長豐縣高中英語 Unit 18 Beauty Lesson 2 Whats your favourite music教案 北師大版選修6
- 八年級(jí)物理上冊 6.1質(zhì)量備課教案 (新版)新人教版
- 七年級(jí)地理下冊 第七章 第一節(jié) 我國四大地理區(qū)域的劃分教案2 中圖版
- 高中化學(xué) 第三冊 第九章 初識(shí)元素周期律 9.2 元素周期表教學(xué)設(shè)計(jì)2 滬科版
- 400電話合同模板
- 三人合伙經(jīng)營公司合同模板
- 食堂進(jìn)貨采購合同模板
- 2024年保密基本知識(shí)題庫附答案(完整版)
- 醫(yī)療器械入庫和出庫管理制度
- 股動(dòng)脈穿刺術(shù)后護(hù)理
- 新生兒呼吸機(jī)使用及護(hù)理
- 社區(qū)矯正專業(yè)人員的培訓(xùn)
- 風(fēng)控平臺(tái)題準(zhǔn)入考試-信息題庫(500道)
- Unit 9 My favorite subject is science 第3課時(shí) 教學(xué)設(shè)計(jì)人教英語七年級(jí)上冊
- 中華民族共同體概論課件專家版6第六講 五胡入華與中華民族大交融(魏晉南北朝)
- 北京市中小學(xué)生天文觀測競賽附有答案
- JGJ79-2012 建筑地基處理技術(shù)規(guī)范
- 依托咪酯 它究竟為何物-禁毒宣傳主題班會(huì)課件
評(píng)論
0/150
提交評(píng)論