C++基础(五)——程序流程结构


一、选择结构和if语句

if语句用来判定所给定的条件是否满足,根据判定的结果(真或假)决定执行给出的两种操作之一。

1.1 if语句的形式

if语句的一般表达形式为
if(表达式)语句1
[else 语句2]

由上面的if语句的一般表达形式可以派生出以下3中语句。

1.1.1 if(表达式)语句

没有else部分。例如:

if(x>y) cout<<x<<endl;

1.1.2 if(表达式)语句1 else 语句2

包含else部分。例如:

if(x>y) cout<<x;
else cout<<y;

1.1.3 多个else语句

if (表达式1)语句1
else if(表达式2)语句2
else if(表达式3)语句3
······
else if(表达式n)语句n
else 语句m

1.2 if语句的嵌套

在 if语句中包含一个或多个if语句称为if语句的嵌套。一般形式如下:
if()
    if()语句1
    else 语句2
else
    if()语句3
    else 语句4

if与else配对关系:else总是与它上面最近、且未配对的if配对。开发时建议用大括号来确定配对关系。
if()
    {if()语句1
    else 语句2}
else
    {if()语句3
    else 语句4}

二、条件运算符和条件表达式

若在if语句中,判别的表达式为“真”或“假”时,都执行一个赋值语句且给同一个变量赋值时,可以用简单的条件运算符(?:)来处理。
条件表达式的一般形式为:
表达式1 ? 表达式2 : 表达式3
先求解表达式1,若为真,则求解表达式2,此时表达式2的值就是整个表达式的值;若为假,则求解表达式3,表达式3的值就是整个表达式的值。

例如:

if(a>b) max = a;
else max = b;

可以用条件运算符来表示:

max = (a>b) ? a:b;

三、多分支选择结构与switch语句

switch语句是多分支选择语句,用来实现多分支选择结构,if语句只有两个分支可供选择。
switch语句一般形式:
switch(表达式)
{
     case 常量表达式1:语句1;break;
     case 常量表达式2:语句2;break;
     ······
     case 常量表达式n:语句n;break;
     default :语句n+1;break;
}

注:多个case可以共用一组执行语句:

switch(表达式)
{
     case 常量表达式1:
     case 常量表达式2:
     case 常量表达式3:语句1;break;
}

四、循环结构和循环语句

4.1 while循环语句

while语句的一般形式:while(表达式)语句
其作用是,当指定的条件为真时,执行while语句中的内嵌语句。
例如,求1+2+3+4+···+100

#include <iostream>
using namespace std;
int main(){
	int i = 1,sum = 0;
	while (i<=100){
		sum= sum+i;
		i++;
	}
}

4.2 do-while循环语句

do-while语句的特点是先执行循环体,然后判断循环条件是否成立。

例如,求1+2+3+4+···+100

#include <iostream>
using namespace std;
int main(){
	int i = 1,sum = 0;
	do 
	  {
		sum= sum+i;
		i++;
	  }while (i<=100)
}

4.3 for循环语句

for语句的一般表达式:for(循环变量的初值;循环条件;循环变量增值)

例如,求1+2+3+4+···+100

#include <iostream>
using namespace std;
int main(){
	int sum = 0;
	for(i = 1;i<=100;i++)
		sum=sum+i;
}

4.4 提前结束循环(break语句和continue语句)

4.4.1 break语句

break语句除了可以使流程跳出switch结构,break也可以用于循环体内,作用是使流程从循环体中跳出循环,提前结束循环。

4.4.2 continue语句

continue语句的作用是结束本次循环,即跳过循环体中下面尚未执行的语句,接着进行下一次是否执行的循环判定。
continue语句与break语句的区别:continue语句只是结束本次循环,而不是结束整个循环的执行。而break语句则是结束整个循环的过程。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值