第三章:控制语句

程序默认时顺序执行,但是实际项目中需要选择、循环控制。

1.1 选择控制语句 if

1.1.1 if语句

if(条件表达式)
{//复合语句,若干条语句的集合
   语句1;
   语句2;
}
如果条件成立执行大括号里的所有语句,不成立的话大括号里的语句不执行
if(条件表达式)//如果if没有{} 只能作用一条语句(if只识别语句1)
    语句1;
    语句2;
注意:如果只在乎项目的某个结果,请选择上面的 if 语句形式
    案例 1 :判断 data 能被 3 整除
int data=12;
if(data%3 == 0)
{
   cout<<data<<"能被3整除"<<endl;
}

1.1.2 if...else...语句

if(表达式1)
{
   语句1;
}
else
{
   语句2;
}

 

如果表达式 1 为真 执行语句 1 ,否则执行语句 2
注意:如果项目有两种结果,不会同时出现,就选择 if...else...
案例 1 :键盘输入一个 int 数据 求它对 2 的余数
int data = 0;
cin>>data;
if(data%2 == 0)
{
  cout<<data<<"对2的余数为0"<<endl;
}
else
{
  cout<<data<<"对2的余数为1"<<endl;
}

1.1.3 if...else if...else语句

if(表达式1)
{
  语句1;
}
else if(表达式2)
{
  语句2;
}
else if(表达式3)
{
  语句3;
}
else
{
  语句n;
}
如果表达式 1 为真执行语句 1 ,其他条件将不会再判断。只有当表达式 1 为假时 才会去判断表达式 2 的真假。
如果表达式 2 为真执行语句 2 ,其他条件将不会再判断。只有当表达式 2 为假时 才会去判断表达式 3 的真假。(依此类推)
只有所有表达式都为假时,最后才会执行 else 中的语句 n
注意:如果项目有多个结果,但是只会出现一个,请选择 if...else if
案例 1 :键盘输入一个 int 数据求它对 3 的余数
int data = 0;
cin>>data;
if(data%3 == 0)
{
  cout<<data<<"对3的余数为0"<<endl;
}
else if(data%3 == 1)
{
  cout<<data<<"对3的余数为1"<<endl;
}
else if(data%3 == 2)
{
  cout<<data<<"对3的余数为2"<<endl;
}

1.2 选择控制语句 switch

1.2.1 switch语句形式

switch(表达式)//表达式只能是字符型(char)或整型的(short int int long int)
{
  case 常量表达式1:
    语句1;
    break;
  case 常量表达式2:
    语句2;
    break;
  default:
    语句3;
    break;
}
将表达式的结果 与 case 后的常量表达式的值 一一对比,相等就从当前 case 语句处 进入执行 ,直到遇到
break 跳出 switch 语句。
案例 1 :键盘输入 1~7 的数值 判断是星期几
int date = 0;
cout<<"请输入1~7的数值:";
cin>>date;
if(date<1 || date>7)
{
cout<<"输入的时无效数值,请输入1~7的数值"<<endl;
return;//函数返回值结束
}
switch(date)
{
  case 1:
    cout<<"星期一"<<endl;
    break;
  case 2:
    cout<<"星期二"<<endl;
    break;
  case 3:
    cout<<"星期三"<<endl;
    break;
  case 4:
    cout<<"星期四"<<endl;
    break;
  case 5:
    cout<<"星期五"<<endl;
    break;
  case 6:
    cout<<"星期六"<<endl;
    break;
  case 7:
    cout<<"星期日"<<endl;
    break;
}

1.3 循环控制语句 for

1.3.1 for循环语句

for(初始化语句;循环条件;步进语句)
{//复合语句
  循环体;
}
初始化语句:只会在进入 for 循环前执行一次初始化动作
循环条件:每次循环都会执行,只有当循环条件为真时 才会进入循环体
步进语句:每次循环体执行完成后 会自动执行步进语句
案例 1 for 循环求 1~100 的和
int i=0;
int sum;
//for求1~100的和
for(i=1,sum=0 ; i<=100 ; i++)
{
  sum = sum+i;
}
cout<<"sum = "<<sum<<endl;//5050

1.3.2 for循环中的break,contiune

break, 跳出当前循环
int i=0,sum=0;
for(i=0; i<=100; i++)
{
  if(i==50)
  break;
  sum += i;
}
sum只加了1~49
continue ,进入下一次循环
int i=0,sum=0;
for(i=0; i<=100; i++)
{
  if(i==50)
  continue;
  sum += i;
}
上述代码的结果:sum==5000
1.3.3 循环嵌套循环
for(i=0;i<10;i++)
{
  for(j=0;j<10;j++)
  {
    语句1;
  }
}
先写内层循环 然后再写外层循环
案例 1 :输出九九乘法表

 

int i=0;
for(i=1;i<=9;i++)
{
  int j=0;
  for(j=1;j<=i;j++)
  {
    cout<<j<<"*"<<i<<"="<<j*i<<" ";
  }
 cout<<endl;
}

1.4 循环控制语句 while

1.4.1 while循环语句

//外部实现 初始化
while(循环条件)
{
  循环语句;
  //内部实现 步进语句
}
案例 1 while 1~100 的的和
int i=1;
int sum = 0;
while(i<=100)
{
  sum += i;//sum = sum+i;
  i++;
}
cout<<sum<<endl;//5050

1.4.2 while循环中的break,continue

break 跳出当前循环
int i=1;
int sum = 0;
while(i<=100)
{
  if(i == 50)
  break;
  sum += i;//sum = sum+i;
  i++;
}
cout<<sum<<endl;//1~49的和
continue 直接进入下次循环
int i=1;
int sum = 0;
while(i<=100)
{
  if(i == 50)
  continue;
  sum += i;//sum = sum+i;
  i++;
}
cout<<sum<<endl;//没有结果 while是死循环

1.4.3 do...while 

do
{
  //循环体;
}while(循环条件);
先执行一次循环体 再判断循环条件 来决定 是否下一次循环
案例 1 do...while 1~100 的和
int i=1;
int sum = 0;
do
{
  sum += i;
  i++;
}while( i<=100 );
如果知道循环次数 建议使用 for
如果不知道循环次数 但是知道退出条件 建议使用 while
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值