响应式网站预览/国际十大市场营销公司

响应式网站预览,国际十大市场营销公司,巴西网站域名,微信网站建设哪家好前言:这个是针对于蓝桥杯竞赛常考的C内容,容器这些等下棋期再讲 C 在DEVC中注释和取消注释的方法:ctrl/ ASCII值(常用的): A-Z:65-90 a-z:97-122 0-9:48-57 换行/n:10科学计数法:eg&#xff1a…

前言:这个是针对于蓝桥杯竞赛常考的C++内容,容器这些等下棋=期再讲

C++

在DEVC++中注释和取消注释的方法:ctrl+/

ASCII值(常用的):
A-Z:65-90
a-z:97-122
0-9:48-57
换行/n:10

科学计数法:eg:1e5(表示10^5)

sizeof()是用来计算数据类型长度的,返回值是size_t(无符号整数)
这个()还是加上好,里面可以是类型,变量名和表达式
里面如果是表达式的话,将不会去计算,而是返回结果类型的长度
sizeof(数组名)计算的是数组的总大小

类型的取值范围:

int是2的31次方-1或者10的9次方(大于了就会超范围)

long long是10的18次方(超过了就不行)

定义常量一般用const,定义的变量名一般用大写

取模操作符的操作数只能是整形
char类型和int类型(或char类型)加减的结果是int类型的,记得强转或者隐式转换)
(char的取值范围-128127
printf类型:
printf("%6.2f",0.5)表示输出字符串最小宽度是6,小数位数是2
也可以写为printf("%*.*f",6,2,0.5

注意逻辑运算符的短路问题

switch的一个易忘用法:(switch的格式也容易忘)

switch(n%7)

{

case 1:

case 2:

case 3:

case 4:

case 5:

printf(“工作日/n”);

break;

case 6:

case 7:

printf(“休息日/n”);//这里可以搞多个语句,还不用{ }

break;

//有时还可能会用到default

}

case还可以eg:

case ‘+’:这个’+'一般是cin得到的

循环一般用for,除非需要n次循环,喜欢用while(n–){ }

并且循环条件可以用><的就不用==,不然容易错

条件判断:

对错只用执行一条语句的用三目操作符

exp1?exp2:exp3

用于判断的东西是指定的数或字符或字符串则用switch

否则就用if elseif else

cin cout和printf和scanf的取舍问题:

一般情况下用cin cout,除非:

超时和对输出格式有特殊要求

一般输入数据量大于1e6时,就用scanf和printf

continue易忘点:
for(int i = 0; i<10;i++)//continue跳过不了i++
{ 
if(i = 5)
continue;}

范围for常用来遍历数组

auto可以让编译器自动推导出变量的类型
如果给的小数,没有明确说明,一般auto后是double类型的

double在各编译器中的大小不同,因为一般用sizeof(double),浮点数自己一般用double类型的

有时数组从下标为1才开始放数很不错,数组空间一般多开辟10个

并且数组较大时一般搞成全局变量

易忘:int arr[][5]={{1,2},{3,4},{5,6}};则只有3行

二维数组在竞赛中很少用,一般用两个一维数组替代

字符数组一般用string替代,基本不用字符数组(string结尾不用’/0’)

读入:
遇见空白字符停止:scanf和cin可以读取空格的自己一般用getchar:
eg:
while((ch=getchar())!='\n');
如果是string的话,可以用getline,默认是遇到换行停止

在作用域优先级一样的话,库函数和自定义函数重名了的话,要么报错,要么会是自定义函数

/和\的用途:

/:

1.表除法

2.用于注释eg://

\:

1.作为转义字符eg:\n \0

2.用于续行符

字符串的比较是基于字典序进行的,比较的是对应位置上字符的ASCII值

int类型的值可以被强转为long long int​的值

cout在打印浮点数时,自动忽略小数点后多余的0;
printf在打印浮点数时,小数点默认打印6
自定义函数的传值调用:
自定义函数实参是数组就只写数组名
形参是二维数组时,行可以省略,列不可以省略
实参名字和形参名字可以相同或不同
return返回的值会被隐式变换成函数返回值所对应类型的值在自定义函数前定义全局变量可以不用传参,在竞赛中常用
注意掌握传引用调用!!!
形参顺序不同也可以构成函数重载

正整数和无符号整数的原反补码相同

负整数:

原码->取反,+1->补码

补码->取反,+1->原码

补码->-1->反码

原码->取反->反码

(这里的取反不包括符号位)但是位运算操作符在操作时,符号位也会被操作

左移操作符:<<是左边抛弃,右边取0
右移操作符:>>是左边用原该值的符号位填充,右边抛弃
按位或 | :对应的二进制对应位有1,结果就为1
按位异或 ^ :对应二进制相同为0,相异为1
按位取反 ~ :…………^运算符的特点:(常用于找唯一奇数次出现的数)
x^x = 0
0^x = x
^是支持交换律的
前提:认为最低位为第0位保留二进制位中的指定位:  x&m
使m对应取出位置为1,其他位为0;则x就被保留了指定位获取二进制位中的指定位:  (x>>i)&1 (这个可以用于颠倒二进制位)
获取x中的第i位,结果为0则第i位为0,结果为1则第i位为1将指定二进制位设置为1:  x|m
使m对应位置(想让x哪个位置变为1)为1,其余位置为0将指定二进制位设置为0:  x&=~(1<<i)反转指定二进制位: x^m
想将x的第i位反转,要令m的第i位为1,其余位置为0将二进制中最右边的1变成0:  x&(x-1)
这个运算通常运用于求一个数的二进制序列中有几个1保留二进制中最右边的1,其他位置均置为0: x&-x
2的n次方:1<<n
优先级和结合性都可以用()来解决
从右到左的结合性不用考虑,自己的记法是将这个考虑在内了的eg:+=
定义struct时的;别忘了
struct
{};//不管有没有变量名,都要有此
结构体变量名字和结构体类型名字不能重合
结构体可以进行整体赋值操作
结构体嵌套如何赋值和结构体的运算符怎么重载易忘
调用和容器一样,用.
运算符重载在设置时形参一般用引用

C++中常用的头文件和其中的库函数

#include <cstdio>
printf,scanf,getchar,putchar
常用占位符:
%lld:十进制long long int类型
%f:float类型
%lf:double类型
%Lf:long double类型
%u:unsigned int类型
%c %s %d
scanf相较于printf特有的:
%[]:eg:%[a-Z]:ASCII小的在前
%c不会跳过空白字符,除非%c之前加了一个空格
scanf在使用%s时,可以%[m]s来限制读取字符串的最大长度
#include<cmath>
fabs,ceil
fabs-求浮点数绝对值
ceil-对一个浮点数向上取整
floor-对一个浮点数向下取整
sqrt-计算非负实数的算数平方根
pow(x,y)-计算x的y次方的值
#include<cstdlib>
abs-求整数的绝对值(long long int类型的用不了)
#include<cctype>
islower-判断是否为小写字母,是则返回非0;不是则返回0
tolower-将大写字母转换成小写字母
isupper-判断是否为大写字母,是则返回非0;不是则返回0
toupper-将小写字母转换成大写字母
注意事项:这四个的返回值都是int类型的,记得(char),参数可以是char的也可以是int的
isdigit-判断是否为数字字符,是则返回非0;不是则返回0
isalpha-判断是否为字母,,是则返回非0,不是则返回0
#include<string>//这里面的全都是针对string的字符串的
size()-获取字符串长度
begin()-返回指向字符串第一个字符的迭代器
end()-返回指向字符串最后一个元素的下一个位置的迭代器
//迭代器可以进行加减整数运算;想获得迭代器指向的值,则要*
push_back()-在字符串尾部插入一个元素
pop_back()-删除字符串尾部的最后一个元素
insert-在字符串中间插入一个字符串
find()-用于查找字符串中指定东西,并返回其第一次出现位置的头
//其开始查找的位置可以指定,返回值是size_t类型的,没找到则返回npos
substr-用于截取字符串中指定位置指定长度的子串有关string的函数
stoi-把数字字符串转换成int类型的
stod-把数字字符串转换成double类型的
to_string-把整数和浮点数转换成字符串
#include<algorithm>
reverse-可以逆转字符串(整形数组也可以)
max-默认返回两个值中的最大值,当然也可以改
min-默认返回两个值中的最小值,当然也可以改
sort-默认按升序来排序,当然也可以改

查询具体用法:https://legacy.cplusplus.com/reference/

#include<utility>
swap-交换两个变量或数组或容器的值

其中蕴含的算法原理


scanf返回值表示成功读取的变量个数,在没成功读取的话会返回0或EOF我们一般会通过scanf的返回值来处理未给明确多少组数据的多组数据问题,
但是一般用cin(eg:cin>>l>>m>>n没读满3个会返回false)

整数计算想变成小数的方法:

假如a b都是int类型的 可以:a*1.0/b


浮点数比较相等的办法:
eg:
fabs(a-b)<1e9

关系操作符判断为真,返回的是1
常应用于多种情况满足一种时就干啥(至少满足一种用||,全满足用&&)
eg:if((a>1)+(b>1)=1)…………
纯数字读取:读取特定位置数字的方法:
eg:读第7位
scanf("%6d%d",&a,&b);b就是
获得最后几位数字的方法:
eg:最后三位
cin>>m;
n= m%1000//n就是不纯读取:
想读特定范围内的东西(eg:A-Z)
可以边读边用ASCII筛选
反向输出每一位(整数且位数固定):
cin>>a>>b>>……;
cout<<……<<b<<a;
加减交替:
int flag=1;
for(…………)
{ sum+=b*flag;
flag=-flag;}
判断m是否为质数:
int flag =1;
for(int i = 2;i<sqrt(m);i++ )
然后看m%i是否等于0,是就break,改flag为0
for外结算:如果flag为1,则m是质数
数据在下一次读取前用完就不要了的可以采取一边读取一边使用的方法,就不存了
如果还要用并且数据多的话,可以存在数组里
统计字符出现个数的方法:建立一个128的整形数组,下标正好和字符的ASCII值对应
如果单要字母的话可以建立一个26的整形数组,把读进来的-'a'就可以得对应下标了
想输出3,5,6,7,8,9,9,10
可以先输出一个3,再,5,6这样
求多组数据中的最大值和最小值时,可以先令min和max为取值范围的两端来搞
需要一层套一层的一般就要用递归
eg:进制转换(十进制转x进制的)
数组分块问题:
1.利用辅助数组
每次遍历把特定东西拿出来放辅助数组里2.利用双指针(这里的指针指的是用变量来代替指针)
分为eg:[0,cur][cur+1,i-1][i,n-1](带扫描看情况放哪)存非0    存0       待扫描

下期会给大家总结数据结构的内容

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

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

相关文章

vue These dependencies were not found

These dependencies were not found: * vxe-table in ./src/main.js * vxe-table/lib/style.css in ./src/main.js To install them, you can run: npm install --save vxe-table vxe-table/lib/style.css 解决&#xff1a; nodejs执行以下语句 npm install --save vxe-t…

【三.大模型实战应用篇】【4.智能学员辅导系统:docx转PDF的自动化流程】

去年团队庆功宴上,我司CTO端着酒杯过来:“老王啊,咱们现在文档解析做得挺溜了,但老师们总抱怨下载的作业格式乱码…” 我看了眼手机里凌晨三点收到的崩溃警报,把杯里的可乐一饮而尽——得,新的副本又开了。 一、为什么PDF转换比想象中难十倍? 某次用户调研中,数学教研…

安卓基础组件Looper - 03 java层面的剖析

文章目录 workflow工作线程 准备Looper创建LooperActivity主线程其他情况 Looper.prepare()大体流程java申请Loopernew LooperMessageQueue初始化 nativejniNativeMessageQueue Looper.loop()大体流程java获取Looper获取msg&#xff0c;处理msgLooper.loop()Looper.loopOnce &a…

【计算机网络】考研复试高频知识点总结

文章目录 一、基础概念1、计算机⽹络的定义2、计算机⽹络的目标3、计算机⽹络的组成4、计算机⽹络的分类5、计算机⽹络的拓扑结构6、计算机⽹络的协议7、计算机⽹络的分层结构8、OSI 参考模型9、TCP/IP 参考模型10、五层协议体系结构 二、物理层1、物理层的功能2、传输媒体3、 …

健康医疗大数据——医疗影像

一、 项目概述 1.1 项目概述 1.2 项目框架 1.3 项目环境 1.4 项目需求 二、项目调试与运行 2.1需求分析 2.2具体实现 三、项目总结 项目概述 项目概述 本项目旨在应用大数据技术于医疗影像领域&#xff0c;通过实训培养团队成员对医疗大数据处理和分析的实际…

3.1、密码学基础

目录 密码学概念与法律密码安全分析密码体制分类 - 私钥密码/对称密码体制密码体制分类 - 公钥密码/非对称密码体制密码体制分类 - 混合密码体制 密码学概念与法律 密码学主要是由密码编码以及密码分析两个部分组成&#xff0c;密码编码就是加密&#xff0c;密码分析就是把我们…

Unity 对象池技术

介绍 是什么&#xff1f; 在开始时初始化若干对象&#xff0c;将它们存到对象池中。需要使用的时候从对象池中取出&#xff0c;使用完后重新放回对象池中。 优点 可以避免频繁创建和销毁对象带来性能消耗。 适用场景 如果需要对某种对象进行频繁创建和销毁时&#xff0c;例…

Github 2025-03-03 开源项目周报Top14

根据Github Trendings的统计,本周(2025-03-03统计)共有14个项目上榜。根据开发语言中项目的数量,汇总情况如下: 开发语言项目数量Python项目5TypeScript项目4Jupyter Notebook项目3Go项目2JavaScript项目2C++项目2Vue项目1Rust项目1Dify.AI: 开源的LLM应用程序开发平台 创建…

阿里管理三板斧课程和管理工具包(视频精讲+工具文档).zip

阿里管理三板斧课程和管理工具包&#xff08;视频精讲工具文档&#xff09;&#xff0c;共18课。 阿里管理三板斧工具包 阿里绩效考核文档 阿里人力资源实践全集文档 阿里文化构建工具包 阿里正委体系工具包 阿里三板斧.pdf 阿里三板斧-学员手册.pdf 第1集 三板斧的底层逻辑.…

Java【多线程】(2)线程属性与线程安全

目录 1.前言 2.正文 2.1线程的进阶实现 2.2线程的核心属性 2.3线程安全 2.3.1线程安全问题的原因 2.3.2加锁和互斥 2.3.3可重入&#xff08;如何自己实现可重入锁&#xff09; 2.4.4死锁&#xff08;三种情况&#xff09; 2.4.4.1第一种情况 2.4.4.2第二种情况 2.4…

深入解析Java虚拟机(JVM)的核心组成

深入解析Java虚拟机&#xff08;JVM&#xff09;的核心组成 Java虚拟机&#xff08;JVM&#xff09;作为Java语言跨平台的核心实现&#xff0c;其架构设计精妙而复杂。理解JVM的组成部分&#xff0c;是掌握Java内存管理、性能调优和问题排查的关键。本文将从四大核心模块剖析J…

DeepSeek如何快速开发PDF转Word软件

一、引言 如今&#xff0c;在线工具的普及让PDF转Word成为了一个常见需求&#xff0c;常见的PDF转Word工具有收费的WPS&#xff0c;免费的有PDFGear&#xff0c;以及在线工具SmallPDF、iLovePDF、24PDF等。然而&#xff0c;大多数免费在线转换工具存在严重隐私风险——文件需上…

[KEIL]单片机技巧 01

1、查看外设寄存器的值 配合对应的芯片开发手册以查看寄存器及其每一位的意义&#xff0c;可以解决90%以上的单纯的片内外设bug&#xff0c;学会如何通过寄存器的值来排外设上的蛊是嵌入式开发从小白到入门的重要一步&#xff0c;一定要善于使用这个工具&#xff0c;而不是外设…

Redis详解(实战 + 面试)

目录 Redis 是单线程的&#xff01;为什么 Redis-Key(操作redis的key命令) String 扩展字符串操作命令 数字增长命令 字符串范围range命令 设置过期时间命令 批量设置值 string设置对象,但最好使用hash来存储对象 组合命令getset,先get然后在set Hash hash命令: h…

计算机视觉(opencv-python)入门之图像的读取,显示,与保存

在计算机视觉领域&#xff0c;Python的cv2库是一个不可或缺的工具&#xff0c;它提供了丰富的图像处理功能。作为OpenCV的Python接口&#xff0c;cv2使得图像处理的实现变得简单而高效。 示例图片 目录 opencv获取方式 图像基本知识 颜色空间 RGB HSV 图像格式 BMP格式 …

【SpringBoot】【log】 自定义logback日志配置

前言&#xff1a;默认情况下&#xff0c;SpringBoot内部使用logback作为系统日志实现的框架&#xff0c;将日志输出到控制台&#xff0c;不会写到日志文件。如果在application.properties或application.yml配置&#xff0c;这样只能配置简单的场景&#xff0c;保存路径、日志格…

在Docker中部署DataKit最佳实践

本文主要介绍如何在 Docker 中安装 DataKit。 配置和启动 DataKit 容器 登陆观测云平台&#xff0c;点击「集成」 -「DataKit」 - 「Docker」&#xff0c;然后拷贝第二步的启动命令&#xff0c;启动参数按实际情况配置。 拷贝启动命令&#xff1a; sudo docker run \--hostn…

React Native 原理

React Native 是一个跨平台移动应用开发框架&#xff0c;它允许开发者使用 JavaScript 和 React 来开发 iOS 和 Android 原生应用。React Native 的核心原理是通过 桥接&#xff08;Bridge&#xff09; 技术&#xff0c;使用 JavaScript 来控制原生组件&#xff0c;并将应用逻辑…

实验:k8s+keepalived+nginx+iptables

1、创建两个nginx的pod&#xff0c;app都是nginx nginx1 nginx2 2、创建两个的pod的service 3、配置两台keepalived的调度器和nginx七层反向代理&#xff0c;VIP设置192.168.254.110 keepalived调度器master keepalived调度器backup 两台调度器都配置nginx七层反向代理&#…

火山引擎 DeepSeek R1 API 使用小白教程

一、火山引擎 DeepSeek R1 API 申请 首先需要三个要素&#xff1a; 1&#xff09;API Key 2&#xff09;API 地址 3&#xff09;模型ID 1、首先打开火山引擎的 DeepSeek R1 模型页面 地址&#xff1a;账号登录-火山引擎 2、在页面右下角&#xff0c;找到【推理】按钮&#…