IOS学习第7天
do-while循环
- do-while循环的语法
1.do…while循环的语法:
do{
循环体;
}while();//此处有一个分号
注意:do-while循环最后面必须有一个分号
2.do-while循环结构和while结构的最大区别:
while:当型循环
do-while:直到型循环,傻瓜式循环
无论如何,do-while 至少会执行一次
//while
int main()
{
int i = 5;
while (i < 5) {
printf("hello world\n");
i--;
}
return 0;
}
//do - while
int main()
{
int i = 5;
do{
printf("hello world\n");
i--;
}while (i < 5);
return 0;
}
- do-while循环和while循环的区别
1>相同点: 都是循环结构,目的是将一段代码 重复的执行指定次数
2>不同点:
1)do-while循环结构是先执行后判断
while循环结构是 先判断 再执行
2)在第一次判断条件都不成立的情况下
do-while循环会执行一次
而while循环1次也不会执行
do-while 循环结构至少执行1次,而while循环结构可能一次都不执行
3)什么时候使用?
1.当循环体无论如何至少要执行一次的时候,那么可以使用do-while循环
2.当循环体有可能一次都不执行的时候,那么就使用while循环
在实际开发中,do-while用的比较少
for循环
格式
for(一般来说是定义性语句,简称初始化表达式;判断条件;曾量语句)
{
循环体;//循环体 后面 不再需要i++,j++这些语句
}- while循环和for循环之间的转换
1>用for循环打印10次hello world
int main()
{
for (int i = 0; i<10; i++) {
printf("hello world\n");
}
return 0;]]
}
2>while循环打印10次hello world
int main()
{
int i = 0;
while (i < 10) {
printf("hello world!\n");
i++;
}
return 0;
}
3>for循环转换成while循环
int main()
{
int i = 0
for (;i<10;) {
printf("hello world\n");
i++
}
return 0;
}
- 使用for循环的注意
1.注意事项
1)如果在第三个表达式中 已经修改了循环增量的值
那么就不在循环体中修改循环增量的值了
2)第三个表达式后是没有分号的
3)三个表达式的位置是固定的,第1个是初始化表达式 第2个是循环条件
第3个是循环后改变增量的表达式
4)三个表达式都可以省略,但是分号不能省略
如果第2个表达式省略,那么循环条件默认就是成立的
5)这个表达式,可以写任意的c语句
"注意": 只能有三个表达式,中间只能有两个分号
在绝大多数的情况下,for循环都是像下面方式使用的
for(int i = 0;i < xxx;i++){
}
2.关于省略大括号
1)if(判断语句){
语句块1;
}
"注意":如果语句块1,就一句代码 那么这个大括号可以省略
比如:
if(5 > 3)
printf("哈哈哈\n");
else
printf("呵呵\n");
建议:都不省略
2)for循环的循环体只有一句的时候 也可以省略 但是也不建议省略
3)单独的一个分号 “;” 也是一个语句 空语句
- 嵌套循环
1.什么是嵌套循环
一个循环的循环体中 含有另外一个循环
2.嵌套循环的特点
外层循环执行一次,内存循环执行所有次
3.嵌套循环的使用场景
一件事要完成一次 必须完成另外一件事n次
规律:遇到几行几列的图形 两层for循环
外层for循环控制的是行
里层的for循环控制的是列
break与continue补充
1.break:代表”立即”结束当前循环,无论在哪些循环结构中都是立即马上结束,后面的循环体中代码都不会执行
2.continue:代表结束本次循环,而执行下一次循环,用于加速循环
在while循环中 结束本次循环体,立即回去判断循环条件 如果成立再执行循环体
面试题:
int main()
{
for (int i = 0; i < 10; i++) {
for (int j = 0; j < 10; j++) {
//这里写一段代码,结束外层循环
i = 10;
break;//注意,不会再执行j++
}
}
return 0;
}
函数的基本使用
1.函数是什么?
把一段特殊功能的代码封装到一个函数块中
2.函数定义的语法
1>位置:
必须一定要在main函数之外,直接写在源文件下
2>语法:
返回值类型 函数名字([参数列表])
{
//函数体:可以有一句 可以多句 甚至可以没有
}
void showLogo()
{
//函数体:要打印的logo
}
3.函数的调用:
1>CPU只会执行main函数中的代码
2>语法:
函数名字();