C++学习 之 控制程序流程 (笔记)

1.使用if...else有条件的执行

  在一些时候语句需要进行有条件的执行。比如如果输入"Y"就执行赋值语句N=1;否则N=0:

  

#include<iostream>
using namespace std;
int main ()
{
    char Judge='N';
    int N;
    cin>>Judge;
    if(Judge=='Y')
    {
           N=1;
    }//if条件下一条语句时{}可省略,此处给出
    else
    {
           N=0;
    }
   cout<<N<<endl;
return 0; }

   if...else是可以嵌套使用的,下面例出一个模板:

if(expression1)
{
    DoSomething;
    if(expression2)
        DoSomething2;
    else
        DoSomethingElse2;
}
else
{
    DoSomething;
    if(expression3)
    DoSomething3;
}

    

2.使用switch...case进行条件处理

  switch...case语法结构如下:

  switch(expression)

  {

    case LabelA:

      DoSomethingA;

      break;

    case LabelB:

      DoSomethingB;

      break;

    default:

      break;

  }

  其语法就是计算expression的值并与case的标签对比,如果值相同就执行该case下的语句,不相同就与下一个标签作比较直至到也没有相同的就执行default正常退出。

  下面给出输入阿拉伯数字1~5给出相应的希腊数字的代码示例;

int Input_N;
cin>>Iput_N;
switch(Input_N) { case 1:
    cout<<"I"<<endl;
    break;
   case 2:
    cout<<"II"<<endl;
    break;
   case 3:
    cout<<"III"<<endl;
    break;
   case 4:
    cout<<"IV"<<endl;
    break;
   
case 5:
    cout<<"V"<<endl;
    break;
   default:
    break;
}

 3. ?:条件运算符

  expression ?: expression1:expression2;

  问号前表达式成立则选择计算expression1否则选择计算expression2。

  使用条件运算符?:选出两个数之间最大的一个:

int Number1=0,Number2=0;
cin>>Number1;
cin>>Number2;
int Max;
 Max=(Number1>Number2)?Number1:Number2;
      cout<<Max<<endl;

 

4. while循环

  while循环语法结构如下:

    while(expression)

    {

      StatementBlock;

    }

  只要expression为true,就将执行该语句块,所以在循环过程中会出现expression为false的情况,否则循环很有可能永不停息的执行下去。

5. do while循环

  do while循环与while的循环的区别在于是否在执行语句前进行了条件判断,do while循环保证了代码块语句至少被执行一次。

  do while循环语法结构如下: 

    do 

    {

      StatementBlock;

    }while(expression);

  注意:while循环和do...while的区别源自于编译器的顺序编译,do...while是有句末分号的。

6. for循环

  for语句是一种更加复杂的循环,它允许我们指定执行一次的初始化语句(通常用来初始化计数器),判断退出条件(通常使用计数器),还可以在循环末尾执行一次操作(通常为计数器累加操作)。

  例如循环为数组输入输出各值的代码:

int i, a[4];
for (i = 0; i < 4; i++)//初始化语句,检查退出条件语句,计数器累加操作语句
{
  cin >> a[i];
}
for (i = 0;i < 4; i++)
{
  cout <<"第"<< i + 1 << "个数: "<<a[i] << endl;
}

  注意:for语句中初始化语句、条件语句、操作语句都是根据需要可选的。

7. continue 和 break

   while ,do...while 和 for循环都会有条件语句,如果条件为假就跳出循环,如果条件一直为真就会一直循环就是死循环。在很多时候死循环会导致程序崩溃,这是我们不期望发生的事情,而使用break

  和continue就可以修改循环行为,包括死循环。我们可以给循环一个条件使其使用break跳出循环,continue会使执行跳到循环开头,重新评估循环条件。

  注意:尽量不要使用break或continue,因为它们影响代码直观性,除非遇到不使用它们程序就无法正确或高效的运行的情况。

   

posted @ 2019-07-23 16:32  望烟听雨寒  阅读(283)  评论(0编辑  收藏  举报