这篇文章主要介绍了C++的程序流程结构是什么的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇C++的程序流程结构是什么文章都会有所收获,下面我们一起来看看吧。

前言

C/C++支持最基本的三种程序运行结构:顺序结构、选择结构、循环结构。

顺序结构就是顺着写代码,不想多说。

1 选择结构1.1 if语句(和C没啥不一样)

作用:执行满足条件的语句

if语句的三种形式:

单行格式if语句

语法:

if(条件){条件满足执行的语句}

#include<iostream>usingnamespacestd;intmain(){//用户输入分数,如果分数大于600,视为考上一本大学,在屏幕上输出//1.用户输入分数intscore=0;cout<<"请输入一个分数:"<<endl;cin>>score;cout<<"您输入的分数为:"<<score<<endl;//2.判断if(score>600){cout<<"恭喜您考上了一本大学"<<endl;}system("pause");return0;}

多行格式if语句

语法:

if(条件){条件满足执行的语句}else{条件不满足执行的语句}

#include<iostream>usingnamespacestd;intmain(){//1.用户输入分数intscore=0;cout<<"请输入一个分数:"<<endl;cin>>score;cout<<"您输入的分数为:"<<score<<endl;//2.判断if(score>600){cout<<"恭喜您考上了一本大学"<<endl;}else{cout<<"您没有考上一本大学,请再接再厉"<<endl;}system("pause");return0;}

多条件的if语句

语法:

if(条件1){条件1满足执行的语句}elseif(条件2){条件2满足执行的语句}...else{都不满足执行的语句}

#include<iostream>usingnamespacestd;intmain(){//1.用户输入分数intscore=0;cout<<"请输入一个分数:"<<endl;cin>>score;cout<<"您输入的分数为:"<<score<<endl;//2.判断if(score>600){cout<<"恭喜您考上了一本大学"<<endl;}elseif(score>500){cout<<"恭喜您考上了二本大学"<<endl;}elseif(score>400){cout<<"恭喜您考上了三本大学"<<endl;}else{cout<<"您没有考上一本大学,请再接再厉"<<endl;}system("pause");return0;}

嵌套if语句:在if语句中嵌套使用if语句,达到更精确的条件判断

#include<iostream>usingnamespacestd;intmain(){//1.用户输入分数intscore=0;cout<<"请输入一个分数:"<<endl;cin>>score;cout<<"您输入的分数为:"<<score<<endl;//2.判断if(score>600){if(score>1000){cout<<"恭喜您考到了地球之外"<<endl;}if(score>800){cout<<"恭喜您考到了清北"<<endl;}else{cout<<"恭喜您考上了普通一本大学"<<endl;}}elseif(score>500){cout<<"恭喜您考上了二本大学"<<endl;}elseif(score>400){cout<<"恭喜您考上了三本大学"<<endl;}else{cout<<"您没有考上一本大学,请再接再厉"<<endl;}system("pause");return0;}

#include<iostream>usingnamespacestd;intmain(){intnum1=0;intnum2=0;intnum3=0;//用户输入cout<<"请输入小猪A的体重:"<<endl;cin>>num1;cout<<"请输入小猪B的体重:"<<endl;cin>>num2;cout<<"请输入小猪C的体重:"<<endl;cin>>num3;cout<<"小猪A的体重为:"<<num1<<endl;cout<<"小猪B的体重为:"<<num2<<endl;cout<<"小猪C的体重为:"<<num3<<endl;//判断if(num1>num2)//A>B{if(num1>num3)//A>C{cout<<"\n小猪A最重"<<endl;}else//C>A{cout<<"\n小猪C最重"<<endl;}}else//B>A{if(num2>num3)//B>C{cout<<"\n小猪B最重"<<endl;}else//C>B{cout<<"\n小猪C最重"<<endl;}}system("pause");return0;}1.2 三目运算符

作用:通过三目运算符实现简单的判断

语法:

表达式1?表达式2:表达式3

解释:如果表达式1为真:执行表达式2,并返回表达式2的结果。

如果表达式1为假:执行表达式3,并返回表达式3的结果。

在C++中三目运算符如果后面的表达式是变量,则返回的是变量,并不是变量的值,也就是说可以继续对变量进行操作。

#include<iostream>usingnamespacestd;intmain(){inta=10;intb=50;intc=0;c=(a>b)?a:b;cout<<"c="<<c<<endl;//在C++中三目运算符如果后面的表达式是变量,则返回的是变量,并不是变量的值,也就是说可以继续对变量进行操作(a>b?a:b)=100;cout<<"a="<<a<<endl;cout<<"b="<<b<<endl;system("pause");return0;}1.3 switch语句

作用:执行多条件分支语句

语法:

switch(表达式){case结果1:执行语句;break;case结果2:执行语句;break;...default:执行语句;break;}break可以不加,不加break的时候程序会一直向下执行,即如果执行了结果2的执行语句,那么结果3、结果4...的执行语句都会被执行。switch(表达式){case结果1:执行语句;break;case结果2:执行语句;break;...default:执行语句;break;}break可以不加,不加break的时候程序会一直向下执行,即如果执行了结果2的执行语句,那么结果3、结果4...的执行语句都会被执行。

优点:结构清晰,执行的效率高;

缺点:case所接的结果必须是整型或者字符型,且不能判断区间。

#include<iostream>usingnamespacestd;intmain(){intscore=0;cout<<"请给电影打分:"<<endl;cin>>score;/*5以下:烂片5~6:一般7~8:较好9~10:经典*/switch(score){case10:cout<<"经典"<<endl;break;case9:cout<<"经典"<<endl;break;case8:cout<<"较好"<<endl;break;case7:cout<<"较好"<<endl;break;case6:cout<<"一般"<<endl;break;case5:cout<<"一般"<<endl;break;default:cout<<"烂片"<<endl;break;}system("pause");return0;}

如果不加break的时候,执行效果如下:

2 循环结构2.1 while 循环语句

语法:

while(循环条件){循环语句}

解释:只要循环条件的结果为真,就执行循环语句。

#include<iostream>usingnamespacestd;intmain(){//在屏幕上打印0-9这10个数字intnum=0;while(num<=9){cout<<num<<endl;num++;}system("pause");return0;

while 循环案例:

随机数的生成:C++产生随机数

#include<iostream>#include<cstdlib>//可以不输入此行,iostream间接包含了这里的库头文件#include<ctime>usingnamespacestd;intmain(){//srand(0)不加此行或者使用它时,种子固定,所以产生随机数固定。//种子控制产生的随机数,所以只需要产生随机种子就可了。srand((int)time(0));//利用当前系统时间产生随机种子,把0换成NULL也行。intnum=rand()%100+1;//rand:伪随机数,rand()%100生成0-99//cout<<num<<endl;intval=0;while(1){cin>>val;if(val>num){cout<<"您猜的数大于此数"<<endl;}elseif(val<num){cout<<"您猜的数小于此数"<<endl;}else{cout<<"恭喜您猜对了"<<endl;break;}}system("pause");return0;}2.2 do&hellip;while循环语句

语法:

do{循环语句}while(循环条件);

与while的区别:do&hellip;while会先执行一次循环语句,再判断循环条件。

#include<iostream>usingnamespacestd;intmain(){//死循环,因为先执行了do里面的内容,所以while始终为真。intnum=0;do{cout<<num<<endl;num++;}while(num);system("pause");return0;}

do&hellip;while 练习案例:

#include<iostream>#include<cmath>usingnamespacestd;intmain(){intnum=100;inta=0,b=0,c=0;do{a=num/100;//百位b=(num/10%10);//十位c=num%10;//个位if(pow(a,3)+pow(b,3)+pow(c,3)==num){cout<<num<<endl;}num++;}while(num<1000);system("pause");return0;}2.3 for循环语句

作用:满足循环条件,执行循环语句

语法:

for(起始表达式;条件表达式;末尾循环体){循环语句;}

#include<iostream>usingnamespacestd;intmain(){for(inti=0;i<10;i++){cout<<i<<endl;}system("pause");return0;}

for中的表达式记得加;

for 练习案例

#include<iostream>usingnamespacestd;intmain(){//个位有7,%10==7//十位有7,/10==7//7的倍数,%7==0for(inti=1;i<=100;i++){if((i%10==7)||(i/10==7)||(i%7==0)){cout<<"敲桌子"<<endl;}else{cout<<i<<endl;}}system("pause");return0;}2.4 嵌套循环

用法:循环中再使用循环

#include<iostream>usingnamespacestd;intmain(){for(inti=0;i<10;i++){for(intj=0;j<10;j++){cout<<"*";}cout<<endl;}system("pause");return0;}

嵌套循环案例

#include<iostream>usingnamespacestd;intmain(){for(inti=1;i<10;i++){for(intj=1;j<=i;j++){cout<<j<<"*"<<i<<"="<<j*i<<"\t";}cout<<endl;}system("pause");return0;}3 跳转语句3.1 break语句

作用:跳出选择结构(实际上只有switch语句用得到)或者循环结构。

具体而言也就三种:

出现在switch语句:终止case、跳出switch

出现在循环语句:跳出当前的循环

出现在嵌套循环中:跳出最近的内层循环(此break所属循环)。

前两个很简单,只看第三个情况,对乘法口诀表的代码稍微进行修改即可:

#include<iostream>usingnamespacestd;intmain(){for(inti=1;i<10;i++){for(intj=1;j<10;j++){cout<<j<<"×"<<i<<"="<<j*i<<"\t";if(i==j){break;}}cout<<endl;}system("pause");return0;}3.2 continue语句

作用:跳过本次循环中余下的执行语句,直接执行下一次循环。

#include<iostream>usingnamespacestd;intmain(){for(inti=1;i<=10;i++){if(i==3||i==7){continue;}cout<<i<<endl;}system("pause");return0;}3.3 goto语句

作用:可以无条件跳转语句

语法:

goto标记;

解释;如果标记的名称存在,执行到goto语句时,会跳转到标记的位置

#include<iostream>usingnamespacestd;intmain(){cout<<"1.xxxx"<<endl;cout<<"2.xxxx"<<endl;gotoFlag;cout<<"3.xxxx"<<endl;Flag:cout<<"4.xxxx"<<endl;cout<<"5.xxxx"<<endl;system("pause");return0;}

一般不建议使用goto,因为标记太多,会导致代码及其混乱。

关于“C++的程序流程结构是什么”这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对“C++的程序流程结构是什么”知识都有一定的了解,大家如果还想学习更多知识,欢迎关注亿速云行业资讯频道。