#include<iostream>
#include<string>
#include<ctime>
using namespace std;
单行if语句
选择结构句
1用户输入分数
2打印分数
3判断分数是否大于600
int score = 0;
cout << "请输入一个分数" << endl;
cin >> score;
cout << "您输入的分数为" << score << endl;
if (score > 600)
{
cout << "恭喜您考上一本" << endl;
}
多行if语句
int score1 = 0;
//若大于600为一本,否则为没考上
cout << "请输入分数" << endl;
cin >> score1;
cout << "您输入的分数为" << endl;
if (score1 > 600)
{
cout << "考上一本" << endl;
}
else//小于600,则执行else语句
{
cout << "未考上" << endl;
}
多条件if语句
int score2 = 0;
cout << "请输入分数" << endl;
cin >> score2;
cout << "您输入的分数为" <<score2<< endl;
if (score2 > 600)
{
cout << "一本" << endl;
}
else if (score2 > 500)
{
cout << "二本" << endl;
}
else if (score2 > 400)
{
cout << "三本" << endl;
}
else
{
cout << "未考上大学";
}
嵌套if语句 if中的if
int score3 = 0;
cout << "请输入您的分数" << endl;
cin >> score3;
cout << "您的分数为" << score3 << endl;
if (score3 > 600)
{
if (score3 > 700)
{
cout << "北大" << endl;
}
else if (score3 > 650)
{
cout << "清华" << endl;
}
}
else if (score3 > 500)
{
cout << "二本" << endl;
}
else if (score3 > 400)
{
cout << "三本" << endl;
}
else
{
cout << "未考上大学" << endl;
}
选择结构案例,三只小猪称体重
int a = 0;
int b = 0;
int c = 0;
cout << "请输入小猪a的体重" << endl;
cin >> a;
cout << "请输入小猪b的体重" << endl;
cin >> b;
cout << "请输入小猪c的体重" << endl;
cin >> c;
cout << "a小猪的体重为" <<a<< endl;
cout << "b小猪的体重为" <<b<< endl;
cout << "c小猪的体重为" <<c<< endl;
if (a > b)
{
if (a > c)
{
cout << "a最重\n";
}
else
{
cout << "c最重\n";
}
}
else
{
if (b > c)
{
cout << "b最重\n";
}
else
{
cout << "c最重\n";
}
}
三目运算符
int a = 10;
int b = 20;
int c = 30;
c = a > b ? a : b;
(a > b ? a : b) = 100;//可以继续赋值,结果为100,c=100
cout << "c=" << c << endl;
cout << "a=" << a << endl;
cout << "b=" << b << endl;
switch语句
10~9经典 8~6非常好 5~4一般般 4以下烂片
cout << "请给这部电影打分" << endl;
int a;
cin >> a;
cout << "您打的分数为" <<a<< endl;
switch (a)//判断缺点:判断的时候只能是整型或者字符型,不可以是一个区间
//优点:结构清晰,执行效率高
//注意break
{
case 10:
cout << "经典电影" << endl;
break;
case 9:
cout << "经典电影" << endl;
break;
case 8:
cout << "非常好" << endl;
break;
case 7:
cout << "非常好" << endl;
break;
case 6:
cout << "非常好" << endl;
break;
case 5:
cout << "一般般" << endl;
break;
case 4:
cout << "一般般" << endl;
break;
default://默认剩余执行
cout << "烂片" << endl;
break;
}
循环结构
int num = 0;
//注意事项,循环中避免死循环
while(num<10)//循环条件
{
cout << num << endl;
num++;
}
猜数字游戏 系统生产随机数 系统给出提示,方便猜出
srand((unsigned int)time(NULL));
//添加随机数种子,否则只生成一个伪随机数
// 利用当前时间生成随机数
int num = rand() % 100 + 1;//生成1到199+1一个随机数
cout << num << endl;
int val = 0;//玩家猜的数
// 但需要头文件#include<ctime>
while (1)
{
cin >> val;
if (val > num)
{
cout << "猜测过大" << endl;
}
else if (val < num)
{
cout << "猜测过小" << endl;
}
else
{
cout << "猜对了" << endl;
break;
}
}
do while 循环语句
与while区别:先执行一次循环语句
while是先判断再执行
int num = 0;
do {
cout << num << endl;
num++;
} while (num < 10);
水仙花数
1^3+5^3+3^3=153
1.输出100到9992.找到所有水仙花数3.获取个位十位百位
取模运算的应用
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++;
} while (num < 1000);
for循环语句
for (int i = 0; i < 10; i++)//根据条件先判断,然后执行
{
cout << i << endl;
}//for循环结构清晰
敲桌子游戏
int num = 0;
//7的倍数则敲桌子
for (num = 0; num <= 100; num++)
{
if (num == 7)//其实可以if(num==7||num%7==0||num/10==7)
{
cout << "敲桌子" << endl;
}
else if (num % 7 == 0)
{
cout << "敲桌子" << endl;
}
else if (num / 10 == 7)
{
cout << "敲桌子" << endl;
}
else
{
cout << num << endl;
}
}
嵌套循环
for (int i = 0; i < 10; i++)//外层循环
{
cout << "* ";
for (int j = 0; j < 10; j++)//内层循环
{
cout << "* ";
}
cout << endl;
}
乘法口诀表 列数*行数=计算结果,列数小于等于当前行数
for (int i = 1; i<=9; i++)
{
for (int j = 1; j <= i; j++)
{
cout << j<<"*"<<i<<"="<<i*j<<"\t";
}
cout << endl;
}
break语句
使用时机,出现在switch语句中
cout << "请选择难度" << endl;
cout << "1.普通" << endl;
cout << "2.中等" << endl;
cout << "3.困难" << endl;
int select = 0;
cin >> select;
switch (select)
{
case 1:
cout << "您选择的难度为普通" << endl;
break;
case 2:
cout << "您选择的难度为中等" << endl;
break;
case 3:
cout << "您选择的难度为困难" << endl;
break;
}
//出现在循环语句
//出现在嵌套循环语句
//使用break退出循环,使得程序进行下一步
//甚至可以退出内层循环,而不结束外层循环
continue语句
//执行到本行不再进行后面的代码,直接进行下一个循环
for (int i = 0; i <= 100; i++)
{//奇数输出,偶数不输出
if (i % 2 == 0)
{
continue;//可以进行筛选,执行到此直接进行下一次循环
}
cout << i << endl;
}
goto语句 直接进行跳转
不太方便,因为标记过多会造成程序混乱
cout << "1" << endl;
goto FLAG;
cout << "2" << endl;
cout << "3" << endl;
FLAG:
cout << "4" << endl;