6.1:定义
循环结构:某些代码会重复执行
强制类型转化
格式:
(数据类型)(表达式)
功能:
把表达式的值强制转化为前面所执行的数据类型
例子:
(int)(4.5+2.3)最终值为6
(float)(5) 最终值为5.000
6.2:分类
6.2.1:for
(1)格式 for(1;2;3)
语句A;
(2)执行的流程【重点】
单个for循环的使用;
多个for循环的嵌套使用;
/*
时间:2022年4月1日11:14:03
目的:for循环的嵌套使用1
*/
#include <stdio.h>
int main(void)
{
int i, j;
for (i = 1; i <= 3; i++)
{
for (j = 1; j <= i; j++)
printf("*");
printf("\n");
}
for (i = 1; i <= 2; i++)
{
for (j = 1; j <= 3 - i; j++)
printf("*");
printf("\n");
}
return 0;
}
/*
在vs2019中的输出结果
~~~~~~~~~~~~~~
*
**
***
**
*
~~~~~~~~~~~~~~
总结:。。。
*/
/*
时间:2022年5月15日16:54:20
目的:for循环的嵌套使用2
*/
#include <stdio.h>
int main(void)
{
int i, j;
for (i = 0; i <= 3; i++)
{
for (j = 0; j < 2*i+1; j++)
printf("*");
printf("\n");
}
for (i = 0; i <= 2; i++)
{
for (j = 0; j < 5 - 2*i; j++)
printf("*");
printf("\n");
}
return 0;
}
/*
在vs2019中的输出结果
~~~~~~~~~~~~~~~~~~~~~~~~~
*
***
*****
*******
*****
***
*
~~~~~~~~~~~~~~~~~~~~~~~~~
总结:。。。
*/
for(1;2;3) //1行
for(4;5;6) //2行
语句A; //3行
语句B; //4行
整体是两个语句 ,1、2、3是第一个语句,4是第二个语句
6.2.2:while
while(表达式)
{
循环体语句;
}
6.2.3:do...while
主要用于人机交互(do...while并不等价于for,也不等价于while)
do
{
......
} while(表达式)
6.2.4:break
(1)break如果用于循环是用来终止循环
(2)break如果用于switch,则是用于终止case,并跳出switch
(3)break不能直接用于if,除非if属于循环内部的一个字句
(4)break在嵌套循环中,是跳出最近的内层循环语句
for(i=0;i<3;++i)
{
if(3>2)
break; //break虽然是if的内部结构,但break终止的是外部的for循环
printf(“嘿嘿!\n”); //永远不会输出
}
(5)break只能终止距离它最近的循环
(6)在多层switch嵌套中,break只能终止距离它最近的switch
6.2.5: continue
用于跳过本次循环余下的语句,转去判断是否需要执行下次循环
for(1;2;3)
{
A;
B;
continue; //如果执行该语句,则执行完该语句后,会执行语句3,C和D都会被跳过去,不会被执行
C;
D;
}