条件运算符 条件表达式?表达式1:表达式2 先计算条件表达式的值,若是true,则用表达式1作为整个表达式的值, 否则就用表达式2的值作为整个表达式的值 =x>0?1:-1; x>y x yj 条件运算符是C++中唯一的三目运算符 7 http://math.ecnu.edu.cn/-jypan
http://math.ecnu.edu.cn/~jypan 条件运算符 7 条件表达式 ? 表达式1 : 表达式2 ► 先计算 条件表达式 的值,若是 true,则用 表达式1 作为整个表达式的值, 否则就用 表达式2 的值作为整个表达式的值 z = x>0 ? 1 : -1; z = x>y ? x : y; 条件运算符是 C++ 中唯一的三目运算符
举例 #include <iostream> using namespace std; int main() { int×1=1,x2=2,x3=3; bool b1,b2,b3; b1=(x1<x2)&(x2<x3); /1正确写法 cout<"b1="<b1<"\n"; b2=X1<X2<x3; /1有没有问题? cout<"b2="<b2<"\n"; b3=X3>x2>x1; /1有没有问题? cout<"b3="<b3<"\n"; return 0; 8 http://math.ecnu.edu.cn/~jypan
http://math.ecnu.edu.cn/~jypan 举例 8 #include <iostream> using namespace std; int main() { int x1=1, x2=2, x3=3; bool b1, b2, b3; b1 = (x1 < x2) && (x2 < x3); // 正确写法 cout << "b1=" << b1 << " \n"; b2 = x1 < x2 < x3; // 有没有问题? cout << "b2=" << b2 << " \n"; b3 = x3 > x2 > x1; // 有没有问题? cout << "b3=" << b3 << " \n"; return 0; }
2 选择结构 口F语句:单分支、双分支、多分支、嵌套 ▣SWITCH语句 http://math.ecnu.edu.cn/-jypan
http://math.ecnu.edu.cn/~jypan 2 选择结构 IF 语句:单分支、双分支、多分支、嵌套 SWITCH 语句
IF语句:单分支 用法一:单分支 f(表达式) 语句块 if (x>y) cout <x; 这里的语句块可以是单个语句或复合语句(即多个语句用大括号括起来) if (x>y) if (x>y) t xj t xj ×=y5 x =y; y=t; y=t; ex03_if_01.cpp 10 http://math.ecnu.edu.cn/~jypan
http://math.ecnu.edu.cn/~jypan IF 语句:单分支 10 if (x>y) { t = x; x = y; y = t; } if (x>y) t = x; x = y; y = t; 用法一:单分支 if (表达式) 语句块 if (x>y) cout << x; 这里的语句块可以是单个语句或复合语句(即多个语句用大括号括起来) ex03_if_01.cpp
F语句:双分支 用法二:双分支 f(表达式) 语句块 ex03_if_02.cpp else if (x>y) cout <x; 语句块 else cout <y; 注意:条件判断表达式两边的小括号不能省略! 11 http://math.ecnu.edu.cn/-jypan
http://math.ecnu.edu.cn/~jypan IF 语句:双分支 11 用法二:双分支 注意:条件判断表达式两边的小括号不能省略! if (表达式) 语句块 else 语句块 if (x>y) cout << x; else cout << y; ex03_if_02.cpp