C语言基础六:循环结构及面试上机题
Day06:循环结构
定义
代码的重复执行,就叫做循环
循环的分类
- 无限循环:其实就是死循环,程序设计中尽量避免无限循环。程序中的无限循环必须可控。
- 有限循环:循环限定循环次数或者循环的条件。
循环的构成
- 循环条件
- 循环体
当型循环的实现
特点:先判断后执行,如果条件不满足,一次都不执行
代表:while和for
while
语法:
while(循环条件) // a>b&&b>c
{循环许局;//如果是单语句,可以省略{}、如果是复合语句,不可以省略{}
}
说明:
1.循环条件的返回值必须是布尔类型(条件表达式只能是关系表达式或逻辑表达式)。在C语言中,布尔类型为真使用 非0
,布尔类型为假使用 0
.如果引入 #include <stdbool.h>
,也可以用true和false来表示。
2.{}包起来的内容整体称之为 循环体
。
3.我们要在循环体中控制循环条件 的变化,否则会产生死循环。
执行过程:
特点:先判断,后执行,循环体语句有可能一次不执行
案例
#include <stdio.h>
/*如何编程来计算1+2+3...+100(累加求和)
*/int main()
{//定义一个变量,保存累加的和int sum = 0;//定义一个循环变量int i = 1;while(i<=100)//循环条件,这里可以有关系表达式、逻辑表达式、整型常量{//累加运算//sum =sum +i;sum += i;i++;//给循环变量赋值,用来影响循环条件}printf("1-100的累加和是:%d\n",sum);return 0;
}
死循环
while(1)//我们会在死循环进行必要的限制
for
原则上,for循环能实现的while循环一定可以实现,for循环可以看做是while循环的一种特殊写法。
语法:
for(①表达式1;②表达式2;③表达式3)
{①循环体语句; --如果是单语句,可以省略{};如果复合语句,必须保留{}
}
说明:
1.()中可以只保留两个 ;;
,举例for(;;)
2.①(表达式1)是循环变量,我们需要赋初值,循环变量可以是列表,多个循环变量使用逗号分隔,举例:int i=0,j=0
3.②(表达式2)是循环条件,用来限制循环的次数,循环条件支持关系表达式,如果加入逻辑表达式,会变成复合表达式,举例:i<10 &&j<=i
4.③(表达式3)改变循环条件,支持列表,这里可以使用赋值表达式,举例: i++,j++
5.执行顺序:①②④③→②④③→②④③→…→②
执行过程:
特点:
先判断,后执行,循环语句可能一次不执行
#include <stdio.h>
int main()
{for(int i=2;i<100;i+=2){sum+=i;}printf("偶数和的结果是:%d",sum);return 0;
}
总结
- for语句使用语法规则上,降低/避免因为忘记循环条件更新操作;而引起的产生无限循环的几率。
- 应用场合:for语句往往应用于次数事先可以确定的场景。
死循环
for(;;);
for(表达式1;;表达式2);
循环实现三要素
- 循环变量的初始值
- 循环条件
- 循环变量的更新
案例
#include <stdio.h>#include <math.h>/*** 需求:for循环案例-求斐波拉契数列前20个数* 分析:1,1,2,3,5,8...*/int for_test2(){int f1 = 1;// 前一个数,默认是1,因为第一个是1int f2 = 1;// 后一个数,默认是1,因为第二个是1int i = 1;// 循环变量
for(; i <= 10; i++){printf("%12d%12d\n",f1,f2);// 一行显示两个数,每两个换行 1 1 2 3 5 8//if(i % 2 == 0)//{// printf("\n");//}f1 += f2; // f1 = 2 = 1 + 1f2 += f1; // f2 = 3 = 1 + 2}}int main(int argc,char *argv[]){for_test2();}return 0
直到型循环的实现
特点:先执行,后判断
代表:do…while
do…while
语法:
do
{循环体;
}while(循环条件);
说明:
1.循环条件的返回值必须是布尔类型,在C语言中,布尔类型为真使用 非0
来表示。
2、{}包起来的内容整体称之为 循环体
3、我们要在 循环体中控制循环条件的变化,否则会产生死循环。
执行过程:
特点;先执行,后判断,不管满不满足条件,都要先执行一次
goto
语法:
goto 标签(label);
标签:标明
注意事项
1.可读性: goto 语句会破坏代码的结构和可读性,使得代码难以理解和维护。因此,应尽量避免使用。
2.替代方案:大多数情况下,可以使用循环、条件语句、函数等结构来替代 goto 语句,使代码更加清晰和易于管理。3.嵌套限制:虽然 goto 语句可以跨函数跳转(即跳转到另一个函数中的标签),但这种用法是不合法的,并且会导致编译错误。goto 语句只能在同一函数内部跳转。
4.错误处理:在某些情况下, goto 语句可以用于错误处理,例如从嵌套的多层循环中跳出。但即使在这种情况下,也应谨慎使用,并考虑是否有更好的替代方案。
循环的嵌套
3种循环(while、do…while、for)可以相互嵌套,在前一个循环结构的内部又存在一个完整的循环结构。如:
案例:
#include<stdio.h>
/*
需求:嵌套for循环案例-求100~200之间的所有素数
分析:只能被1和自身整除的数叫做素数
*/
int main()
{// 创建一个变量,存放100~200之间的自然数int num = 100;// 循环变量,默认从2开始,因为自然数除以1没有意义 int i;// 定义标志位:用来记录1~自身之间的能整除的次数,用来校验该自然数是否为素数// 第1层for循环:生成100~200之间的自然数for(;num <= 200;num++){// 每个自然数在判别之前,需要重置标志位is_flag = 1;// 第2层for循环:验证该自然数能否被除了1~自身之间的数整除,能整除,就改变is_flag的值// for(i = 2;i < num -1;i++for(i = 2;i < num / 2;i++){// 校验是否能整除if(num % i == 0){is_flag = 0;break;// 只校验第一个能整除的数}}// 根据标志位,判断该自然数是否是素数if (is_flag) // 条件判断:is_flag == 1 缩写 is_flag(推荐) is_flag == 0 缩写 !is_flag{printf("%-4d",num);}}printf("\n")return 0;
}
循环结构的典型应用场景
-
求累和:举例 1+2+3+…+100的和
-
求累乘:举例123*…*100的积
-
求均值:举例(1+2+3+…+100)/100的值
-
求极值:举例、12,34,56,67中的最大值或者最小值
-
元素遍历:常用于数组元素的遍历
基础算法模型
-
累加和
-
定义一个变量(sum),并赋初值为0;
-
该变量累加(+=)每一个数据项(i);
-
当访问完每一个数据项,此时该变量的取值就是累加和的结果。
-
-
累乘
- 定义一个变量,并赋初值为1;
- 用该变量累乘(*=)每一个数据项;
- 当访问完每一个数据项,此时该变量的取值就是累乘的结果
-
极值(多用于数组)
- 定义一个变量,并赋初值为第一个数据项;
- 从第二个数据项开始,依次于该变量进行比较,如果大于/小于该变量,则将当前数据项的数据赋值给该变量。
- 当访问完每一个数据项,此时该变量的取值就是求极值的结果。
-
break和continue
-
break
功能:
①用在switch中,用来跳出switch的case语句:如果case没有break,可能会产生case穿透。
②用在循环中(while、do…while、for),提前结束循环,也就是跳出整个循环。
说明:
①break不能用于循环语句和switch语句之外的任何其他语句之中。
②break只能终止并跳出最近一层的循环结构。
流程图:
案例1:
#include <stdio.h>/*** 需求:break案例-输出1~100以内的偶数,只能输出前10个*/ int break_test(){for(int i = 1,count = 1; i <= 100; i++){if(i % 2 == 0){if(count > 10){break;}count ++;// 用来计数printf("%d\t",i);}}printf("\n");}int main(int argc,char *argv[]){break_test();return 0;}
-
continue
功能:continue语句不会结束整个循环,而是跳过本次循环尚未执行的语句,进入下一次循环。
说明:
①仅用于循环语句中。
② 在嵌套循环的情况下,continue语句只对包含它的最近的一层循环起作用。
图示:
案例:
#include <stdio.h> /* 求1-100以内的偶数和 */ int continue_test1() {int sum = 0;for(int i = 1; i<=100;i++){if(i%2 !==0){comtinue;}sum+=i;}printf("1-100以内的偶数和是%d\n",sum); } int main(){continue_test1();}
-
跳出多层循环
跳出多层循环是不能直接使用break和continue实现的,因为它们只能跳出单层循环,跳出多层循环,需要我们自定一定标志位进行跳出(标志位也可以配合break使用)。
案例:
#include <stdio.h>int fun0(){// 定义一个标志位int is_flag = 1;// 默认循环成立// 定义一个变量,用来接收控制台输入char fu;// 循while(is_flag){printf("外层循环执行的内容..\n");while(is_flag){printf("内存循环执行的内容..\n");scanf("%c",&fu);if(fu == 'Y' || fu == 'y'){is_flag = 0;}}}}int fun1(){// 定义一个标志位int is_flag = 1;// 默认循环成立// 定义一个变量,用来接收控制台输入char fu;// 循环while(is_flag){printf("外层循环执行的内容..\n");while(1){printf("内存循环执行的内容..\n");scanf("%c",&fu);if(fu == 'Y' || fu == 'y'){is_flag = 0;break;}}}}int main(){fun0();fun1();}
注意:
层循环执行的内容…\n");
while(1)
{
printf(“内存循环执行的内容…\n”);
scanf(“%c”,&fu);
if(fu == ‘Y’ || fu == ‘y’)
{
is_flag = 0;
break;
}
}
}
}
int main()
{
fun0();
fun1();
}注意: 如果是多层循环(嵌套循环),进的时候是从外到内,跳出的时候是从内到外。
-
-
-
上机题
- 计算n以内所有正奇数的和 ? n值通过键盘输入
- 计算 1 + 1/(2 * 3) + 1/(3 * 4) + .+ 1/(n * (n + 1)) = ?直到最后一相值小于0.00001为至。
- 计算1+1/2 - 1/3 + 1/4 - 1/5 .+1/n= ? n通过键盘输入(int k = -1)
- 计算n的阶乘 ? n值通过键盘输入
- 输出半径为1~10的圆面积,面积大于100时停止
- 求输入的十个整数中正数的个数及其平均值
- 打印出100以内能整除7之外的的自然数
- 打印乘法表
- 我国古代数学家张丘建在《算经》一书中提出的数学问题:鸡翁一值钱五,鸡母一值钱三,鸡 雏三值钱一。百钱买百鸡,问鸡翁、鸡母、鸡雏各几何?
- 从键盘上输入多个无符号整型数据,直到 0 结束 ,输出所输入数据中的最大值。
相关文章:
C语言基础六:循环结构及面试上机题
Day06:循环结构 定义 代码的重复执行,就叫做循环 循环的分类 无限循环:其实就是死循环,程序设计中尽量避免无限循环。程序中的无限循环必须可控。有限循环:循环限定循环次数或者循环的条件。 循环的构成 循环条件循环体 当型循环的实现…...
【蓝桥杯每日一题】技能升级
技能升级 2024-12-10 蓝桥杯每日一题 技能升级 二分 题目大意 一个角色有 N 种可以增加攻击力的技能,对于第 i 个技能首次升级可以提升 A i A_i Ai 点攻击力,随后的每次升级增加的攻击力都会减少 B i B_i Bi 。升级 ⌈ A i B i ⌉ \lceil \frac{A…...
C++作业4
1、思维导图 2、Person和Stu的拷贝构造和拷贝赋值函数 #include <iostream> using namespace std; class Person {string name;int *age; public:Person():age(new int(23)){cout << "Person的无参构造" << endl;}//初始化列表 :成员属性1(值),成…...
密码学——密码学基础、散列函数与数字签名
1.密码学概述 是信息安全的基础和核心,是防范各种安全威胁的重要手段,信息安全的许多相关知识都与密码学相关。 密码学发展 密码学是一门古老而又年轻的学科 ,几千年以前就存在,至今仍在发展演进。地位非常重要甚至起决定性作用…...
鹦鹉的饮食偏好:探索多彩的食物世界
鹦鹉,作为聪明且迷人的鸟类,其饮食习性一直是鸟类爱好者关注的焦点。了解鹦鹉喜欢吃什么食物,对于确保它们的健康与幸福至关重要。 鹦鹉的食物种类丰富多样,首先是各类种子与谷物。例如,葵花籽富含脂肪和蛋白质&#…...
AtCoder Beginner Contest 383
C - Humidifier 3 Description 一个 h w h \times w hw 的网格,每个格子可能是墙、空地或者城堡。 一个格子是好的,当且仅当从至少一个城堡出发,走不超过 d d d 步能到达。(只能上下左右走,不能穿墙)&…...
HALCON算子函数 Filter(过滤)(1)
Arithmetic图像算数处理 abs_diff_image:计算两个图像的绝对差别;abs_image:计算一个图像的绝对值(模数);add_image:使两个图像相加;div_image:使两个图像相除ÿ…...
哈希知识详解
目录 一、哈希 二、哈希函数 1、直接定值法 2、除留余数法 三、哈希冲突 四、哈希冲突解决 1、闭散列(开放定值法) 闭散列代码 2、哈希桶 哈希桶的结构 查找方法 插入方法 删除方法 析构 迭代器 完整哈希桶代码 五、通过哈希桶封装 unordered_map 和 unordered_set 一、…...
分库分表基本概念讲解
一、基本概念 产生背景 在数据爆炸的年代,单表数据达到千万级别,甚至过亿的量,都是很常见的情景。这时候再对数据库进行操作就是非常吃力的事情了,select个半天都出不来数据,这时候业务已经难以维系。不得已…...
【DRAM存储器四十二】LPDDR5介绍--LPDDR5的bank架构还能配,为什么8B模式只支持BL32?
👉个人主页:highman110 👉作者简介:一名硬件工程师,持续学习,不断记录,保持思考,输出干货内容 参考资料:《某LPDDR5数据手册》 、《JESD209-5C》 目录 BG mode 16B mode 8B mode...
ubuntu 新建脚本shell并增加图标 双击应用实现python运行
1.使用nano创建shell脚本文件 需要在终端窗口中输入“nano”以打开文本编辑器。 nano 在创建脚本文件前,我们要了解脚本文件是如何运行的: 直接运行:直接在终端直接输入需要运行的脚本文件名称,系统或用缺省版本的shell运行脚…...
【0x0006】HCI_Disconnect命令详解
目录 一、命令概述 二、命令格式和参数说明 2.1. HCI_Disconnect 命令格式 2.2. Connection_Handle 2.3. Reason 三、返回事件说明 3.1. HCI_Command_Status 事件 3.2. HCI_Disconnection_Complete事件 3.3. HCI_LE_CIS_Established事件(针对CIS) 四、事件执行流程…...
【C语言练习(5)—回文数判断】
C语言练习(5) 文章目录 C语言练习(5)前言问题问题解析结果总结 前言 通过回文数练习,巩固数字取余和取商如何写代码 问题 输入一个五位数判断是否为回文数? 问题解析 回文数是指正读反读都一样的整数。…...
【全连接神经网络】核心步骤及其缺陷
前向传播 计算公式(其中一种) x1/x2:输入值,一般是神经网络上一层的输出或者输入数据本身,上图中表示两个节点w11 w13:权重,在神经网络中,权重是学习的参数,表示每个输入…...
【Vulkan入门】11-CreateCommandBuffer
[TOC]目录 先叨叨 先叠个甲,我个人都觉得本篇有点灌水的嫌疑。 到上篇为止,已经创建好了Pipeline。接下来就是要给Pipeline发指令进行渲染了。 从一开始就不断强调,发给Vulkan的指令要通过Queue发送给Device。命令不是一条一条推到Queue中的…...
Redis原理—4.核心原理摘要
大纲(9870字) 1.Redis服务器的Socket网络连接建立 2.Redis多路复用监听与文件事件模型 3.基于队列串行化的文件事件处理机制 4.完整的Redis Server网络通信流程 5.Redis串行化单线程模型为什么能高并发 6.Redis内核级请求处理流程与原理 7.Redis通信协议与内核级请求数据…...
面向对象系统的分析和设计
来源:《设计模式精解-GOF23种设计模式解析》 作者:k_eckel k_eckels mindview - 博客园 (cnblogs.com) --------- 面向对象系统的分析和设计实际上追求的就是两点: (1)高内聚 (2)低耦合 …...
单片机:实现交通信号灯(附带源码)
使用单片机实现交通信号灯控制系统是一个经典的嵌入式系统应用。这个项目可以帮助你理解如何通过单片机控制不同颜色的LED灯、处理时间控制、以及输入输出的基本操作。通过这个项目,你将掌握如何设计交通信号灯的时序控制、如何实现定时控制交通灯的切换、以及如何与…...
小白如何学习看懂CAD图纸?
首先,你需要了解CAD图纸的基本构成,包括图例、尺寸标注、比例等等。接着,你可以通过一些专业的书籍、在线课程或视频教程来逐步学习如何识别和理解这些元素。但建议不要学的太复杂了。 掌握基本概念: 坐标系:了解CAD…...
HarmonyOS-高级(一)
文章目录 一次开发、多端部署自由流转 🏡作者主页:点击! 🤖HarmonyOS专栏:点击! ⏰️创作时间:2024年12月09日12点19分 一次开发、多端部署 布局能力 自适应布局 拉伸能力均分能力占比能力缩放…...
Datawhale AI 冬令营(第一期)定制你的第一个专属模型-学习笔记
最近我报名参加了Datawhale组织的主题为“动手学系列,人人都能应用的AI”的Datawhale AI冬令营(第一期)。 本次学习一共12天,从12月10日-12月21日,学习会包含【跑通速通手册】,【学习大模型微调&数据集…...
群控系统服务端开发模式-应用开发-登录退出发送邮件
一、登录成功发送邮件 在根目录下app文件夹下controller文件夹下common文件夹下,修改Login.php,代码如下 <?php /*** 登录退出操作* User: 龙哥三年风水* Date: 2024/10/29* Time: 15:53*/ namespace app\controller\common; use app\controller\Em…...
app-2 App 应用抓包之 Postern+Charles
一、前言 本篇是基于 Postern Charles 方式对安卓应用数据包进行抓取。可以抓取到市面上大多数的app数据包。 二、环境准备 postern:postern下载地址 charles:Charles 4.5.6 中文版(便携免安装).rar 提取码:6d8f 三、配置及抓包测试 3.…...
cnocr配置及训练测试
cnocr配置及训练测试 1,相关链接2,已有模型调用测试(1)下载相关模型(2)Cnstd文本检测模型(3)模型调用解析脚本 3,自定义数据集训练测试(1)标签转换…...
【优选算法 前缀和】前缀和算法模板详解:一维前缀 & 与二维前缀和
一维前缀和 题目解析 算法原理 解法一:暴力解法 简单模拟,读完题意有 q 次询问,给哪两个数,就求哪段区间的和并且返回,这样的做法,时间复杂度为O(N*q),这个时间复杂度会超时…...
【记录】用JUnit 4的@Test注解时报错java.lang.NullPointerException的原因与解决方法
项目场景: 在练习黑马点评的逻辑过期解决缓存击穿时,编写了一个预热缓存数据的单元测试 SpringBootTest public class HmDianPingApplicationTests {Resourceprivate ShopServiceImpl shopService;Testpublic void testSaveShop() throws InterruptedE…...
Transformer入门(6)Transformer编码器的前馈网络、加法和归一化模块
文章目录 7.前馈网络8.加法和归一化组件9.组合所有编码器组件构成完整编码器 7.前馈网络 编码器块中的前馈网络子层如下图所示: 图1.32 – 编码器块 前馈网络由两个带有ReLU激活函数的全连接层组成。全连接层(Fully Connected Layer)有时也…...
(七)腾讯cloudstudio+Stable-Diffusion-webui AI绘画教程-安装Stable-Diffusion-WebUI
一、说明 本文选择安装stable-diffusion-webui最新版本 cloud studio 免费版最大的问题是空间不足,我晚上上传时超过了硬盘大小,直接不能启动,没办法,删除,又建了一个工作空间 二、安装 1、打开终端 2、配置Git代理…...
算法基础Day7(动态规划)
文章目录 1.题目2.题目解答1.第N个泰波那契数题目及题目解析动态规划算法学习1.状态表示2.状态转移方程3.初始化4.填表顺序5.空间优化 代码提交空间优化 2.三步问题题目及题目解析算法学习代码提交 1.题目 1137. 第 N 个泰波那契数 - 力扣(LeetCode)面试…...
代理IP地址和端口是什么?怎么进行设置?
保护个人隐私、突破地域限制、提升网络安全性是我们不断追求的目标。IP地址与端口一种实现这些目标的重要工具。但是,你可能对它是什么,以及如何设置感到困惑。别担心,本文将为你揭开这些神秘的面纱,让你轻松掌握这项技能。 1.IP…...
一文详解TCP协议 [图文并茂, 明了易懂]
欢迎来到啊妮莫的学习小屋! 目录 什么是TCP协议 TCP协议特点✨ TCP报文格式 三次握手和四次挥手✨ 可靠性 效率性 基于字节流✨ 基于TCP的应用层协议 什么是TCP协议 TCP(传输控制协议, Transmission Control Protocol) 是一种面向连接的, 可靠的, 基于字节流的传输层通…...
js后端开发之Next.js、Nuxt.js 与 Express.js
后端js之Next.js、Nuxt.js 与 Express.js 在现代 Web 开发中,JavaScript 已经成为前后端通用的编程语言,而选择合适的后端框架则是构建高效、可扩展应用程序的关键。本文将带你深入了解三个流行的 JavaScript 后端框架:Next.js、Nuxt.js 和 …...
人工智能概要
目录 前言1.什么是人工智能(Artificial Intelligence, AI)2.人工智能发展的三次浪潮2.1 人工智能发展的第一次浪潮2.2 人工智能发展的第二次浪潮2.3 人工智能发展的第三次浪潮 3.人工智能发展的必备三要素3.1 数据3.2 算法(algorithm…...
spring boot 3集成swagger
Spring Boot 3 集成 Swagger 的过程与之前版本相比有一些变化,主要是因为 springfox 库已经停止更新,并且不再支持新的 Spring Boot 版本。因此,对于 Spring Boot 3 来说,推荐使用 springdoc-openapi 作为集成 Swagger 的解决方案…...
【PlantUML系列】状态图(六)
一、状态图的组成部分 状态:对象在其生命周期内可能处于的条件或情形,使用 state "State Name" as Statename 表示。初始状态:表示对象生命周期的开始,使用 [*] 表示。最终状态:表示对象生命周期的结束&…...
前端缓存页面处理方法
当前一个前端应用新发布时,重新编译后,原来引用的资源文件名都会有变化。如果这个应用的页面在前端浏览器中有缓存,则会导致加载资源失败。怎样去除这种缓存,同时也能尽可能的保证前端访问的性能 ChatGPT said: ChatGPT 这是一个经…...
每日一题 284. 窥视迭代器
284. 窥视迭代器 想要提前知道下一个内容,就需要缓存 class PeekingIterator : public Iterator { public:PeekingIterator(const vector<int>& nums) : Iterator(nums) {// Initialize any member here.// **DO NOT** save a copy of nums and manipula…...
Cesium-(Primitive)-(BoxGeometry)
含实现代码 GISer世界 效果: 以下是 BoxGeometry 类的构造函数属性,以表格形式展示: 属性名类型默认值描述minimumCartesian3盒子的最小 x, y, 和 z 坐标。maximumCartesian3盒子的最大 x, y, 和 z 坐标。vertexFormatVertexFormatVertexFormat.DEFAULT要计算的顶点属性。以下…...
CSS元素宽高特点、类型转化、显式和隐藏(display)
元素的宽高特点 块级元素 可以设置宽高,不可以和其他元素在一行设置宽高时,元素的宽高为设置的值没有设置宽高时,宽度和父级宽高一样,高度由元素内容决定 行级元素 不可以设置宽高,可以和其他元素在一行元素的宽高…...
上市公司投资效率Biddle模型数据(包括最终数据、原始数据及构造说明)2003-2022年
一、计算方式:参考《Journal of accounting and economics》Biddle G C,构建Biddle模型使用企业投资对成长机会的回归模型来估计企业的投资效率,这里成长机会用销售增长率来衡量。回归模型如下图所示: 二、资料范围:包括原始数据…...
矩阵的乘(包括乘方)和除
矩阵的乘分为两种: 一种是高等代数中对矩阵的乘的定义:可以去这里看看包含矩阵的乘。总的来说,若矩阵 A s ∗ n A_{s*n} As∗n列数和矩阵 B n ∗ t B_{n*t} Bn∗t的行数相等,则 A A A和 B B B可相乘,得到一个矩阵 …...
Spring Security6.3 自定义AuthorizationManager问题
项目环境: Springboot3.3.5, 对应的SpringFrameWork6.1,Security为6.3 问题:我想自定义AuthorizationManager接口实现类,在里面判断如果角色为amdin则放行请求; 在AdminAuthorizationManager类的check()方法中pass变量…...
第一部分:基础知识 9 . 视图 --[MySQL轻松入门教程]
在MySQL中,视图(View)是一个命名的SQL查询,它被存储在数据库目录中。视图可以包含来自一个或多个表的数据,并且可以像真实表一样被查询。下面是对MySQL视图的详细讲解: 创建视图 使用 CREATE VIEW 语句来创建视图。语法如下: CREATE [OR REPLACE] [ALGORITHM = {UNDEFIN…...
用GPT零负担学单片机之点亮一颗cpu 第3节 训练or特征匹配?用GPT开发嵌入式
用GPT零负担学单片机之点亮一颗cpu 第3节 训练or特征匹配?AI写代码 大家好,我是小杰学长 如果你是大学生 遇到电子技术 学习 成长 入行难题 我曾经通过大学比赛赚钱 从事嵌入式AI 航天军工 用特别的学习和求职方法线下半年带50+学弟学妹入行开发 主页佳喔威信,给你提供一定资…...
2.6、vue2中侦听属性的变化
2.6.1、侦听属性作用侦听属性的变化其实就是监视某个属性的变化。当被监视的属性一旦发生改变时,执行某段代码。2.6.2、watch配置项监视属性变化时需要使用watch配置项 可以监视多个属性,监视哪个属性,请把这个属性的名字拿过来即可。 i.可以监视Vue的原有属性 ii.如果监视的…...
enable_shared_from_this
用途 struct S {shared_ptr<S> dangerous(){return shared_ptr<S>(this); // dont do this!} };int main() {shared_ptr<S> sp1(new S);shared_ptr<S> sp2 sp1->dangerous();return 0; }考虑以上代码,从一个被shared_ptr管理的struc…...
重生之我在异世界学智力题(2)
大家好,这里是小编的博客频道 小编的博客:就爱学编程 很高兴在CSDN这个大家庭与大家相识,希望能在这里与大家共同进步,共同收获更好的自己!!! 本文目录 引言智力题:逃离孤岛智力题&a…...
深入解析下oracle的number底层存储格式
oracle数据库中,number数据类型用来存储数值数据,它既可以存储负数数值,也可以存储正数数值。相对于其他类型数据,number格式的数据底层存储格式要复杂得多。今天我们就详细探究下oracle的number底层存储格式。 一、环境搭建 1.…...
prometheus
1.安装,tar包,解压即用 tar xf prometheus-2.33.3.linux-amd64.tar.gz -C /app/tools/ 2.创建软链接 ln -s prometheus-2.33.3.linux-amd64/ /app/tools/prometheus 3.进入目录 cd /app/tools/prometheus 4.运行 ./prometheus 5.此时࿰…...
C# 23种设计模式(1)单例模式(单件模式)
一、单例模式介绍 单例模式(Singleton Pattern)是一种创建型设计模式,它确保一个类只有一个实例,并提供一个全局访问点。这个模式在需要一个对象被共享且全局唯一的情况下非常有用,比如配置对象、日志对象、数据库连接…...