365算法特训营笔记2:C++基础2分支结构
if 语句
对条件做出判断,从而决定用那一段代码,使用选择结构语句。if 条件有三种语法形式。
if 语句 —— 单分支结构
if —- else 语句 —— 双分支结构
if 语句的嵌套
switch语句
switch 条件语句也是一种常用的选择语句,和if 语句不同, 她只能针对某个表达式的值做出判断,从而决定程序执行哪一段代码。
关系运算与逻辑运算
运算符类型 | 作用 |
---|---|
算术运算符 | 用于处理四则运算 |
赋值运算符 | 用于将表达式的值赋给变量 |
关系运算符 | 用于表达式的比较,并返回一个真值或假值 |
逻辑运算符 | 用于根据表达式的值返回真值或假值 |
三目运算符 | 用于根据表达式的值执行相应的语句 |
逗号运算符 | 用于连接并执行若干表达式,并返回最后一个表达式的值 |
位运算符 | 用于处理数据的位运算 |
sizeof 运算符 |
用于求字节数长度 |
关系运算符
关系运算用于对两个数值或变量进行比较,其结果是一个逻辑值(“真” 或 “ 假”)。
运算符 | 运算 | 范例 | 结果 |
---|---|---|---|
== | 相等于 | 4 == 3 | 0 |
!= | 不等于 | 4 != 3 | 1 |
< | 小于 | 4 < 3 | 0 |
> | 大于 | 4 > 3 | 1 |
<= | 小于等于 | 4 <= 3 | 0 |
>= | 大于等于 | 4 >= 3 | 1 |
逻辑运算符
逻辑运算符用于判断数据的真假,其结果仍为 “真” 或 “ 假” 。
运算符 | 运算 | 范例 | 结果 | ||||
---|---|---|---|---|---|---|---|
! | 非 | !a | 如果a为假,则!a为真 如果a为真,则!a为假 | ||||
&& | 与 | a&&b | 如果a和b都为真,则结果为真否则为假 | ||||
\ | \ | 或 | a \ | \ | b | 如果a和b有一个或一个以上为真,则结果为真,二者都为假,结果为假 |
相关实例
示例一
输入一个学生的成绩score, 判断是否及格。
#include <iostream> using namespace std; int main () { int score ; cin >> score ; if ( score >= 60) cout << "及格" << endl; return 0 ; }
示例二
输入一个学生的成绩score, 判断是及格还是不及格。
#include <iostream> using namespace std; int main () { int score ; cin >> score; if ( score >= 60 ) cout << "及格" << endl; else cout << "不及格" << endl; return 0; }
示例三
输入一个学生的成绩score, 判断其成绩等级(<60不及格,60-69及格,70-79中等,80-89良好,90-100优秀。)。
#include <iostream> using namespace std; int main () { int score ; cin >> score ; if(score >= 70) if(score < 80) cout << "中等" << endl; else if (score < 90) cout << "良好" << endl; else cout << "优秀" << endl; else if (score >= 60 ) cout << "及格" << endl; else cout << "不及格" << endl; return 0 ; }
示例四
输入一个年份,判断其是闰年好事平年(非整百年:能被4整除的为闰年;整百年:能被400整除的是闰年。)。
#include <iostream> using namespace std; int main () { int year ; cin >> year; if(year %4 ==0 && year%100 != 0 )||(year % 400 == 0) cout << "这一年是闰年。" << endl; else cout << "这一年是平年。" << endl; return 0; }
示例五
输入一个整数,判断其是否为水仙花数。(所谓水仙花数是指一个n位数(n >=3) , 他的每个位上的数字n次幂之和等于本身。例如,3位数153是水仙花数,各位数字的立方和$ 1^3 + 5^3 + 3^3 = 153 $。)。
#include <iostream> using namespace std; int main() { int num , a , b , c ; cin >> num ; a = num % 10 ; b = (num/10)%10; c = num/100; if (num == (a*a*a + b*b*b + c*c*c)) cout << num << "是水仙花数" << endl; else cout << num << "不是水仙花数" << endl; return 0 ; }
示例六
输入一个月份,判断属于什么季节(阳历3-5月为春季,6-8月为夏季,9-11月为秋季,12-来年2月为冬季。)。
#include <iostream> using namespace std; int main() { int month , season = 0; cin >> month ; if(3 <= mouth && month <=5) season = 1; else if(6 <= month && month <=8) season = 2; else if(9 <= month && month <=11) season = 3; else if(1 <= month && month <= 2)||(month == 12) season = 4; switch(season) { case 1: cout << "春季" << endl; break; case 2: cout << "夏季" << endl; break; case 3: cout << "秋季" << endl; break; case 4: cout << "冬季" << endl; break; default: cout << "输入的月份不对!" << endl; } return 0 ; }
注意
== 运算千万不要写成赋值 =
例如 :if(a == b) if(a = b)
优先级
switch语句
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 赛 の 任意门!
评论
ValineGitalk