c/c++:顺序结构,if else分支语句,do while循环语句,switch case break语句

news2025/1/19 8:02:02

c/c++:顺序结构,if else分支语句,do while循环语句,switch case break语句

2022找工作是学历、能力和运气的超强结合体,遇到寒冬,大厂不招人,此时学会c++的话,
我所知道的周边的会c++的同学,可手握10多个offer,随心所欲,而找啥算法岗的,基本gg
提示:系列c++学习的基础和高阶知识,用于公司生产实践中,实实在在的公司部署产品要用的,因为c++速度快,
而java和Python速度慢,自然往硬件里面部署算法啥的,都得用c++或者c,因此本科学的c很重要,后来的Python或者java就没有那么重要了,
c/c++系列文章:
【1】c++:c语言优缺点,visual studio2019如何新建项目,写hello world程序
【2】c/c++:gcc安装,gcc编译hello world文件,system函数调用系统命令,sleep函数
【3】linux下gcc的编译过程和功能,预处理,编译,汇编,链接,.c预处理为.i文件.s文件.o文件.exe文件
【4】c/c++:windows平台下依赖的动态库,c底层是汇编语言,程序断点调试,反汇编,vs快捷键
【5】c/c++:数据类型,常量变量,标识符,有符号整型,无符号unsigned,字符类型,字符串类型,实数类型,浮点型,科学计数法
【6】c/c++:2进制、8进制、10进制、16进制和进制之间的转换,c语言输出匹配格式%
【7】c/c++:原码,反码,补码和常见的数据类型取值范围,溢出
【8】c/c++:类型限定符,printf输出格式,putchar,scanf,getchar
【9】c/c++:算术运算符,赋值运算,逻辑运算,比较运算,三目运算,逗号运算,数据类型转换


文章目录

  • c/c++:顺序结构,if else分支语句,do while循环语句,switch case break语句
    • @[TOC](文章目录)
  • c/c++:顺序结构
  • 选择结构,分支语句
  • 三只小猪称体重
  • switch语句
  • while循环语句
  • 水仙花数
  • 总结

c/c++:顺序结构

任何编程语言都是这仨情况
在这里插入图片描述

选择结构,分支语句

条件分支

在这里插入图片描述
在这里插入图片描述
如果是真,那if中间的语句会执行
否则不执行if下面的语句

在这里插入图片描述

#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include<math.h>
#include<time.h>

//很多库后续调用各种函数都需要用的

void f21(void)
{
	int a = 10;
	scanf("%d", &a);//或者自己确定

	if (a > 0)
	{
		printf("%d\n", a);
	}
	else
	{
		printf("a<0");
	}
}

int main(void)
{
	f21();

	system("pause");
	return 0;
}

在这里插入图片描述
选择结构,分支语句
&a就是取a的地址,scanf把东西读入,放入这个地址

2014年本科那会我第一次学,还不太懂这个玩意是啥意思

后来学了计算机组成原理,微机原理,汇编语言,python,java,c++,等等之后
现在再回来看这个东西,真的很容易

多年经验累计,基本就熟悉了,也懂了程序,编程,实际上就那么回事。

在这里插入图片描述
中途scanf有错的话
在这里插入图片描述
它给出了解决方案了
在这里插入图片描述

三只小猪称体重

在这里插入图片描述

定义仨小猪的体重
接受输入
对比


void f22(void)
{
	//仨小猪称体重
	int pig1, pig2, pig3;
	printf("请输入仨小猪的体重\n");
	scanf("%d%d%d", &pig1, &pig2, &pig3);

	//互相对比--用if else对比
	if (pig1 > pig2) {
		//然后pig1再和pig3对比
		if (pig1 > pig3) printf("pig1最重了\n");
		else printf("pig3最重了\n");
	}
	else
	{
		//pig2>pig1
		if (pig2 > pig3) printf("pig2最重了\n");
		else printf("pig3最重了\n");
	}
	//嵌套分支
}

int main(void)
{
	f22();

	system("pause");
	return 0;
}

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

switch语句

switch(表达式)
{
case 1:
语句1;
break;
case 2:
语句2;
break;
……
case N:
语句N;
break;
default:
语句别的;
break;
}

在这里插入图片描述
a变量的取值有有限种枚举
就可以搞定这事


void f23(void)
{
	int a;
	printf("请输入你的成绩\n");
	scanf("%d", &a);//或者自己确定
	a /= 10;//相当于搞一个整数

	switch (a)
	{
	case 10:
		printf("牛逼");
		break;
	case 9:
		printf("牛逼");
		break;
	case 8:
		printf("良好");
		break;
	case 7:
		printf("良好");
		break;
	case 6:
		printf("及格");
		break;
	case 5:
		printf("拉胯");
		break;
	case 4:
		printf("拉胯");
		break;
	case 3:
		printf("垃圾");
		break;
	case 2:
		printf("垃圾");
		break;
	case 1:
		printf("废物");
		break;
	default:
		printf("废才");
		break;
	}
}

在这里插入图片描述
case穿透
如果你case后面不加break的话
它会一个个执行下去哦


void f23(void)
{
	int a;
	printf("请输入你的成绩\n");
	scanf("%d", &a);//或者自己确定
	a /= 10;//相当于搞一个整数

	switch (a)
	{
	case 10:
		printf("牛逼");
		//break;
	case 9:
		printf("牛逼");
		//break;
	case 8:
		printf("良好");
		//break;
	case 7:
		printf("良好");
		break;
	case 6:
		printf("及格");
		//break;
	case 5:
		printf("拉胯");
		//break;
	case 4:
		printf("拉胯");
		//break;
	case 3:
		printf("垃圾");
		//break;
	case 2:
		printf("垃圾");
		//break;
	case 1:
		printf("废物");
		//break;
	default:
		printf("废才");
		break;
	}
}

int main(void)
{
	f23();

	system("pause");
	return 0;
}

在这里插入图片描述
所以case中的break必须要写
否则它就会穿透所有语句哦

if是匹配一个范围【模糊匹配】
case是匹配确定值【精确匹配】

while循环语句

在这里插入图片描述
直到判断条件失败,跳出循环
在这里插入图片描述
每次你都输入不同的数
如果数超过10,可以继续输入
但是当数不超过10,就跳出循环了


void f24(void)
{
	//打印1--100,逢7与7的倍数,敲桌子
	int a = 1;
	while (a <= 100)
	{
		if (a == 7 || a % 7 == 0) printf("敲桌子\n");
		else printf("%d\n", a);
		a++;//每次都要变
	}
}

在这里插入图片描述
如果个位也有7,十位也有7也要干掉
那就是数字a直接模10取余,拿到个位数字
数字a/10直接模10取余,拿到十位数字


void f24(void)
{
	//打印1--100,逢7与7的倍数,敲桌子
	int a = 1;
	while (a <= 100)
	{
		if (a % 10== 7 || a /10 % 10 == 7) printf("敲桌子\n");
		else printf("%d\n", a);
		a++;//每次都要变
	}
}

int main(void)
{
	f24();

	system("pause");
	return 0;
}

在这里插入图片描述

do
{
循环体
}while(表达式);
先执行一次循环体,再判断条件。
在这里插入图片描述
在这里插入图片描述
先让a++
再打印2
然后判断是否小于10
继续完


void f25(void)
{
	int a = 1;
	do
	{
		a++;
		printf("%d\n", a);
	} while (a < 10);
}

int main(void)
{
	f25();

	system("pause");
	return 0;
}

在这里插入图片描述

水仙花数

三位数x
每个位上的数的立方和,为本数字x

abc=x
a的立方+b的立方+c的立方=x

反正你要把三个位上的数求出来,就要用除法和取模运算了


void f26(void)
{
	//水仙花数
	int x=100;//至少3位,最大999
	do
	{//一定会来一次
		int a = x % 10;//个位数
		int b = x /10 % 10;//十位数
		int c = x /100 % 10;//百位数300/100=3%10=3
		if (a * a * a + b * b * b + c * c * c == x) printf("%d\n", x);
		x++;//每次x递增
	} while (x < 1000);

}

int main(void)
{
	f26();

	system("pause");
	return 0;
}

在这里插入图片描述


总结

提示:重要经验:

1)
2)学好c++,即使经济寒冬,手握10个大厂offer绝对不是问题!
3)笔试求AC,可以不考虑空间复杂度,但是面试既要考虑时间复杂度最优,也要考虑空间复杂度最优。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/422638.html

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

相关文章

一文读懂域名注册

本文深入浅出讲解域名的注册、建站和管理&#xff0c;通过文章可以了解以下问题&#xff1a; 域名注册及建站流程&#xff1b;域名注册的技术原理&#xff1b;域名管理&#xff08;修改 DNS 服务器、转入转出、自定义 DNSHost、whois 信息&#xff09;。 众所周知&#xff0c;…

【MYSQL】表的增删改查(基础)

文章目录&#x1f337; 1. 新增&#xff08;Create&#xff09;⭐️ 1.1 单行行数据 指定列插入⭐️ 1.2 多行数据 指定列插入&#x1f337; 2. 查询&#xff08;Retrieve&#xff09;⭐️ 2.1 全列查询⭐️ 2.2 指定列查询⭐️ 2.3 查询字段为表达式⭐️ 2.4 别名⭐️ 2.5 去…

十五、市场活动:excel导入

功能需求 ①用户在市场活动主页面,点击"导入"按钮,弹出导入市场活动的模态窗口; ②用户在导入市场活动的模态窗口选择要上传的文件,点击"导入"按钮,完成导入市场活动的功能. *只支持.xls *文件大小不超过5MB ③导入成功之后,提示成功导入记录条数,关闭…

(只需三步)如何用chatgpt自动生成思维导图

目录 chatgpt是可以生成思维导图的&#xff01;只需三步&#xff0c;非常简单&#xff01; 第一步&#xff1a;打开chatgpt&#xff0c;告诉它主题 第二步&#xff0c;完善思维导图 第三步&#xff1a;查看思维导图的效果 chatgpt是可以生成思维导图的&#xff01;只需三步&am…

21天学会C++:Day1----C++的发展史

CSDN的uu们&#xff0c;大家好。这里是C入门的第一讲。 座右铭&#xff1a;前路坎坷&#xff0c;披荆斩棘&#xff0c;扶摇直上。 博客主页&#xff1a; 姬如祎 收录专栏&#xff1a;C专题 目录 1. 什么是C 2. C的发展史 3. C的重要性 4. 如何学好C 4.1 别人如何学C 4…

海睿思分享 | 制造业数字化转型之业务场景驱动

在开始谈业务场景驱动之前&#xff0c;我们先介绍一下流程驱动和数据驱动的概念。 首先数据和流程在现代制造业相辅相成&#xff0c;流程中有数据&#xff0c;数据往往通过流程传递&#xff0c;而“驱动”是通过建立一定的驱动机制&#xff0c;改变以往人为的业务推进模式&…

Android UI设计经验分享,掌握设计技巧,让你的应用独树一帜

Android UI渲染是指Android应用程序中的用户界面如何被绘制。Android UI渲染很重要&#xff0c;因为渲染过程直接影响应用程序的性能和用户体验。 当用户在Android应用程序中进行交互时&#xff0c;应用程序会相应地创建并更新UI元素&#xff0c;例如TextView、Button、ImageV…

速下载 | 12项网络与数据安全新国标全文公开

根据2023年3月17日国家市场监督管理总局、国家标准化管理委员会发布的中华人民共和国国家标准公告&#xff08;2023年第1号&#xff09;&#xff0c;全国信息安全标准化技术委员会归口的12项网络安全国家标准正式发布。近日标准全文正式公开&#xff0c;炼石第一时间搜集整理这…

极氪X上市,18.98万元起售,进军紧凑豪华车市场

HiEV消息&#xff08;文/Amy&#xff09;4月12日&#xff0c;纯电SUV极氪X上市&#xff0c;共发布三个版本&#xff0c;官方零售价为&#xff1a; •ME版 五座后驱 189,800元 •YOU版 五座四驱 209,800元 •YOU版 四座后驱 209,800元全系三款车型预计将于6月起开启交付。极氪X限…

【分布式技术专题】「单点登录技术架构」一文带领你好好对接对应的Okta单点登录实现接口服务的实现落地

什么是SAML协议 SAML&#xff08;Security Assertion Markup Language&#xff09;是一种基于XML的标准&#xff0c;用于在不同的安全域之间传递身份验证和授权数据。SAML2.0是SAML协议的最新版本&#xff0c;它提供了一种标准的方式来实现单点登录&#xff08;SSO&#xff09…

1.数据结构---时间复杂度+面试题:消失的数字

文章目录前言1.什么是数据结构?2.什么是算法?3.时间复杂度3.1 实例1:请计算一下Func1中count语句总共执行了多少次&#xff1f;大O的渐进表示法实例2:计算Func2的时间复杂度实例3:计算Func3的时间复杂度&#xff1f;实例4:计算Func4的时间复杂度&#xff1f;大O的渐进表示法总…

Activiti7原生整合和工作流相关概念详解

一、概述 Activiti是一个工作流引擎&#xff0c; Activiti可以将业务系统中复杂的业务流程抽取出来&#xff0c;并用专门的建模语言BPMN2.0进行定义&#xff0c;业务流程按照预先定义的流程进行执行&#xff0c;实现了系统的流程由Activiti进行管理&#xff0c;减少业务系统由…

C++ vasprintf

vasprintf 是一个 C 库函数&#xff0c;它可以通过可变参数创建一个格式化的字符串&#xff0c;并将其存储在动态分配的内存中。它的使用方法与 printf 类似&#xff0c;但它不会将结果打印到标准输出流中&#xff0c;而是将其存储在一个指向字符数组的指针中。 以下是 vasprin…

RFID技术在供应链管理中的应用

RFID是无线射频识别技术的简称&#xff0c;广泛应用于物流、制造、供应链等领域。在供应链管理中&#xff0c;RFID技术可以提供更加精确、实时的信息&#xff0c;帮助企业减少损耗和时间成本&#xff0c;提高效率和可靠性。本文将介绍RFID技术在供应链管理中的应用及其优势。 …

6.redis-集群

01-集群cluster 存在的问题 redis提供的服务OPS(operation per second)可以达到10万/秒&#xff0c;当前业务OPS如果超过10万/秒&#xff0c;怎么办&#xff1f; redis集群 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-gITgqXr9-1681709270830)(n…

Nginx学习笔记 - 新

跟着 https://www.bilibili.com/video/BV1yS4y1N76R 视频学的 安装教程 nginx环境搭建 通过不同域名相同端口访问不同页面 首先添加hosts&#xff0c;映射下域名到装nginx的主机IP地址&#xff0c;我这里是虚拟机&#xff0c;且没有买域名就自己本地这样玩 进入nginx安装目…

【C语言学习3——基本的C语言语法知识1】

C语言学习3——基本的C语言语法知识主函数什么是主函数&#xff1f;写一个自己的函数主函数是整个C语言程序的入口要调用函数&#xff0c;必须先知道函数什么是变量&#xff1f;#include <stdio.h> int main() { printf("Hello World\n"); return 0; }相信你已…

科研人的R速成利器,读这两本就够了!

R 是数据科学领域的一门大热的编程语言&#xff0c;可以说它是专门为统计分析而生的。 相比起其他语言&#xff0c;R 简单易学&#xff0c;代码可读性强&#xff0c;并且不需要搭建复杂的编程环境&#xff0c;对初学者非常友好。 今天就和大家分享两本学习R的宝藏图书&#x…

【FPGA实验4】举重比赛机制

举重比赛有三名裁判&#xff0c;当运动员将杠铃举起后&#xff0c;须有两名或两名以上裁判认可&#xff0c;方可判定试举成功&#xff0c;若用A、B、C分别代表三名裁判的意见输入&#xff0c;同意为1&#xff0c;否定为0;F为裁判结果输出&#xff0c;试举成功时F1&#xff0c;试…

02-神经网络基础

一、从机器学习到神经网络 1. 两层神经网络 - 多层感知机 2. 浅层神经网络特点 (1)需要数据量小、训练速度快; (2)对复杂函数的表示能力有限,泛化能力受到制约。 Kurt Hornik 证明了理论上两层神经网络足以拟合任意函数,而且过去没有足够的数据和计算能力,因此之前的…