当前位置: 首页 > news >正文

C语言学习:7、break与continue的用法

        前面讲到的循环体,貌似能解决生活中的很多问题,毕竟生活中很多事情是在重复的。但有时候也会有些小插曲,比如你在日复一日的上班,但某一天又特殊的事情你失业了,不就没班上了吗,那就得跳出那个上班的循环了,C语言也有这样的跳出机制。

break

        在前面学习switch语句的时候,接触过break,就是跳出switch,在循环结构中,break也有相同的作用,跳出循环,管你循环条件是真是假。

程序示例1:累加到100,到100强制跳出while循环

#include <stdio.h>int main()
{int i = 1;int sum = 0;while (1){sum = sum + i;if (i == 100)break; //跳出while循环i++;}printf("i = %d\n", i);printf("sum = %d\n", sum);return 0;
}

程序示例2:猜数字游戏

#include <stdio.h>int main()
{int target = 30;int input= 0;for(;;){printf("请输入一个数字:");scanf_s("%d", &input);if (input == target)break;}printf("target = %d\n", target);return 0;
}

如果switch与循环嵌套在一起怎么办,break怎么跳?

       1、 就近原则:break离哪个关键字近,就跳出哪个。

       2、什么是关键字:switch、 while 、for这种的就是关键字。

程序示例3:判断10以内的奇数与偶数

#include <stdio.h>int main()
{int i = 0;for(i=1; i<=10; i++){switch (i % 2){case 0:printf("%d 是偶数\n", i);break; //跳出switchcase 1:printf("%d 是奇数\n", i);break; //跳出switch}}return 0;
}

程序示例3:

#include <stdio.h>int main()
{int i = 0;int k = 0;printf("请输入一个数字\n");scanf_s("%d",&i);switch (i % 2){case 0:printf("case 0\n");for (k = 0; k < 2; k++)if (k)break;//跳出for,那case 0就没有break了,满足case 0的时候case 1也会执行case 1:printf("case 1\n");break;}return 0;
}

输入奇数的时候只打印case1,输入偶数,打印了case 0 和case1

continue

咋一看continue不是继续的意思吗,这么跟break扯上关系了?

continue:在循环体中,continue之后的语句不用执行了,进入下一轮条件判断,重新循环;

break是结束整个循环,

continue只是结束当前循环条件中的语句,continue之后的语句就不用执行了。

continue的作用效果可以比较程序示例4和程序示例5的输出结果

程序示例4:

#include <stdio.h>int main()
{int i = 0;for (i = 1; i <= 5; i++){printf("序列%d开始\n",i);printf("序列%d结束\n", i);}return 0;
}

输出结果

序列1开始
序列1结束
序列2开始
序列2结束
序列3开始
序列3结束
序列4开始
序列4结束
序列5开始
序列5结束

把示例4的代码稍微修改一下,加个continue,观看输出结果。

程序示例5:

#include <stdio.h>int main()
{int i = 0;for (i = 1; i <= 5; i++){printf("序列%d开始\n",i);continue; //循环体后面的内容不用执行了,重新去判断条件printf("序列%d结束\n", i);}return 0;
}

输出结果是

序列1开始
序列2开始
序列3开始
序列4开始
序列5开始

练习:打印1000以内能被7整除的整数,并统计数量

分析:

1使用循环体遍历1--1000;

2、使用分支选择结构、判断能被7整除的数,能整除的打印并统计,不能整除的直接判断下一个数

程序示6:

#include <stdio.h>int main()
{int i = 0;int n = 0;for (i = 0; i <= 1000; i++){if (i % 7)continue; //如果i%7不等于0,说明不能被7整除,那就直接判断下一个数printf("%d能被7整除\n", i);n++;}printf("1000以内能被7整除的数共有%d个\n", n);return 0;
}

http://www.lryc.cn/news/159925.html

相关文章:

  • Ubuntu中安装clion并把clion添加到桌面快捷方式
  • 如何利用python来提取SQL语句中的表名称
  • linux通用时钟框架(CCF)
  • 基于AERMOD模型在大气环境影响评价中的实践技术应用
  • 企业内训课程、在线教育平台付费课程加密防下载的10种方式
  • 公关世界杂志公关世界杂志社公关世界编辑部2023年第14期目录
  • Linux常用(实用)命令大全
  • 2023-09-07力扣每日一题
  • 从C语言到C++_39(C++笔试面试题)next_permutation刷力扣
  • 适用于Linux的Windows子系统(系统安装步骤)
  • HarmonyOS/OpenHarmony(Stage模型)应用开发组合手势(二)并行识别
  • 如何使用GPT引领前沿与应用突破之GPT4科研实践技术与AI绘图
  • Blender中的高级边缘控制和纹理映射
  • 从0开始学go第四天
  • 【飞书ChatGPT机器人】飞书接入ChatGPT,打造智能问答助手
  • vue3集成jsoneditor
  • 自然语言处理 中文停用词词典
  • CocosCreator3.8研究笔记(十)CocosCreator 图像资源的理解
  • 计算机使用中常用截图与标注方法
  • Elasticsearch,Logstash和Kibana安装部署(ELK Stack)
  • MATLAB中movmean函数用法
  • IIS短文件名泄露漏洞复现
  • 万字解读 Android 车机核心 :CarService 的构成和链路~
  • C#使用Panel
  • Jabbi的Rust学习日记(一)
  • 电脑磁盘分区形式是什么?如何更改?
  • Outlook无需API开发连接钉钉群机器人,实现新增会议日程自动发送群消息通知
  • elasticsearch分析插件 安装analysis-ik
  • 2023年股票大宗减持研究报告
  • VS编译.cu文件源文件无法打开matrix.h和mex.h问题