当前位置: 首页 > news >正文

c++:程序流程结构,顺序结构,选择结构if else,三目运算符

c++:程序流程结构,顺序结构,选择结构if else,三目运算符

2022找工作是学历、能力和运气的超强结合体,遇到寒冬,大厂不招人,此时学会c++的话,
我所知道的周边的会c++的同学,可手握10多个offer,随心所欲,而找啥算法岗的,基本gg
提示:系列c++学习的基础和高阶知识,用于公司生产实践中,实实在在的公司部署产品要用的,因为c++速度快,
而java和Python速度慢,自然往硬件里面部署算法啥的,都得用c++或者c,因此本科学的c很重要,后来的Python或者java就没有那么重要了,


文章目录

  • c++:程序流程结构,顺序结构,选择结构if else,三目运算符
    • @[TOC](文章目录)
  • c++程序流程结构
  • 选择结构
  • 练习,三只小猪称体重
  • 三目运算符:只有一个if和else
  • 总结

c++程序流程结构

在这里插入图片描述
这些结构,其实好说,你学数据结构与算法的话,用得很多了,我前面400篇文章,已经用过无数次了

选择结构

在这里插入图片描述
在这里插入图片描述
java也差不多,也是有()
Python是()取消了,为了简洁表达
骚得很

看看案例就知道,用户输入分数
大于600分,考上一本,恭喜一把
没有的话,就没考上了,可惜了呗
在这里插入图片描述
这是三目运算符
是单行判断的简写

这种,简短舒服,高端大气上档次

平时你可以这么写,但是逼格就很低了
在这里插入图片描述
你瞅瞅,如果用if else的话
占了5行呢
逼格肯定low
而三目运算

条件判断表达式 ? 操作1 : 操作2
前面是条件,满足搞操作1,不满足条件的话,执行操作2

#include<iostream>
using namespace std;

void danhangchoose() {
	//单行选择结构,就一个if

	int a;
	cin >> a;
	cout << (a >= 600 ? "恭喜兄弟考上一本!" : "可惜了兄弟……") << endl;

	//low的写法

	cin >> a;
	if (a >= 600) {
		cout << "不错哦兄弟哈哈哈哈" << endl;
	}
	else
	{
		cout << "不太行啊你" << endl;
	}
}

int main() {
	danhangchoose();

	system("pause");
	return 0;
}

和c语言不要,if的()后面是不需要加:的哦

也不要加;
否则就是结束了

在这里插入图片描述
其实多行上面我已经写了
没有else就是单行

#include<iostream>
using namespace std;

void duohang() {
	//单行选择结构,就一个if

	int a;
	cin >> a;
	cout << (a >= 600 ? "恭喜兄弟考上一本!" : "可惜了兄弟……") << endl;

	//low的写法

	cin >> a;
	if (a >= 600) {
		cout << "不错哦兄弟哈哈哈哈" << endl;
	}
	else
	{
		cout << "不太行啊你" << endl;
	}
}

void danhangchoose() {
	int a;
	cin >> a;
	if (a >= 600) {
		cout << "不错哦兄弟哈哈哈哈" << endl;
	}
}

int main() {
	danhangchoose();
	duohang();

	system("pause");
	return 0;
}

在这里插入图片描述

很多else if
好说

在这里插入图片描述

超多条件,好说,很简单

void chaoduopanduan() {
	//本科有1本,2,3,等等
	//600上一本
	//500上二本
	//400上三本
	//剩下的就是专科或者没考上呗
	int a;
	cin >> a;
	if (a >= 600) {
		cout << "nice,考上了一本呗" << endl;
	}
	else if (a >= 500) {
		cout << "可以的,考上了二本呗" << endl;
	}
	else if (a >= 400) {
		cout << "行,考上了三本呗" << endl;
	}
	else
	{
		cout << "很差劲,没考上" << endl;
	}
}

在这里插入图片描述
加一个循环,多次输入就这样

void chaoduopanduan() {
	//本科有1本,2,3,等等
	//600上一本
	//500上二本
	//400上三本
	//剩下的就是专科或者没考上呗
	while (1) {
		int a;
		cin >> a;
		if (a >= 600) {
			cout << "nice,考上了一本呗" << endl;
		}
		else if (a >= 500) {
			cout << "可以的,考上了二本呗" << endl;
		}
		else if (a >= 400) {
			cout << "行,考上了三本呗" << endl;
		}
		else
		{
			cout << "很差劲,没考上" << endl;
		}
	}

在这里插入图片描述
在这里插入图片描述

//嵌套if语句,if中再写if,更精准的二叉树分开
void qingbei() {
	//本科有1本,2,3,等等
	//600上一本
	//500上二本
	//400上三本
	//剩下的就是专科或者没考上呗
	//一本中,超过700,北大,超过650,清华,超过600,人大
	while (1) {
		int a;
		cin >> a;
		if (a >= 600) {
			cout << "nice,考上了一本呗" << endl;
			if (a >= 700) cout << "与此同时,您可是考上了北大呀,牛逼哟" << endl;
			else if (a >=650) cout << "与此同时,您可是考上了清华呀,牛逼哟" << endl;
			else cout << "top高校,985,211啥的,牛" << endl;
		}
		else if (a >= 500) {
			cout << "可以的,考上了二本呗" << endl;
		}
		else if (a >= 400) {
			cout << "行,考上了三本呗" << endl;
		}
		else
		{
			cout << "很差劲,没考上" << endl;
			break;//防止死循环
		}
	}
}

练习,三只小猪称体重

abc

在这里插入图片描述
就输入仨数,取max呗
好说

这是最简单的算法了

在这里插入图片描述
下面这样也可以很简单,不看体重,只看谁最重
在这里插入图片描述

void threePig() {
	int a;
	int b;
	int c;

	int vMax;
	string best;
	cin >> a;
	vMax = max(vMax, a);
	best = "a";//目前最重的
	cin >> b;
	if (b > a) best = "b";
	vMax = max(vMax, b);
	cin >> c;
	if (c > vMax) best = "c";
	vMax = max(vMax, c);

	cout << "仨猪中最重的是:"+best+"它的体重为:"<< vMax << endl;

	while (1) {
		cin >> a;
		cin >> b;
		cin >> c;
		//当然,不要体重的,只看谁?
		if (a > b) {
			if (a > c) cout << "a最重" << endl;
		}
		else if (b > c) cout << "b最重" << endl;
		else cout << "c最重" << endl;
	}
}

三目运算符:只有一个if和else

在这里插入图片描述
比如创建仨变量,abc
将a和b比较,将比较大的复制给c
a大赋值a给c
b大赋值b给c
if else一个也行,但是三目很简答
在这里插入图片描述

三目运算符的返回的是变量
在这里插入图片描述
在这里插入图片描述

void threeMu() {
	int a;
	int b;
	int c;
	//cin >> a;
	//cin >> b;

	将ab谁大,赋值给c
	//c = a > b ? a : b;
	//cout << c << endl;

	a = 40;
	b = 20;
	c = 30;

	//三目运算符返回的是变量,可以继续赋值
	(a > b ? a : b) = 100;//啥意思呢?就是a大返回a,否返回b,然后复制100给这个变量
	cout << "a=" << a << endl;
	cout << "b=" << b << endl;
}

三目运算符,可以做右值
也可以做左值

?:就是三目运算符

返回的是一个变量


总结

提示:重要经验:

1) c++:程序流程结构,顺序结构,选择结构if else,三目运算符
2)学好c++,即使经济寒冬,手握10个大厂offer绝对不是问题!
3)笔试求AC,可以不考虑空间复杂度,但是面试既要考虑时间复杂度最优,也要考虑空间复杂度最优。

相关文章:

  • 使用 Amazon Rekognition API 进行文本检测和 OCR
  • 内核驱动踩坑记录
  • 半导体中的杂质和缺陷能级
  • SSM毕设项目大学生心理咨询系统792l6(java+VUE+Mybatis+Maven+Mysql)
  • 嵌入式学习的第二天
  • R语言(4) plot函数介绍
  • JVM -- 垃圾回收器7种(四)
  • 模型调优:验证集的作用(就是为了调整超参数)
  • PyQt5之消息对话框
  • java计算机毕业设计校友闲置书籍管理平台源代码+数据库+系统+lw文档
  • Interactron | 体现自适应的目标检测器
  • javaEE---CSS
  • PCIE操作基础原理
  • Windows系统SVG图片预览插件
  • 2022.10.1模拟赛
  • 【跃迁之路】【585天】程序员高效学习方法论探索系列(实验阶段342-2018.09.13)...
  • CAP理论的例子讲解
  • Docker: 容器互访的三种方式
  • electron原来这么简单----打包你的react、VUE桌面应用程序
  • ES6 ...操作符
  • exports和module.exports
  • in typeof instanceof ===这些运算符有什么作用
  • Objective-C 中关联引用的概念
  • React-flux杂记
  • 给新手的新浪微博 SDK 集成教程【一】
  • 巧用 TypeScript (一)
  • 我看到的前端
  • 用quicker-worker.js轻松跑一个大数据遍历
  • 国内开源镜像站点
  • 直播平台建设千万不要忘记流媒体服务器的存在 ...
  • ​LeetCode解法汇总2696. 删除子串后的字符串最小长度
  • #Z2294. 打印树的直径
  • #数学建模# 线性规划问题的Matlab求解
  • (12)Linux 常见的三种进程状态
  • (30)数组元素和与数字和的绝对差
  • (webRTC、RecordRTC):navigator.mediaDevices undefined
  • (六) ES6 新特性 —— 迭代器(iterator)
  • (转)shell调试方法
  • (转)创业家杂志:UCWEB天使第一步
  • (转载)跟我一起学习VIM - The Life Changing Editor
  • .NET 8 编写 LiteDB vs SQLite 数据库 CRUD 接口性能测试(准备篇)
  • .NET Core引入性能分析引导优化
  • .Net(C#)自定义WinForm控件之小结篇
  • .NetCore Flurl.Http 升级到4.0后 https 无法建立SSL连接
  • .net连接MySQL的方法
  • .NET设计模式(2):单件模式(Singleton Pattern)
  • .NET与java的MVC模式(2):struts2核心工作流程与原理
  • [Android]使用Git将项目提交到GitHub
  • [Android学习笔记]ScrollView的使用
  • [C/C++]数据结构 堆的详解
  • [C++]——带你学习类和对象
  • [C++]指针与结构体
  • [CSS]CSS 的背景
  • [dfs] 图案计数
  • [Docker]六.Docker自动部署nodejs以及golang项目