1. ++i
和i++
的执行顺序不一样,前者是先自增后运算,后者是先运算后自增,
如果你想在表达式中使用变量的递增后的值,你可以使用 ++i
。
如果你想在表达式中使用变量的当前值,然后再将其递增,你可以使用 i++
++i
是前缀递增操作符,所谓前缀递增是指,它会先将变量增加 1,然后返回增加后的值,再将返回增加后的值参与别的运算
i++
是后缀递增操作符,它会先返回变量的当前值,然后再将变量增加 1。
除了自增之外,C++还提供递减的运算,i--
和--i
, 都是用来减少一个整数变量的值的操作, 它们之间的区别和递增一样,前缀递减会在修改变量的值后返回修改后的值,而后缀递减会在返回变量的当前值后再进行减少操作。
2. while循环
while语句表示只要给定的条件是真的,就反复执行这一段代码,直到条件变假为止。
while循环可以这样理解,假设条件为“我还没有学会C++”, 只要这个条件还是真的(判断条件的真假),我就会每天坚持努力学习(循环体),如果我已经学会了C++, 我才会停止学习(退出这个循环)。
基本语法:
while(条件) {
// 当条件为真时,就会一直执行
}
while 循环中, while(0)
会终止循环, 因为0可以转换成false, false代表条件为假,循环结束。
与for循环对比就会发现,while只有条件判断,而没有初始化语句和操作语句,所以要在while结构之外进行书写。
当判断语句为 while(--n)
,一旦n 初始为0 的话,此时while就会陷入死循环,因为只有0才会转换成false
, 所以--n
之后n会变成负数,while(负数) 会一直循环下去。
在while(条件判断)
循环中,条件判断通常是一个布尔值,即true表示真,false表示假,但是假设我们给定的是一个整数类型的值,编译器会帮助我们进行数据类型转换,将之转换成布尔值,如果整数的值为0,则条件的值为false, 其他非0的数都会转换成true。
3. do while循环
do {
// 循环体(代码块)
} while (条件判断);
do while循环会先去执行循环体内的代码块,然后再检查条件判断,如果条件判断为真,则继续执行下一次循环迭代;如果 条件判断为假,则终止循环。
这意味着,无论条件的值如何,我们都至少执行一次循环。
即:先去执行一次循环体中的代码,再去判断条件要不要执行
4. for循环
for语句的语法格式是:
for(初始化语句;条件判断;操作) {
// 代码块
}
假设我们从1数到100
for语言的逻辑
for(初始化值为1;判断是否小于100;计数值+1) {
// 循环体代码
}
5. 总结
#include <iostream>
using namespace std;
int main()
{
int i, n, a, b, sum;
//外循环:判断是否需要进入循环
while(cin >> n)
{
//内循环——过程:循环输出n次a+b
//法1
for(i = 0; i < n; i++)
//法2
//while(n--)
{
cin >> a >> b;
sum = a + b;
cout << sum << endl;
}
}
return 0;
}