目录
- 3 条件判断语句
- 3.1 if语句
- 3.2 if...else...
- 3.3 if...else if... else...
- 3.4 三目运算符
- 3.5. 条件运算符嵌套
- 3.6 switch
3 条件判断语句
3.1 if语句
- if(表达式){语句}: 如果if中表达式为真,则执行{}中的语句。反之,不执行。
/*
if(表达式)
{语句}*/
#include <iostream>
using namespace std;int main(int argc, const char * argv[]) {int a;cout<<"请输入一个奇数"<<endl;cin>>a;if (a%2 != 0){cout<<"a是奇数"<<endl;}cout<<"hs"<<endl;return 0;
}
/* 运行结果
请输入一个奇数
111
a是奇数
hs
Program ended with exit code: 0*/
3.2 if…else…
- if(表达式){语句}else{语句}: 如果if中表达式为真,则执行{}中的语句。反之,执行else里面的语句。
/*
if(表达式)
{语句}
else
{语句}*/
#include <iostream>
using namespace std;int main(int argc, const char * argv[]) {// 比较两个数的大小int a=10 ,b = 20;if (a>b){cout<<"最大值是a"<<endl;}else{cout<<"最大值是b"<<endl;}cout<<"hsw"<<endl;return 0;
}/* 运行结果
最大值是b
hsw
Program ended with exit code: 0*/
3.3 if…else if… else…
- if(表达式){语句}else if(表达式){语句}else if(表达式){语句}…else{语句}: 有多个条件时,需要多个判断。
/*
if(表达式)
{语句}
else if(表达式)
{语句}
else if(表达式)
{语句}
...
else
{语句}*/
// 判断成绩优劣,如果成绩大于90分,为非常优秀;成绩在80~90之间为优秀;成绩在70~80之间为一般;成绩在60~70之间为及格;成绩在60以下为不及格。#include <iostream>
using namespace std;int main(int argc, const char * argv[]) {// 比较两个数的大小int a=100;if (a>=90){cout<<"非常优秀"<<endl;}else if(a>=80){cout<<"优秀"<<endl;}else if(a>=70){cout<<"一般"<<endl;}else if(a>=60){cout<<"及格"<<endl;}else{cout<<"不及格"<<endl;}cout<<"hsw"<<endl;return 0;
}/* 运行结果
非常优秀
hsw
Program ended with exit code: 0*/
3.4 三目运算符
1.三目运算符(条件运算符): (表达式)?(语句1):(语句2)
#include <iostream>
using namespace std;int main(int argc, const char * argv[]) {// 比较两个数的大小int a=100, b=10;int max = (a>b)?a:b; // 如果a>b,把a赋值给Max,反之,把b赋值给Maxcout<<"max: "<<max<<endl;cout<<"hsw"<<endl;return 0;
}/* 运行结果
max: 100
hsw
Program ended with exit code: 0*/
- 条件运算符嵌套 (表达式1)?((表达式2)?(语句21):(语句22)):(语句12)
#include <iostream>
using namespace std;int main(int argc, const char * argv[]) {// 判断一个数是否能整除3和5int a=45;a%3==0?(a%5==0?cout<<"yes"<<endl:cout<<"no"<<endl):cout<<"no"<<endl;cout<<"hsw"<<endl;return 0;
}/* 运行结果
yes
hsw
Program ended with exit code: 0
*/
3.5. 条件运算符嵌套
- if(表达式){if(表达式){语句}}:
/*
if(表达式)
{if(表达式){语句}else{语句}
}
else
{if(表达式){语句}else{语句}
}*/// 判断是否是闰年#include <iostream>
using namespace std;int main(int argc, const char * argv[]) {// 判断是否是闰年?能被4整除但是不能被100整除,或者能被400整除,这样的年份才是闰年。int year[4] = {1999,1204,1700,2000};for (int i=0;i<4;++i){ int a = year[i];if(a%4 ==0){if(a%100 == 0){if(a%400 ==0){cout<<"4 是闰年"<<endl;}else{cout<<"3 不是闰年"<<endl;}}else{cout<<"2 是闰年"<<endl;}}else{cout<<"1 不是闰年"<<endl;}}cout<<"hsw"<<endl;return 0;
}/* 运行结果1 不是闰年2 是闰年3 不是闰年4 是闰年hsw
Program ended with exit code: 0
*/
判断是否是闰年简化版本
#include <iostream>
using namespace std;int main(int argc, const char * argv[]) {// 判断是否是闰年?能被4整除但是不能被100整除,或者能被400整除,这样的年份才是闰年。int year[4] = {1999,1204,1700,2000};int n = sizeof(year)/sizeof(year[0]);for (int i=0;i<n;++i){int a = year[i];if ((a%4==0 && a%100!=0) || a%400==0){cout<<i << " " <<a<< " "<<"是闰年"<<endl;}else{cout<<i<< " " <<a<< " "<<"不是闰年"<<endl;}}cout<<"hsw"<<endl;return 0;
}/* 运行结果0 1999 不是闰年1 1204 是闰年2 1700 不是闰年3 2000 是闰年hsw
Program ended with exit code: 0
*/
3.6 switch
- switch:多分支选择,当分支较多的时候。if判断语句容易造成代码混乱,在分支比较多的时候使用switch语句。
/*
switch(表达式)
{case 常量表达式1:语句1;break;case 常量表达式2:语句2;break;case 常量表达式3:语句3;break;case 常量表达式4:语句4;break;...default:语句5;
}*/#include <iostream>
using namespace std;int main(int argc, const char * argv[]) {// 一星期每天干嘛?for (int i=1;i<8;++i){switch(i){case 1:cout<<i<<" 看书+跑步+出去玩"<<endl;break;case 2:cout<<i<<" 看书+跑步+美食"<<endl;break;case 3:cout<<i<<" 看书+跑步+唱歌"<<endl;break;case 4:cout<<i<<" 看书+跳舞"<<endl;break;case 5:cout<<i<<" 看书+跑步+看美景"<<endl;break;case 6:cout<<i<<" 看书+跑步+看书"<<endl;break;default:cout<<i<<" 看书+跑步+练字"<<endl;;}}cout<<"hsw"<<endl;return 0;
}/* 运行结果
1 看书+跑步+出去玩
2 看书+跑步+美食
3 看书+跑步+唱歌
4 看书+跳舞
5 看书+跑步+看美景
6 看书+跑步+看书
7 看书+跑步+练字
hsw
Program ended with exit code: 0
*/
参考书《C++入门到精通》