第一次写博客,只是为了复习目前我所学到的,欢迎大佬的指点批评。
初始循环
- while
对于while循环,至少运行零次。
while循环是没有初始化和更新部分的for循环,它只有测试条件和循环体;如果该表达式为true,则执行循环体中的语句。循环体也有一个语句和两个花括号定义的语句块组成。执行完循环体后,程序返回测试条件,对他重新评估。如果该条件为零,则再次执行循环体。测试和执行将一直执行下去,直到测试条件为false为止。
因此我们得到,在while中,想要循环有限,要在循环体中加入改变测试条件的语句,像i++/i–等;同样的,如果想要循环无限,可以将判断条件一直为true,像while(1)等。
像如下while循环代码:
int k = 1, n = 10, m = 1;
while (k <= n)
{
m *= 2;
cout << m << endl;
n--;
}
cout << m << endl;
//cout<<"while(1)"<<"无限循环"<<endl;
同理,我们可以编写延时循环
//延时循环
cout << "Enter the dalay time , in second:";
float secs;
cin >> secs;
clock_t dalay = secs * CLOCKS_PER_SEC;
cout << "starting\a\n";
clock_t start = clock();
while (clock() - start < dalay)
;
cout << "continue \a\n";
个人认为延时循环又NB又很强,
但记着一定要添加头文件哦!!!
2. do–while
前边说完while,接下来的do–while就很easy!
一个很明显的差别就是do–while至少会执行一次,他是先执行循环体,然后再判定测试表达式。直到循环条件为false,停止循环。
代码示例:
int a=1,b=10;
do{
b -= a;
a++;
} while (b-- < 0);
cout << b << a<< endl;
总结:while为“当–”型循环
do–while为“直到–”型循环
这两个都是当判断条件为false时结束循环
- for
万金油循环
for(设置初始值;循环条件;更新测试的值)
{
}
他的执行过程是:
1、设置初始值
2、执行测试,看循环是否继续
3、执行循环操作
4、更新用于测试的值
它也可以表示无限循环:
for(;;)
代码样例:
cout << "Enter a word :";
string word;
cin >> word;
for (int i = word.size() -1;i>=0;i--)
{
cout << word[i];
}
cout << "\nBye.\n";
分支语句
- switch
和C语言一样,switch语句就像指路牌,告诉计算机接下来要执行哪行代码。
switch(inter-expression)
{
case label1:statement(s)
break;
case label2:statement(s)
break;
...
default :statement(s)
}
一定要会用break;否则🐷
2. if
当switch中case的选项太多了的话可以考虑if。if可以处理取值范围。
if(判断条件)
{
…//如果判断条件为true
}
//如果判断条件为false
else{
…
}
接下来给出“猜数字”游戏的代码
const double PRICE = 200.0;//const与define区别
//也可以用随机函数
double guessprice;
int i = 0;
for (;;)
{
cout << "输入价格:" << "第" << i+1 << "次猜测" << endl;
cin >> guessprice;
i++;
if (guessprice>PRICE)
{
cout << "大了" << endl;
}
else if (guessprice<PRICE)
{
cout << "小了" << endl;
}
if (guessprice == PRICE)//等同else
{
cout << "yes" << endl;
break;
}
}
if (i==1)//if(i--=1)会改变i的值.
{
cout << "nb" << endl;
}
else if (i==2)//不能用if,要用else if
{
cout << "just so so" << endl;
}
else//只有一个主if,其他要用else if或else
{
cout << "sb" << endl;
}
break和continue语句
看图很容易理解。
给出代码样例: