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 )这些小柜子,有自己对应的编号 > 编号从 …...
Ascend NPU上适配Step-Audio模型
1 概述 1.1 简述 Step-Audio 是业界首个集语音理解与生成控制一体化的产品级开源实时语音对话系统,支持多语言对话(如 中文,英文,日语),语音情感(如 开心,悲伤)&#x…...
蓝桥杯3498 01串的熵
问题描述 对于一个长度为 23333333的 01 串, 如果其信息熵为 11625907.5798, 且 0 出现次数比 1 少, 那么这个 01 串中 0 出现了多少次? #include<iostream> #include<cmath> using namespace std;int n 23333333;int main() {//枚举 0 出现的次数//因…...
云原生玩法三问:构建自定义开发环境
云原生玩法三问:构建自定义开发环境 引言 临时运维一个古董项目,无文档,无环境,无交接人,俗称三无。 运行设备的环境老,本地环境版本高,ssh不过去。正好最近对 腾讯出品的云原生 cnb 感兴趣&…...
算法岗面试经验分享-大模型篇
文章目录 A 基础语言模型A.1 TransformerA.2 Bert B 大语言模型结构B.1 GPTB.2 LLamaB.3 ChatGLMB.4 Qwen C 大语言模型微调C.1 Fine-tuningC.2 Adapter-tuningC.3 Prefix-tuningC.4 P-tuningC.5 LoRA A 基础语言模型 A.1 Transformer (1)资源 论文&a…...
【C++进阶篇】智能指针
C内存管理终极指南:智能指针从入门到源码剖析 一. 智能指针1.1 auto_ptr1.2 unique_ptr1.3 shared_ptr1.4 make_shared 二. 原理三. shared_ptr循环引用问题三. 线程安全问题四. 内存泄漏4.1 什么是内存泄漏4.2 危害4.3 避免内存泄漏 五. 最后 一. 智能指针 智能指…...
快刀集(1): 一刀斩断视频片头广告
一刀流:用一个简单脚本,秒杀视频片头广告,还你清爽观影体验。 1. 引子 作为一个爱生活、爱学习、爱收藏高清资源的老码农,平时写代码之余看看电影、补补片,是再正常不过的事。 电影嘛,要沉浸,…...
WEB3全栈开发——面试专业技能点P7前端与链上集成
一、Next.js技术栈 ✅ 概念介绍 Next.js 是一个基于 React 的 服务端渲染(SSR)与静态网站生成(SSG) 框架,由 Vercel 开发。它简化了构建生产级 React 应用的过程,并内置了很多特性: ✅ 文件系…...
32单片机——基本定时器
STM32F103有众多的定时器,其中包括2个基本定时器(TIM6和TIM7)、4个通用定时器(TIM2~TIM5)、2个高级控制定时器(TIM1和TIM8),这些定时器彼此完全独立,不共享任何资源 1、定…...
2.3 物理层设备
在这个视频中,我们要学习工作在物理层的两种网络设备,分别是中继器和集线器。首先来看中继器。在计算机网络中两个节点之间,需要通过物理传输媒体或者说物理传输介质进行连接。像同轴电缆、双绞线就是典型的传输介质,假设A节点要给…...
计算机系统结构复习-名词解释2
1.定向:在某条指令产生计算结果之前,其他指令并不真正立即需要该计算结果,如果能够将该计算结果从其产生的地方直接送到其他指令中需要它的地方,那么就可以避免停顿。 2.多级存储层次:由若干个采用不同实现技术的存储…...
