4.1.2三目运算符
作用:简单的判断
语法:表达式1 ?表达式2 :表达式3
如果表达式1为真,执行表达式2,否则执行表达式3
例子: c = (a > b ? a : b); 将ab中的大的那个赋值给c
(a > b ? a : b)=100 三目运算符返回的时一个变量可以继续赋值
4.1.3switch语句
用于多条件分支语句
语法:switch(表达式)
{
case 结果1:执行语句;break;不写break就会一直读下去,要结束当前分支。
case 结果2:执行语句;break;
...
default:执行语句;break;
}
switch与if的区别:
switch 缺点:在判断时候只能是整型或者字符型,不可以是一个区间。
switch 优点:结构清晰,执行效率高。
4.2循环结构
语法:while (循环条件){循环语句} 循环条件为真,就执行里面的代码。
srand((unsigned int)time(NULL)); 添加随机数种子,根据时间生成随机数,防止每次随机数一样
int num = rand() % 100 + 1; 生成一个0+1~99+1的随机数
4.2.2do...while循环语句
do {循环语句} while { 循环条件 };
与while的不同:do..while会先执行一次循环语句,再判断循环条件。
水仙花数案例
int main() { //将所有的三位数输出,提取个位十位百位,,再判断 //个位 153%10=3;十位 153/10=15,15%10=5;百位153/100=1 int num = 100; do { int a = 0;//个位 int b = 0;//十位 int c = 0;//百位 a = num % 10; b = num / 10 % 10; c = num / 100; if (a*a*a+b*b*b+c*c*c==num) { cout << num << endl; } num++;//要在if外,在其中的话 } while (num <1000); }
4.2.3for循环语句
语法:for ( 1起始表达式 ;4条件表达式;3末尾循环体)
{2循环语句;}
这里面的表达式都可以写在别的地方,执行顺序1234
例子:for(int i=0;i<10;i++){cout<<i<<endl;}
敲桌子案例
for (int num = 1; num < 101; num++) { if (num % 7 == 0)//7的倍数 { cout << "敲桌子" << endl; } else if (num / 10 == 7)//十位是7 { cout << "敲桌子" << endl; } else if (num % 10 == 7)//各位是7 { cout << "敲桌子" << endl; } //以上这部分也可以使用||或运算符 else { cout << num << endl; } }
4.2.4嵌套循环
for (int i = 0; i < 10; i++)//外层循环 { for (int j = 0; j < 10; j++)//内层循环 { cout << "* "; } cout << endl; }//外层执行一次,内层执行一周
输出
练习案例:乘法口诀表
列数 * 行数=计算结果
列数<=行数