关系运算表达式 关系运算符:
大于> 、 小于<
判断正数、 负数
大于等于>= 、 小于等于<=
判断大小写字母
等于== 、 不等于!=
整除的计算机表达、 数的奇偶性的计算机表达
约数(因数)的计算机表达、 质数(素数)的计算机表达 浮点数比较问题的计算机表达
关系运算符优先级:<、<=、>、>=的优先级相同,高于==和!=。 关系运算表达式结果是bool布尔类型,值只有两种,真或假,分别用1和0来代表。
综合例子:
int main() {
int a=1, b=2, c;
c = a > b;
c = a < b;
c = a == 1;
c = a != 1;
c = a == 2;
cout << c;
}
逻辑运算表达式 逻辑运算符:
&&与运算(AND)、||或运算(OR)
x是大写字母: x >= 'A' && x<='Z'
x是闰年(可以被400整除,或者能被4整除但是不能被100整除): x%4 == 0 && x%100 != 0 || x%400 == 0
例子:请所有学生会干部和团委会干部留下来开会。 AND? 还是 OR?
! 非运算(取反 NOT) 非0即真,C++中,0表示假,1表示真
x不是闰年 !( x%4 == 0 && x%100 != 0 || x%400 == 0 )
x不小于3: !( x<3)
a等于0或者b等于0 的反面?用计算机来描述
逻辑运算符优先级:!优先级高于&&, 而&&又高于|| 。 赋、 逻、 系、 术 逻辑:&&马桶、||筷子(动筷子前先洗手(上厕所))
逻辑运算表达式结果是bool布尔类型,值只有两种,真或假,分别用1和0来代表。 逻辑短路问题
例子1: int a=1,b=2,c=3; 执行完语句 (a>d) && (c=4)后,变量c的值是多少?
例子2: int x=2, c=4; 执行完语句 (x>1) || (c=3)后,变量c的值是多少?
scanf / printf语法(选修)
printf 时最好添加头文件 #include < cstdio >
printf输出格式
int:%d
double: %lf, 默认保留6位小数
char: %c, 回车也是一个字符,用'\n'表示
字符串数组: %s, 回车也是一个字符,用'\n'表示
保留若干位小数 double等输出保留若干位小数时用:%.3lf %g格式输出忽略后面的0,比如9.998000则会输出9.998
最小数字宽度 %8.3f, 表示这个浮点数的最小宽度为8,保留3位小数,当宽度不足时在前面补空格。 %-8.3f,表示最小宽度为8,保留3位小数,当宽度不足时在后面补上空格 %08.3f, 表示最小宽度为8,保留3位小数,当宽度不足时在前面补上0
if语句:当表达式的值为真,则其后的语句或者语句块会被执行。 if语句框架
语句和语句块的区别:语句块就是一组语句,要用{}来表示语句块。 例子:
int main() {
int a, b, mx;
cin >> a >> b;
mx = b;
if( a > b ){ //如果a>b ,那么更改mx的值。
mx = a;
}
cout << mx;
}
if-else:当条件成立时,执行某些语句;否则执行另一些语句。 基本if-else语句、 else 语句可以省略(行if结构)。 例子:
int main() {
int a, b , mx;
cin >> a >> b;
if( a > b ){
mx = a;
} else {
mx = b;
}
cout << mx ;
}
当只有一条语句时,大括号可以省略。
打擂台思想
嵌套if、 switch-case(了解) if-else语句内部也可以是if-else语句。 else语句就近原则匹配 switch-case:当和某个case常量表达式匹配成功后,程序会执行该case的语句或者语句块以及后面所有分支语句。
int main() {
switch( 表达式) {
case 常量表达式1: 语句块1;
case 常量表达式2: 语句块2;
…
default: 语句块n;
}
}
三目运算符:相当于if-else
—— 本文来自火龙信奥(义乌睿码科技):义乌青少年信息学奥赛与编程教育平台,专注 CSP-J/S、NOIP、GESP 竞赛培训,线上线下融合教学,助力编程升学。网址:hlcoding.com