程序控制语句

程序控制语句
一 选择控制
1if语句
if语句是用来判定所给定的条件是否满足,
根据判定的结果(真或假)决定执行给出
的两种操作之一。
if语句(条件选择语句)
 if语句的三种形式
形式一:
 格式: if (expression) 
 statement
形式二:
格式:if (expression) 
 statement1
 else
 statement2
形式三:
 格式:
if ( expr1 ) statement1
else if (expr2 ) statement2
else if (expr3 ) statement3
…...
[ else statementn ]
复合语句:用 {…}括起来的一组语句
一般形式: { [数据说明部分;]
 执行语句部分;
 } 
说明:
"}"后不加分号
语法上和单一语句相同
复合语句可嵌套。
if (expr1)
 if (expr2) 语句1
 else 语句2
else
 if(expr3) 语句3 
 else 语句4
内嵌if
每个else只与它前面最近的那个尚未配对的if相配对。
注意,若没上述规定的话,如下形式的语句将产生二义性(两
个if将"争夺"
同一个else!)。
if ( <表达式1> ) 
if ( <表达式2> ) <语句1> 
else <语句2>;
例: if (a==b)
 if(b==c)
 cout<<"a==b==c";
 else
 cout<<"a!=b";
修改: if (a==b)
 { if(b==c)
 cout<<"a==b==c";
 }
 else
 cout<<"a!=b";
实现if ~ else 正确配对方法:加{ }
2 switch语句
switch( 表达式)//表达式必须为整型或字符型
{ case E1:
 语句组 1;
 break;
 case E2:
 语句组 2;
 break;
 …….
 case En:
 语句组 n;
 break;
 [default:
 语句组 ;
 break;]

E1,E2,…En是常量表达式,且值必须互不相同 
语句标号作用,必须用break跳出 
case后可包含多个可执行语句,且不必加{ } 
switch可嵌套 
多个case可共用一组执行语句 
如: ……
 case 'A':
 case 'B':
 case 'C': 
 cout<<"score>60\n";
 break;
 ……..
例 switch(score)
 { case 5: cout<<"Very good!";
 case 4: cout<<"Good!";
 case 3: cout<<" Pass!";
 case 2: cout<<" Fail!";
 default : cout<<" data error!";

运行结果:score为5时,输出:
Verygood!Good!Pass!Fail!dataerror
3while
一般形式:while(表达式)
循环体语句


特点:先判断表达式,后执行循环体(当型) 
说明:
循环体有可能一次也不执行
循环体可为任意类型语句
下列情况,退出while循环:
条件表达式不成立(为零)
循环体内遇break,return,goto
无限循环: 
while(1)
 循环体;
例如: 求1~10的平方
#include <iostream>
using namespace std;
void main()
{ int i=1, j;
 while(i<=10)
 { 
 j=i*i;
 cout<<i<<"*"<<i<<"="<<j;
 i++;
 }
}
输出结果
运行结果:
1*1=1
2*2=4
3*3=9
4*4=16
5*5=25
6*6=36
7*7=49
8*8=64
9*9=81
10*10=100
4do while
一般形式:
do 
 循环体语句
while(表达式);
特点:先执行循环体,后判断表达式(直到型)
说明:
至少执行一次循环体
do-while可转化成while结构
while和do~while比较
#include <iostream>
using namespace std;
void main()
{ int i,sum=0;
 cin>>i;
 do
 { sum+=i;
i++;
 }while(i<=10);
 cout<<sum;
}
#include <iostream> 
using namespace std;
void main()
{ int i,sum=0;
 cin>>i;
 while(i<=10)
 { sum+=i;
i++;
 }
 cout<<sum;
}
4for
一般形式  
for([表达式1];[表达式2];[表达式3])
 循环体语句
1.先求解表达式1;
2.求解表达式2,若其
值为真(非0),则执
行循环体的内容,
然后执行表达式3。
若为假(0),则结束
循环,执行for语句
下面一条语句。
3.若表达式为真,执
行指定的语句后,
求解表达式3。
4.返回第2步执行。
用for循环求 1~100的和
#include <iostream> 
using namespace std; 
void main()
{ int i,sum=0;
 for(i=1;i<=100;i++)
 sum+=i;
 cout<<sum;
}
for语句中表达式1、表达式2、表达式3类型任意
,都可省略,但分号;不可省
 无限循环: for(;;)
 for语句可以转换成while结构
表达式1;
while(表达式2)
{
 循环体语句;
 表达式3;
}
几种循环的比较
1.三种循环均可处理同一问题;
2.for和while语句为先判断后执行,do-while语句则
先执行后判断;
3.do-while和while 语句多用于循环次数不定的情况,
for语句用于循环次数确定的情况;
4.do-while语句更适合第一次肯定执行的情况;
5.do-while和while语句只有一个表达式,用于控制循
环是否进行。for语句有三个表达式,不仅可以控
制循环是否进行,而且能为循环变量赋初值及不
断修改其值。故for语句功能更强,更灵活。
break语句和continue语句

1 break语句
一般形式:break;
功能:在循环语句和switch语句中,终止并
跳出循环体或开关体
说明:
 break只能终止并跳出最近一层的结构
 break只能用于循环语句和switch语句

2 continue语句
 一般形式:continue;
 功能:结束本次循环,跳过循环体中尚未执行的语句,
 对于while 和 do-while,进行下一次是否执行循环体的判断。
 对于for(e1;e2;e3),先执行e3,再进行下一次是否执行循环体的判
断。
 说明:
 仅用于循环语句中
 continue 语句仅结束本次循环,
 break语句则是结束整个循环过程。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值