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.mzph.cn/news/814175.shtml

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

相关文章

【C Hash Map from Redis】

将Redis源码中的哈希表底层逻辑提取&#xff0c;并进行最小demo级测试将对应文件抽出&#xff0c;通过宏替换等方式保证源码编译通过main.c编写测试demo &#xff0c;注册哈希函数和值比较函数&#xff08;必选项&#xff09; /* Hash Tables Implementation.** This file imp…

Java 原生代码获取服务器的网卡 Mac 地址、CPU序列号、主板序列号

1、概述 Java 可以获取服务器的网卡 Mac 地址、CPU 序列号、主板序列号等信息&#xff0c;用来做一些软件授权验证、设备管理等场景。 2、代码实现 package com.study.util;import java.net.InetAddress; import java.net.NetworkInterface; import java.util.Scanner;/*** …

elasticsearch7安全配置--最低安全等级,用户名密码

上一篇博客在centos7上安装了elasticsearch7 接下来对elasticsearch进行安全方面的配置 minimal security 最低安全等级&#xff0c;用户名密码 首先开启xpack vim config/elasticsearch.yml xpack.security.enabled: true由于我是单机配置的&#xff0c;还加了如下配置 d…

SAP HCM GET pernr无法获取到数据二

今天遇到一个比较奇怪的问题&#xff0c;PA30能查到员工主数据&#xff0c;任何信息类型也没有错误&#xff0c;但是核算工资的时候发现无法找到此人。 但是核算工资无法核算 断点到逻辑数据get pernr&#xff0c;也不会进入断点 查看0000数据有间隔 具体错误的代码位置如下&am…

从 iPhone 上的短信中恢复已删除的图片的可靠方法

您可能在浏览消息聊天时不小心删除了一些文本和照片。事实上&#xff0c;如果这些消息对你来说意义重大&#xff0c;那对你来说可能会很麻烦。当发生意外情况时&#xff0c;您可能不想恢复整个聊天&#xff0c;而是恢复其中的附件。 好了&#xff0c;这篇文章主要是讲如何灵活…

Towards Street-Level Client-Independent IP Geolocation(2011年)(第二部分)

被引次数:306 Wang Y, Burgener D, Flores M, et al. Towards {Street-Level}{Client-Independent}{IP} Geolocation[C]//8th USENIX Symposium on Networked Systems Design and Implementation (NSDI 11). 2011. 接着Towards Street-Level Client-Independent IP Geolocati…

【数据恢复软件】:Magnet AXIOM V8.0

Magnet AXIOM V8.0重大更新 1、全新的UI设计 2、更快的相应速度 3、补全工件分析 4、支持亚马逊AWS云数据&#xff08; 获取同一帐户或安全帐户上下文中的快照。 支持Windows实例、加密卷和超过1 TB的卷、具有多个卷的实例等等&#xff01; &#xff09; 5、Bug修复 6、AI支持…

AI虽强,搜索引擎仍不可或缺

AI 领域正以前所未有的速度发展&#xff0c;大模型的发布变得愈发频繁&#xff0c;模型的规模也在持续扩大。如今&#xff0c;大模型的起点已经攀升至数十亿参数&#xff08;数十 B&#xff0c;B 是 Billion 的简写&#xff0c;10 亿&#xff09;&#xff0c;其功能之广泛&…

从零实现诗词GPT大模型:数据集介绍和预处理

本章将介绍该系列文章中使用的数据集&#xff0c;并且编写预处理代码&#xff0c;处理成咱们需要的格式。 一、数据集介绍 咱们使用的数据集名称是chinese-poetry&#xff0c;是一个在github上开源的中文诗词数据集&#xff0c;根据仓库中readme.md中的介绍&#xff0c;该数据…

使用阿里云试用Elasticsearch学习:使用内置模型 lang_ident_model_1 创建管道并使用

文档&#xff1a;https://www.elastic.co/guide/en/machine-learning/current/ml-nlp-deploy-model.html 部署刚刚下载好的内置模型 部署内存不够用 还得花钱&#xff0c;拉几把倒吧。就用自带的吧。 测试模型 POST _ml/trained_models/lang_ident_model_1/_infer {"doc…

错题记录-华为海思

华为 海思数字芯片 参考 &#xff1a;FPGA开发/数字IC笔试系列(5) 华为海思IC笔试解析 FPGA开发/数字IC笔试系列(6) 华为海思IC笔试解析 SystemVerilog Function与Task的区别 $readmemh与$readmemb这两个系统任务是用来从指定文件中读取数据到寄存器数组或者RAM、ROM中。除了…

IP地址修改步骤详解

IP地址是网络设备在网络中的标识&#xff0c;它决定了设备在网络中的位置与可访问性。然而&#xff0c;在某些情况下&#xff0c;我们可能需要修改IP地址&#xff0c;以满足特定的网络需求或解决网络问题。虎观代理将详细介绍IP地址的修改步骤&#xff0c;帮助读者更好地理解和…

HarmonyOS4-学习入门知识总结

简单的组件学习&#xff1a; /*** weip 自定义控件* 自定义构建函数也是需要充电的地方&#xff0c;分全局和局部的* 全局&#xff1a;需要添加function关键字 局部&#xff1a;不加function关键字* Styles function 自定义公共样式 分全局和局部* Extends(Text) 继承模式 只…

150个 HTML5 网站模版 量大慢选

HTML5 网站模版 No.1 HTML5 网站模版 No.1

计算机网络之同轴电缆,集线器,网桥,交换机,路由器

ping的过程 两台主机用交叉线连接&#xff0c;通过88.2ping88.3发现底层是先经过广播&#xff0c;通过arp协议&#xff0c;告诉我要找的ip是88.3,然后88.3主机收到后就把自己的mac地址发送回去&#xff0c;同理88.2发现是发给自己的后就进行接收&#xff0c;有了mac地址然后再通…

分类预测 | Matlab实现基于迁移学习和GASF-CNN-Mutilhead-Attention格拉姆角场和卷积网络多头注意力机制多特征分类预测/故障识别

分类预测 | Matlab实现基于迁移学习和GASF-CNN-Mutilhead-Attention格拉姆角场和卷积网络多头注意力机制多特征分类预测/故障识别 目录 分类预测 | Matlab实现基于迁移学习和GASF-CNN-Mutilhead-Attention格拉姆角场和卷积网络多头注意力机制多特征分类预测/故障识别分类效果基…

字体体积压缩

环境:python3 关键步骤: pip install fontTools目录详情: 执行 pyftsubset.exe SourceHanSansCN-Medium.ttf --text-file3500.txt然后打开:TTF To Woff2,选择文件上传,等待处理,下载,使用 附常用汉字,字体文件请善用百度 3500.txt 工才下寸丈大与万上小口山巾千乞川亿个…

【C++算法竞赛 · 图论】图的存储

前言 图的存储 邻接矩阵 方法 复杂度 应用 例题 题解 邻接表 方法 复杂度 应用 前言 上一篇文章中&#xff08;【C算法竞赛 图论】图论基础&#xff09;&#xff0c;介绍了图论相关的概念和一种图的存储的方法&#xff0c;这篇文章将会介绍剩下的两种方法&#xff…

【大语言模型】应用:10分钟实现搜索引擎

本文利用20Newsgroup这个数据集作为Corpus(语料库)&#xff0c;用户可以通过搜索关键字来进行查询关联度最高的News&#xff0c;实现对文本的搜索引擎&#xff1a; 1. 导入数据集 from sklearn.datasets import fetch_20newsgroupsnewsgroups fetch_20newsgroups()print(fNu…

zookeeper和kafka消息队列

zookeeper zookeeper介绍 Zookeeper是一个开源的分布式的&#xff0c;为分布式框架提供协调服务的Apache项目 zookeeper特点 zookeeper是由一个领导者(leader)&#xff0c;多个跟随者(follower)组成的集群 Zookeepe集群中只要有半数以上节点存活&#xff0c;Zookeeper集群…