C++学习day--10 条件判断、分支
1、if语句
#include <iostream>using namespace std;int main( void ) {int salary;cout << " 你月薪多少 ?" ;cin >> salary;if (salary < 20000) {
cout << " 你是一个好人 , 我还不想谈恋爱 ." << endl;}system( "pause" );return 0;}
形态2:如果。。。那么。。。,否则。。
#include <iostream>using namespace std;int main( void ) {int salary;cout << " 你月薪多少 ?" << endl ;cin >> salary;if (salary < 20000) {cout << " 你是一个好人 , 我还不想谈恋爱 ." << endl;} else {cout << " 我没有什么要求 , 只要你对我好就行 ." << endl;}system( "pause" );return 0;}
#include <iostream>#include <string>#include <stdio.h>using namespace std;int main( void ){int salary;string houseRet; // 是否有房string carRet; // 是否有车cout << " 你的月薪是多少 ?" << endl;cin >> salary;cout << " 你有房吗? " << endl;cin >> houseRet;cout << " 你有车吗? " << endl;cin >> carRet;if (salary < 20000) {cout << " 你是一个好人, 我现在还不想谈恋爱 ." << endl;} else if (houseRet == " 有 " ) {cout << " 我其实没有什么要求,只要你对我好 ." << endl;} else if (carRet == " 有 " ) {cout << " 还不错哦, 以后再联系 ." << endl;} else {cout << " 有缘再见 ." << endl;}system( "pause" );return 0;}
if 语句的嵌套
#include <iostream>#include <windows.h>using namespace std;int main( void ) {int x, y, z;cout << " 请输入 3 个整数 : " << endl;cin >> x >> y >> z;if (x > y) {if (x > z) {cout << " 最大值是: " << x << endl;} else {cout << " 最大值是: " << z << endl;}} else {if (y > z) {cout << " 最大值是: " << y << endl;} else {cout << " 最大值是: " << z << endl;}}system( "pause" );return 0;}
1 )严格使用 { }2 )先写{}再写里面的内容3 )保持良好的“缩进”
2、switch 语句
switch (x) {case 表达式 1 :语句 1break;case 表达式 2 :语句 2break;case 表达式 3 :语句 3break;default 表达式 1 :语句 1break;}
流程图:
demo
#include <iostream>#include <windows.h>using namespace std;int main(void) {int num;cout << " 请输入一个数字 : ";cin >> num;switch (num) {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:case 7:cout << " 周末:休息 " << endl;break;default:cout << " 请输入 1-7" << endl;break;}system("pause");return 0;}
-常见错误总结
switch 错误
#include <stdio.h>int main(void) {int c;scanf("%d", &c);switch(c) {case 1:int x = 0; //错误!printf("c=1");break;case 2:printf("c=2");break;default:printf("other");break;}return 0;}
应该修改为:
#include <stdio.h>int main(void) {int c;scanf("%d", &c);switch(c) {case 1:{int x = 0; //错误!printf("c=1");}break;case 2:printf("c=2");break;default:printf("other");break;}return 0;}
#include <iostream>#include <string>#include <stdio.h>using namespace std;int main( void ){int num;scanf( "%d" , &num);system( "pause" );return 0;}
注明,这类函数正常使用时,是没有任何问题的但是,部分黑客可能会利用其中的缺陷,开发恶意软件,对系统造成影响
int x;scanf_s("%d", &x); // 不需要使用第 3 个参数,用法和 scanf 相同float f;scanf_s("%f", &f); // 不需要使用第 3 个参数 , 用法和 scanf 相同char c;scanf_s("%c", &c, sizeof(c)); // 需要使用第 3 个参数 , 否则有告警char name[16];scanf_s("%s", name, sizeof(name)); // 需要使用第 3 个参数int age;char name[16];scanf_s("%d%s", &age, name, sizeof(name));
cin >> 的返回值
#include <iostream>#include <string>#include <Windows.h>using namespace std;int main( void ) {string word;int count = 0;int length = 0;cout << " 请输入任意多个单词: " ;while (1) {if ((cin >> word) == 0) { // 在 vs 中不能通过编译break ;}count++;length += word.length();}cout << " 一共有 " << count << " 单词 " << endl;cout << " 总长度: " << length << endl;system( "pause" );return 0;}
getline 的返回值#include <iostream>#include <string>#include <Windows.h>using namespace std;int main( void ) {string line;int lineCount = 0;int length = 0;cout << " 请输入任意多行: " ;while (1) {// 遇到文件结束符时, 返回 NULL ( 0 )if (getline(cin, line) == 0) {break ;}lineCount++;length += line.length();}cout << " 一共有 " << lineCount << " 行 " << endl;cout << " 总长度 : " << length << endl;system( "pause" );return 0;}
测试代码:

if 语句后面误加分号
int age;cout << "请输入年龄: " ;cin >> age;if (age > 40); {cout << "大叔" << endl;}
3、计算机英语加油站
bool | 布尔 逻辑类型 |
if | 如果 |
else | 否则 |
switch | 开关 |
case | 情况 |
default | 默认 |
4、职场修炼:怎样优雅地避免加班
996 工作制?9-6-5制定合理的项目计划提高工作效率(要有一定的技术积累)养成良好的工作习惯【不加班】每天有目标的学习 1 小时以上
5、练习
#include <iostream>#include <string>#include <Windows.h>using namespace std;int main( void ) {char c;cout << " 请输入一个字符 : " << endl;cin >> c;if (c >= 'a' && c <= 'z' ) {c = c - 'a' + 'A' ;} else if (c >= 'A' && c <= 'Z' ) {c = c - 'A' + 'a' ;}cout << c << endl;system( "pause" );return 0;}
#include <iostream>#include <string>#include <Windows.h>using namespace std;// 零 壹 贰 叁 肆 伍 陆 柒 捌 玖int main( void ) {int num;string ret;cout << " 请输入一个数字 [0-9]: " ;cin >> num;switch (num) {case 0:cout << " 零 " ;break ;case 1:cout << " 壹 " ;break ;case 2:cout << " 贰 " ;break ;case 3:cout << " 叁 " ;break ;case 4:cout << " 肆 " ;break ;case 5:cout << " 伍 " ;break ;case 6:cout << " 陆 " ;break ;case 7:cout << " 柒 " ;break ;case 8:cout << " 捌 " ;break ;case 9:cout << " 玖 " ;break ;default :break ;}cout << endl;system( "pause" );return 0;}
#include <iostream>#include <string>#include <Windows.h>using namespace std;int main( void ) {int num;string ret[10] = { " 零 " , " 壹 " , " 贰 " , " 叁 " , " 肆 " , " 伍 " , " 陆 " , " 柒 " , " 捌 " ," 玖 " };cout << " 请输入一个数字 [0-9]: " ;cin >> num;if (num >=0 && num <=9) {cout << ret[num] << endl;}system( "pause" );return 0;}
普通闰年: 能被 4 整除但不能被 100 整除的年份为世纪闰年: 能被 400 整除
#include <iostream>#include <Windows.h>#include <string>using namespace std;/*闰年的 2 月份有 29 天普通闰年 : 能被 4 整除但不能被 100 整除的年份为世纪闰年 : 能被 400 整除*/int main( void ) {int year;int month;bool flag = false ;int days;cout << " 请输入年份: " ;cin >> year;cout << " 请输入月份: " ;cin >> month;if (year % 400 == 0) {flag = true ;} else if (year % 4 == 0 && year % 100 != 0) {flag = true ;} else {flag = false ;}switch (month) {case 1:case 3:case 5:case 7:case 8:case 10:case 12:
days = 31;break ;case 2:days = flag ? 29 : 28;break ;case 4:case 6:case 9:case 11:days = 30;break ;default :std::cout << " 无效月份 " << std::endl;break ;}cout << year << " 年 " << month << " 月一共有: " << days << " 天 " << endl;system( "pause" );return 0;}
相关文章:

C++学习day--10 条件判断、分支
1、if语句 if 语句的三种形态 形态1:如果。。。那么。。。 #include <iostream> using namespace std; int main( void ) { int salary; cout << " 你月薪多少 ?" ; cin >> salary; if (salary < 20000) { cout <&…...

和月薪5W的聊过后,才发现自己一直在打杂···
前几天和一个朋友聊面试,他说上个月同时拿到了腾讯和阿里的offer,最后选择了阿里。 我了解了下他的面试过程,就一点,不管是阿里还是腾讯的面试,这个级别的程序员,都会考察项目管理能力,并且权重…...

SSM框架学习-AOP通知类型
在AOP中,通知(Advice)是对切点进行操作的方法,用于实现切面定义的具体逻辑。Spring框架支持五种类型的通知: 1. 前置通知(Before advice) 在连接点执行前,执行通知 Before("**…...

微信小程序原生开发功能合集十四:登录健权及注册功能实现
本章实现微信自动登录及注册修改功能,包括匿名账号生成、权限自动检测、注册界面及注册流程的实现。 另外还提供小程序开发基础知识讲解课程,包括小程序开发基础知识、组件封装、常用接口组件使用及常用功能实现等内容,具体如下: 1. CSDN课程: https://edu.csdn…...

【Java零基础入门篇】第 ⑤ 期 - 抽象类和接口(二)
博主:命运之光 专栏:Java零基础入门 学习目标 1.了解什么是抽象类,什么是接口; 2.掌握抽象类和接口的定义方法; 3.理解接口和抽象类的使用场景; 4.掌握多态的含义和用法; 5.掌握内部类的定义方法…...

Halcon 集合运算(差集difference、交集intersection、并集union2、打散connection与 合集 union1)
文章目录 1 差集difference2. 交集intersection3. 并集union24 打散connection与 合集 union1 (二者互为反义词)4.1 打散connection与4.2 合集 union1 (注意与交集的区别)5 示例原图1 差集difference difference (Operator) Name difference — Calculate the difference …...

Allegro约束规则设计
首先是物理规则。 然后是间距规则。 如果有些特殊要求,还需要设计电气规则。 原则上,把规则设计好,然后把规则赋值给网络。 物理规则。PCS。 对于名字为DEFAULT的PCS,这是最基础的整板默认规则。 没有特殊要求的网络,…...

PyQt5桌面应用开发(11):摸鱼也要讲基本法之桌面精灵
本文目录 PyQt5桌面应用系列鼠标不要钱,手腕还不要钱吗?PyQt5源程序python文件资源定义界面定义文件 技术要素资源文件StyleSheetsQMainWindow设置窗体几何 结论 PyQt5桌面应用系列 PyQt5桌面应用开发(1):需求分析 PyQ…...

Talk预告 | 大连理工大学IIAU Lab在读博士生严彬:走向通用实例感知
本期为TechBeat人工智能社区第495期线上Talk! 北京时间5月10日(周三)20:00,大连理工大学IIAU Lab在读博士生—严彬的Talk将准时在TechBeat人工智能社区开播! 他与大家分享的主题是: “走向通用实例感知”,届时将介绍和探讨通用实…...

2023-05-04 LeetCode每日一题(摘水果)
2023-05-04每日一题 一、题目编号 2106. 摘水果二、题目链接 点击跳转到题目位置 三、题目描述 在一个无限的 x 坐标轴上,有许多水果分布在其中某些位置。给你一个二维整数数组 fruits ,其中 fruits[i] [positioni, amounti] 表示共有 amounti 个水…...

[工具]Pytorch-lightning的使用
Pytorch-lightning的使用 Pytorch-lightning介绍Pytorch-lightning与Pytorch的区别Pytorch-lightning框架的优势Pytorch-lightning框架 重要资源 Pytorch-lightning介绍 这里介绍Pytorch_lighting框架. Pytorch-lightning与Pytorch的区别 Pytorch-lightning可以简单的看作是…...

互联网摸鱼日报(2023-05-09)
互联网摸鱼日报(2023-05-09) InfoQ 热门话题 面向数字化提质提效的低代码架构设计 | 低代码技术内幕 提升字节规模化效能的平台化思路 | 极客有约 从微服务转为单体架构、成本降低 90%,亚马逊内部案例引发轰动!CTO&…...

MySQL常见的存储引擎
InnoDB:InnoDB是一种兼顾高可靠性和高性能的通用存储引擎,在MySQL 5.5之后,InnoDB是默认的MySQL存储引擎。 特点:1、DML操作遵循ACID模型,支持事务; 2、行级锁,提高并发访问性能; 3、支持外键FOREIGN KEY约…...

迅为i.MX6ULL开发板生成 KEY 文件,并安装
使用“ssh-keygen” 生成个四个 key 文件“ssh_host_rsa_key” “ssh_host_dsa_key” “ssh_host_ecdsa_key” 和“ssh_host_ed25519_key” 。 1 在虚拟机 Ubuntu 控制台, “ /home/ssh/openssh-4.6p1” 目录下, 使用命 令“ssh-keygen -t rsa -f ssh…...

常见舆情监测系统的分类和特点
随着网络和社交媒体的发展,舆情监测系统逐渐成为企业和政府机构必备的工具之一。舆情监测系统可以帮助企业和政府机构全面了解公众对其品牌、产品、政策等的反应和态度,及时发现和解决问题,提高公信力和形象。本文将介绍常见的舆情监测系统的…...

联合群美叶彦文:坚持,只要有一口气,能坚持多久,就坚持多久
创业之路的成败得失就看有多坚持。 成功并不是终点,失败并不是终结,只有勇气才是永恒。 Success is not final,failure is not fatal,it is the courage to continue that counts. ——温斯顿丘吉尔 迪斯雷利曾经说过:“成功的奥秘在于目标…...

动态规划的学习
文章目录 动态规划的学习一、什么是动态规划?二、如何思考状态转移方程?三、动态规划的基本原理1.[509. 斐波那契数](https://leetcode.cn/problems/fibonacci-number/)1.1 暴力递归解法:1.1.1 递归算法的时间复杂度那为什么时间复杂度会这么…...

计算机网络:HTTPS
目录 HTTP 与 HTTPS 有哪些区别?HTTPS 解决了 HTTP 的哪些问题HTTPS 是如何建立连接的?其间交互了什么TLS 协议建立的详细流程客户端校验数字证书的流程是怎样的? HTTPS 的应用数据是如何保证完整性的HTTPS 一定安全可靠吗参考资料 HTTP 与 H…...

数据库系列-什么是 JDBC?它的作用是什么?
JDBC(Java Database Connectivity)是 Java 语言提供的一种访问数据库的标准接口,它定义了一组 Java 接口和类,用于实现 Java 程序与各种关系型数据库的连接和交互。JDBC 的主要作用是提供了一种标准的、可靠的、跨平台的方式来访问…...

C++学习day--08 数组和字符串
1、什么是数组 数组,就是多个元素的有序“组合”。 C 和 C语言中的数组: 1 )由多个大小相同的小柜子组成 > 相同大小的内存块组成,即相同类型的数据 2 )这些小柜子,有自己对应的编号 > 编号从 …...

系统分析师之系统测试与维护(十六)
目录 一、 测试与评审 1.1 测试类型 1.2 测试阶段 1.3 面向对象的测试 1.4 测试自动化 1.5 软件调试 1.6 软件评审 1.7 验收与确认 二、软件质量管理 2.1 软件过程改进-CMMI 2.2 软件开发环境与工具 三、系统运行与评价 3.1 系统转换计划 3.1.1 遗留系统演化策略…...

板材激光切割机切割穿孔时注意的几个问题
激光切割设备广泛应用于钣金、五金制品、钢结构、汽车配件、广告、工艺品等行业,成为加工行业不可缺少的环节。在厚板加工中穿孔时间占很大比重,随着加工板材越来越厚,板材激光切割机切割穿孔也会相应地增加难度。 激光切割机两种常见的穿孔方…...

奶爸式Swagger教学
目录 一、导入依赖 二、SwaggerConfig基础编程 三、Swagger 常用说明注解 1.API 2.ApiOperation 3.ApiModel 4.ApiModelProperty 5.ApiParam 6.ApilmplicitParam 一、导入依赖 <!--开启Swagger --><!-- https://mvnrepository.com/artifact/io.springf…...

入门级的家用洗地机怎么样?入门级洗地机推荐
洗地机的功能有很多,比如除菌、洗地机清洁地面的确是一把好手。但是!清洁完之后还要手动清洗洗地机,是一件麻烦事啊!现在市面上大部分洗地机都有自清洁这个功能,但是很多洗地机的自清洁并不算真正的自清洁,…...

【面试】Java 反射机制(常见面试题)
文章目录 前言一、反射是什么?二、为什么要有反射三、反射 API3.1 获取 Class 对象的三种方式3.2 获取成员变量3.3 获取构造方法3.4.获取非构造方法 四、实践五、常见面试题5.1. 什么是反射?5.2. 哪里用到反射机制?5.3. 什么叫对象序列化&…...

JavaScript最佳实践
JavaScript最佳实践 2023.5.8版权声明:本文为博主chszs的原创文章,未经博主允许不得转载。 JavaScript 是一种动态编程语言,可让开发者创建动态和交互式 Web 应用程序。然而,编写 JavaScript 代码比较具有挑战性,尤其…...

景23转债,海能转债上市价格预测
景23转债 基本信息 转债名称:景23转债,评级:AA,发行规模:11.54亿元。 正股名称:景旺电子,今日收盘价:22.52元,转股价格:25.71元。 当前转股价值 转债面值 / …...

TDengine 部署与使用----时序数据库
官网 通过 Docker 快速体验 TDengine | TDengine 文档 | 涛思数据 docker安装 拉取最新docker镜像 docker pull tdengine/tdengine:latest 然后执行 docker run -d -p 6030:6030 -p 6041:6041 -p 6043-6049:6043-6049 -p 6043-6049:6043-6049/udp tdengine/tdengine 查看容器…...

ShardingSphere系列四(Sharding-JDBC内核原理及核心源码解析)
文章目录 1. ShardingSphere内核解析1.1 解析引擎1.2 路由引擎1.3 改写引擎1.4 执行引擎1.5 归并引擎 2. ShardingSphere的SPI扩展点2.1 SPI机制2.2 ShardingSphere中的SPI扩展点2.3 实现自定义主键生成策略 3. ShardingSphere源码 1. ShardingSphere内核解析 ShardingSphere虽…...

【2023】华为OD机试真题全语言-题目0234-字符串重新排列
题目0234-字符串重新排列 题目描述 给定一个字符串s,s包括以空格分隔的若干个单词,请对s进行如下处理后输出: 单词内部调整:对每个单词字母重新按字典序排序单词间顺序调整: 统计每个单词出现的次数,并按次数降序排列次数相同,按单词长度升序排列次数和单词长度均相同…...