c++控制结构

来源:互联网 发布:矢量图形设计软件 编辑:程序博客网 时间:2024/06/05 02:10

与顺序执行不同到是,c++提供了多种控制结构支持更为复杂到执行路径。

条件是一个可求值到表达式,所以可以测试其结果,如果结果值非0,那么条件为真,反之..

块: 块是被花括号括起来到语句序列,c++中,块可以用于任何可以用一条语句的地方

 for (int val = 1; val <= 10; ++val);       std::cout << val;    
 test.cpp: In function ‘int main()’:test.cpp:6: error: name lookup of ‘val’ changed for ISO ‘for’ scoping
test.cpp:6: note: (if you use ‘-fpermissive’ G++ will accept your code)<span style="font-family:arial;font-size:12px;line-height: 26px;"></span>

for循环中在 “初始化”部分 定义的变量的作用域范围的一个问题。ISO/ANSIC++ 把在此定义的变量的作用域范围限定在 for 循环体内,或者说,出了循环体之外这个变量就无效了。可以使用‘-fpermissive’使编译通过。 

int i, sum = 0;    for (i = -100; i <= 100; ++i)             sum += i;     std::cout << sum;        sum = 0;

在Windows系统下control-z来输入文件结束符,在Unix系统中,通常是control-d

for循环和while循环到优缺点:

在for循环中,循环控制变量的初始化和修改都放在语句头部分,形式较简洁,且特别适用于循环次数已知的情况。在while循环中,循环控制变量的初始化一般放在while语句之前,循环控制变量的修改一般放在循环体中,形式上不如for语句简洁,但它比较适用于循环次数不易预知的情况(用某一条件控制循环)。两种形式各有优点,但它们在功能上是等价的,可以相互转换。

c++primer 习题1.18 19 20

#include <iostream>int main(){    int a, b;    int count = 0;    std::cout <<"please iput two number" << std::endl;    std::cin >> a >> b;    if (a>b)    {        for (int i = a; i >= b; i--)        {                std::cout << i <<" ";                count++;                if (count%10 == 0)                {                        std::cout << std::endl;                }        }    }    else    {        for (int i = a; i <= b; i++)        {                std::cout << i << " ";                count++;                if (count%10 == 0)                {                        std::cout << std::endl;                }        }    }    return 0;}
int main() {    int a, b;    int count = 0;    int tempa, tempb;    std::cout <<"please iput two number" << std::endl;    std::cin >> a >> b;    tempa = a;    tempb = b;    if (a > b)    {               while (a > tempb)             {                       b += a;                      a --;             }               std::cout <<"number" << b;    }       else    {               while (tempa < b)            {                       a += b;                    b --;             }               std::cout <<"number" << a;    }       return 0;}

0 0
原创粉丝点击