C++004-C++选择与分支1
无论使用何种编程语言,都含有程序设计的三大经典结构。即:
顺序结构
条件结构
循环结构
顺序结构:就是一条大路走到底,没有岔路口,一步步从上往下执行即可。
条件结构,也叫选择结构,就像走到了一个岔路口,或超市里购买不同品牌的同类商品。需要根据条件判断选择执行那一部分或那些代码。
简单条件结构一般条件结构多重条件结构switch条件结构嵌套条件结构关键词:if、else、else if、switch、case、default、break等。
循环结构,也叫重复结构,就像太阳每天升起落下,马路上奔跑的汽车(飞速旋转的轮子)等。
条件表达式
条件表达式
C++ 支持数学中常见的逻辑条件:
小于:a < b
小于或等于:a <= b
大于:a > b
大于或等于:a >= b
等于a == b
不等于:a != b
条件表达式返回值
条件语句C++实现
C++ 有以下条件语句:
使用if指定的代码块将被执行,如果一个指定的条件是真
使用else指定的代码块将被执行,如果相同的条件为假
使用else if指定一个新的条件测试,如果第一个条件为假
使用switch指定的代码许多替代块被执行
单if语句
#include <iostream> using namespace std; int main() { if (2023 > 2020) { cout << "2023大于2020!"; } return 0; }
题目描述 判断奇数还是偶数
#include <iostream> using namespace std; //#include<cstdio> int main(){ long long a; scanf("%d",&a); if(a%2==0){ // 20为even printf("even"); }else{ //15 为odd printf("odd"); } }
题目描述 判断是否及格
#include <iostream> using namespace std; int main(){ int a; cin>>a; if(a>=60){ //61 cout<<"Yes"<<endl; } if(a<60){ // 59 cout<<"No"<<endl; } return 0; }
题目描述 判断是否为0
#include <iostream> using namespace std; int main(){ int a; cin>>a; //if(a=0){ //0 注意这里是赋值 不是条件 if(a==0){ //0 cout<<"Yes"<<endl; } if(a!=0){ // 59 cout<<"No"<<endl; } return 0; }
if else语句
连续if与if else的差别
单分支:顺序执行
双分支:二选一本质不一样。尽管有时候顺序判断多个条件也是只有一个条件为真,但在某些情况下如果条件太多,容易出现漏洞。
题目描述 输出绝对值
题目描述
输入一个浮点数,输出这个浮点数的绝对值。
输入
输入一个浮点数,其绝对值不超过10000。
输出
输出这个浮点数的绝对值,保留到小数点后两位。
样例输入
-3.14
样例输出
3.14
#include<iostream> #include<iomanip> using namespace std; int main() { double n,a; cin>>n; a=-n; if(-10000<=n<=10000) { if(n<0) { cout<<fixed<<setprecision(2)<<a<<endl; } else { cout<<fixed<<setprecision(2)<<n<<endl; } } return 0; }
逻辑运算符
逻辑运算符用来对关系表达式进行运算和链接,包括
逻辑与 &&
逻辑或 ||
逻辑非 !
题目描述 判断程序的输出
#include<iostream> using namespace std; int main() { cout<< (5>3) <<endl; // 输出为 1 cout<<(5>3>2) <<endl; //输出为 0 因为从左到右 1>2为错的 cout<<(5>3 && 3>2) <<endl; // 输出为1 关系表达式要用逻辑运算 return 0; }
题目描述 真值表判断
题目描述 判断整数能否同时被4和6整除,既能否同时把4和6整除
题目描述
输入一个整数,判断整数能否同时被4和6整除。如果能,输出yes,不能输出no
输入
输入一个整数
输出
yes 或者 no。
样例输入
12
样例输出
yes
#include<iostream> using namespace std; int main() { int a; cin >> a; if(a%4==0 && a%6==0){ //12 cout<< "yes" <<endl; } else{ // 10 cout<< "no" <<endl; } return 0; }
题目描述 判断整数能否被4或6整除
题目描述
输入一个整数,判断整数能否被4或6整除。如果能,输出yes,不能输出no
输入
输入一个整数
输出
yes 或者 no。
样例输入
12
样例输出
yes
#include<iostream> using namespace std; int main() { int a; cin >> a; if(a%4==0 || a%6==0){ //12 cout<< "yes" <<endl; } else{ // 5 cout<< "no" <<endl; } return 0; }
运算符顺序:
逻辑非 > 算术 > 关系 > 逻辑与 > 逻辑或 > 赋值
#include<iostream> using namespace std; int main() { int i = 0; if ( i++ <= 0 )// 输出 i++ True cout<<"i++ True"<<endl; else cout<<"i++ False"<<endl; cout<<"$$$$$$$$$$$"<<endl; int n = 0; if ( ++n <= 0 )// 输出 ++n False cout<<"++n True"<<endl; else cout<<"++n False"<<endl; cout<<"$$$$$$$$$$$"<<endl; return 0; }
总结
本系列为C++学习系列,会介绍C++基础语法,基础算法与数据结构的相关内容。本文为C++条件表达式,与条件语句实现,包括if和if else语句,并介绍了逻辑运算符的相关案例练习。