C语言分支结构.pptx
《C语言分支结构.pptx》由会员分享,可在线阅读,更多相关《C语言分支结构.pptx(31页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、1(1 1)带序号的自然语言描述)带序号的自然语言描述 (易懂但不直观,不严格)(易懂但不直观,不严格)(2)流程图:灵活、自由、形象、直观,可表示任何算法流程图:灵活、自由、形象、直观,可表示任何算法 输入/输出处理判断开始/结束连接符数据流(3 3)N-SN-S图(盒图):完全去掉了带箭头的流程线,算法的所有处理步骤图(盒图):完全去掉了带箭头的流程线,算法的所有处理步骤 都写在一个大矩形框里(描述简单,符合结构化的思想)都写在一个大矩形框里(描述简单,符合结构化的思想)(4 4)伪代码:用介于自然语言和计算机语言之间的文字及符号来描述算法)伪代码:用介于自然语言和计算机语言之间的文字及符
2、号来描述算法 (方便、易懂、便于向计算机语言过渡)(方便、易懂、便于向计算机语言过渡)AAPAPPTFAB算法的表示算法的表示B第1页/共31页2例例4 41 1 求求1234512345分析:122;236;6424;245120 设置p为被乘数,存放结果;i为乘数,存放每个数据;S1S1:使:使p=1;p=1;S2S2:使:使i=1;i=1;S3S3:p pi ip;p;S4S4:i+1=ii+1=iS5S5:若:若i=5i=5,执行,执行S3S3;否则算法结束。否则算法结束。语言描述:语言描述:首先设置两个变量并对其初始化,其中首先设置两个变量并对其初始化,其中p p为为结果变量,赋初值
3、为结果变量,赋初值为1 1;i i为数据变量,赋初值为为数据变量,赋初值为1 1;计算计算p pi i,将结果放入,将结果放入p p中中,p,p代表前代表前i i项连乘积项连乘积;然后使然后使i i在原来基础上加在原来基础上加1 1;对;对i i进行判断,如果进行判断,如果i=5ii;1=i;S2S2:若:若gi=80gi=80,则打印,则打印nini和和gigi,否则不打印,否则不打印;S3S3:i+1=i;i+1=i;S4S4:若:若i=50ip1=nP+n=pn+1=nni;1=i;S2S2:输入:输入nini,gigi;S2S2:若:若gi=80gi=80,则打印,则打印nini和和g
4、igi,否则不打印,否则不打印;S3S3:i+1=i;i+1=i;S4S4:若:若i=50ii输入ni gigi 80打印ni,gii+1=ii50结束YNNY算法的流程图描述算法的流程图描述第6页/共31页7N-SN-S图(盒图):完全去掉了带箭头的流程线,算法的所有图(盒图):完全去掉了带箭头的流程线,算法的所有 处理步骤,都写在一个大矩形框里处理步骤,都写在一个大矩形框里AAPAPPTFABx0y=2y=1成立不成立p+n=pN=N+1当ni直到i50时算法的算法的N-S图描述图描述B第7页/共31页8伪代码:用介于自然语言和计算机语言之间的文字及符号来描述算法伪代码:用介于自然语言和计
5、算机语言之间的文字及符号来描述算法 (方便、易懂、便于向计算机语言过渡)(方便、易懂、便于向计算机语言过渡)基本结构:begin 初始化;执行语句1;执行语句n;end 可以写文字,也可以写简易代码算法的伪代码描述算法的伪代码描述第8页/共31页94.2 C语言的语句C语句指令语句非指令语句流程控制语句表达式语句数据定义语句(int a;)编译预处理宏定义(#define)文件包含(#include)条件编译(#ifdef#else#endif)赋值语句(i=1;)函数调用语句(putchar(c);)逗号语句(+a,+b;)空语句(;)判断语句(if,switch)循环语句(for,whil
6、e,dowhile)转移控制语句(break;continue,return;goto)复合语句(由一对花括号括起来的一组语句,如:int a;a=1;printf(“%d”,a);)第9页/共31页10形式二:u格式:if(expression)语句组1;else 语句组2;u执行过程:if语句的三种形式形式一:u格式:if(expression)语句组1;u执行过程:exprstatement非0=0例:if(xy)printf(“%d”,x);exprstatement1statement2非0=0例:if(xy)max=x;else max=y;(1)if语句中的“表达式”必须用“(”
7、和“)”括起来。(2)else子句是if语句的一部分,必须与if配对使用,不能单独使用。(3)当if和else下面的语句组,仅由一条语句构成时,也可不使用复合语句形式(即去掉花括号)。例:if(xy)printf(“最大值为:”);printf(“%dn”,x);else printf(“最大值为:”);printf(“%dn”,y);4.3 if 语句第10页/共31页11#include main()int x,y;printf(Enter an integer:);scanf(%d,&x);y=x;if(yabsolute value:%dn,x,y);例4-7 求一个数的绝对值运行:E
8、nter an integer:-12 integer:-12-absolute value:12运行:Enter an integer:12 integer:12-absolute value:12第11页/共31页12#include main()int a,b;printf(Enter integer a:);scanf(%d,&a);printf(Enter integer b:);scanf(%d,&b);if(a=b)printf(a=bn);else printf(a!=bn);例 2 输入两个整数并判断两数相等否运行:Enter integer a:12 Enter integ
9、er b:12 a=b 运行:Enter integer a:12 Enter integer b:9 a!=b 第12页/共31页13expr1statemnt1非0=0expr2expr3statemntnstatemnt3statemnt2非0非0=0=0(1 1)ifif语句允许嵌套:语句允许嵌套:所谓所谓ifif语句的嵌套是指,在语句的嵌套是指,在“语句组语句组1 1”或或 “语句组语句组2 2”中又包含有中又包含有ifif语句的情况。语句的情况。(2 2)ifif语句嵌套时,语句嵌套时,elseelse子句与子句与ifif的的 匹配原则匹配原则:与在它上面、距它最近、且尚未匹配的:
10、与在它上面、距它最近、且尚未匹配的ifif配对。书写时注意形成层次;配对。书写时注意形成层次;(3 3)为明确匹配关系,避免匹配错误,)为明确匹配关系,避免匹配错误,强烈建议强烈建议:将内嵌的:将内嵌的ifif语句,一律用花括号括起来。语句,一律用花括号括起来。形式三:u格式:if(expr1)语句组1;else if(expr2)语句组2;else if(expr3)语句组3;else 语句组n;u 执行过程:第13页/共31页14else总是和它上面离它最近的未配对的if配对if()if()if()else.else.else.例:if(salary1000)index=0.4;else
11、if(salary800)index=0.3;else if(salary600)index=0.2;else if(salary400)index=0.1;else index=0;if else 配对原则例:if(salary1000)index=0.4;else if(salary800)index=0.3;else if(salary600)index=0.2;else if(salary400)index=0.1;else index=0;第14页/共31页15例:if(a=b)if(b=c)printf(“a=b=c”);else printf(“a!=b”);修改:if(a=b)
12、if(b=c)printf(“a=b=c”);else printf(“a!=b”);实现if else 正确配对方法:加 输入a=1,b=1,c=3结果输出为:a!=b第15页/共31页16如:if(a=b&x=y)printf(“a=b,x=y”);if(3)printf(“OK”);if(a)printf(“%d”,a);说明:u if后面的表达式类型任意u if.else相匹配例 考虑下面程序的输出结果:#include main()int x,y;scanf(“%d,%d”,&x,&y);if(xy)x=y;y=x;else x+;y+;printf(“%d,%dn”,x,y);Co
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 分支 结构
限制150内