课程章节:
- 课程名称:物联网/嵌入式工程师
- 章节名称:第2周之第四讲 1-5 至 1-9 C语言中的for循环语句、C语言中的break语句、C语言中的continue语句、C语言中的goto语句
- 讲师姓名:大白老师
课程内容:
C语言中的控制语句
C语言中的for循环语句
for循环
单层for循环
格式
for(表达式1;表达式2;表达式3)
{
C语言语句;
}
功能: 先执行表达式1,只执行一次,然后判断表达式2是否成立,若是成立,执行C语言,在执行表达式3
然后判断表达式2是否成立,若是成立,执行C语言,在执行表达式3
然后判断表达式2是否成立,若是成立,执行C语言,在执行表达式3
...
当表达式2不成立,循环结束
代码示例 单向for循环
#include <stdio.h>
int main()
{
int i = 0;
for(i = 10;i>=0;i--)
{
i--;
printf("i=%d\n",i);
}
printf("over i = %d\n",i);
return 0;
}
嵌套多层for循环
代码示例 多层for循环1
每行输出N个心心
#include <stdio.h>
int main()
{
int line,star,maxLine = 10;
for (line = 1; line <= maxLine; line++)
{
for (star=1; star <= line; star++)
{
printf("❤");
}
printf("\n");
}
return 0;
}
代码示例 多层for循环2
#include <stdio.h>
int main()
{
int i = 0,j = 0;
int sum = 0;
for (i = 0; i < 5; i++)
{
i = i + 3;
for (j = 0; j < 2; j++)
{
if ((i + j) % 2 == 0)
{
sum = i + j;
i++;
}
}
printf("i = %d j = %d sum = %d\n",i,j,sum);
}
return 0;
}
课后练习
练习
求 1! + 3! + 5! + 7!
代码:
#include <stdio.h>
int main()
{
int num = 7,ret=1,n=0,m=0,i,j;
for (i = 0; i <= num; ++i)
{
if (i&1)
{
j = i;
while(j > 1)
{
ret *= j;
j--;
}
n = ret;
ret = 1;
m += n;
// printf("ret = %d \n",m);
i != num ? printf("%d! + ",i) : printf("%d! ",i);
}
}
printf("= %d\n",m);
return 0;
}
C语言中的break语句
功能
(1)用在循环语句中,用来结束一层循环(一层for或while循环). [一层for循环指的是一个for语句]
(2)用在switch-case语句中,用来结束switch-case语句的执行
代码示例 break
#include <stdio.h>
//i = 0,i < 5; ,内部代码,i++
// |
// j = 0;j < 3, printf("0"), if(),j++
// j = 1,j < 3, printf("1"), if(),j++
// j = 2,j < 3, printf("2"); break;,内部for循环结束
// i = 1, .....
int main()
{
int i = 0,j = 0;
for(i = 0;i < 5;i++) //第一层for语句
{
for(j = 0;j < 4;j++) //第二层for语句
{
printf("j = %d\n",j);
if(j == 2)
{
break; //结束最近的一层for循环
}
}
printf("======================\n");
}
return 0;
}
课后练习
练习
仙花数的条件:
(1)它是一个三位数
(2)它的个位的立方 + 十位的立方 + 百位的立方 = 该数.
要求输出最大的水仙花数。可用break实现。
代码:
#include <stdio.h>
int main()
{
int x,y,z,num,ret;
for (int i = 999; i >= 100; --i)
{
x = i / 100;
y = i % 100 / 10;
z = i % 10 ;
x = x*x*x;
y = y*y*y;
z = z*z*z;
num = x + y + z;
if (i == num)
{
ret = i;
break;
}
}
printf("%d\n",ret);
return 0;
}
C语言中的continue语句
简介
continue语句只能用于含有循环的语句中,用于在循环语句中结束本次循环
继续下一次循环.若是在循环语句中有了continue,continue后面的语句将不会执行
注:
(1)只能用于循环语句
(2)不是跳出循环,而是结束本次,继续下一次
代码示例 continue
#include <stdio.h>
int main()
{
int i = 0 ,sum = 0;
for(i = 1;i <= 10;i++)
{
if(i % 3 == 0)
continue;//结束本次(i = 3,...)这次
sum = sum + i; //i=1,2,4,5,7,8,10
}
printf("sum = %d\n",sum); //37
return 0;
}
C语言中的goto语句
用法
goto 标签;
跳到到指定标签去运行
注意:标签必须在函数的内部,不能重复
代码示例 goto
#include <stdio.h>
int main()
{
int i = 1;
while(1)
{
i++;
if(i == 4)
goto next;
}
next:
printf("i = %d\n",i);
printf("GAME OVER!\n");
return 0;
}
学习笔记:
课后练习
练习
仙花数的条件:
(1)它是一个三位数
(2)它的个位的立方 + 十位的立方 + 百位的立方 = 该数.
要求输出最大的水仙花数。可用break实现。
代码:
#include <stdio.h>
int main()
{
int x,y,z,num,ret;
for (int i = 999; i >= 100; --i)
{
x = i / 100;
y = i % 100 / 10;
z = i % 10 ;
x = x*x*x;
y = y*y*y;
z = z*z*z;
num = x + y + z;
if (i == num)
{
ret = i;
break;
}
}
printf("%d\n",ret);
return 0;
}
C语言中的continue语句
简介
continue语句只能用于含有循环的语句中,用于在循环语句中结束本次循环
继续下一次循环.若是在循环语句中有了continue,continue后面的语句将不会执行
注:
(1)只能用于循环语句
(2)不是跳出循环,而是结束本次,继续下一次
代码示例 continue
#include <stdio.h>
int main()
{
int i = 0 ,sum = 0;
for(i = 1;i <= 10;i++)
{
if(i % 3 == 0)
continue;//结束本次(i = 3,...)这次
sum = sum + i; //i=1,2,4,5,7,8,10
}
printf("sum = %d\n",sum); //37
return 0;
}
C语言中的goto语句
用法
goto 标签;
跳到到指定标签去运行
注意:标签必须在函数的内部,不能重复
代码示例 goto
#include <stdio.h>
int main()
{
int i = 1;
while(1)
{
i++;
if(i == 4)
goto next;
}
next:
printf("i = %d\n",i);
printf("GAME OVER!\n");
return 0;
}
课程评价:
通过对C语言的语法糖学习和练习,能够编写简单C语言程序,再接再厉。
点击查看更多内容
为 TA 点赞
评论
共同学习,写下你的评论
评论加载中...
作者其他优质文章
正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦