简单的控制结构

来源:互联网 发布:宜家椅子 知乎 编辑:程序博客网 时间:2024/04/30 02:59

简单的控制结构

一种程序,通常是不限制的线性序列的指令。 在其过程中,它可能会分叉,重复码或作出决定。 为此,C + +提供的控制结构,用来指定通过我们的节目有许多工作要做什么,何时以及在何种情况下。 

控制结构的介绍中,我们要引入一个新的概念: 复合语句 。 块是一组分开分号(;)像所有的C + +语句,但组合在一起块括在大括号{}中的语句: 

{语句;语句;声明3;} 

在本节中,我们将看到的大多数控制结构需要一个通用的语句作为其语法的一部分。 一条语句可以是一个简单的语句(以分号结尾的一个简单的指令)或一个复合语句(分组在一个块中的几个指令),像我们刚刚描述的。 在的情况下,我们要声明是一个简单的语句,我们并不需要它括在大括号({})。 不过的情况下,我们希望语句是复合语句,它必须包含在大括号({})之间,形成了一个块。 

有条件结构:if与else

如果关键字是用来执行一个语句,如果满足某种条件,或仅阻止。 它的形式是: 

if(条件)语句 

其中, 条件是被评估的表达。 如果这种情况是真实的, 语句执行。 如果它是假的, 语句被忽略(不执行)和程序继续右后条件的结构。 
例如,下面的代码片段打印出x 100,仅当存储在变量x的值确实是100: 

1  2  
 if (x == 100) cout << "x is 100" ; 


如果我们想要更多的不是一个单一的情况下要执行的语句,条件为真,我们可以指定一个块使用大括号{}: 

 1  2  3  4  5  
 if (x == 100) { cout << "x is " ; cout << x; } 


我们还可以指定我们要发生什么,如果条件不满足其他使用关键字。 如果配合使用它的形式是: 

if(条件)语句1人语句 

例如: 

 1  2  3  4  
 if (x == 100) cout << "x is 100" ; else cout << "x is not 100" ; 


打印在屏幕的x是100,如果确实是x的值为100,但如果它有不且仅当未打印出x不是100。 

如果+ else结构可以连接在一起的意图验证一个范围值。 下面的例子显示了它的使用,告知目前存储在x的值,如果是正面,负面或没有(即零): 

 1  2  3  4  5  6  
 if (x > 0) cout << "x is positive" ; else if (x < 0) cout << "x is negative" ; else cout << "x is 0" ; 


请记住,的情况下,我们希望有更多比单个的要执行的语句,我们必须将它们分组在一个块括在大括号{}。 

迭代结构(循环)


循环重复一组语句一定次数的目的或满足某种条件时。 

while循环

其格式为: 

while(表达式)语句 

其功能简直,重复语句而设置的条件表达是真实的。 
例如,我们要进行一个倒计时程序使用一个while循环: 

 1  2  3  4  5  6  7  8  9  10  11  12  13  14  15  16  17  18  19  
 // custom countdown using while #include <iostream> using namespace std; int main () { int n; cout << "Enter the starting number > " ; cin >> n; while (n>0) { cout << n << ", " ; --n; } cout << "FIRE!\n" ; return 0; } 
  输入起始号码> 8   8,7,6,5,4,3,2,1,着火了! 


当程序启动时会提示用户插入一个倒计时的起始编号。 while循环开始时,由用户输入的值,如果满足条件N> 0(n是大于零的)的块如下条件将被执行,并反复进行,当条件(> 0)保持为真。 

前面的程序的全过程,可以根据下面的脚本(主开始)解释: 

  1. 用户分配一个值到n
  2. while条件检查(N> 0)。 在这一点上,有两种可能性: 
    *条件为真:语句被执行(步骤3) 
    *条件为假:忽略语句后继续(步骤5)
  3. 执行语句: 
    法院<< N <<“,”; 
    - N; 
    (n的值打印在屏幕上,降低n加1)
  4. 块结束。 自动返回到第2步
  5. 右后块继续运行程序:打印FIRE! 和结束程序。

当创建一个while循环,我们必须始终认为,在某个点结束,因此我们必须提供块内的一些方法,强制执行条件的,在某些时候成为虚假,否则循环将继续循环下去。 在这种情况下,我们已包括- N降低正在评估的条件(n)的一个变量的值-这将最终使一定数量的循环后变成虚假条件(N> 0)迭代:更具体地,当n0时 ,这是我们的while循环和我们的倒数结束。 

当然这是一个简单的动作,我们的电脑,整个倒计时立即执行没有任何实际数字之间的延迟。