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 )这些小柜子,有自己对应的编号 > 编号从 …...
保姆级教程:在ArcGIS Pro插件中集成你的自定义工具箱(以‘消除重复要素’为例)
从脚本到按钮:ArcGIS Pro插件开发实战指南 在GIS日常工作中,我们常常会遇到一些重复性的数据处理任务。比如数据质检环节的"消除重复要素"操作,虽然可以通过Python脚本实现,但每次都需要打开IDE或Python窗口执行代码&am…...
告别虚拟机卡顿:在Windows 11的WSL2里搞定Lichee Nano交叉编译环境
告别虚拟机卡顿:在Windows 11的WSL2里搞定Lichee Nano交叉编译环境 对于嵌入式开发者来说,配置开发环境往往是个令人头疼的问题。传统虚拟机方案虽然能提供完整的Linux体验,但资源占用高、启动慢、与宿主系统交互不便等问题一直困扰着开发者。…...
HFSS仿真结果怎么看?以T型波导为例,读懂S参数与电场动态图
HFSS仿真结果深度解析:从S参数到电场动态图的实战指南当你第一次在HFSS中完成T型波导仿真后,面对满屏的曲线和彩色云图,是否感到既兴奋又困惑?那些起伏的S参数曲线究竟告诉你什么信息?电场图中跳跃的颜色又代表怎样的物…...
别再死记硬背SMO公式了!用Python手写一个SVM分类器,带你一步步拆解SMO核心逻辑
用Python手写SVM分类器:代码驱动理解SMO算法核心在机器学习领域,支持向量机(SVM)以其优秀的分类性能和坚实的数学基础著称。然而,许多学习者在理解其核心算法——序列最小优化(SMO)时,往往被复杂的数学推导所困扰。本文将采用一种…...
Linux服务器被挖矿木马劫持的五步应急处置指南
1. 这不是“中病毒”,是服务器被劫持成了矿机——先别慌,但必须立刻断网“服务器被黑客攻击,用来挖矿!”——这句话在运维圈里一出,比收到OOM告警还让人头皮发紧。它不像网页被挂马、数据库被拖库那样有明显业务影响&a…...
WTF Auto Layout? 实战:10个常见约束冲突案例解析与解决方案
WTF Auto Layout? 实战:10个常见约束冲突案例解析与解决方案 【免费下载链接】wtfautolayout The source code for Why The Failure, Auto Layout? 项目地址: https://gitcode.com/gh_mirrors/wt/wtfautolayout 在iOS开发中,Auto Layout是构建灵…...
危急时刻的六条基本安全提示
人机协作,AI模型:Deepseek 仅供参考 危急时刻的六条基本安全提示 以下内容仅为通用性安全建议,供在紧急情况下保持冷静、保护自身安全时参考。所有建议均基于常理和公共安全常识,不包含任何具体操作细节或可能被不当使用的信息…...
claude code用户如何迁移到taotoken解决封号与token不足问题
🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 Claude Code 用户如何迁移到 Taotoken 解决封号与 Token 不足问题 应用场景类,针对 Claude Code 用户常遇封号与 Token…...
如何深度定制索尼相机:Sony-PMCA-RE逆向工程工具完整指南
如何深度定制索尼相机:Sony-PMCA-RE逆向工程工具完整指南 【免费下载链接】Sony-PMCA-RE Reverse Engineering Sony Digital Cameras 项目地址: https://gitcode.com/gh_mirrors/so/Sony-PMCA-RE 索尼相机逆向工程工具Sony-PMCA-RE是一款专业的开源工具&…...
用PyTorch复现FactorVAE:一个能同时预测收益和风险的量化模型实战教程
用PyTorch实战FactorVAE:构建收益与风险双预测的量化模型 在量化投资领域,传统线性因子模型正逐渐被非线性机器学习方法所取代。然而金融数据特有的低信噪比特性,使得直接从市场数据中提取有效因子成为一项艰巨挑战。本文将深入探讨如何利用P…...
