C/C++基础----判断和循环

判断

if-elseif-else判断

  • 语句:
    • 条件使用之前的逻辑运算符或者关系运算符
    if(条件1){条件1成立时内容
    }else if(条件2){条件2成立时内容
    }else{所有条件不成立时内容
    }
    
    #include <iostream>using namespace std;int main() {int age = 10;if (age > 18) {cout << "成年了" << endl;}else{cout << "没成年" << endl;}return 0;
    }
    
    • 多个判断
    #include <iostream>using namespace std;int main() {int age = 18;bool is_have_id = true;// age >= 18 并且 is_have_id为true都成立时条件才会成立if (age >= 18 && is_have_id) {cout << "成年了,可以去网吧" << endl;}else{cout << "没成年" << endl;}return 0;
    }
    
    • else if第二个判断
    #include <iostream>using namespace std;int main() {int age = 18;bool is_have_id = false;// age >= 18 并且 is_have_id为true都成立时条件才会成立if (age >= 18 && is_have_id) {cout << "成年了,带了身份证可以去网吧" << endl;} else if (age >= 18 && !is_have_id) {// age >= 18 并且 is_have_id为flase都成立时条件才会成立cout << "成年了,但是没带身份证" << endl;} else {cout << "没有成年" << endl;}return 0;
    }
    

switch判断

  • 用户输入数字cin >> 变量;

  • switch语法:

    switch(变量){case 条件1:内容breakcase 条件2:内容breakcase 条件……:内容……breakdefault:如果所有条件都不满足就会走default的内容
    }
    
    #include <iostream>using namespace std;int main() {// 定义day变量int day;// 获取用户输入cin >> day;// 把day传入switchswitch (day) {// 如果day为1则输出星期一case 1:cout << "星期一" << endl;// 结束switchbreak;case 2:cout << "星期二" << endl;break;case 3:cout << "星期三" << endl;break;case 4:cout << "星期四" << endl;break;case 5:cout << "星期五" << endl;break;case 6:cout << "星期六" << endl;break;case 7:cout << "星期天" << endl;break;default:cout << "未知输入" << endl;break;}return 0;
    }
    

    在这里插入图片描述

如果不写break会怎么样?

  • 假设我们把case 6的break去掉
    在这里插入图片描述
  • 当输入5的时候进入case 5打印星期五,但是没有break会继续往下走直到遇见break,也就打印出了星期六,如果不写break,switch会穿透

结合goto使用

  • 我们每次输入完,程序执行一次就退出了,怎样才能循环使用,想退出的时候再退出?
  • 使用goto跳转到标记点
  • 语法:
    标记名:
    代码
    goto 标记名;
    
    #include <iostream>using namespace std;int main() {int day;// 打入标记switch_while:cout << "请输入星期几" << endl;cin >> day;switch (day) {case 1:cout << "星期一" << endl;break;case 2:cout << "星期二" << endl;break;case 3:cout << "星期三" << endl;break;case 4:cout << "星期四" << endl;break;case 5:cout << "星期五" << endl;break;case 6:cout << "星期六" << endl;break;case 7:cout << "星期天" << endl;break;case 8:cout << "退出程序" << endl;break;default:cout << "非法输入" << endl;// 清除输入流错误标记cin.clear(); // 取走刚才输入流中的字符cin.ignore(1024,'\n');break;}// 如果输入不为8则goto到标记的地方重新执行if (day != 8) {goto switch_while;}return 0;
    }
    

循环

for循环

  • 语法:
    for (定义局部变量i;条件;条件变化){条件满足时执行的内容,直到条件不满足
    }
    
  • 例子:打印1~100的和
    #include <iostream>using namespace std;int main() {int result = 0;for (int i = 0; i <= 100; i++) {result += i;}cout << result << endl;return 0;
    }
    
    在这里插入图片描述

while循环

  • 语法:

    while(条件){条件成立时执行的内容,直到条件不成立,如果条件一直成立就一直执行,就是死循环
    }
    
  • 例子:还是打印1~100的和

    #include <iostream>using namespace std;int main() {int result = 0;int i = 0;while (i <= 100) {result += i;i++;}cout << result << endl;return 0;
    }
    

do while

  • 语法:

    do{先执行一次内容,然后判断条件,是否成立。成立执行这里面代码,直到条件不成立
    }while(条件)
    
  • 例子:可以看到条件不满足,但是还是执行了一次

    #include <iostream>using namespace std;int main() {int i = 100;do {cout << "do执行了" << endl;} while (i < 100);return 0;
    }
    

    在这里插入图片描述

关于三种循环

  • whilefor只有条件成立时才会执行循环内的代码,但是do while会先执行一次再判断条件后续执不执行。

  • 三种循环中 continue; 关键字会跳过此次循环

  • break 关键字会结束循环

  • goto 标签; 也会结束循坏前往标签处继续执行

  • 例子: 计算0~80的偶数和

    #include <iostream>using namespace std;int main() {int result = 0;for (int i = 0; i <= 100; i++) {// 如果i / 2 的余数是否不为0  判断是否是偶数if (i % 2 != 0) {continue;}// 提前循环到80停止if (i > 80) {break;}result += i;}cout << result << endl;return 0;
    }
    

    在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/611096.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ShardingSphere再回首

概念&#xff1a; 连接&#xff1a;通过协议 方言及库存储的适配&#xff0c;连接数据和应用&#xff0c;关注多模数据苦之间的合作 增量&#xff1a;抓取库入口流量题提供重定向&#xff0c; 流量变形(加密脱敏)/鉴权/治理(熔断限流)/分析等 可插拔&#xff1a;微内核 DDL:cr…

OSPF 开放式最短路径优先协议

目录 技术产生原因&#xff1a;因为RIP存在不足 OSPF优点&#xff1a; RIPV2和OSPFV2比较&#xff1a; 相同点&#xff1a; 不同点&#xff1a; OSPF的结构化部署 --- 区域划分 区域划分的主要目的&#xff1a; 区域边界路由器 --- ABR &#xff1a; 区域划分的要求&am…

PyCharm Pro 2024:卓越的Python编辑开发工具,适用于Mac与Windows平台

PyCharm Pro 2024是一款专为Python开发者设计的强大编辑开发工具&#xff0c;无论是Mac还是Windows用户&#xff0c;都能从中受益良多。该软件凭借其出色的性能、丰富的功能和卓越的用户体验&#xff0c;成为Python编程界的翘楚。 作为一款高效的Python编辑器&#xff0c;PyCh…

【MySQL】索引篇

SueWakeup 个人主页&#xff1a;SueWakeup 系列专栏&#xff1a;学习技术栈 个性签名&#xff1a;保留赤子之心也许是种幸运吧 本文封面由 凯楠&#x1f4f8;友情提供 目录 本系列传送门 1. 什么是索引 2. 索引的特性 3. 索引的分类 4. 索引的优点及缺点 优点 缺点 5.…

绝地求生:AUG爆裂弹球黑货箱:街机动漫风格大家会喜欢吗?

大好&#xff0c;我闲游盒&#xff01; 4.10更新后&#xff0c;AUG的新成长型也出来了&#xff0c;更新后我觉得AUG变好用了一点&#xff0c;不知道大家有没有感觉出来&#xff1f; 宝箱概率 本期主角 AUG-爆裂弹球&#xff08;紫色配粉红色&#xff09; 本次的AUG我才升到5级…

arm内核驱动-中断

先介绍个东西 ctags 这个工具可以像keil一样在工程里查找跳转&#xff0c;帮我们找到我们想要的东西。 安装教程可以找到&#xff0c;这里只讲怎么用。 在工程目录&#xff08;包含所有你会用到的头文件等&#xff09;下&#xff0c;先加载这个命令&#xff0c;可能要等待…

每日一题---OJ题: 链表的回文结构

片头 嗨! 小伙伴们,大家好! 今天我们来一起学习这道OJ题--- 链表的回文结构 嗯...这道题好像不是很难,我们来分析分析 举个例子: 我们可以看到,上图中的两个链表都是回文结构: 即链表的回文结构是指一个链表中的结点值从前往后读和从后往前读都是一样的结构。也就是说&#xf…

vue表格操作列,按钮太多显示... 点击后悬浮显示全部按钮

效果: 分析原理: 一共就三步,仔细看看很简单,位置要加对,代码结构下边有demo 代码结构demo: <el-table-columnlabel"操作"align"center"fixed"right"show-overflow-tooltip><template slot-scope"scope"><el-buttonsi…

前端服务请求跨域被拦截,Java后端Springboot服务解决办法

跨域问题 跨域前端遇到的问题&#xff1a; Access to XMLHttpRequest at ‘http://www.xxx.xxxx/api/x/d/xc’ from origin ‘http://127.0.0.1:3000’ has been blocked by cors policy: No ‘Access-Contorl-Allow-Origin’ header is present on the requested resource. …

npm创建Vue3项目

npm创建Vue3项目 1 创建Vue项目说明 2 安装3 运行 1 创建Vue项目 创建最新版的Vue项目&#xff0c;已经不推荐使用CLI构建方式了。参考如下即可。 npm create vuelatest如果发现一直动不了&#xff0c;切换网络试一下&#xff0c;个人热点尝试一下。 按下图的选项按需引入自…

flask后端+网页前端:基于 socket.io 的双向通信和服务器部署

我想实现的效果是&#xff0c;我的服务器提供两个路由网址&#xff0c;网页A用于拍照、然后录音&#xff0c;把照片和录音传给服务器&#xff0c;服务器发射信号&#xff0c;通知另一个路由的网页B更新&#xff0c;把刚刚传来的照片和录音显示在网页上。 然后网页B用户根据这个…

IntelliJ IDEA(WebStorm、PyCharm、DataGrip等)设置中英文等宽字体,英文为中文的一半(包括标点符号)

1.设置前&#xff08;idea默认字体为 JetBrains Mono&#xff09; 2.设置后&#xff08;楷体&#xff09;