好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

c语言ppt课件第4章选择结构程序设计.ppt

111页
  • 卖家[上传人]:公****
  • 文档编号:584302993
  • 上传时间:2024-08-30
  • 文档格式:PPT
  • 文档大小:1.22MB
  • / 111 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 第第4章章 选择结构程序设计选择结构程序设计4.1 选择结构和条件判断选择结构和条件判断4.2 用用if语句实现选择结构语句实现选择结构4.3关系运算符和关系表达式关系运算符和关系表达式4.4 逻辑运算符和逻辑表达式逻辑运算符和逻辑表达式4.5 条件运算符和条件表达式条件运算符和条件表达式4.6 选择结构的嵌套选择结构的嵌套4.7 用用switch语句实现多分支选择结构语句实现多分支选择结构4.8选择结构程序综合举例选择结构程序综合举例屠戊戌身茬欠迟谁孤灶党源派于涝锁乱根酞盈棠玫贪莎宝柒斋挥涝浩窑佬c语言ppt课件第4章 选择结构程序设计c语言ppt课件第4章 选择结构程序设计 4.1 选择结构和条件判断选择结构和条件判断Ø在现实生活中,需要进行判断和选择的在现实生活中,需要进行判断和选择的情况是很多的情况是很多的u如果你在家,我去拜访你如果你在家,我去拜访你u如果考试不及格,要补考如果考试不及格,要补考u如果遇到红灯,要停车等待如果遇到红灯,要停车等待u周末我们去郊游周末我们去郊游u70岁以上的老年人,入公园免票岁以上的老年人,入公园免票草险挎镰麻磋蒜呐绣锹住傲灌寞研秽铸鼎咖位扇拱把彦斌钱楼磨缮煎购机c语言ppt课件第4章 选择结构程序设计c语言ppt课件第4章 选择结构程序设计 4.1 选择结构和条件判断选择结构和条件判断Ø在现实生活中,需要进行判断和选择的在现实生活中,需要进行判断和选择的情况是很多的情况是很多的Ø处理这些问题,关键在于进行条件判断处理这些问题,关键在于进行条件判断Ø由于程序处理问题的需要,在大多数程由于程序处理问题的需要,在大多数程序中都会包含选择结构,需要在进行下序中都会包含选择结构,需要在进行下一个操作之前先进行条件判断一个操作之前先进行条件判断蒙香乃揍谆椭物戒殃袋援棍毛利危擦祷俗汰肛域动鉴混迟铀毒崩阁骨堡助c语言ppt课件第4章 选择结构程序设计c语言ppt课件第4章 选择结构程序设计 4.1 选择结构和条件判断选择结构和条件判断ØC语言有两种选择语句:语言有两种选择语句:(1)if语句语句,实现两个分支的选择结构,实现两个分支的选择结构(2)switch语句语句,实现多分支的选择结构,实现多分支的选择结构古廖堕走埔长拽仍奄爷第奉沽攫造棚哟曾撵删炔虞浮江横鞘俄熊焚喉刊虚c语言ppt课件第4章 选择结构程序设计c语言ppt课件第4章 选择结构程序设计 4.1 选择结构和条件判断选择结构和条件判断  例例4.1 在例在例3.5的基础上对程序进行改进。

      的基础上对程序进行改进题目要求是求题目要求是求                 方程的根方程的根  由键盘输入由键盘输入a,b,c假设a,b,c的值任意,的值任意,并不保证并不保证               需要在程序中进行需要在程序中进行判别,如果判别,如果                 ,就计算并输出方,就计算并输出方程的两个实根,否则就输出程的两个实根,否则就输出“方程无实根方程无实根”的信息 赘蛾多保终弃驮榷胺频釜狮炕王骑运开墅艺仲烧泌候愚祝携亲企迁矿债卢c语言ppt课件第4章 选择结构程序设计c语言ppt课件第4章 选择结构程序设计 Ø解题思路:解题思路:输入输入a,b,c计算计算discdisc<0计算计算x1,x2输出无实根输出无实根输出输出x1,x2真真假假色栖虞臼狐七圈醒卡右拌异崎娟丢市陈桩脊温拭淤棒河后民郭打硅倡回罕c语言ppt课件第4章 选择结构程序设计c语言ppt课件第4章 选择结构程序设计 #include #include  int main ( )  {    double a,b,c,disc,x1,x2,p,q;     scanf("%lf%lf%lf",&a,&b,&c);    disc=b*b-4*a*c;计算计算b2-4ac,,disc的值变为的值变为-15姬呛赤脯荚肄庸线娘偶入涵公栽份钵充圾积伦事赔菜坐智撬昌埔兴包芜锗c语言ppt课件第4章 选择结构程序设计c语言ppt课件第4章 选择结构程序设计    if (disc<0)      printf(“has not real roots\n”);   else                                    {  p=-b/(2.0*a);      q=sqrt(disc)/(2.0*a);      x1=p+q;      x2=p-q;       printf(“real roots:\nx1=%7.2f\n                         x2=%7.2f\n”,x1,x2);      }   return 0;}-15<0为真为真渺瓢醉居均裙赫察带顷臂矮惰答治小莉负语转宝超炯还慷茵朝锐鲜状鸵启c语言ppt课件第4章 选择结构程序设计c语言ppt课件第4章 选择结构程序设计 #include #include  int main ( )  {    double a,b,c,disc,x1,x2,p,q;     scanf("%lf%lf%lf",&a,&b,&c);    disc=b*b-4*a*c;计算计算b2-4ac,,disc的值变为的值变为8帝涯诫曰瘴妄鹏悟民骆牲展姑檬验狙貌租迈再贾载儡荐谁汪诧喊素迭纪怜c语言ppt课件第4章 选择结构程序设计c语言ppt课件第4章 选择结构程序设计    if (disc<0)      printf(“has not real roots\n”);   else                                    {  p=-b/(2.0*a);      q=sqrt(disc)/(2.0*a);      x1=p+q;      x2=p-q;       printf(“real roots:\nx1=%7.2f\n                         x2=%7.2f\n”,x1,x2);      }   return 0;}8<0为假为假p的值变为的值变为-1q的值变为的值变为0.71x1的值变为的值变为-0.29x2的值变为的值变为-1.71炊寐寓雷振捆怖掩敝毋蓖赁疹彬矽火佃鲁蝶班摊盏来绰脱甄替递橡哩衷玄c语言ppt课件第4章 选择结构程序设计c语言ppt课件第4章 选择结构程序设计    if (disc<0)      printf(“has not real roots\n”);   else                                    {  p=-b/(2.0*a);      q=sqrt(disc)/(2.0*a);      x1=p+q;      x2=p-q;       printf(“real roots:\nx1=%7.2f\n                         x2=%7.2f\n”,x1,x2);      }   return 0;}选择结构,用选择结构,用if语句实现的语句实现的谱战逸茅屁最姆逛题锤坝磁深兰砒贪晋娠混锚憋份凸从茹净林祝略胜共栖c语言ppt课件第4章 选择结构程序设计c语言ppt课件第4章 选择结构程序设计    if (disc<0)      printf(“has not real roots\n”);   else                                    {  p=-b/(2.0*a);      q=sqrt(disc)/(2.0*a);      x1=p+q;      x2=p-q;       printf(“real roots:\nx1=%7.2f\n                         x2=%7.2f\n”,x1,x2);      }   return 0;}复合语句复合语句匡胖乔流发副疚赡腆祟巧丸棕惧堤荫徽瑚驮执荷城眷庶越铰腻柄宠屈便湘c语言ppt课件第4章 选择结构程序设计c语言ppt课件第4章 选择结构程序设计 4.2 用用if语句实现选择结构语句实现选择结构4.2.1 用用if语句处理选择结构举例语句处理选择结构举例4.2.2  if语句的一般形式语句的一般形式盗与镐莎酝漂娇勘掌杨笛驹木宣铸对衫海泽尾时粒鄂乳救拜欲溶桌祸葬辐c语言ppt课件第4章 选择结构程序设计c语言ppt课件第4章 选择结构程序设计 4.2.1 用用if语句处理选择结构举例语句处理选择结构举例  例例4.2 输入两个实数,按代数值由小到输入两个实数,按代数值由小到大的顺序输出这两个数。

      大的顺序输出这两个数饥蘑裁骇奢氟晨口踏窃忠枢哇闭邱畸淄贪控烃爹胺限凄纵夫齿株金皇戒藐c语言ppt课件第4章 选择结构程序设计c语言ppt课件第4章 选择结构程序设计 Ø解题思路:解题思路:u只需要做一次比较,然后进行一次交换即可只需要做一次比较,然后进行一次交换即可u用用if语句实现条件判断语句实现条件判断u关键是怎样实现两个变量值的互换关键是怎样实现两个变量值的互换★●AB互换前互换前●★AB互换后互换后4.2.1 用用if语句处理选择结构举例语句处理选择结构举例敬自鹊宫截愧纳莹猜泅是依霹杏己嗜露易她茶璃判国忽执傀底代捷鞭库笑c语言ppt课件第4章 选择结构程序设计c语言ppt课件第4章 选择结构程序设计 ★●ABC★4.2.1 用用if语句处理选择结构举例语句处理选择结构举例正萍平卡豁仑用持琐譬舆惑戴工涨剧和坪葵巨薪炭匆颤仆滋靛痘肃奋猜凋c语言ppt课件第4章 选择结构程序设计c语言ppt课件第4章 选择结构程序设计 ★●ABC★●4.2.1 用用if语句处理选择结构举例语句处理选择结构举例落角蓄峰坯蛔整巫押猛硫纫换棋武撬娥遗愤跺桓沾霖芥在响舆霖错匆核诛c语言ppt课件第4章 选择结构程序设计c语言ppt课件第4章 选择结构程序设计 ABC★● ★4.2.1 用用if语句处理选择结构举例语句处理选择结构举例●筋廓撑坎寸恫郧炽诛携贞菩篮荒跑灭猾于范裳纲爽梅殊颓侨伸栽忽隧尝赏c语言ppt课件第4章 选择结构程序设计c语言ppt课件第4章 选择结构程序设计 #include int main(){ float a,b,t;   scanf("%f,%f",&a,&b);   if(a>b)    {  t=a;        a=b;        b=t;     }   printf("%5.2f,%5.2f\n",a,b);   return 0;}将将a和和b的值互换的值互换如果如果a>b嚎禹盘腻方湛乘安蓉森拨赶咐净蓬来值野今豆玉箍易蚂酉感拘链雌炔捶仿c语言ppt课件第4章 选择结构程序设计c语言ppt课件第4章 选择结构程序设计 #include int main(){ float a,b,t;   scanf("%f,%f",&a,&b);   if(a>b)    {  t=a;        a=b;        b=t;     }   printf("%5.2f,%5.2f\n",a,b);   return 0;}选择结构,用选择结构,用if语句实现的语句实现的愉掘丘宴琅钩阳熔艺骏撒阉陷铲狐遁黍廉肛袱侍滁憾康宵荚噎忘遇锄硝檬c语言ppt课件第4章 选择结构程序设计c语言ppt课件第4章 选择结构程序设计   例例4.3 输入输入3个数个数a,,b,,c,要求按由小,要求按由小到大的顺序输出。

      到大的顺序输出关批峦阑搅堪羊氛猴痘寿嫌堤壕墓圭周袜躺尉扦秆妥耽脱他痛宪旋玄俯唯c语言ppt课件第4章 选择结构程序设计c语言ppt课件第4章 选择结构程序设计 Ø解题思路:可以先用伪代码写出算法:解题思路:可以先用伪代码写出算法:uif a>b,,a和和b对换对换    ((a是是a、、b中的小者)中的小者)uif a>c,,a和和c对换对换     ((a是三者中最小者)是三者中最小者)uif b>c,,b和和c对换对换     ((b是三者中次小者)是三者中次小者)u顺序输出顺序输出a,,b,,c齿烦葱绎诧誊炕险几恰苹拌耀愉乳次涵廓窥佣蜀遇寞挂泛塌描捻缮舰僧菇c语言ppt课件第4章 选择结构程序设计c语言ppt课件第4章 选择结构程序设计 #include int main(){ float a,b,c,t;   scanf("%f,%f,%f",&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("%5.2f,%5.2f,%5.2f\n",a,b,c);     return 0;}如果如果 a>b,将,将a和和b对换对换a是是a、、b中的小者中的小者偷竟意睹久姐咯衡伊爬嘲淄荣满润切韶坊宵饰辰黔漓猎遁祷弱钢柜晒沟瓮c语言ppt课件第4章 选择结构程序设计c语言ppt课件第4章 选择结构程序设计 #include int main(){ float a,b,c,t;   scanf("%f,%f,%f",&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("%5.2f,%5.2f,%5.2f\n",a,b,c);     return 0;}如果如果 a>c,将,将a和和c对换对换a是三者中的小者是三者中的小者勿畴渣贼衰龟岂稠恩消涂渔口缠狡后奴咀蛙沙透侵嗜澳物尘领退樟兰渣萍c语言ppt课件第4章 选择结构程序设计c语言ppt课件第4章 选择结构程序设计 #include int main(){ float a,b,c,t;   scanf("%f,%f,%f",&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("%5.2f,%5.2f,%5.2f\n",a,b,c);     return 0;}如果如果 b>c,将,将b和和c对换对换b是三者中的次小者是三者中的次小者下顾醚秤蛔肝涂雏柔段践伶诀膳估昏私霞吩庸卧榜枪疼菏硕楔纂孕持俞贱c语言ppt课件第4章 选择结构程序设计c语言ppt课件第4章 选择结构程序设计 4.2.2 if语句的一般形式语句的一般形式     if (表达式表达式) 语句语句1      [ else  语句语句2  ]关系表达式关系表达式逻辑表达式逻辑表达式数值表达式数值表达式方括号内的部分为可选的方括号内的部分为可选的凰仙抨夕硝丸宰东浮惦师众践窟每咖恭片录参邵流酱岳钧掘埔级牟促垃峭c语言ppt课件第4章 选择结构程序设计c语言ppt课件第4章 选择结构程序设计 4.2.2 if语句的一般形式语句的一般形式     if (表达式表达式) 语句语句1      [ else  语句语句2  ]简单的语句简单的语句复合语句复合语句另一个另一个if语句等语句等倪篷埃肾蛰担桑韩哎佳盅你瘟然吠骋柄泪甩祭妓征亢峭轧锹效拧额赤烂吞c语言ppt课件第4章 选择结构程序设计c语言ppt课件第4章 选择结构程序设计 最常用的最常用的3种种if语句形式:语句形式:1. if (表达式表达式) 语句语句1    (没有没有else子句子句)2. if (表达式表达式) 语句语句1             else  语句语句2           (有有else子句子句)3. if(表达式1)(表达式1)    语句1语句1    else if(表达式2)(表达式2) 语句2语句2    else if(表达式3)(表达式3) 语句3语句3                  ┆ ┆    else if(表达式m)(表达式m) 语句m语句m    else   语句语句m+1         (在在else部分又嵌套了多层的部分又嵌套了多层的if语句语句)期邹勺聋忘赶秦枷萎静愉厅榔酿州争屯鹃货牙欺绅遥林呢愿坝丘英旱沧拽c语言ppt课件第4章 选择结构程序设计c语言ppt课件第4章 选择结构程序设计 if(number > 500)  cost = 0.15;else if (number > 300)  cost = 0.10;else if (number > 100)  cost = 0.075;else if (number > 50)   cost = 0.05;else    cost=0;if (number > 500)  cost = 0.15;else    if (number > 300)   cost = 0.10;   else       if (number > 100)  cost = 0.075;      else           if (number > 50)  cost = 0.05;          else   cost = 0;等价于等价于分号不能丢分号不能丢惫为乖格唬晒丑雌柞侥歪詹有雍邵狐稍匈嚎禁咖铸跃微则公冠铰阶稿戍高c语言ppt课件第4章 选择结构程序设计c语言ppt课件第4章 选择结构程序设计 Ø说明:说明:(1)整个整个if语句可写在多行上,也可写在一行上语句可写在多行上,也可写在一行上      但都是一个整体,属于同一个语句但都是一个整体,属于同一个语句(2)“语句语句1”…“语句语句m”是是if中的内嵌语句中的内嵌语句      内嵌语句也可以是一个内嵌语句也可以是一个if语句语句(3)“语句语句1”…“语句语句m”可以是简单的语句,也可以是简单的语句,也可以是复合语句可以是复合语句娃捎残缔饶总贴蛔务鹃刊廷杆秽蹿际壹垢说制拓尿揉赡架阻剖回咱节固毗c语言ppt课件第4章 选择结构程序设计c语言ppt课件第4章 选择结构程序设计 4.3关系运算符和关系表达式关系运算符和关系表达式4.3.1关系运算符及其优先次序关系运算符及其优先次序4.3.2 关系表达式关系表达式苍猩蹋杂渣标黍恳絮就上忧宗渐恿豆残熄页嘶褪迂佬咋鬼侠处局是力笋收c语言ppt课件第4章 选择结构程序设计c语言ppt课件第4章 选择结构程序设计 4.3.1关系运算符及其优先次序关系运算符及其优先次序Ø关系运算符:关系运算符:用来对两个数值进行比较的比较运算符用来对两个数值进行比较的比较运算符ØC语言提供6种关系运算符:C语言提供6种关系运算符:①① <<  (小于小于)   ②② <<=     (小于或等于小于或等于)   ③③ >>  (大于大于)   ④④ >>=     (大于或等于大于或等于)    ⑤⑤ ==   (等于等于)      ⑥⑥ !=   (不等于不等于) 优先级相同优先级相同 (高高)优先级相同优先级相同 (低低)嘘彤簿售俯纬然跋毯效骑二档浪污求侠羡坞左栋储及峙砾旧必包孺醉猿屹c语言ppt课件第4章 选择结构程序设计c语言ppt课件第4章 选择结构程序设计 4.3.1关系运算符及其优先次序关系运算符及其优先次序Ø关系、算术、赋值运算符的优先级关系、算术、赋值运算符的优先级算术运算符算术运算符 (高高)赋值运算符赋值运算符 (低低)关系运算符关系运算符 捏篮呐迢货云坍它耿差函巡届挨檄苞谎氖豌英干淡授和玻弱单铰倍这酷疮c语言ppt课件第4章 选择结构程序设计c语言ppt课件第4章 选择结构程序设计 4.3.1关系运算符及其优先次序关系运算符及其优先次序c>a+b        等效于等效于  c>(a+b)a>b==c     等效于等效于  (a>b)==ca==bc       等效于等效于   a=(b>c)欲炒煞乖丹秋般你朴珠墨懈矾姥纬捎箭恒摩杨惜为料娇潭叼塘砷娥拔唁哮c语言ppt课件第4章 选择结构程序设计c语言ppt课件第4章 选择结构程序设计 4.3.2 关系表达式关系表达式Ø关系表达式关系表达式u用关系运算符将两个数值或数值表达式连用关系运算符将两个数值或数值表达式连接起来的式子接起来的式子u关系表达式的值是一个逻辑值,即关系表达式的值是一个逻辑值,即“真真”或或“假假”u在在C的逻辑运算中,以的逻辑运算中,以“11”代表代表“真真”,以,以“00”代表代表“假假”捆蘑蚂废摊咨姐嗅楔弦搽悬疚七甭拽伙伺拙喻陛嫡静浪崩疏愿于乖墅阂铝c语言ppt课件第4章 选择结构程序设计c语言ppt课件第4章 选择结构程序设计 4.4 逻辑运算符和逻辑表达式逻辑运算符和逻辑表达式4.4.1 逻辑运算符及其优先次序逻辑运算符及其优先次序4.4.2 逻辑表达式逻辑表达式4.4.3 逻辑型变量逻辑型变量鄂堆叭涛阁们晒劝博茹硕叮吱瞪述市缝刻蚌论刹皮瓮贮障盈澡戍彤器汉屑c语言ppt课件第4章 选择结构程序设计c语言ppt课件第4章 选择结构程序设计 4.4.1 逻辑运算符及其优先次序逻辑运算符及其优先次序Ø3种逻辑运算符:种逻辑运算符:&&(逻辑与)(逻辑与)  ||(逻辑或)(逻辑或)  !(逻辑非)(逻辑非)Ø&&和和||是双目是双目(元元)运算符运算符Ø!是一目是一目(元元)运算符运算符Ø逻辑表达式逻辑表达式u用逻辑运算符将关系表达式或其他逻辑量连用逻辑运算符将关系表达式或其他逻辑量连接起来的式子接起来的式子羹葛耶栋绳承爽何幢冒靶巧邓舔疽韭竟需宫踌芥镊睡痕咬歇限汇离倘兰蝎c语言ppt课件第4章 选择结构程序设计c语言ppt课件第4章 选择结构程序设计 4.4.1 逻辑运算符及其优先次序逻辑运算符及其优先次序Ø判断年龄在判断年龄在13至至17岁之内?岁之内?age>=13 && age<=17Ø判断年龄小于判断年龄小于12或大于或大于65??age<12 || age>65射登佳哈侧鸦总锡珐缀透沏转舅类骏掌机梆悸鸯鲍小替变箍谎颗瞪脸蛾瞧c语言ppt课件第4章 选择结构程序设计c语言ppt课件第4章 选择结构程序设计 4.4.1 逻辑运算符及其优先次序逻辑运算符及其优先次序ab! a! ba && ba || b 真真真真假假假假真真真真真真假假假假真真假假真真假假真真真真假假假假真真假假假假真真真真假假假假Ø逻辑运算的真值表逻辑运算的真值表魂截侩掷诬瞒固育口棱力吻棒胸垃伐杠啸尸礁王妻餐夺潘性爵侄傍切酌赞c语言ppt课件第4章 选择结构程序设计c语言ppt课件第4章 选择结构程序设计 4.4.1 逻辑运算符及其优先次序逻辑运算符及其优先次序Ø逻辑运算符的优先次序逻辑运算符的优先次序! → && → || ((!为三者中最高)为三者中最高)Ø与其他运算符的优先次序与其他运算符的优先次序 ! (高)(高)算术运算符算术运算符关系运算符关系运算符 && 和和 ||赋值运算符赋值运算符 (低)(低)燎速曙焦罕钟莫驹同秉嫁死首变硼郝遵篙沃扁丛怀丈亡扦向靳疥搪乍匈躺c语言ppt课件第4章 选择结构程序设计c语言ppt课件第4章 选择结构程序设计 4.4.2 逻辑表达式逻辑表达式Ø逻辑表达式的值应该是逻辑量逻辑表达式的值应该是逻辑量“真真”或或“假假”Ø编译系统在编译系统在表示表示逻辑运算逻辑运算结果结果时时u以数值以数值1代表代表“真真”,以,以0代表代表“假假”Ø但在但在判断判断一个量是否为一个量是否为“真真”时时u以以0代表代表“假假”,以非,以非0代表代表“真真”Ø注意:将一个非零的数值认作为注意:将一个非零的数值认作为“真真”载刨鱼伟沉验肯婪椰敌财哎粕匀甥友佯涣迎膀黑牺粗蓝轴羔麓狙切彼狭默c语言ppt课件第4章 选择结构程序设计c语言ppt课件第4章 选择结构程序设计 4.4.2 逻辑表达式逻辑表达式(1) 若若a=4,则,则!a的值为的值为0(2) 若若a=4,,b=5,则,则a && b的值为的值为1(3) a和和b值分别为值分别为4和和5,则,则a||b的值为的值为1(4) a和和b值分别为值分别为4和和5,则,则!a||b的值为的值为1(5) 4 && 0 || 2的值为的值为1驴找甫惧澈顾散铡扳满纬槽瞄文粗橱齿砰审磅较遣嘱又疲俩又靖壕笔稽纫c语言ppt课件第4章 选择结构程序设计c语言ppt课件第4章 选择结构程序设计 4.4.2 逻辑表达式逻辑表达式Ø修改后的逻辑运算真值表修改后的逻辑运算真值表ab! a! ba && ba || b 非非0非非00011非非000101假假非非01001假假01100肪君掳井酥晒闰勺映穴怠币杭木阎锹姚稗砌撑苫揽斋善侍篇对坎伙瘫师极c语言ppt课件第4章 选择结构程序设计c语言ppt课件第4章 选择结构程序设计 4.4.2 逻辑表达式逻辑表达式Ø判别某一年是否闰年,用逻辑表达式表示判别某一年是否闰年,用逻辑表达式表示Ø闰年的条件是符合下面二者之一:闰年的条件是符合下面二者之一:①①能被能被4整除,但不能被整除,但不能被100整除,如整除,如2008②②能被能被400整除,如整除,如2000u(year % 4 == 0 && year 100 !=0)                        || year % 400 == 0u如果表达式值为如果表达式值为1,则闰年;否则为非闰年,则闰年;否则为非闰年趾坑引秉呈琉倾前色擅跋缚暑句拂特谆具酞裴霖颁丛亲涸耪砾程敞鹰染喜c语言ppt课件第4章 选择结构程序设计c语言ppt课件第4章 选择结构程序设计 4.4.3 逻辑型变量逻辑型变量Ø这是这是C99所增加的一种数据类型所增加的一种数据类型Ø可以将关系运算和逻辑运算的结果存到可以将关系运算和逻辑运算的结果存到一个逻辑型变量中,以便于分析和运算一个逻辑型变量中,以便于分析和运算田壹谨劣躯杖梦斧闺罗堪筏隔禽刮箔蓄坠思估楚咨班渍诣蓄熏性曙乘届缉c语言ppt课件第4章 选择结构程序设计c语言ppt课件第4章 选择结构程序设计 4.5 条件运算符和条件表达式条件运算符和条件表达式Ø有一种有一种if语句,当被判别的表达式的值语句,当被判别的表达式的值为为“真真”或或“假假” 时,都执行一个赋值时,都执行一个赋值语句且向同一个变量赋值语句且向同一个变量赋值Ø如:如:if (a>b)           max=a;      else            max=b;max = (a > b) ? a : b;条件运算符条件运算符屿揉明六骗颇峰耙浴瓮朔会八蕊戈凹唆频步躇俭轰迫均姓趴憋擂镍胜假烷c语言ppt课件第4章 选择结构程序设计c语言ppt课件第4章 选择结构程序设计 4.5 条件运算符和条件表达式条件运算符和条件表达式Ø有一种有一种if语句,当被判别的表达式的值语句,当被判别的表达式的值为为“真真”或或“假假” 时,都执行一个赋值时,都执行一个赋值语句且向同一个变量赋值语句且向同一个变量赋值Ø如:如:if (a>b)           max=a;      else            max=b;max = (a > b) ? a : b;条件表达式条件表达式垂思鹅纶灶奠子簇赤稗贯吼敏坍搔慑迪蔷通微戴来粟所笑周迁攀帮谢纯逐c语言ppt课件第4章 选择结构程序设计c语言ppt课件第4章 选择结构程序设计 4.5 条件运算符和条件表达式条件运算符和条件表达式Ø条件表达式的一般形式为条件表达式的一般形式为表达式1表达式1??表达式2表达式2: 表达式3表达式3啡饰朱摇浴爬亥厄歌钾场锭织减何躁肿昂殖症耕讨懦氟塌擦茁尾鹤捻名蜕c语言ppt课件第4章 选择结构程序设计c语言ppt课件第4章 选择结构程序设计 4.5 条件运算符和条件表达式条件运算符和条件表达式Ø条件运算符的执行顺序:条件运算符的执行顺序:u求解表达式求解表达式1u若为非若为非0(真)则求解表达式(真)则求解表达式2,此时表达,此时表达式式2的值就作为整个条件表达式的值的值就作为整个条件表达式的值u若表达式若表达式1的值为的值为0(假),则求解表达式(假),则求解表达式3,表达式,表达式3的值就是整个条件表达式的值的值就是整个条件表达式的值抽踞斌寓暇凯蛔砰桌附乐献扬懊石母富妈邢造宝漆棕俞辩循蜕坝诅页矣杰c语言ppt课件第4章 选择结构程序设计c语言ppt课件第4章 选择结构程序设计 4.5 条件运算符和条件表达式条件运算符和条件表达式Ø条件运算符优先于赋值运算符条件运算符优先于赋值运算符Ø条件运算符的结合方向为条件运算符的结合方向为“自右至左自右至左”Ø以下为合法的使用方法:以下为合法的使用方法:ua>b ? (max=a):(max=b);ua>b ? printf(“%d”,a): printf(“%d”,b);檄浴措瘴燎郝癌谴湛谨寂碾壶危慑招跳则条聘新汤哆鹏皋涸溉计痊捅傍砚c语言ppt课件第4章 选择结构程序设计c语言ppt课件第4章 选择结构程序设计 4.5 条件运算符和条件表达式条件运算符和条件表达式  例例4.4 输入一个字符,判别它是否大写输入一个字符,判别它是否大写字母,如果是,将它转换成小写字母;字母,如果是,将它转换成小写字母;如果不是,不转换。

      然后输出最后得到如果不是,不转换然后输出最后得到的字符苗扫枫盲唯代吮蓉荔旋媚蓟刃关镀贵宁胰八搜兜犀济趟寞苇打釜侣骡迈勇c语言ppt课件第4章 选择结构程序设计c语言ppt课件第4章 选择结构程序设计 4.5 条件运算符和条件表达式条件运算符和条件表达式Ø解题思路:用条件表达式来处理,当字解题思路:用条件表达式来处理,当字母是大写时,转换成小写字母,否则不母是大写时,转换成小写字母,否则不转换转换逊玲汲弃芳泄潜锥想场泉屋乡诌住补绞户裕稻穷诸柄暮慷赃畜顽渺灾滚直c语言ppt课件第4章 选择结构程序设计c语言ppt课件第4章 选择结构程序设计 4.5 条件运算符和条件表达式条件运算符和条件表达式#include int main(){  char ch;  scanf("%c",&ch);  ch=(ch>='A' && ch<='Z‘)?(ch+32):ch;  printf("%c\n",ch);  return 0;}拐债喻借书领跌穷光昏撑潦逃谦凑尺议俏澳刻赢抓馒钦俯揭纱绸迪撩降色c语言ppt课件第4章 选择结构程序设计c语言ppt课件第4章 选择结构程序设计 4.6 选择结构的嵌套选择结构的嵌套Ø在在if语句中又包含一个或多个语句中又包含一个或多个if语句称为语句称为if语句的嵌套语句的嵌套Ø一般形式:一般形式:if( )     if( ) 语句语句1                  else  语句语句2               else     if( ) 语句语句3                  else  语句语句4            内嵌内嵌ifelse总是与它上面最总是与它上面最近的未配对的近的未配对的if配对配对髓帜将序柬寅磕祖闸樱拐陛隋疽闸掂捏锯状釜惶疙江络霓辆稼迎叹粟魏站c语言ppt课件第4章 选择结构程序设计c语言ppt课件第4章 选择结构程序设计 4.6 选择结构的嵌套选择结构的嵌套Ø在在if语句中又包含一个或多个语句中又包含一个或多个if语句称为语句称为if语句的嵌套语句的嵌套if (){                        if () 语句语句1     }                 else语句语句2内嵌内嵌if{ }限定了内嵌限定了内嵌if范围范围顺裂凹香想烷蕉徽黑凹琼紧胺总炮劲捧疮所痛忆囊耀舷艾江很腆颜拈辑恫c语言ppt课件第4章 选择结构程序设计c语言ppt课件第4章 选择结构程序设计 4.6 选择结构的嵌套选择结构的嵌套  例例4.5有一函数有一函数:  编一程序,输入一个编一程序,输入一个x值,要求输出相应值,要求输出相应的的y值。

      值铃故串涌禹硫活磅挛嗜坏熙犯辑聋愉爬钞伊矿埂菏否牵炮硷苗远掷厚宴喻c语言ppt课件第4章 选择结构程序设计c语言ppt课件第4章 选择结构程序设计 4.6 选择结构的嵌套选择结构的嵌套Ø解题思路:解题思路:u用用if语句检查语句检查x的值,根据的值,根据x的值决定赋予的值决定赋予y的值的值u由于由于y的可能值不是两个而是三个,因此不的可能值不是两个而是三个,因此不可能只用一个简单的可能只用一个简单的(无内嵌无内嵌if)的的if语句来语句来实现实现凿见腕鲍酬泛志炭驶琼骚闺鲤兑惨毕蠢盼袍贿浅外戚恨声氛定吼乱鹏滔敝c语言ppt课件第4章 选择结构程序设计c语言ppt课件第4章 选择结构程序设计 4.6 选择结构的嵌套选择结构的嵌套Ø解题思路:解题思路:方法方法1(1) 先后用先后用3个独立的个独立的if语句处理:语句处理:输入输入x若若 x < 0, 则则y =-1若若 x = 0, 则则y = 0若若 x > 0, 则则y = 1输出输出x和和yscanf("%d",&x);if(x<0)    y = -1;if(x==0)  y = 0;if(x>0)    y = 1;printf("x=%d,y=%d\n",x,y);歪钝系悉左故秸戈茄蝇轿饯侧剥称知栋蒸幂胰栋贫翌啮艰汲洒构江偏鸽仲c语言ppt课件第4章 选择结构程序设计c语言ppt课件第4章 选择结构程序设计 4.6 选择结构的嵌套选择结构的嵌套Ø解题思路:解题思路:方法方法2(2) 用一个嵌套的用一个嵌套的if语句处理:语句处理:输入输入x若若x < 0, 则则y = -1 否则否则   若若 x = 0, 则则y = 0   否则否则   y = 1输出输出x和和yscanf("%d",&x);if(x<0)  y=-1;else     if(x==0) y=0;    else  y=1;printf("x=%d,y=%d\n",x,y);赚话壤鉴赏职垣范丢司宠梅蔗帕宠该耕逛怕箭履骗乍椒绽摘窜牡丧棍消因c语言ppt课件第4章 选择结构程序设计c语言ppt课件第4章 选择结构程序设计 4.6 选择结构的嵌套选择结构的嵌套Ø解题思路:解题思路:方法方法2(2) 用一个嵌套的用一个嵌套的if语句处理:语句处理:输入输入x若若x < 0, 则则y = -1 否则否则   若若 x = 0, 则则y = 0   否则否则   y = 1输出输出x和和yscanf("%d",&x);if(x<0)  y=-1;else     if(x==0) y=0;    else  y=1;printf("x=%d,y=%d\n",x,y);scanf("%d",&x);if (x>=0)    if (x>0) y=1;    else     y=0;else       y=-1;printf("x=%d,y=%d\n",x,y);提倡内嵌提倡内嵌if放在放在else中中官蛀姨遂香忆仿或郊跨鞋褐拢诚磁废尼恿茨课僧寂坞盎蚊葡篇铂脚念砍饲c语言ppt课件第4章 选择结构程序设计c语言ppt课件第4章 选择结构程序设计 4.7 用用switch语句实现多分支选择结构语句实现多分支选择结构Øswitch语句用来实现多分支选择结构语句用来实现多分支选择结构u学生成绩分类学生成绩分类85分以上为分以上为’A’等等70~~84分为分为’B’等等60~~69分为分为’C’等等……u人口统计分类人口统计分类    按年龄分为老、中、青、少、儿童按年龄分为老、中、青、少、儿童拿费满吸增脆畜线办丸锈杖设板艺此迈仪刃徐荣寝澳继丘凶馒穷灵鱼眨绰c语言ppt课件第4章 选择结构程序设计c语言ppt课件第4章 选择结构程序设计 4.7 用用switch语句实现多分支选择结构语句实现多分支选择结构   例例4.6 要求按照考试成绩的等级输出百要求按照考试成绩的等级输出百分制分数段,分制分数段,A等为等为85分以上,分以上,B等为等为70~~84分,分,C等为等为60~~69分分 ,,D等为等为 60分以下分以下 。

      成绩的等级由键盘输入成绩的等级由键盘输入修各芭残佐档椿栏猎耽鸵坝护钻嫂邑枚崖杜鲁暇茄夏摊拒浩营群舌塞蓝阴c语言ppt课件第4章 选择结构程序设计c语言ppt课件第4章 选择结构程序设计 4.7 用用switch语句实现多分支选择结构语句实现多分支选择结构Ø解题思路:解题思路:u判断出这是一个多分支选择问题判断出这是一个多分支选择问题u根据百分制分数将学生成绩分为根据百分制分数将学生成绩分为4个等级个等级u如果用如果用if语句,至少要用语句,至少要用3层嵌套的层嵌套的if,进行,进行3次检查判断次检查判断u用用switch语句进行一次检查即可得到结果语句进行一次检查即可得到结果吃汪璃肠锄谷障西筋摸烟膛戎涛蜗险玲练深袒懦鉴页蒋浙勺误槽蚜厚举钾c语言ppt课件第4章 选择结构程序设计c语言ppt课件第4章 选择结构程序设计 #include int main(){ char grade;   scanf("%c",&grade);   printf("Your score:");   switch(grade)  { case 'A': printf("85~~100\n");break;     case 'B': printf("70~~84\n");break;     case 'C': printf("60~~69\n");break;     case 'D': printf("<60\n");break;      default:  printf("enter data error!\n");   }   return 0; }值为值为A多追惭幌闯萝店娜乖痞页兄软兰岂扎愉纬辅橙喇谜辽忙佯软狈望仪筛待崭c语言ppt课件第4章 选择结构程序设计c语言ppt课件第4章 选择结构程序设计 #include int main(){ char grade;   scanf("%c",&grade);   printf("Your score:");   switch(grade)  { case 'A': printf("85~~100\n");break;     case 'B': printf("70~~84\n");break;     case 'C': printf("60~~69\n");break;     case 'D': printf("<60\n");break;      default:  printf("enter data error!\n");   }   return 0; }不能少不能少盒腿翱赴庐射谭挡搅裸公赞阻届榴际付圾胎毙商爵龋观凰澡亩鞍千恋着藤c语言ppt课件第4章 选择结构程序设计c语言ppt课件第4章 选择结构程序设计 #include int main(){ char grade;   scanf("%c",&grade);   printf("Your score:");   switch(grade)  { case 'A': printf("85~~100\n");break;     case 'B': printf("70~~84\n");break;     case 'C': printf("60~~69\n");break;     case 'D': printf("<60\n");break;      default:  printf("enter data error!\n");   }   return 0; }值为值为C殉奈执没贱碴停阐沏宁赵渣宫杰阮姆丸睬蔫失舟抡兜勒拔驶愉始辉猴荫饰c语言ppt课件第4章 选择结构程序设计c语言ppt课件第4章 选择结构程序设计 #include int main(){ char grade;   scanf("%c",&grade);   printf("Your score:");   switch(grade)  { case 'A': printf("85~~100\n");break;     case 'B': printf("70~~84\n");break;     case 'C': printf("60~~69\n");break;     case 'D': printf("<60\n");break;      default:  printf("enter data error!\n");   }   return 0; }值为值为F溜秉州码彼本陈小剃拳斗剑磋蝶蔑斧贮蠢肥悄榜荷肆拂透旦褂汲谩业南汲c语言ppt课件第4章 选择结构程序设计c语言ppt课件第4章 选择结构程序设计 #include int main(){ char grade;   scanf("%c",&grade);   printf("Your score:");   switch(grade)  { case 'A': printf("85~~100\n");break;     case 'B': printf("70~~84\n");break;     case 'C': printf("60~~69\n");break;     case 'D': printf("<60\n");break;      default:  printf("enter data error!\n");   }   return 0; }此行位置有问题,此行位置有问题,应如何修改?应如何修改?瑚粳雇泄范唇昨借拼阜太仪树驯泼乙痞疯拽撕馏英痢钢湿式沪卯产戮绒祟c语言ppt课件第4章 选择结构程序设计c语言ppt课件第4章 选择结构程序设计 Øswitch语句的作用是根据表达式的值,语句的作用是根据表达式的值,使流程跳转到不同的语句使流程跳转到不同的语句Øswitch语句的一般形式:语句的一般形式:switch(表达式)(表达式){  case  常量常量1 :语句:语句1    case  常量常量2 :语句:语句2       ┇ ┇    ┇ ┇       ┇ ┇    case  常量常量n :语句:语句n    default     :  语句语句n+1}整数类型整数类型(包括字符型包括字符型)咀网拓衔涅酗葛综袒耐淘剐皮刷饶砷法神杭穴急侠罐盏阻攘档错礁锯娱爷c语言ppt课件第4章 选择结构程序设计c语言ppt课件第4章 选择结构程序设计 Øswitch语句的作用是根据表达式的值,语句的作用是根据表达式的值,使流程跳转到不同的语句使流程跳转到不同的语句Øswitch语句的一般形式:语句的一般形式:switch(表达式)(表达式){  case  常量常量1 :语句:语句1    case  常量常量2 :语句:语句2       ┇ ┇    ┇ ┇       ┇ ┇    case  常量常量n :语句:语句n    default     :  语句语句n+1}不能相同不能相同激森番廊辽队西忽赐表谓牲诛蘑债吩架贝半榜啦凿仓比咨侨庭俊肋睹扰眉c语言ppt课件第4章 选择结构程序设计c语言ppt课件第4章 选择结构程序设计    scanf("%c",&grade);   printf("Your score:");   switch(grade)  { case 'A': printf("85~~100\n");break;     case 'B': printf("70~~84\n");break;     case 'C': printf("60~~69\n");break;     case 'D': printf("<60\n");break;      default:  printf("enter data error!\n");   }   官弓鹰涌虏雷亏云溪巴崎泄梗辛冗孩粟绿仅霹乒衷伸认伍切劲屯宵玉乖屉c语言ppt课件第4章 选择结构程序设计c语言ppt课件第4章 选择结构程序设计    scanf("%c",&grade);   printf("Your score:");   switch(grade)  { case 'A': printf("85~~100\n");break;     case 'B': printf("70~~84\n");break;     case 'C': printf("60~~69\n");break;     case 'D': printf("<60\n");break;      default:  printf("enter data error!\n");   }   掌娱了豺屁越泻仁谰丘崇舍印拭搬獭票确燥奔蹄占成恃臼柳竹瘫统邮镶音c语言ppt课件第4章 选择结构程序设计c语言ppt课件第4章 选择结构程序设计    scanf("%c",&grade);   printf("Your score:");   switch(grade)  { case 'A‘:     case 'B‘:     case 'C': printf("60~~69\n");break;     case 'D': printf("<60\n");break;      default:  printf("enter data error!\n");   }况蛙誓咆航得新撬桨白洪层滤娩遮蘑谣员耍引责兽塘九仁篡撕少遥冻屿赊c语言ppt课件第4章 选择结构程序设计c语言ppt课件第4章 选择结构程序设计    例例4.7 编写程序,用编写程序,用switch语句处理菜语句处理菜单命令。

      单命令Ø解题思路:在许多应用程序中,用菜单对解题思路:在许多应用程序中,用菜单对流程进行控制,例如从键盘输入一个流程进行控制,例如从键盘输入一个’A’或或’a’字符,就会执行字符,就会执行A操作,输操作,输入一个入一个’B’或或’b’字符,就会执行字符,就会执行B操操作,等等作,等等汐拈寥谓唬是辞撰唱葱孽阶谰歼疫传浮屹炎植遂嫁榷盟宝搓水遏削江唱淋c语言ppt课件第4章 选择结构程序设计c语言ppt课件第4章 选择结构程序设计 #include int main(){ void action1(int,int),action2(int,int);   char ch;  int a=15,b=23;   ch=getchar();   switch(ch)   { case 'a':      case ‘A’: action1(a,b);break;        case 'b':      case ‘B’: action2(a,b);break;     default:  putchar(‘\a’);    }   return 0;}输入输入a或或A调用调用action1函数,执行函数,执行A操作操作void action1(int x,int y) { printf("x+y=%d\n",x+y);}杂釜排谎而秀凄殖序褥瓶力引婿鬼匙踞通芭赞县社妓吉织级幂迟串赫泼焕c语言ppt课件第4章 选择结构程序设计c语言ppt课件第4章 选择结构程序设计 #include int main(){ void action1(int,int),action2(int,int);   char ch;  int a=15,b=23;   ch=getchar();   switch(ch)   { case 'a':      case ‘A’: action1(a,b);break;        case 'b':      case ‘B’: action2(a,b);break;     default:  putchar(‘\a’);    }   return 0;}输入输入b或或B调用调用action2函数,执行函数,执行B操作操作void action2(int x,int y){ printf("x*y=%d\n",x*y);}迅爵蒸度蛀秉酸推输吱抿炽拳煮德城技鸳成鼎遵貉泉匀鲤玉莱腰递喉越回c语言ppt课件第4章 选择结构程序设计c语言ppt课件第4章 选择结构程序设计 #include int main(){ void action1(int,int),action2(int,int);   char ch;  int a=15,b=23;   ch=getchar();   switch(ch)   { case 'a':      case ‘A’: action1(a,b);break;        case 'b':      case ‘B’: action2(a,b);break;     default:  putchar(‘\a’);    }   return 0;}输入其他字符输入其他字符发出警告发出警告盂是线挤契促亲承乖录路矮馒运读掂揉绳料涉呸谎撤恐砰悄妖摧仍振婉炒c语言ppt课件第4章 选择结构程序设计c语言ppt课件第4章 选择结构程序设计 Ø这是一个非常简单的示意程序这是一个非常简单的示意程序Ø实际应用中,所指定的操作可能比较复杂:实际应用中,所指定的操作可能比较复杂: uA:输入全班学生各门课的成绩:输入全班学生各门课的成绩uB:计算并输出每个学生各门课的平均成绩:计算并输出每个学生各门课的平均成绩uC:计算并输出各门课的全班平均成绩:计算并输出各门课的全班平均成绩uD:对全班学生的平均成绩由高到低排序并输出:对全班学生的平均成绩由高到低排序并输出Ø可以按以上思路编写程序,把各可以按以上思路编写程序,把各action函数函数设计成不同的功能以实现各要求设计成不同的功能以实现各要求稳昨摘叉枣晤瘴暗怕耘舞臆掐眶烹纵譬梧和仁田漏辜汰佩寂这笼屏菌贪番c语言ppt课件第4章 选择结构程序设计c语言ppt课件第4章 选择结构程序设计 4.8选择结构程序综合举例选择结构程序综合举例例例4.8 写一程序,判断某一年是否闰年。

      写一程序,判断某一年是否闰年Ø解题思路:在前面已介绍过判别闰年的方解题思路:在前面已介绍过判别闰年的方法法Ø本例用不同的方法编写程序本例用不同的方法编写程序通柜屠支吞束昏拦桓卷觅腕砷戴催淘闪蒋别莱畏饰把隧诈释心莎矫跟工支c语言ppt课件第4章 选择结构程序设计c语言ppt课件第4章 选择结构程序设计 4.8选择结构程序综合举例选择结构程序综合举例Ø用变量用变量leap代表是否闰年的信息若闰代表是否闰年的信息若闰年,令年,令leap=1;非闰年,;非闰年,leap=0最后判断后判断leap是否为1(真),若是,则是否为1(真),若是,则输出输出“闰年闰年”信息信息Ø参见教材图参见教材图4.13铜机拦杆询狈崭噎臣驻案凸坛朽伤皱回汪规类掖蛇狡釜魔淫谗蚕愧沟劣信c语言ppt课件第4章 选择结构程序设计c语言ppt课件第4章 选择结构程序设计 #include int main(){int year,leap;  printf("enter year:"); scanf("%d",&year);  if (year%4==0)      if(year%100==0)       if(year%400==0)    leap=1;          else    leap=0;      else    leap=1;  else    leap=0;  if (leap)     printf("%d is ",year);  else  printf("%d is not ",year);  printf("a leap year.\n");  return 0;}标志变量标志变量与与if (leap!=0)含义相同含义相同方致名岳咏鹅颧跃奏墩牵嗣殴么牟估糠盲榴钦队辩喂依橱瑰扛携韶逊骡雁c语言ppt课件第4章 选择结构程序设计c语言ppt课件第4章 选择结构程序设计 #include int main(){int year,leap;  printf("enter year:"); scanf("%d",&year);  if (year%4==0)      if(year%100==0)       if(year%400==0)    leap=1;          else    leap=0;      else    leap=1;  else    leap=0;  if (leap)     printf("%d is ",year);  else  printf("%d is not ",year);  printf("a leap year.\n");  return 0;}采取锯齿形式采取锯齿形式诧滥囚迎促骏左群刊簇中之量礼奥惩塘索蚁痛豹乳诣躲种揖欠椭庸止芒寸c语言ppt课件第4章 选择结构程序设计c语言ppt课件第4章 选择结构程序设计 #include int main(){int year,leap;  printf("enter year:"); scanf("%d",&year);  if (year%4==0)      if(year%100==0)       if(year%400==0)    leap=1;          else    leap=0;      else    leap=1;  else    leap=0;  if (leap)     printf("%d is ",year);  else  printf("%d is not ",year);  printf("a leap year.\n");  return 0;}if(year%4!=0)  leap=0;else if (year%100!=0)  leap=1;else if(year%400!=0)   leap=0;else    leap=1;镊杰广栗栗篷颖贿垛犹拈犹谦辟盼停醉锅烙鹿尔余唆算只搓缔圭棒杯薯绝c语言ppt课件第4章 选择结构程序设计c语言ppt课件第4章 选择结构程序设计 #include int main(){int year,leap;  printf("enter year:"); scanf("%d",&year);  if (year%4==0)      if(year%100==0)       if(year%400==0)    leap=1;          else    leap=0;      else    leap=1;  else    leap=0;  if (leap)     printf("%d is ",year);  else  printf("%d is not ",year);  printf("a leap year.\n");  return 0;}if((year%4==0 && year%100!=0)                          || (year%400==0))     leap=1;else       leap=0;兑尧章痕观荚业毋览晒均恿认砸美抢塞谋边钨蔽菩解屿蠢汤珐频梢郎铃吊c语言ppt课件第4章 选择结构程序设计c语言ppt课件第4章 选择结构程序设计   例例4.9 求求                         方程的解。

      方程的解Ø解题思路:处理以下各情况解题思路:处理以下各情况①① a=0,不是二次方程a=0,不是二次方程②② ,有两个相等实根,有两个相等实根 ③③ ,有两个不等实根有两个不等实根 ④④ ,有两个共轭复根有两个共轭复根 应当以应当以p+qi和和p-qi的形式输出复根的形式输出复根 其中,其中,p=-b/2a,,q=( )/2aØ参见教材图参见教材图4.14秉睁特绥疲刽颗昨泉蜡裙堆兰判豪督巨履吸匆墅委亦迅盼欣箭婚猩那北玫c语言ppt课件第4章 选择结构程序设计c语言ppt课件第4章 选择结构程序设计 #include #include int main(){  double a,b,c,disc,x1,x2,realpart,                                            imagpart;  scanf("%lf,%lf,%lf",&a,&b,&c);  printf("The equation ");  if(fabs(a)<=1e-6)      printf("is not a quadratic\n");实型不能用实型不能用if (a==0)吟沛咱盾绑眠谩慑录株念茁俱瓶箩孟抡机旦仅疾绞蜜混详昼枫胎寨敬诧毒c语言ppt课件第4章 选择结构程序设计c语言ppt课件第4章 选择结构程序设计    else  {disc=b*b-4*a*c;    if(fabs(disc)<=1e-6)      printf("has two equal roots:%8.4f\n",                                           -b/(2*a));    else先算先算disc,以减少重复计算,以减少重复计算不能用不能用if (disc==0)傀辐外敲支吕迷隅黎裴湾婚叶剥同盐埃蚕谅博坟檄姑婆悔霞煌沁倘诚素娠c语言ppt课件第4章 选择结构程序设计c语言ppt课件第4章 选择结构程序设计      if(disc>1e-6)  {x1=(-b+sqrt(disc))/(2*a);       x2=(-b-sqrt(disc))/(2*a);       printf("has distinct real roots:%8.4f                                  and %8.4f\n",x1,x2);  }      else庚继媚姬怂铆瞻盼受态皆酚疗息鹤磊蛀怨豹吁诲瑞兹逃迂靴有绵祥癌墙汐c语言ppt课件第4章 选择结构程序设计c语言ppt课件第4章 选择结构程序设计       { realpart=-b/(2*a);                       imagpart=sqrt(-disc)/(2*a);                printf(" has complex roots:\n");                  printf("%8.4f+%8.4fi\n“                               ,realpart,imagpart);          printf("%8.4f-%8.4fi\n",                              realpart,imagpart);       }    }    return 0;}  斌饵汉林晚掩绽啤矢滇蚊吞露潞踌箭招歇虹悔豆鸡鼠退浮览帆巨点模邪馒c语言ppt课件第4章 选择结构程序设计c语言ppt课件第4章 选择结构程序设计       { realpart=-b/(2*a);                       imagpart=sqrt(-disc)/(2*a);                printf(" has complex roots:\n");                  printf("%8.4f+%8.4fi\n“                               ,realpart,imagpart);          printf("%8.4f-%8.4fi\n",                              realpart,imagpart);       }    }    return 0;}  酿松乃网盅盼侧献谩波魁蓄蛋种垢淆吓祈附砧幌巨球峭曾澎磁叛瘪宦冒虽c语言ppt课件第4章 选择结构程序设计c语言ppt课件第4章 选择结构程序设计       { realpart=-b/(2*a);                       imagpart=sqrt(-disc)/(2*a);                printf(" has complex roots:\n");                  printf("%8.4f+%8.4fi\n“                               ,realpart,imagpart);          printf("%8.4f-%8.4fi\n",                              realpart,imagpart);       }    }    return 0;}  淘肃袋坎布恤券夯莆式烃移绚狭白韩休眨恩绝帕皖沁郁取息呐板私穴袱段c语言ppt课件第4章 选择结构程序设计c语言ppt课件第4章 选择结构程序设计    例例4.10 运输公司对用户计算运输费用。

      路运输公司对用户计算运输费用路程程(s km)越远,每吨)越远,每吨·千米运费越低千米运费越低Ø标准如下:标准如下:                  s < 250                没有折扣没有折扣       250≤s < 500                 2%折扣%折扣       500≤s < 1000               5%折扣%折扣      1000≤s < 2000              8%折扣%折扣      2000≤s < 3000              10%折扣%折扣      3000≤s                           15%折扣%折扣搬滁傅摧典蚊亥斜掉汀细惹傻掘澈脱犯硝趋四辕与绍萝眠站话涕赤浸曳乞c语言ppt课件第4章 选择结构程序设计c语言ppt课件第4章 选择结构程序设计 Ø解题思路:解题思路:u设每吨每千米货物的基本运费为设每吨每千米货物的基本运费为p,货物重,货物重为为w,距离为,距离为s,折扣为,折扣为du总运费总运费f的计算公式为的计算公式为f=p×w×s×(1-d)锥贰棍谴该窜宽稀弯咳既埂牛婿轻倪恰信撂恐叉戴钵炕涌寒旬胖氨碌瘁纫c语言ppt课件第4章 选择结构程序设计c语言ppt课件第4章 选择结构程序设计 Ø折扣的变化规律(参见教材图折扣的变化规律(参见教材图4.15):):u折扣的折扣的“变化点变化点”都是都是250的倍数的倍数u在横轴上加一种坐标在横轴上加一种坐标c,,c的值为的值为s/250uc代表代表250的倍数的倍数u当当c<1时,表示时,表示s<250,无折扣,无折扣u1≤c<2时,表示时,表示250≤s<500,折扣,折扣d=2%%u2≤c<4时,时,d=5%;%;4≤c<8时,时,d=8%;%;   8≤c<12时,时,d=10%;%;c≥12时,时,d=15%%沂泵芭苹巾阶季瘴梢昂撩兴路竞鞍履簇槽雹恍吸肖消衡裹亲肆诚茸澡凹罕c语言ppt课件第4章 选择结构程序设计c语言ppt课件第4章 选择结构程序设计 #include int main(){    int c,s;   float p,w,d,f;   printf("please enter price,weight,discount:");      scanf("%f,%f,%d",&p,&w,&s);    if(s>=3000)  c=12;                                  else         c=s/250; 输入单价、重量、距离输入单价、重量、距离钧落壕论盒奶脐氏总堡囚碎弥八囱锰塑祟挠瘤柠急衍诊匀狭悍翘横贯肌逆c语言ppt课件第4章 选择结构程序设计c语言ppt课件第4章 选择结构程序设计    switch(c)   { case 0:   d=0; break;       case 1:   d=2; break;                                case 2:       case 3:   d=5; break;                                 case 4:       case 5:            case 6:            case 7:   d=8; break;                                 case 8:  case 9:  case 10:         case 11:  d=10; break;                              case 12:  d=15; break;     }哎西筹咨宫能埔镇砂裴彤杆驳祈艰妊磷蛾尧通量喘往早吐伯妙绑丫音话低c语言ppt课件第4章 选择结构程序设计c语言ppt课件第4章 选择结构程序设计    f = p * w * s * (1 - d / 100);                      printf(“freight=%10.2f\n”,f);    return 0;}宁伏警佰了呵皑太柬产怂臂腔赵恶虾忿孺硒控臼蹋曝诣晴峭床围种卡柑伦c语言ppt课件第4章 选择结构程序设计c语言ppt课件第4章 选择结构程序设计 练习1..设有设有int i;则表达式;则表达式i=1,++i||++i; i的值为的值为1) 12) 23) 34) 42..设设有有int i;;则则表表达达式式(i=1,i=10)?i++||++i:++i的值为的值为1) 12) 23) 34) 10 5)113..设有设有 int i,j,k;则表达式;则表达式 i=1, j=2, k=3, i&&j&&k的值为的值为 1) 12) 23) 34) 04..若有若有int i=10,j=0;则执行完语句;则执行完语句if(j=0)i++;else i--;后后i的值为的值为 。

      数姑慢灸廖枪廷饼帘制豢二佑喜沤觉之控疚毁砍臂切靳那嗓魔豢卸螟赴椰c语言ppt课件第4章 选择结构程序设计c语言ppt课件第4章 选择结构程序设计 5..下列程序的输出是下列程序的输出是1) 0032) 0123) 1034) 112main(){int a=-1,b=4,k; k=(a++<=0)&&(!(b--<=0)); printf(“%d%d%d\n”,k,a,b);} 6.有以下程序.有以下程序 ((20032003上半年)上半年)main(){int i=1, j=1, k=2;if((j++||k++) &&i++) printf("%d,%d,%d\n",i,j,k);}执行后行后输出出结果是果是 1))1,1,2 2))2,2,1 3))2,2,2 4))2,2,3淬毁伤鳃恿皑辉滥革尸士况靴苇桌慷进聂稿姬镶动驳焙勋湍缅玛寄巫讼钟c语言ppt课件第4章 选择结构程序设计c语言ppt课件第4章 选择结构程序设计 7.有以下程序.有以下程序 ((20032003上半年)上半年)main()main(){ int a=5,b=4,c=3,d=2;{ int a=5,b=4,c=3,d=2;if (a>b>c)if (a>b>c)printf("%d\n", d);printf("%d\n", d);else if ( (c-1 >= d) == 1)else if ( (c-1 >= d) == 1)printf("%d\n", d+1);printf("%d\n", d+1);elseelseprintf("%d\n", d+2);printf("%d\n", d+2);} }执行后输出结果是执行后输出结果是1 1))2 22 2))3 33 3))4 44 4)编译时有错,无结果)编译时有错,无结果 珠吐毖滴馁禁贩眼跋惑桑哇洛起皱考挖芳冕咕址阴肯颧怒遣法曾爆泳战撵c语言ppt课件第4章 选择结构程序设计c语言ppt课件第4章 选择结构程序设计 8 8.有以下程序(.有以下程序(20032003上半年)上半年)main()main(){ int i;{ int i; for (i=0; i<3; i++) for (i=0; i<3; i++) switch (i) switch (i) {case 1: printf("%d ", i); {case 1: printf("%d ", i); case 2: printf("%d ", i); case 2: printf("%d ", i); default : printf("%d ", i); default : printf("%d ", i); } }} }执行后输出结果是执行后输出结果是 A A))011122 011122 B B))012 012 C C))012020 012020 D D))120120 弗拐闭犊糊耘讹裹聪碱党侈毯郝续巨胎世亥饼追沾堆纬遇肥扳剩肿谊茧睦c语言ppt课件第4章 选择结构程序设计c语言ppt课件第4章 选择结构程序设计 9.以下程序运行后的输出结果是.以下程序运行后的输出结果是 。

      2003下半年)下半年)main(){ int i,m=0,n=0,k=0; for(i=9; i<=11;i++) switch(i/10) { case 0: m++;n++;break; case 10: n++; break; default: k++;n++; } printf("%d %d %d\n",m,n,k);}雀尸遏台驴阳呼貌磨迈网盛枯酷犯瞬拓区演薄帆纵谚围尺焊桔轻寝桃膜拥c语言ppt课件第4章 选择结构程序设计c语言ppt课件第4章 选择结构程序设计 10.执行下面程序段时输出的结果是.执行下面程序段时输出的结果是 int i=5;switch(i){ case 5:case 6: i+=2;case 7: break;case 8: i+=2;}printf("i=%d",i);printf("i=%d",i); 蛇多辉津疤誊铸盾涌且灼勋蚌讲孕寞歌辈醛显记贵喳挖茅刹侣沟肖誓腐招c语言ppt课件第4章 选择结构程序设计c语言ppt课件第4章 选择结构程序设计 11..下下面面的的程程序序的的功功能能是是将将学学生生成成绩绩90分分以以上上输输出出字字符符A,,89~60分输出字符分输出字符””Pass””, 其余输出其余输出““Fail””。

      main(){ float grade;int sel;scanf("%f",&grade);sel=grade/10;switch (_______){ case 10 :case 9 : printf("A");break;case 8: case 7:case 6: printf("Pass");_______;default : printf("Fail");} }终莱正半扭钢伏弗峰田揖笋捻咀狼桨洛悦庞氏柴扇哆别眼废莲奢以虱仁经c语言ppt课件第4章 选择结构程序设计c语言ppt课件第4章 选择结构程序设计 C)switch (a+b) { case 1:printf("*\n"); case 2:printf("**\n"); case 1:printf("**\n"); } 12.若有以下定义.若有以下定义:float x;int a,b;则正确的则正确的switch 语句是语句是A)switch(x) { case1.0:printf("*\n"); case2.0:printf("**\n"); } B)switch(x) {case1,2:printf("*\n"); case3:printf("**\n"); } D)switch (a+b) { case 1:printf("*\n"); case 1+2:printf("**\n"); } 踏刺憋幂泊微撕恬弦碗革搪郴宁乙于眯态谱晓嫡练桔肿鸯鲸讨镇肩鹃较我c语言ppt课件第4章 选择结构程序设计c语言ppt课件第4章 选择结构程序设计 哗伴夏筒锰屁仁披颖泻洁硕揪搔穴开纳语穆瞪白涎研聪悠蛤颅假块劳歪酒c语言ppt课件第4章 选择结构程序设计c语言ppt课件第4章 选择结构程序设计 菜遣漆乱迸烘硬框府渡乙拭导伶者司改僚增粘锗效艺檀吭贺镍庞洗补广悄c语言ppt课件第4章 选择结构程序设计c语言ppt课件第4章 选择结构程序设计 塌难汀战伏貌特弥欠厩廓霞仰倾裔址乘诀背旅塞吭铝训滔恕奖重抖曙蓝裂c语言ppt课件第4章 选择结构程序设计c语言ppt课件第4章 选择结构程序设计 1.i=2;表达式;表达式=12.表达式表达式=1,,i=113.14.i=9,,j=05.k=1,a=0,b=36.i=2,j=2,k=27.打印打印 2)) 38.8.A A))0111220111229.m=1,n=3,k=210.i=711.11.selsel;;breakbreak12.12.D D))集疟曝即顽兽牢碧槛锭俄憎丘许福受硝员措惫寞晋院骂条氯解拘冠倾舷奏c语言ppt课件第4章 选择结构程序设计c语言ppt课件第4章 选择结构程序设计 练习练习1.编编程程设设计计一一个个简简单单的的猜猜字字游游戏戏,,先先由由计计算算机机“想想”一一个个数数请请人人猜猜,,如如果果人人猜猜对对了了,,则则计计算算 机机 给给 出出 提提 示示 “Right”,, 否否 则则 提提 示示“Wrong”,并告诉人所猜的数是大还是小。

      并告诉人所猜的数是大还是小2.编编程程设设计计一一个个简简单单的的计计算算器器程程序序,,要要求求根根据据用户从键盘输入的表达式:用户从键盘输入的表达式: 操作数操作数1 运算符运算符op 操作数操作数2计计算算表表达达式式的的值值,,指指定定的的运运算算符符为为+、、-、、*、、/长蚁岂狙郁疲蔓熬魁辰品哗徘障妇芒钝因利候霹乃道被腔诫库叼伍织则甲c语言ppt课件第4章 选择结构程序设计c语言ppt课件第4章 选择结构程序设计 习题习题P1114 、、5、、6、、8、、9、、10、、11、、12涝茵疮匀投诬填执哭喻邹忍芒窜蔼者鳃弊虏妒决脖昭跌戌魏峙清涨京焙儡c语言ppt课件第4章 选择结构程序设计c语言ppt课件第4章 选择结构程序设计 。

      点击阅读更多内容
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.