循环语句:
一般循环结构包含3个部分:循环的初始化、循环条件、循环体
1.while循环(当型循环):
#include<iostream> using namespace std; int main() { int a = 1; while (a > 0) //循环条件,其中a时循环控制变量,当条件判断为真时执行循环体,否则不执行 { cout << a << " "; a--; //改变循环控制变量的值,使得循环不会一直执行下去成为死循环 } system("pause"); }
特点:当while()中的条件判断为真时,执行循环,循环体中应该具备改变循环条件的语句,否则循环会一直执行下去。
2.do-while循环(当型循环)
1 #include<iostream> 2 using namespace std; 3 int main() 4 { 5 int a = 1; 6 do 7 { 8 cout << a << " "; 9 a--; 10 } while (a > 0); //循环继续或终止的条件 11 system("pause"); 12 13 }
特点:持续执行循环体,直到while()判断语句中的值判断为假时跳出循环。不管条件为何,总会执行第一次循环,因为第一次判断在第一次循环之后。
3.for循环
1 #include<iostream> 2 using namespace std; 3 int main() 4 { 5 int s = 0; 6 int i; 7 for (i = 1; i <= 100; i++) //包含三个表达式,循环控制变量的初始化,循环条件,和修改控制变量的语句(可以放到循环体中) 8 { 9 s += i; 10 } 11 cout << s << endl; //输出从1一直加到100的和,结果是5050 12 system("pause"); 13 }
特点:相较于上面两个循环语句,for语句可以用于确定执行次数的循环结构,它不仅能用于次数循环(即能够确定循环次数的情况),也能用于条件循环(即循环次数不确定的情况)。另外,它所包含的三个表达式并不是必须的,三者都可以缺省。
转向语句:
转向语句是程序的流程控制的补充机制。c++的转向语句主要有:break、continue、break。
1.break语句:
1 #include<iostream> 2 using namespace std; 3 int main() 4 { 5 for (int i = 1;; i++) 6 { 7 if (i > 5) //当i大于5时 8 { 9 break; //跳出循环 10 } 11 cout << i << " "; 12 } 13 system("pause"); 14 }
特点:break语句可以无条件的终止循环语句或者switch语句,转而执行后面的语句。在本例中,break语句结合if语句相当于充当了for语句中缺省的循环控制语句。
2.continue语句:
1 #include<iostream> 2 using namespace std; 3 int main() 4 { 5 cout << "输出1到30的基数:" << endl; 6 for (int i = 1; i <= 30; i++) 7 { 8 if (i % 2) //判断是否为基数 9 { 10 cout << i << " " ; //为真则输出 11 } 12 else 13 { 14 continue; //为假则跳转到循环入口 15 } 16 } 17 system("pause"); 18 }
特点:用在循环语句中,终止当前的循环,不执行continue下面的语句而转向循环入口。
3.goto语句:
1 #include<iostream> 2 using namespace std; 3 int main() 4 { 5 int a, b; 6 loop: 7 cout << "input a,b" << endl; 8 cin >> a >> b; 9 cout << a << "+" << b << "=" << a + b << endl; 10 goto loop; //输出完毕后跳转至标号语句地方继续执行 11 12 }
特点:goto语句是无条件转向语句,配合标号语句使用,转向标号语句地方执行。但由于不符合“结构化程序设计”的思想,应尽量少用。