《c程序控制结构》PPT课件.ppt_第1页
《c程序控制结构》PPT课件.ppt_第2页
《c程序控制结构》PPT课件.ppt_第3页
《c程序控制结构》PPT课件.ppt_第4页
《c程序控制结构》PPT课件.ppt_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

程序控制结构,课程内容安排,顺序结构 选择结构 循环结构 转向语句 综合练习 思考和习题,顺序结构,顺序结构是指按照所有语句出现的顺序先后执行,先出现的先执行,后出现的后执行。顺序结构的执行流程如图4-1所示。,代码清单,1 #include /预处理文件 2 using namespace std; 3 int main() /主函数 4 5 int a; 6 cina; /输入 7 couta; /输出 8 coutendl; 9 return 0; 10 ,顺序结构应用示例,选择结构,选择结构是用来判断所给定的语句是否满足条件,根据判断结果,选择执行不同的分支语句。常用的语句有如下4种语句: if语句 if-else语句 多重if-else语句 switch语句。,if语句,if语句的应用,#include using namespace std; int main() int a; couta; if(a0) couta “是一个正整数。“endl; return 0; ,#include using namespace std; int main() int x,y,temp; coutxy; if(xy) temp=x; x=y; y=temp; cout“x=”xendl; cout“y=”yendl; return 0; ,if-else语句,if-else语句,#include using namespace std; int main() int a; couta; if(a0) couta “是一个正整数。“endl; else couta “不是一个正整数。“endl; return 0; ,判断输入是否闰年,#include using namespace std; int main() int year; coutyear; if(year%4=0 ,多重ifelse语句,多重ifelse语句,#include using namespace std; int main() int score; coutscore; if(score=90) cout=80) cout=70) cout=60) cout“及格“endl; else cout“不及格“endl; return 0; ,选择结构应用示例,该范例求方程ax2+bx+c=0的根。该程序的实现需要接收用户输入a,b,c,并根据输入判断是否有实根求出。,流程图,#include using namespace std; #include int main() float a,b,c,d; couta; coutb; coutc; d=b*b-4*a*c; if (a=0) cout0) cout“方程有两个实根!“endl; cout“x1=“(-b+sqrt(d)/(2*a)endl; cout“x2=“(-b-sqrt(d)/(2*a)endl; else if (d=0) cout“方程有一个实根!“endl; cout“x1=x2=“-b/(2*a)endl; else cout“方程无实根!“endl; return 0; ,switch语句,2.switch语句: switch(表达式) case 常量表达式1:语句1; case 常量表达式2:语句2; ; case 常量表达式n:语句n; default: 语句n+1; ,#include using namespace std; int main() int score; coutscore; switch(score/10) case 10: case 9: cout “成绩优秀。“endl; break; case 8: cout “成绩良好。“endl; break; case 7: cout “成绩中等。“endl; break; case 6: cout “成绩及格。“endl; break; default:cout “成绩不及格。“endl;break; return 0; ,循环结构,循环结构是用来在指定的条件下多次重复执行同一组语句。在C+中,常用的循环语句形式主要有如下的3种: while语句 do-while语句 for语句,循环结构应用示例,在该范例中,需要分开一个数的百位、十位和个位,然后求出其立方和是否与该数字本身相等,如相等则输出,否则继续寻找下一个数,代码清单,1 #include 2 void main() 3 4 int i,j,k,n,m; 5 for (i=1;i=9;i+)/百位数从1到9变化,不能取0,如果百位为0就不是三位数了 6 7 for (j=0;j=9;j+)/十位从0到9变化,允许取0 8 9 for(k=0;k=9;k+)/个位从0到9变化,允许取0 10 11 n=i*100+j*10+k;/这个数等于百位数乘于100加上十位数乘10加上个位数(乘于1省略) 12 m=i*i*i+j*j*j+k*k*k;/百位上数的立方加上十位上数的立方加上个位上数的立方 13 if(n=m) coutn“ “;/这是一个三位数是否为水仙花数的条件,即水仙花数是各位数字立方和等于该数字本身 14 15 16 17 coutendl; 18 ,循环结构,循环结构是用来在指定的条件下多次重复执行同一组语句。在C+中,常用的循环语句形式主要有如下的3种: for语句 while语句 do-while语句,转向语句,转向语句是C+中用来实现无条件转移的语句。常用的转向语句有如下的4种: break语句:break语句又称跳出语句,用来结束循环结构,然后执行循环体后面的语句,其说明语句的一般形式为: break; Break语句也可以作为switch语句的出口,用于退出case语句。 continue语句:continue语句又称继续语句,可用来跳出本次循环而进入下一次循环,其说明语句的一般形式为: continue; 区别: Continue语句是根据条件判断只结束本次循环,不结束整个循环结构;而break语句不进行判断,结束整个循环结构,然后执行循环体后面的语句。,goto语句:goto语句又称转向语句,用来将程序无条件跳转到指定的标号语句处,其说明语句的一般形式为: goto; return语句:return语句又称返回语句,可用来停止执行当前函数,转而执行调用该函数后面的语句,其说明语句的一般形式为: return;,求出100以内的所有素数。(大于2且只能被1或本身整除的整数。),#include using namespace std; int main() int i,j; for(i=2;i=100;i+) int flag=1; for(j=2;ji;j+) if(i%j=0) flag=0; break; if(flag=1) couti“,“; coutendl; return 0; ,综合练习,使用辗转相除法求两个数的最大公约数和最小公倍数的算法 所谓辗转相除法,比如求x,y的最大公约数,先讨论(x%y)的余数b是否等于0,如果是则y为最大公约数;否则将y的值赋给x,把b的值赋给y然后在继续对b讨论,一直循环下去直到b=0时,的y值就是所求的最大公约数了。,求两个自然数的最大公约数和最小公倍数,#include using namespace std; int main() int a,b,num1,num2,temp; coutnum1num2; if (num10 ,思考和习题,C+的顺序结构一般包含哪几种形式? 选择结构是用来判断所给定的语句是否满足条件,根据判断结果,选择执行不同的

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论