5.1for 循环
for 循环的组成
需完成步骤:
1、设置初始值
2、执行测试
3、执行循环操作
4、更新用于测试的值
for (initialiazation, test-expression, update-expression)
body
- 在for循环初定义的变量,当离开程序时,变量消失。
5.1.4 使用for 循环访问字符串
例如forstr1.cpp
char str1;
str1.size(); //字符串str1的长度;
5.1.5 递增操作符(++)和递减操作符(–)
int x = 5;
int y = ++x; //x先加1,再赋给y
//y=6,x=6
先运算,再赋值。y = ++x;
int x = 5;
int y = x++; //x先赋值给y,x再加1
//y = 5,x = 6
先赋值,再计算:y = x++;
5.1.8 递增/递减操作符和指针
double arr[5] = {21.1,32.8,23.4,45.2,37.4};
double *pt = arr;
++pt;
*++pt;
先将++应用于pt,然后将*应用于被递增后的pt;此时pt指向arr[2];++*pt;
是先取pt的值,再给该值+1;即将23.4变为24.4;(*pt)++;
首先对指针解除引用,得到24.4,然后++操作符将24.4变为25.4,pt仍然指向arr[2];*pt++;
*pt++的值为arr[2],即为25.4,操作完成后,pt指向arr[3]的地址;
5.1.9 组合赋值操作符
i = i + by;
相当于i =+ by;
其他运算符与之类似。
5.2 关系表达式
- 不要将
=
与==
混淆;
5.3 while循环
while (test_condition)
body
5.3.1 for与while
二者本质相同,只是形式不同,
do while 循环
do
body
while (test_condition);
test_condition 为退出循环条件;
5.5 循环和文本输入
5.5.1 使用原始cin进行输入
例如
cin>>char;
while (ch != '#')
{
cout<<ch;
++count:
cin>>ch;
}
使用某个特定的字符作为输入停止符号;
注意:循环体中的cin >> ch
非常重要,如果没有,程序一直用第一个输入字符循环。
5.5.2 使用cin.get(char)进行补救
cin.get(ch);
while (ch != '#')
{
cout<<ch;
++count:
cin.get(ch);
}
cin.get(ch);
读取输入中的下一个字符(包括空格)。
5.5.4 文件尾条件
- 检测文件尾(EOF)
5.6 嵌套循环和二维数组
例如:int maxtemps[4][5];