c语言第六讲-三种结构-顺序结构选择结构循环结构

上传人:san****019 文档编号:70778888 上传时间:2019-01-18 格式:PPT 页数:14 大小:488.81KB
返回 下载 相关 举报
c语言第六讲-三种结构-顺序结构选择结构循环结构_第1页
第1页 / 共14页
c语言第六讲-三种结构-顺序结构选择结构循环结构_第2页
第2页 / 共14页
c语言第六讲-三种结构-顺序结构选择结构循环结构_第3页
第3页 / 共14页
c语言第六讲-三种结构-顺序结构选择结构循环结构_第4页
第4页 / 共14页
c语言第六讲-三种结构-顺序结构选择结构循环结构_第5页
第5页 / 共14页
点击查看更多>>
资源描述

《c语言第六讲-三种结构-顺序结构选择结构循环结构》由会员分享,可在线阅读,更多相关《c语言第六讲-三种结构-顺序结构选择结构循环结构(14页珍藏版)》请在金锄头文库上搜索。

1、第六讲 三种结构,目标 掌握条件运算符和逗号表达式 顺序结构 选择结构 循环结构,条件运算符,条件运算符是C语言中唯一的一个三目运算符 表达式1?表达式2:表达式3; 例如: int a=2,b; b=a0?+a:a; printf(“%dn”,b); b=a0?+a:a; printf(“%dn”,b);,? int a=2,b; b=a0?0:1;,逗号表达式,用逗号连接的表达式称为逗号表达式 逗号表达式的值是最后一个表达式的值 例如:int a=2,b=3,c=4; c=(a+b,b+c,c-a); /*不要给a,b赋值*/ printf(“%dn”,c); /*c=2*/,顺序结构,顺

2、序结构是程序设计中的三种基本结构之一,又如: #include”stdio.h” main() int i,j,k,n; printf(“water flowernumber is:”); for(n=100;n1000;n+) i=n/100;/*分解出百位*/ j=n/10%10;/*分解出十位*/ k=n%10;/*分解出个位*/ if(i*100+j*10+k=i*i*i+j*j*j+k*k*k) printf(“%-5d”,n); printf(“n”); ,例如:#include”stdio.h” void main() int a=1234,b; b=a%10*1000; b+=

3、a/10%10*100; b+=a/100%10*10; b+=a/1000; printf(“%d”,b); ,选择结构(一),选择结构能够使程序根据条件做出相应的判断,使程序选择执行某一段代码块, 它使程序具有了智能,A: if(condition) statements; /*单分支选择结构*/,三项说明:,无论条件是否为真,总要先判断(执行)一遍条件 如果语句只有一条,则大括号可以省略 关于程序的缩排,?,输入字符检测,输入年份,判断是否是闰年,功能:首先判断条件是否为真,如果为真,则执行语句;否则,什么也不做, 继续往下执行,选择结构(二),B、 if(condition) stat

4、ements1; else statements2; /*双分支选择结构*/,功能:首先判断condition是否为真, 如果为真,则执行statements1, 否则,执行statements2,三项说明:,无论条件是否为真,总要先判断(执行)一遍条件 如果语句只有一条,则大括号可以省略 关于程序的缩排,?,输入两个数,输出其中的最大数(最小数),对两个数据按升序排序并输出,选择结构(三),C、 if(condition1) statements1; else if(condition2) statements2; else if(condition3) statements3; else

5、if(condition4) statements4; . . . /*至多执行一句*/,D、 if(condition1) statements1; else if(condition2) statements2; else if(condition3) statements3; else if(condition4) statements4; else statements5; /*必然执行一句*/,?,输入学生百分制成绩,转换成等级制输出,三项说明: 无论条件是否为真,总要先判断(执行)一遍 如果语句只有一条,则大括号可以省略 程序的缩排,选择结构(四),E、switch(常量表达式)

6、case 常量1: statements1; break; case 常量2: statements2; break; case 常量3: statements3; break; case 常量4: statements4; break; default: statements5; break; ,?,1、输入等级制分数,转化为 百分制输出,2、制作一个简单的菜单,循环结构(一),A、 while(condition) statements; /*当型循环*/,功能:首先判断条件是否为真,如果为真, 则执行语句块,执行完毕后, 再次判断条件是否为真; 如果为假,则跳出循环体。,?,计算5!,推

7、广,求1100的和,推广,求数轴任意区间的数的和,四项说明: 无论条件是否为真,总要先判断(执行)一遍 在跳出循环体之前,还要再执行一遍条件 如果语句只有一条,则大括号可以省略 程序的缩排,计算任意数的阶乘,循环结构(二),B、 do statements; while(condition);,注意,功能:先执行循环体statements, 然后再判断条件; 如果为真,则继续执行; 否则,跳出循环体,/*直到型循环*/,例如: #include”stdio.h” void main() int a=1,sum=0; do sum+=a; a+; while(a101); printf(“The

8、 sum is:%d”,b); ,循环结构(三),C、 for(init;condition;step) statements; ,功能: 1、首先执行init语句 2、判断condition 3、如果为真,则执行statements;如果为假,则跳出 4、将statements执行完后,再执行step;转第二步,说明: 两个分号,在任何情况下,一个都不能少 大多数情况下,要避免构成死循环 如果语句只有一条,则大括号可以省略 程序的缩排,for循环的变体形式,1、省略init语句 原因: 初始化已经完成 例如: int a=1,b=0; for(;a10;a+)b+=a; printf(“%d

9、n”,b); 注意:分号不能省,2、省略condition语句 原因: 条件不固定 例如: int a,b=0; for(a=1;a+) b+=a; if(a=10)break; printf(“%dn”,b); 注意:分号不能省,3、省略step语句 原因: 控制变量每次变化不一样 例如: int a,b=0; for(a=1;a10;) b+=a; if(a=3)a+=2; else a+; printf(“%dn”,b); 注意:分号不能省,与循环结构有关的关键字,break 用法: break;,功能:跳出当前循环,例如:在128365之间找出三个15的倍数并输出,continue,用

10、法:continue;,功能:继续判断当前循环的条件,例如:计算1+2+3+5+6+7+8+9+10的和,while(a24) c*=a; c+; if(a=12)continue; b+=a; a+; ,for(i=0;i10;i+) c*=a; c+ if(i=5)continue; j+=I; ,作业,书面作业: P86 1.2 1.3 1.4 2 P108 1.2 1.3 1.4 2.1 2.2 2.4 附加题: 1、int a=2,b=3,c; if(ab);c=a+b; 程序段执行完毕后c的值是多少? 2、int a=10,b=0; while(a0) b+=a; a+; if(a20)break; 描述该段程序的功能? 3、根据输入字母输出字符串 若输入m,则输出“Good mornning!” 若输入n, 则输出“Good afternoon!” 若输入h, 则输出“Hello!” 若输入e, 则输出“Good evening!” 4、程序设计 求1!+2!+3!+4!+10!的值,

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号