初学C++primer(二)

1.4.控制流

1.4.1while语句反复执行一段代码,直至给定条件为假为止。

#include<iostream>

int main()

{//求1-10这10个数的和

    int sum = 0, val = 1;

    while (val <= 10) {

         sum += val;

         ++val;

    }

    std::cout << "sum of1 to 10 inclusive is" << sum << std::endl;

    return 0;

}

+=复合赋值运算符;此运算符将其右侧的运算对象加到左侧运算对象上,将结果保存到左侧对象中

Sum+=val;相当于sum=sum+val;

++前缀递增运算符;递增运算符将运算对象的值增加1。++val等价于val=val+1

练习1.9

#include<iostream>

int main()

{//使用while循环将50到100的整数相加

    int sum = 0,val = 50;

    while(val<=100){

         sum += val;

         ++val;

    }

    std::cout << "使用while循环将50到100的整数相加的结果是" << sum << std::endl;

    return 0;

}

练习1.10

#include<iostream>

int main()

{//按照递减顺序打印出10到0之间的整数

    int val= 10;

    while (val >= 0) {

         std::cout << val << std::endl;

         --val;

    }

}

练习1.11

#include<iostream>

int main()

{//编写一个程序,提示用户输入两个整数,打印出这两个整数所指定的范围内的所有整数

    int val1 = 0, val2 = 0;

    std::cin >> val1 >> val2;

    while (val1 < val2) {

         ++val1;

         std::cout << val1 << std::endl;

    }

    while (val1 > val2) {

         ++val2;

         std::cout << val2 << std::endl;

    }

    return 0;

}

也可以用这种代码:

#include<iostream>

int main()

{

         int i = 0,j,k,m,n;//mn是为了找到输入任意数字的大小关系。

         std::cout << "Please input two numbers:";

         std::cin >> j >> k;

         std::cout << std::endl;

         m = std::max(j, k);//max函数,取大

         n = std::min(j, k);//取小

         i = n;

         while ( i<=m  & i >=n) {

                  std::cout << i << std::endl;

                  ++i;

         }

         return 0;

}

学习心得:可以利用m = std::max(j, k) 的方式比较jk,选出最大值再把该最大值存给m

1.4.2 for语句

#include<iostream>

int main()

{

    int sum = 0;//从1加到10

    for (int val = 1; val <= 10; ++val)

         sum += val;

    std::cout << "Sum of 1 to 10 inclusive is" << sum << std::endl;

    return 0;

}

注意:val仅在for循环内部存在,在循环结束后是不能使用的。

初始化语句:int val=1只在for循环入口处执行一次。

循环条件:val<=10;  表达式:++val;

For语句运行顺序:比较val与10的大小关系(循环体每次执行前都会先检查循环条件)。只要val小于等于10,就会执行for循环体。表达式在for循环之后执行。

1.4.2节练习

练习1.12

完成了从-100加到100的过程,sum结果是0.

练习1.13

中的1.9

#include<iostream>

int main()

{

    int sum = 0;

    for (int val = 50; val <= 100; ++val)

         sum += val;

    std::cout << "Sum of 50 to 100 inclusive is" << sum << std::endl;

    return 0;

}

1.10

#include<iostream>

int main()

{

    for (int val = 10; val >= 0; --val)

         std::cout << val << std::endl;

    return 0;

}

1.11

#include<iostream>

int main()

{

    std::cout << "请输入两个数字" << std::endl;

    int val1=0, val2=0,m=0,n=0;

    std::cin >> val1 >> val2;

    m = std::max(val1, val2);

    n = std::min(val1, val2);

    for (int j = 0; n <= m; ++n)

         std::cout << n << std::endl;

    return 0;

}

练习1.14

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值