1.for循环——执行特定的次数
①介绍——满足测试条件,执行循环,不满足,跳出循环
#include<iostream>
int main()
{
using namespace std;
for (int i = 5; i ; i--)
cout << "C++ knows loops.\n";
cout << "C++ knows when to stop.\n";
return 0;
}
1.循环执行一次初始化,通常使用表达式将变量设置为起始值;
2.测试表达式可以使用任意表达式,C++将结果强制转换为Bool类型。for循环是入口条件测试,这意味着在每次循环前,都将计算测试表达式的值,当表达式的值为false时,将不会执行循环体。
3.更新表达式:可以是任何有效c++表达式,还可以是其他控制表达式。
注:for语句看上去有些像函数调用,因为他后边跟了一对括号,常用方法是,在for和括号之间加一个括号,而省略函数名与括号之间的空格。
②表达式,语句和非表达式
1.表达式:
任何值或者任何有效的值和运算符的组合都是表达式。例如 10 是 值为10的表达式,28*20是值为560的表达式。 x = 20 是值为20的表达式(C++将赋值表达式的值定义为左侧成员的值);<<运算符的优先级比表达式中使用的运算符高,因此代码要使用括号来获得正确的运算顺序。
#include<iostream>
int main()
{
using namespace std;
int x;
cout << "The expression x=100 has the value "
<< (x = 100) << endl
<< "Now x = 100"<<endl;
x = 100;
cout << "The expression x<3 has the value "
<< (x < 3) << endl
<< "The expression x>3 has the value "
<< (x > 3) << endl;
cout.setf(ios_base::boolalpha); //设置标记,该标记命令cout显示true和false,而不是0和1
cout << "The expression x<3 has the value "
<< (x < 3) << endl
<< "The expression x>3 has the value "
<< (x > 3) << endl;
return 0;
}
2.副作用:
为判定表达式 x =100;C++必须将100赋给x.当判定表达式的值的这种操作改变了内存中的数据时,我们说表达式有副作用。有可能把赋值看做预期效果,有时判定表达式看作预期效果,但从这里来看,判定表达式是主要作用。并不是所有的表达式都有副作用,x+15将计算出新值,但x的值不会改变,++x + 15就有副作用,x加1.
3.语句
任何表达式后加上分号,就是语句,但语句删除分号,不一定是表达式(返回语句声明语句和for语句都不满足删除分号后是个表达式)
C++小规则——可以在for循环的初始化部分中声明变量,循环结束,变量不存在(C现在也可以了)。
③for语句中的常用符号介绍
1.回到for循环
#include<iostream>
int main()
{
const int Size = 16;
long long arr[Size];
arr[0] = 1;
long long res = 1;
for (int i = 1; i < 16; i++)
{
res *= i;
arr[i] = res;
}
for (int i = 0; i < 16; i++)
{
std::cout << i << "! =" << arr[i] << std::endl;
}
return 0;
}
实例提醒,可以使用std::而不是编译指令using来让选定的标准名称可用。
2.修改步长
#include<iostream>
int main()
{
using namespace std;
cout << "Enter an integer:" << endl;
int num = 0;