//---------循环结构-----------//
循环结构是程序中一种很重要的结构。
其特点是,在给定条件成立时,反复执行某程序段, 直到条件不成立为止。给定的条件称为循环条件,
反复执行的程序段称为循环体。
循环结构简单来说就是:循环是一次又一次的执行相同的代码块
// 7次 格式
while语句;
do-while语句;
for语句;
一般来说 一个循环需要以下几部分构成:
1)循环控制条件 循环退出的主要依据,来控制循环到底什么时候退出
2)循环体 循环的过程中重复执行的代码段
3)能够让循环结束的语句(递增、递减、真、假等) 能够让循环条件为假的依据,否则退出循环
//---------while循环-----------//
while ( 条件表达式 )
{
语句1;
语句2;
....(让条件表达式为假/有一句可以让循环结束)
}
1)while循环的特点:
如果while中的条件一开始就不成立,那么循环体中的语句永远不会被执行
2)while语句的语义是:
## 如果条件成立,就会执行循环体中的语句“循环体”。然后再次判断条件,重复上述过程,直到条件不成立就结束while循环
//---------do-while-----------//
while(条件){
语句块;
}
当型循环:当条件满足的时候,再去执行循环体
do {
语句1;
语句2; ....
} while ( 条件 );
直到型循环:先执行循环体,然后判断条件,直到条件为假就结束
1)do...while语句的语义
2)do-while循环的特点:
不管while中的条件是否成立,循环体中的语句至少会被执行一遍
对比:
while 是先判断再执行 30%
do-while 是先执行再判断 5%
当循环条件第一次判断不为假的时候,while和do-while执行的次数相同,为假,do-while会执行一次
//---------while的死循环-----------//
死循环:就是一直都执行循环体中的代码,不会退出
while(条件);
1)不知道要循环的次数的时候使用最佳 常常妙用死循环
2)在某个范围內查找满足条件的值
终端终止操作: control+c
//---------continue-----------//
continue语句的作用是跳过循环体中剩余的语句而继续下一次。
continue语句只用在 for、while、do-while等循环体中,常与if条件语句一起使用,用来"加速循环"。
break的用法:
while(表达式1){
......
if(表达式2) break;
...... }
continue的用法:
while(表达式1){
......
if(表达式2) continue;
...... }
//---------break-----------//
break和continue语句都可以用在循环中,用来跳出循环(结束循环);
break语句还可以用 在switch语句中,用来跳出switch语句。
当break语句用于
do while
for
while
循环语句中时,可使程序终止循环而执行循环后面的语句,通常break语句总是与while语句联在一起,即满足条件时便跳出循环。
注意:
1)break 用在循环与switch中
2)在多层循环中,一个break语句只向外跳一层。
//---------for循环-----------//
一般形式:
for( 表达式1 ; 表达式2 ; 表达式3 ) {
语句;
}
for循环执行过程
(1) 先求解表达式1。
(2) 求解表达式2,若其值为真(值为非0),则执行for语句中指定的内嵌语句,然后执行下 面 第(3)步。若为假(值为0),则结束循环,转到第(5)步。
(3) 求解表达式3。
(4) 转回上面第(2)步骤继续执行。
(5) 循环结束,执行for语句下面的一个语
for语句常见的形式:
for(循环变量赋初值;循环条件;循环控制语句)
for(int i = 0; i<10 ; i++){
语句块;
}
改写成: while
int i = 0;
while (i<10){
语句块;
i++;
}
//---------for循环值得注意的地方-----------//
1)表达式省略(三个表达式都可以省略)
如:for(; ;) 语句相当于while(1) 语句
了解:
2)循环控制无关的任意表达式
表达式1和表达式3可以是一个简单的表达式,也可以是逗号表达式,即包含一个以上的简单表达式,中间用逗号间隔。
for(int i=1,j=0;i<=100;i++,j++)
//---------for循环的嵌套-----------//
//第一种理解方式:把打印一行的代码,执行了5次
for (int j=0; j<5; j++) {
//打印一行 * ,有5个
for(int i=0;i<5;i++){
printf("*\t");
}
printf("\n");
}
//外层控制行数,里层控制列数
//---------关于图形打印以及99乘法表-----------//
1. 加横杠 填补空格的位置
|
|