循环和关系表达式
C++中最主要的循环语句for循环,
for循环流程图
while循环
while循环和for循环比起来只有测试条件和循环体,也就说说while循环适用于那种你根本不知道要循环多少层的情况,如果你事先就已经知道要循环多少层,就可以直接使用for循环,否则whil循环。
while(true)
{
statement 1;
}
注意:
//第一种情况
int i=5;
while(i>0);//分号表示结束,此时while的循环体为空,也就意味着这个循环是死循环
{
cout<<i<<endl;
i--;
}
//第二种情况
int i=4;
while(i>0)
cout<<i<<endl;//死循环
i--;//如果不加花括号,while循环体默认只包含最近的一条语句,也就是cout语句,i--会被排除在外
自增表达式,自减表达式
自增有前++,后++,前–,后–,给个例子吧
int a=3;//定义一个变量a初始化为3
cout<<a++<<endl;//打印3,此时a=4
cout<<a<<endl;//打印4
cout<<++a<<endl;//打印5,此时a=5
也就是说前++的话是原值先增加1,然后用新值替代原值代入表达式,后++,先用原值代入表达式,这个过程结束后,再将原值增加1。再看一个例子:
int i = 3;
while (i++ < 7)
cout << i << endl;
//cout<<i<<endl;
输出结果:
4
5
6
7
可以思考一下为啥没有3哦!!!!另外注释去掉的话,会打印出多少值呢?7还是8呢?
实践:编写延时循环
#include<iostream>
#include<ctime> //头文件,包含了一些必要的api函数
using namespace std;
int main()
{
float sec = 5.0;//定义一个5秒的时间间隔
clock_t interval = sec * CLOCKS_PER_SEC;//乘以一个系统时间单位,得出系统时间间隔
clock_t cur = clock();//获取当前时间
while (clock()-cur<interval)//如果时间没到就等一等,时间到了跳出循环
{
cout << "wait......" << endl;
}
cout << "time is done!!!!" << endl;
}
类型别名
C++有两种方法取类型别名,一种是之前定义的宏,第二种就是typedef
typedef typename aliasname;
do…while循环
和while循环非常相似,只不过do…while循环至少执行一次