分支结构程序总结
在顺序结构的程序中,计算机按照指令一条一条地执行,不会有条件判断,这样并不利于一个算法的执行。于是便需要能够进行条件判断的语句来实现这种分支结构的程序。
主要的分支结构语句有:
if语句 switch语句 条件表达式
在应用条件语句之前,要明确基本的关系运算符和逻辑运算符,以及它们的运算规则:
在关系运算符和逻辑运算符的支持下,就可以应用条件判断语句进行程序设计了。
if语句
if语句的两种基本格式:
第一种格式:
if(表达式)
语句1;
else
语句2;
第二种格式:
if(表达式)
语句;
第一种格式:如果表达式的值为真,那么执行语句1,否则执行语句2。
第二种格式:如果表达式的值为真,执行语句。
另:多条if语句可以进行嵌套(分支结构可以嵌套很多层),可以实现树枝状的分支结构(每个嵌套应该用大括号括起来)。
(每个else总是与距离它最近的if配对)
switch语句
switch的格式为:
switch(表达式){
case 常量表达式1:语句组1;[break;]
case 常量表达式2:语句组2;[break;]
…
case 常量表达式n:语句组n;[break;]
}
先计算表达式的值,然后从前往后依次与case子句中所列出的各个常量表达式的值进行比较,若表达式的值与常量中的值相等,就开始进入相应的case后面的语句组执行,直到遇到break语句或switch语句结束。
条件表达式
条件表达式可以用来实现有选择的取值,其格式为:
<表达式1>? <表达式2>:<表达式3>
首先计算表达式1的值,如果值为真,则执行表达式2,如果值为假,则执行表达式3。
应用如上三中表达式,即可实现具有分支结构的程序设计。
例如:
#include<iostream>
using namespace std;
int main()
{
int x;
cin >> x;
if (x>=80 && x<=100) cout<<"A";
else cout<<"b";
return 0;
}
#include <iostream>
using namespace std;
int main(){
float num1,num2;
char op;
cin>>num1>>op>>num2;
switch(op){
case '+': cout<<num1<<op<<num2<<"="<<num1+num2<<endl; break;
case '-': cout<<num1<<op<<num2<<"="<<num1-num2<<endl; break;
case '*': cout<<num1<<op<<num2<<"="<<num1*num2<<endl; break;
case '/': cout<<num1<<op<<num2<<"="<<num1/num2<<endl; break;
default : cout<<op<<"是无效运算符!";
}
return 0;
}
感受:在分支结构的学习结束后,明显感觉其难度比顺序结构要困难,尤其是在分支结构中要进行逻辑判断,这就需要在写程序之前便将整个程序的逻辑理顺,使之条理清楚,必要时还要画出程序框图,如此才能更好地完成程序设计。并且由于分支结构的难度更难,这就需要更多的练习才能更为熟练的掌握这种程序结构。