《顺序选择结构.pptx》由会员分享,可在线阅读,更多相关《顺序选择结构.pptx(32页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第四章第四章 程序控制结构和程序控制结构和 结构化程序设计结构化程序设计第1页/共32页编程步骤:4.1算法及其描述 P74理解问题给出算法写出程序算法:问题的精确解决方案算法的内容:算法描述的方式:文字描述、流程图和N-S流程图需要完成的动作动作执行的顺序第2页/共32页例:从键盘中输入100个整数,对其中的正整数进行累加,最后输出结果。算法描述(自然语言)1.输入一个整数;2.如果该数0,累加它;3.如果100个数没有输入完,转步骤1;4.输入完100个数后,输出累加和。算法描述(自然语言)P74第3页/共32页流程图:使用特殊的图形符号来描述算法。算法描述(流程图)P76起止框()、处理
2、框()、输入/输出框()和判断框()表示所要执行的动作。流程线()表示动作执行的顺序。第4页/共32页算法描述(流程图)P76算法描述(自然语言)1.输入一个整数;2.如果该数0,累加它;3.如果100个数没有输入完,转步骤1;4.输入完100个数后,输出累加和。开始该数0输 入 完 100个数累加结束YNYN输入一个整数输出累加和第5页/共32页C语言的所有语句必须以分号;结束C语言的五类语句:4.2 C语句 P77-781.函数调用语句2.表达式语句3.空语句4.复合语句5.程序结构控制语句第6页/共32页1.函数调用语句 scanf(“d”,&x);2.表达式语句 P77 x=3;3.空
3、语句 P78 ;C语句概述第7页/共32页4.复合语句 P78 statement 1;statement 2;statement n;C语句概述第四章5.程序结构控制语句 条件控制 循环控制第8页/共32页1.顺序结构2.分支结构(也叫选择结构)3.循环结构4.3 C程序的基本结构 P79第9页/共32页语句 1;语句 2;语句 3;4.4 4.4 顺序结构 P80语句1语句2语句3第10页/共32页例例1 1:输入任一:输入任一3 3位数,逆序输出各位数字。例如输入位数,逆序输出各位数字。例如输入275275,输出,输出572572程序第11页/共32页例例2 2:输入一个字符,输出该字符
4、的:输入一个字符,输出该字符的ASCIIASCII码值码值程序第12页/共32页步骤:1.tx2.xy3.yt例例3 3:任意输入:任意输入2 2个不同的整数,赋给变量个不同的整数,赋给变量x,y,x,y,然后然后 交换交换x,yx,y的值,输出交换后的的值,输出交换后的x,y x,y 的值。的值。例如,输入:例如,输入:x x的值为的值为2 2,y y的值为的值为-3-3 输出:输出:x=-3x=-3,y=2y=2#includemain()int x,y,t;scanf(%d%d,&x,&y);t=x;x=y;y=t;printf(x=%d,y=%dn,x,y);第13页/共32页单分支结
5、构:if(条件)语句;4.5 4.5 选择结构(分支结构)P80可以是任意表达式:非0:真 0:假条件?语句;非00一条语句。如果需要写多条语句,必须在这多条语句外加,构成复合语句 if(3)printf(*);第14页/共32页例例4.4.4.4.输入一个字符,如果该字符是小写字母,输入一个字符,如果该字符是小写字母,就将就将 其变为大写字母,其变为大写字母,并输出。并输出。#includemain()char ch;ch=getchar();if(ch=a&ch=z)ch=ch-32;putchar(ch);putchar(ch-32);给出变量x能整除2的条件x%2=0第15页/共32页
6、双分支结构:if(条件)语句1;else 语句2;4.5 4.5 选择结构(分支结构)P82可以是任意表达式:非0:真 0:假不需要表达式一条语句。如果需要写多条语句,必须在这多条语句外加,构成复合语句条件语句1;语句2;非00第16页/共32页例5.5.输入两个整数,输出较大者#includemain()int x,y;scanf(%d%d,&x,&y);if(xy)printf(max=%dn,x);else printf(max=%dn,y);xy输出x输出y非00第17页/共32页 if(ab&ac)例6:输入3个数,输出其中的最大值打擂abc-maxmaxmaxvoid main()
7、int a,b,c,max;scanf(“%d%d%d”,&a,&b,&c);max=a;if(maxb)max=b;else;if(maxc)max=c;printf(“max is%dn”,max);第18页/共32页多分支结构(if的嵌套语句)if(条件)语句1;else 语句2;4.5 4.5 选择结构(分支结构)选择结构(分支结构)if语句if语句第19页/共32页 例7:y=x+1 (x1)x+2 (1x2)x+3 (2x3)x+4 (x3)、else中嵌套 1 2 3if(x1)y=x+1;else if (1x2)y=x+2;else if (2 x3)y=x+3;else y
8、=x+4;(1=x2)(2=x3)(1=x&x2)(2=x&x3)(x2)(x3)第20页/共32页if(exp1)语句1else if(exp2)语句2 else if(expn1)语句n1else 语句n、else中嵌套 P85第21页/共32页if(exp1)语句1else if(exp2)语句2 else if(expn1)语句n1else 语句nexp1exp n-1exp2语句2语句n-1语句n语句1非0非0非0000N个分支需要多少次比较呢?n个分支需要n1次比较第22页/共32页 例8:y=x+1 (x1)x+2 (1x2)x+3 (2x3)x+4 (x3)、if、else中都
9、嵌套 1 2 3if(x2)if(x1)y=x+1;else y=x+2;else if(x3)y=x+3;else y=x+4;第23页/共32页if(exp1)if(exp2)语句1;else 语句2;else if(exp3)语句3;else statement_4;、ifif、elseelse中都嵌套中都嵌套 exp1exp2exp1语句1语句2 语句3语句4非0非0非0000第24页/共32页else和if的匹配 P87if(12)printf(a);else if(12)printf(b);else printf(c);else与它前面最近的,没有与别的else匹配过的if匹配if
10、(12)printf(a);else if(12)printf(b);else printf(c);if(12)printf(a);else if(12)printf(b);else printf(c);第25页/共32页switch(表达式)case 常量表达式1:语句段1;case 常量表达式2:语句段2;case 常量表达式n:语句段n;default:语句段n1;switch语句(多分支语句)P88整型表达式整型、字符型或枚举型常量表达式,case后的值不能重复允许出现多条语句,外边不用加花括号。第26页/共32页表达式语句段1表达式常量表达式1的值语句段2表达式常量表达式2的值语句段
11、n表达式常量表达式n的值语句段n1其他switch(表达式)case 常量表达式1:语句段1;case 常量表达式2:语句段2;case 常量表达式n:语句段n;default:语句段n1;第27页/共32页#includevoid main()int k;scanf(“%d”,&k);switch(k)case 1:printf(“1n”);case 2:printf(“2n”);case 3:printf(“3n”);default:printf(“defaultn”);第28页/共32页#includevoid main()int k;scanf(“%d”,&k);switch(k)case 1:printf(“1n”);break;case 2:printf(“2n”);break;case 3:printf(“3n”);break;default:printf(“defaultn”);break;第29页/共32页#includemain()int k=2;switch(k)case 1:printf(1);case 2:printf(2);case 3:printf(3);break;default:printf(D);break;第30页/共32页作业作业101页8、9题第31页/共32页感谢您的观看!第32页/共32页
限制150内