C++学习目录链接: C++学习笔记目录链接(持续更新中)
一、条件判断语句
1.判断语句
第一种形式的判断语句 ????C++语言中使用if关键字来组成判断语句,第- -种判断语句的形式如下: if(表达式) 语句 ????表达式一般为关系表达式,表达式的运算结果应该是真或假(true 或false)。如果表达式为真,执行语句,如果为假就跳过,执行下一条语句。用流程图表示第一种判断语句如图所示。
#include <iostream>
using namespace std;
void main()
{
int iinput;
cout<<"请输入一个整数:"<<endl;
cin>>iinput;
if (iinput%2==0)
cout<<"输入的整数是偶数:"<<iinput<<endl;
}
????要注意第一种形式的判断语句的书写格式。 ????判断语句: ????if(a>b) ????max=a; ????可以写成: ????if(a>b) max=a; ????但不建议使用“if(a>b) max =a;”这种书写方式,这种方式不便于阅读。
????判断形式中的语句可以是复合语句,也就是说可以用大括号括起多条简单语句。例如: if(a>b) { tmp=a; b=a; a=tmp; }
第二种形式的判断语句 ????第二种形式的判断语句使用了else 关键字,形式如下: if(表达式) 语句1; else 语句2; ????表达式是一个关系表达式,表达式的运算结果应该是真或假(true或false),如果表达式的值为真,执行语句1,为假则执行语句2。第二种形式的判断语句相当于汉语里的“如…”用流程图表示第二种判断语句,如图所示。
#include <iostream>
using namespace std;
void main()
{
int iinput;
cout<<"请输入一个整数:"<<endl;
cin>>iinput;
if (iinput>=90)
cout<<"成绩优秀,成绩是::"<<iinput<<endl;
else
cout<<"成绩不优秀,成绩是:"<<iinput<<endl;
}
????if else 后面可以是复合语句
第三种形式的判断语句
????第三种形式的判断语句是可以进行多次判断的语句,每判断- -次就缩小一定的检查范围,其形式 如下: if(表达式1) 语句1; else if(表达式2) 语句2; else if(表达式3) 语句3 else i(表达式m) 语句m; else 语句n; ????表达式一般为关系表达式,表达式的运算结果应该是真或假(rue 或false)。如果表达式为真,执行语句,如果表达式为假就跳过,执行下一条语句。 用流程图表示第三种判断语句,如图所示。
#include <iostream>
using namespace std;
void main()
{
int iinput;
cout<<"请输入一个整数成绩:"<<endl;
cin>>iinput;
if (iinput>=90)
{
cout<<"成绩优秀,成绩是::"<<iinput<<endl;
}
else if(iinput<90 && iinput>80)
{
cout<<"良好,成绩是:"<<iinput<<endl;
}
else if(iinput<80 && iinput>70)
{
cout<<"普通,成绩是:"<<iinput<<endl;
}
else if(iinput<70 && iinput>60)
{
cout<<"及格,成绩是:"<<iinput<<endl;
}
else
{
cout<<"差,成绩是:"<<iinput<<endl;
}
}
二、使用条件运算符进行判断
????条件运算符是-一个三目运算符,它能像判断语句一样完成判断。例如: max=(iA> iB)?iA: iB; ????首先比较iA和iB的大小,如果iA大于iB就取iA的值,否则取iB的值。
????可以将条件运算符改为判断语句。例如: if(iA> iB) max= iA; else max= iB;
#include <iostream>
using namespace std;
void main()
{
int iinput;
cout<<"请输入一个整数:"<<endl;
cin>>iinput;
(iinput%2==0)?(cout<<"输入为偶数"<<iinput):(cout<<"输入为奇数"<<iinput);
cout<<endl;
}
????条件运算符可以嵌套,例如: ????表达式1?(表达式a?表达式b:表达式c;):表达式1;
三、switch语句
????C++语言提供了一种用于多分支选择的switch 语句。可以使用if 判断语句做多分支结构程序,但当分支足够多时,if判断语句会造成代码容易混乱,可读性也很差,如果使用不当就会产生表达式上的错误,所以建议在仅有两个分支或分支数少时使用if判断语句,而在分支较多时使用switch语句。switch语句的一般形式如下: .
????表达式是一个算术表达式,需要计算出表达式的值,该值应该是一一个整型数或是一个字符,如果是浮点数,可能会因为精度的不精确而产生错误。 ????switch是分支的入口,开始判断是在case分语句中,用表达式的值逐一-和 case语句中的值进行比较,有匹配成功的用“break;"跳出switch 语句,如果没有匹配成功的,就执行default分句。 ????default分句是可以不写的,如果不写default分句, case分语句中没有匹配成功的就不进行任何操作。
#include <iostream>
using namespace std;
void main()
{
int iinput;
int score;
cout<<"请输入一个整数:"<<endl;
cin>>iinput;
score=iinput/10;
switch(score)
{
case 9:cout<<"成绩优秀,成绩是:"<<iinput<<endl;
break;
case 8:cout<<"成绩良好,成绩是:"<<iinput<<endl;
break;
case 7:cout<<"成绩普通,成绩是:"<<iinput<<endl;
break;
case 6:cout<<"成绩及格,成绩是:"<<iinput<<endl;
break;
default:
cout<<"成绩不及格,成绩是:"<<iinput<<endl;
break;
}
}
四、判断语句嵌套
????前面讲过3种形式的判断语句,这3种形式的判断语句都可以嵌套判断语句。例如,在第-种形 式的判断语句中嵌套第二种形式的判断语句,形式如下:
if(表达式1) { if(表达式2) 语句1; else 语句2; }
????在第二种形式的判断语句中嵌套第二种形式的判断语句,形式如下:
总结
本文讲解了C++版本的的条件判断语句。 作者:电气-余登武
|