例5:判断输入字符的种类。把字符分为五类:数字 大写字母、小写字母、控制字符(其ASCI的编码小 于32)和其他字符。 44 条件运算符“?: 一般格式: <表达式1>?<表达式2>:<表达式3> 功能:计算表达式1的值,若不为0,计算表达式2, 该值作为计算结果,否则计算表达式3,其值作为 计算结果。 这是一个三元运算符
44 条件运算符“?:” 一般格式: <表达式1>?<表达式2>:<表达式3> 功能:计算表达式1的值,若不为0,计算表达式2, 该值作为计算结果,否则计算表达式3,其值作为 计算结果。 这是一个三元运算符。 例5:判断输入字符的种类。把字符分为五类:数字、 大写字母、小写字母、控制字符(其ASCII的编码小 于32)和其他字符
如求二个数中的大数可用语句: max=a>=b?a: b 即if(a>=b)max=a; else max=b 若 元运算左结合 a=1,b=2,c=3,d 如za>b?a:c>b?c:d; =4,则结果z3 元运算可嵌套使用。 如三个变量a、b、c中取最大值可如下表示: max=(a>=b?a: b<c?c: (a>=b? a: b); Bp max=(t=a>=b a: b) <c? c: t; 即if(a>=b)ta; else t=be if(t<c)max=c else max=t
如求二个数中的大数可用语句: max=a>=b?a:b; 即 if(a>=b)max=a; else max=b; 三元运算左结合。 如 z=a>b?a:c>b?c:d; 三元运算可嵌套使用。 如三个变量a、b、c中取最大值可如下表示: max=(a>=b?a:b)<c?c:(a>=b?a:b); 即max=(t=a>=b?a:b)<c?c:t; 即if(a>=b)t=a; else t=b; if(t<c)max=c; else max=t; 若 a=1,b=2,c=3,d =4,则结果z=3
开关语句 switch:多情况选择 形式 switch(expression) case cl: statements; break case c2: statements break. case c3: statements: break: default: statements: 流程先计算exp的值,再执行相应的语句 若表达式的值不在{ci}之内,执行 default语句
开关 语句switch :多情况选择 形式 switch (expression){ case c1: statements; break; case c2: statements; break; case c3: statements; break; default: statements; } 流程 先计算 exp 的值,再执行相应的语句, 若表达式的值不在{ci}之内,执行 default 语句
switch语句:多情况选择流程 expression T case a stats break F case y stats break F T case z stats break F default stats
expression switch 语句:多情况选择流程 case a stats. break T … F case y stats. break case z stats. break T F T F default stats
例6:# include≤ iostream. h> void main(void) int m: cout <<n input an integer: i cin > m: switch(m) case 1: cout <<one<< endl; break case 2: cout<< two"<< endl; break; case 3: cout << three << endl: break: default: cout <<default<< endl: 结果 input an integer: 2 two
input an integer: 2 two 结果 例6:#include <iostream.h> void main(void) { int m; cout << "\n input an integer:" ; cin >> m; switch(m) { case 1: cout << "one"<< endl; break; case 2: cout << "two" << endl; break; case 3: cout << "three" << endl; break; default: cout << "default" << endl; } }