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

C语言 ——— 分支循环语句

目录

分支循环语句

单分支

多分支

switch 分支语句

牛刀小试

判断一个数是否是奇数

输出 1-100之间 的奇数

计算 n 的阶乘 

计算 1! + 2! + 3! ... + n!

在一个有序数组中查找具体的某一个数字 

打印 100-200 之间的素数

求两个整数的最大公约数

getchar函数 和 putchar函数

getchar 函数

putchar 函数

代码模拟实现用户创建密码场景

代码模拟实现用户登录账号场景,并且只能登录三次 

猜数字游戏

实现要求

代码实现

代码解析

goto 语句

利用 goto语句 写一个电脑关机程序


分支循环语句

单分支

单 if 语句:

int age = 0;
scanf("&d", &age);if (age >0 && age < 18)printf("未成年\n");

单 if else 语句:

int age = 0;
scanf("&d", &age);if (age >0 && age < 18)printf("未成年\n");
elseprintf("成年\n");

多分支

int age = 0;
scanf("&d", &age);if (age > 0 && age < 18)printf("青少年\n");
else if (age >= 18 && age < 30)printf("青年\n");
else if (age >= 30 && age < 50)printf("中年\n");
else if (age >= 50 && age < 70)printf("中老年\n");
else if (age >= 70 && age < 90)printf("老年\n");
elseprintf("老寿星\n");

注意:当条件判断语句里是多条语句时,需要用大括号括起来

switch 分支语句

代码演示:

int day = 0;
scanf("%d", &day);switch (day)
{
case 1:printf("星期一\n");break;
case 2:printf("星期二\n");break;
case 3:printf("星期三\n");break;
case 4:printf("星期四\n");break;
case 5:printf("星期五\n");break;
case 6:printf("星期六\n");break;
case 7:printf("星期七\n");break;
default:printf("输入错误");break;
}return 0;

switch 的括号中只能是整型变量表达式,case 后面只能跟整型常量

每一个 case 下面的代码执行完成后最好加上 break,否则就会一直往下执行

default 类比 if else 语句中的 else ,当所有 case 都不匹配的时候就会执行 default 下面的代码


牛刀小试

判断一个数是否是奇数

代码演示:

int input = 0;
scanf("%d", &input);if (input % 2 == 1)printf("是奇数\n");
elseprintf("不是奇数\n");

任意一个奇数除以 2 之后的余数都是 1,所以利用 % 取模上 2 判断余数是否为 1,是 1 就是奇数,否则就不是 

输出 1-100之间 的奇数

代码演示(方法1):

for (int i = 1; i <= 100; i++)
{if (i % 2 == 1)printf("%d ", i);
}

同样是通过 % 取模关键字来判断

代码演示(方法2): 

for (int i = 1; i <= 100; i+=2)
{printf("%d ", i);
}

在 for 循环的条件中直接控制变量 i 只输出奇数,这样就不用 if 判断 

计算 n 的阶乘 

代码演示:

int n = 0;
scanf("%d", &n);int factorial = 1;for (int i = 1; i <= n; i++)
{factorial = factorial * i;
}printf("%d! = %d\n",n, factorial);

通过循环列举出 1-n 的值,并把它们的乘积累计到 factorial 变量中,最后 factorial 变量就是 n 的阶乘

代码验证:

计算 1! + 2! + 3! ... + n!

代码演示:

int n = 0;
scanf("%d", &n);int factorial = 1;
int sum = 0;for (int i = 1; i <= n; i++)
{factorial = factorial * i;sum = sum + factorial;
}printf("%d\n", sum);

把每个数的阶乘累加在一起,就是 1! + 2! + 3! ... + n!

代码验证:

在一个有序数组中查找具体的某一个数字 

代码演示:

int arr[] = { 1,3,4,6,8,9,11,24,33,54,66 };printf("请输入要查找的数:");
int input = 0;
scanf("%d", &input);int right = sizeof(arr) / sizeof(arr[0]) - 1;
int left = 0;while (left <= right)
{int mid = (right + left) / 2;if (input > arr[mid]){left = mid + 1;}else if (input < arr[mid]){right = mid - 1;}else{printf("找到了,下标是:%d\n", mid);break;}
}if (left > right)
{printf("查找的数不存在\n");
}

此题利用的是二分查找算法,二分查找法的应用需以有序数组为前提,其核心步骤与流程如下:

  1. 初始化与定位:设定数组左右边界下标leftright,据此计算中间元素下标mid,以获取数组中间值。
  2. 比较与边界调整:将待查找元素与中间值进行比较:
    • 若待查找元素大于中间值,则将左边界left更新为mid + 1,缩小查找范围至数组右半部分;
    • 若待查找元素小于中间值,则将右边界right更新为mid - 1,缩小查找范围至数组左半部分。
  3. 迭代与终止:在left <= right的循环条件下,持续更新mid,并重复比较操作。当找到目标元素时,循环终止;若循环条件不再满足,即left > right,则表明数组中不存在目标元素,查找结束。

打印 100-200 之间的素数

代码演示:

int main()
{for (int i = 101; i <= 200; i+=2){int flag = 1;for (int j = 2; j < sqrt(i); j++){if (i % j == 0){flag = 0;break;}}if (flag)printf("%d ", i);}return 0;
}

代码解析:

素数又称质数,它的特征是只能被 1 和它本身整除。例如 11,只能被 1 和 11 整除,2 到 10 都无法整除它。 由于偶数除了能被 1 和自身整除外,还能被 2 整除,所以偶数一定不是素数(2 除外,但本题范围不涉及 2)

若要找出 100 到 200 之间的素数,可先排除偶数,使用 for 循环从 101 开始遍历,每次递增 2,以此避免对偶数进行判断。 判断一个数是否为素数时,可采用以下方法:在外部 for 循环遍历每个待判断的数,对每个数再用一个内部 for 循环来检查它是否能被其他数整除

以判断 102 为例,在内部 for 循环中,让 102 依次对 2 到 100 之间的数取模。若存在一个数取模结果为 0,就表明 102 不是素数;若所有取模结果都不为 0,则 102 是素数。为方便判断,可定义一个变量 flag 并初始化为 1,若取模结果为 0,就将 flag 赋值为 0 并跳出内部循环。当内部循环结束后,只需判断 flag 的值,若为 1 则该数是素数,直接打印;若为 0 则不是素数

此外,内部 for 循环的范围可优化。不需要从 2 遍历到待判断的数减 1,只需从 2 遍历到该数平方根(sqrt 函数用于计算平方根)即可。因为若一个数 x 能写成 x = m * n 的形式,那么 m 和 n 中至少有一个小于等于 sqrt(x)。这样能减少不必要的计算,提高效率

求两个整数的最大公约数

代码演示:

int main()
{int m = 0;int n = 0;scanf("%d %d", &m, &n);int k = 0;while (k = m % n){m = n;n = k;}printf("%d\n", n);return 0;
}

代码解析:

要求两个整数的最大公约数,可以使用辗转相除法,这种方法高效且原理巧妙。下面详细解释其计算过程

以两个整数 m=24 和 n=18 为例,辗转相除法的操作步骤如下:

  1. 计算 m 除以 n 的余数,将这个余数赋值给变量 k。在这个例子中,24%18=6,所以 k=6。
  2. 判断 k 的值是否为 0。如果 k 不为 0,就把 n 的值赋给 m,把 k 的值赋给 n。在本例中,执行这一步后,m 变为 18,n 变为 6。
  3. 重复上述步骤,也就是持续进行 k=m%n 的计算,然后更新 m 和 n 的值(m=n;n=k),直到 k 的值为 0。
  4. 当 k 为 0 时,此时 n 的值就是 m 和 n 的最大公约数

辗转相除法是一种非常实用的算法,它的核心在于巧妙地利用了余数的性质。每次用较大数除以较小数取余,再用除数和余数继续这个过程,不断缩小问题的规模。这样一来,原本复杂的求最大公约数问题,就通过不断迭代转化为一个简单的问题,避免了对大量可能的公约数进行逐一尝试,从而显著提高了计算效率。而且,这种算法逻辑清晰、代码实现简单,在实际应用中十分高效 


getchar函数 和 putchar函数

getchar 函数

getchar 函数的作用是从键盘上接收一个字符,当接收成功后的返回值是字符的 ASCLII 码值,接收失败就会返回 EOF

putchar 函数

putchar 函数的作用是把传递的参数打印在屏幕上,比如 putchar('w'); 那么屏幕上就会出现 w 字符

代码模拟实现用户创建密码场景

char password[20] = { 0 };printf("请输入密码:");
scanf("%s", password);// 清空缓冲区
while (getchar() != '\n');char input = 0;
printf("请确认密码(Y/N):");
scanf("%c", &input);if (input == 'Y')printf("确认成功\n");
else if (input == 'N')printf("退出确认\n");
elseprintf("确认失败\n");return 0;

scanf 函数和 getchar 之类的接收数据函数,并不是从键盘上直接接收数据,而是从输入缓冲区中拿数据,而从键盘上输入的数据没有被拿之前都是被存放在输入缓冲区的

而 scanf 函数只会拿 '\n' 或者空格之前的字符,所以要利用 getchar 把缓冲区中多余的字符清理掉

代码模拟实现用户登录账号场景,并且只能登录三次 

实现要求:

编写代码实现模拟用户登录账号场景,并且只能登录三次,只允许输入三次密码,如果密码正确则提示登录成功,如果三次均输入错误,则退出程序

代码演示:

char password[] = "123456";
char input_password[] = "      ";int chance = 0;while (chance < 3)
{printf("请输入密码:");scanf("%s", input_password);if (strcmp(input_password, password) == 0){printf("登录成功\n");break;}else{printf("密码错误\n");chance++;}
}if (chance == 3)printf("登录失败,退出程序\n");return 0;

strcmp 函数的作用是比较两个字符串的大小关系,其返回值规则如下:

  1. 若返回 0:表示两个字符串完全相等(每个对应位置的字符都相同)
  2. 若返回正数:表示第一个字符串大于第二个字符串。比较逻辑是从左到右逐个字符对比,直到找到第一个不相同的字符,此时第一个字符串中该位置字符的 ASCII 码值大于第二个字符串对应位置字符的 ASCII 码值
  3. 若返回负数:表示第一个字符串小于第二个字符串,原理同上,即第一个不相同字符的 ASCII 码值小于第二个字符串对应字符的 ASCII 码值

简言之,strcmp 通过逐个字符比较 ASCII 码值来判断字符串的大小关系,返回值直接体现两者的大小或相等关系


猜数字游戏

实现要求

编写一个猜数字游戏程序,让用户猜测程序随机生成的 1 - 100 之间的整数

  1. 开始与退出控制:程序启动后,提示用户输入指令。输入 1 开始新的一轮猜数字游戏;输入 0 则直接退出程序;若输入其他非 0 非 1 的整数,提示用户重新输入

  2. 猜数字过程:当用户输入 1 开始游戏后,程序随机生成一个 1 - 100 之间的整数作为目标数字。用户输入猜测的数字,程序根据用户输入给出相应提示:

    • 若猜测的数字大于目标数字,提示 “猜大了”。
    • 若猜测的数字小于目标数字,提示 “猜小了”。
    • 若猜测的数字等于目标数字,提示 “猜对了”,此轮游戏结束,再次回到开始界面等待用户输入指令(1 开始新游戏,0 退出程序等)。
  3. 重复游戏:在一轮游戏结束后,用户可根据自身意愿,通过输入 1 继续开启新的一轮游戏,或输入 0 退出程序。

代码实现

void menu()
{printf("**********************************************\n");printf("*****     1. play            0. nxit     *****\n");printf("**********************************************\n");
}void game()
{printf("\n-----------   猜数字游戏开始   -----------\n");int input = 0;int Random_number = rand() % 100 + 1;while (1){printf("请输入你猜的数字:");int ret = scanf("%d", &input);if (input > Random_number){printf("猜大了\n");}else if (input < Random_number){printf("猜小了\n");}else{printf("恭喜你,猜中了!!!\n");break;}}printf("-----------   猜数字游戏结束   -----------\n\n");}int main()
{int input = 0;srand((unsigned int)time(NULL));do{menu();printf("\n请输入(1 or 0):");scanf("%d", &input);if (input == 1){game();}else if(input == 0){printf("退出游戏\n");}else{printf("输入错误,请重新输入\n");}} while (input);return 0;
}

代码解析

代码 1:srand((unsigned int)time(NULL));

srand 函数用于初始化随机数生成器的种子。在 C 语言里,若不设定种子,rand 函数每次运行程序时产生的随机数序列都是相同的

time(NULL) 会返回当前的时间戳,即从特定起始时间到现在所经过的秒数。由于时间是持续变化的,将 time(NULL) 的返回值强制转换为 unsigned int 类型后作为 srand 函数的参数,就可以让随机数生成器的种子在每次运行程序时都不同

这样,后续调用 rand 函数就能生成不同的随机数序列,实现真正意义上的 “随机”

代码 2:int Random_number = rand() % 100 + 1;

rand 函数用于生成随机整数。不过,它默认生成的是一个较大范围的随机数,且每次运行程序时的随机数序列依赖于 srand 函数设定的种子。若要生成 1 到 100 之间的随机整数,可以通过取模运算和加法运算来实现

rand() % 100 会对 rand 函数生成的随机数取模 100,得到的结果范围是 0 到 99。在此基础上再加 1,最终得到的随机数范围就是 1 到 100。代码将这个 1 到 100 之间的随机数赋值给整型变量 Random_number


goto 语句

goto 语句介绍:

在C语言里,`goto` 语句能让程序执行流程跳转到指定的标签处。使用时,要先定义一个标签,格式为“标签名:”,接着就能用 `goto` 标签名; 来跳转。不过,滥用 `goto` 会使代码逻辑混乱、可读性变差。所以仅在处理深度嵌套跳出等特殊情况时使用

goto 语句可以使用的场景: 

int main()
{for (int i = 0; i < 10; i++){for (int j = 0; j < 10; j++){for (int k = 0; k < 10; k++){goto error;}}}error:return 0;
}

能直接跳出深度嵌套的情况

利用 goto语句 写一个电脑关机程序

int main()
{char password[20] = { 0 };system("shutdown -s -t 60");printf("请注意,你的电脑将在1分钟内关机,如果输入“我是猪”三个字,就取消关机。\n请输入:");again:scanf("%s", password);if (strcmp(password, "我是猪") == 0){system("shutdown -a");printf("正确输入,已取消关机\n");}else{printf("输入错误,请再次输入:");goto again;}return 0;
}

system("shutdown -s -t 60"); 代码解释:

  • system 是 C 语言标准库 <stdlib.h> 中的函数,它的作用是调用操作系统的命令行接口来执行特定的系统命令。
  • "shutdown -s -t 60" 是传递给 system 函数的系统命令字符串。其中,shutdown 是 Windows 操作系统中用于关机、重启、注销等操作的命令。
    • -s 表示关机操作,即让计算机在指定时间后关闭。
    • -t 60 表示设置关机的倒计时时间,-t 是指定时间的参数,60 代表 60 秒。

综合起来,system("shutdown -s -t 60"); 的作用是让程序调用系统命令,使计算机在 60 秒后自动关机。

system("shutdown -a"); 代码解释:

  • 同样,system 函数调用系统命令行接口。
  • "shutdown -a" 是传递给 system 函数的命令字符串。其中,shutdown 是 Windows 系统用于关机等操作的命令,-a 是取消关机操作的参数。

所以,system("shutdown -a"); 的作用是调用系统命令来取消之前设置的关机计划,无论之前设置的是多少时间后关机,执行这行代码后,关机计划都会被取消

相关文章:

C语言 ——— 分支循环语句

目录 分支循环语句 单分支 多分支 switch 分支语句 牛刀小试 判断一个数是否是奇数 输出 1-100之间 的奇数 计算 n 的阶乘 计算 1! 2! 3! ... n! 在一个有序数组中查找具体的某一个数字 打印 100-200 之间的素数 求两个整数的最大公约数 getchar函数 和 putc…...

解耦旧系统的利器:Java 中的适配器模式(Adapter Pattern)实战解析

在现代软件开发中&#xff0c;我们经常需要与旧系统、第三方库或不一致接口打交道。这时候&#xff0c;如果能优雅地整合这些不兼容组件&#xff0c;又不破坏原有结构&#xff0c;就需要一位“翻译官” —— 适配器模式。本文将通过 Java 实例&#xff0c;详细讲解适配器模式的…...

C++学习之游戏服务器开发十五QT登录器实现

目录 1.界面搭建 2.登录客户端步骤分析 3.拼接登录请求实现 4.发送http请求 5.服务器登录请求处理 6.客户端处理服务器回复数据 7.注册页面启动 8.qt启动游戏程序 1.界面搭建 2.登录客户端步骤分析 3.拼接登录请求实现 CGI 程序处理流程 程序员自己写程序处理各种业务 …...

搭建Stable Diffusion图像生成系统实现通过网址访问(Ngrok+Flask实现项目系统公网测试,轻量易部署)

目录 前言 背景与需求 &#x1f3af; 需求分析 核心功能 网络优化 方案确认 1. 安装 Flask 和 Ngrok 2. 构建 Flask 应用 3. 使用 Ngrok 实现内网穿透 4. 测试图像生成接口 技术栈 实现流程 优化目标 实现细节 1. 迁移到Flask 2. 持久化提示词 3. 图像下载功能 …...

第五章:5.3 ESP32物联网应用:阿里云IoT平台与腾讯云IoT平台的数据上传与远程控制

一、阿里云IoT平台接入​​ 1. 准备工作 ​​注册阿里云账号​​ 访问阿里云官网&#xff0c;注册并完成实名认证。​​创建产品和设备​​ 进入​​物联网平台控制台​​ → ​​公共实例​​ → ​​创建产品​​&#xff08;例如产品名称“ESP32_Sensor”&#xff0c;节点…...

【AI News | 20250423】每日AI进展

AI Repos 1、suna Suna是一款完全开源的AI助手&#xff0c;旨在通过自然对话帮助用户轻松完成现实世界的任务。它作为您的数字伙伴&#xff0c;提供研究、数据分析和日常问题解决等功能&#xff0c;并结合强大的能力与直观的界面&#xff0c;理解您的需求并交付成果。Suna的工…...

3.1 Agent定义与分类:自主Agent、协作Agent与混合Agent的特点

随着人工智能技术的快速发展&#xff0c;智能代理&#xff08;Agent&#xff09;作为一种能够感知环境、自主决策并采取行动的计算实体&#xff0c;已成为人工智能领域的重要研究对象和应用工具。特别是在大模型&#xff08;Large Models&#xff09;的赋能下&#xff0c;Agent…...

stack和queue的学习

stack的介绍 stack的文档介绍 stack是一种容器适配器&#xff0c;专门用在具有后进先出操作的上下文环境中&#xff0c;其删除只能从容器的一端进行元素的插入与提取操作。stack是作为容器适配器被实现的&#xff0c;容器适配器即是对特定类封装作为其底层的容器&#xff0c;…...

leetcode-位运算

位运算 371. 两整数之和 题目 给你两个整数 a 和 b &#xff0c;不使用 运算符 和 - &#xff0c;计算并返回两整数之和。 示例 1&#xff1a; 输入&#xff1a; a 1, b 2 输出&#xff1a; 3 示例 2&#xff1a; 输入&#xff1a; a 2, b 3 输出&#xff1a; 5 提示&am…...

《浔川AI翻译v6.1.0问题已修复公告》

《浔川AI翻译v6.1.0问题已修复公告》 尊敬的浔川AI翻译用户&#xff1a; 感谢您对浔川AI翻译的支持与反馈&#xff01;我们已针对 **v6.1.0** 版本中用户反馈的多个问题进行了全面修复&#xff0c;并优化了系统稳定性。以下是本次修复的主要内容&#xff1a; 已修复问题 ✅…...

Unity 创建、读取、改写Excel表格数据

1.导入EPPlus.dll、Excel.dll、Mysql.Data.dll、System.Data.dll&#xff1b;&#xff08;我这里用的是&#xff1a;Unity2017.3.0&#xff09; 2.代码如下&#xff1a; using System.Data; using System.IO; using UnityEngine; using OfficeOpenXml; using UnityEditor; us…...

【阿里云大模型高级工程师ACP习题集】2.3 优化提示词改善答疑机器人回答质量

练习题: 【单选题】在使用大模型进行意图识别时,通过设计特定提示词引导模型生成符合预期回答的方法,其本质是( )。 A. 修改模型本身参数 B. 依靠构造输入激发模型内部已有知识 C. 对模型进行微调 D. 改变模型的训练数据 【多选题】以下哪些属于提示词框架中的要素( )。…...

富文本编辑器实现

&#x1f3a8; 富文本编辑器实现原理全解析 &#x1f4dd; 基本实现路径图 #mermaid-svg-MO1B8a6kAOmD8B6Y {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-MO1B8a6kAOmD8B6Y .error-icon{fill:#552222;}#mermaid-s…...

海量粒子特效解决方案:VEG

Unity 官方除了一个 GPU 粒子特效的解决方案&#xff1a;Visual Effect Graph&#xff0c;即 VEG&#xff0c;能支持百万级粒子特效的播放。在性能要求高的使用场景中&#xff0c;这个解决方案就能完美解决原本 Particle System 性能低下的问题。关于 VEG 的基本使用方法参考官…...

Java高频面试之并发编程-06

hello啊&#xff0c;各位观众姥爷们&#xff01;&#xff01;&#xff01;本baby今天来报道了&#xff01;哈哈哈哈哈嗝&#x1f436; 面试官&#xff1a;线程上下文切换是什么&#xff1f; 线程上下文切换&#xff08;Thread Context Switching&#xff09;是操作系统中 CPU…...

Windows 同步技术-一次性初始化

组件通常设计为在首次调用时执行初始化任务&#xff0c;而不是加载它们时。 一次性初始化函数可确保此初始化仅发生一次&#xff0c;即使多个线程可能尝试初始化也是如此。 Windows Server 2003 和 Windows XP&#xff1a; 应用程序必须使用 互锁函数 或其他同步机制提供自己的…...

Transformer起源-Attention Is All You Need

这篇笔记主要讲解Attention Is All You Need论文。《Attention Is All You Need》由 Ashish Vaswani 等人撰写&#xff0c;于 2017 年发表在 NIPS&#xff08;Neural Information Processing Systems&#xff09;会议上。它提出了一种全新的神经网络架构——Transformer&#x…...

被裁20240927 --- 视觉目标跟踪算法

永远都像初次见你那样使我心荡漾 参考文献目前主流的视觉目标跟踪算法一、传统跟踪算法1. 卡尔曼滤波&#xff08;Kalman Filter&#xff09;2. 相关滤波&#xff08;Correlation Filter&#xff0c;如KCF、MOSSE&#xff09;3. 均值漂移&#xff08;MeanShift/CamShift&#x…...

每日学习Java之一万个为什么(JUC)

文章目录 Git复习synchronized介绍基本概念特点 使用模板1. 同步方法格式特点 2. 同步代码块格式特点 常见面试题1. synchronized的实现原理&#xff1f;2. synchronized与ReentrantLock的区别&#xff1f;3. synchronized的缺点&#xff1f;4. 死锁的四个必要条件&#xff1f;…...

代码分享:python实现svg图片转换为png和gif

import cairosvg import imageio from PIL import Image import io import osdef svg_to_png(svg_path, png_path):try:cairosvg.svg2png(urlsvg_path, write_topng_path)print(f"成功将 {svg_path} 转换为 {png_path}")except Exception as e:print(f"转换为 P…...

前端热门面试题day1

内容回答较粗糙&#xff0c;如有疑问请自行搜索资料 什么是vue中的slot&#xff1f;它有什么作用 Vue中的Slot&#xff08;插槽&#xff09;就像给组件预先留的“内容停车位”&#xff0c;让父组件能把自定义内容“塞”到子组件的指定位置。它的主要作用是&#xff1a; 灵活定…...

DCAN,ECAN和MCAN的区别

DCAN、ECAN和MCAN的主要区别在于它们各自的管理范围和功能。‌ ‌DCAN&#xff08;动力CAN系统&#xff09;‌&#xff1a;DCAN主要负责协调电机控制单元&#xff08;MCU&#xff09;、电池管理系统&#xff08;BMS&#xff09;、直流电压变换器&#xff08;DC/DC&#xff09;和…...

基于Python爬虫的豆瓣电影信息爬取(可以根据选择电影编号得到需要的电影信息)

# 豆瓣电影信息爬虫(展示效果如下图所示:) 这是一个功能强大的豆瓣电影信息爬虫程序,可以获取豆瓣电影 Top 250 的详细信息。 ## 功能特点 - 自动爬取豆瓣电影 Top 250 的所有电影信息 - 支持分页获取,每页 25 部电影,共 10 页 - 获取每部电影的详细信息,包括: - 标题…...

Linux系统学习----概述与目录结构

linux 是一个开源、免费的操作系统&#xff0c;其稳定性、安全性、处理多并发已经得到业界的认可&#xff0c;目前很多企业级的项目 (c/c/php/python/java/go)都会部署到 Linux/unix 系统上。 一、虚拟机系统操作 1.网络连接的三种方式&#xff08;桥接模式、nat模式、主机模…...

软考资料分享

分享一些软考资料 16系统分析师-基础知识精讲夸克网盘分享1701系统分析师夸克网盘分享1804系统架构设计师夸克网盘分享19软考系统架构设计师2024年11月夸克网盘分享2006信息系统项目管理师夸克网盘分享21软考高级信息系统项目夸克网盘分享22系统分析师视频教程真题资料夸克网盘…...

什么是 GLTF/GLB? 3D 内容创建的基本数据格式说明,怎么下载GLB/GLTF格式模型

GLTF 概述 GLTF 是一种 3D 模型格式&#xff0c;广泛用于在 Web 上共享和显示 3D 内容。 它经过优化&#xff0c;可在 WebGL 中轻松加载&#xff0c;使用 WebGL 可以快速高效地渲染 3D 模型。 GLTF 是 Khronos Group 开发的开放标准之一&#xff0c;以 JSON 或二进制格式表示…...

湖南大学-操作系统实验四

HUNAN UNIVERSITY 操作系统实验报告 一、实验题目 实验四 中断、异常和陷阱指令是操作系统的基石&#xff0c;现代操作系统就是由中断驱动的。本实验和实验五的目的在于深刻理解中断的原理和机制&#xff0c;掌握CPU访问中断控制器的方法&#xff0c;掌握Arm体系结构的中断机…...

3.第三章:数据治理的战略价值

文章目录 3.1 数据治理与企业战略3.1.1 数据驱动的决策体系3.1.2 数据资产的价值挖掘3.1.3 风险防控与合规管理 3.2 数据治理的业务价值3.2.1 提升客户体验3.2.2 优化运营效率3.2.3 加速产品创新 3.3 数据治理的技术价值3.3.1 提升数据质量3.3.2 优化数据架构3.3.3 增强系统集成…...

[KVM] KVM挂起状态恢复失败与KVM存储池迁移

背景&#xff1a;发现KVM host上的几台虚拟机挂起了(paused)&#xff0c;但是并没有执行virsh suspend <vm_hostname>&#xff0c;且使用virsh resume <vm_hostname> 无法恢复。原因是这个几个虚拟机归属的存储池所在的磁盘满了。所以想把虚拟机迁移到磁盘空间富余…...

图文结合 - 光伏系统产品设计PRD文档 -(慧哥)慧知开源充电桩平台

光伏系统产品设计PRD文档 ‌版本号‌&#xff1a;1.0 ‌修订日期‌&#xff1a;2023年10月 ‌作者‌&#xff1a; 一、文档概述 1.1 背景与目标 ‌行业背景‌&#xff1a;全球光伏装机量年增长20%&#xff0c;数字化运维需求迫切‌用户痛点‌&#xff1a;现有系统存在数据延…...

linux-相关命令

一、Linux 详细介绍 1. 什么是 Linux&#xff1f; Linux 是一个开源的类 Unix 操作系统&#xff0c;其核心是 Linux 内核。它最早由 Linus Torvalds 在 1991 年发布&#xff0c;后来逐渐发展成各种发行版&#xff08;如 Ubuntu、CentOS、Debian、Arch 等&#xff09;。 2. L…...

Hive中Map和Reduce阶段的分工

在Hive查询执行过程中,Map和Reduce阶段有明确的分工,但实际情况要复杂一些。 基本分工原则 ​​Map阶段​​: 主要职责是读取输入数据并进行初步处理输出键值对形式的数据​​Reduce阶段​​: 接收Map阶段输出的键值对对相同键的值进行聚合/计算输出最终结果实际执行中的复…...

前端笔记-Vue router

学习目标 Vue Router路由管理1、路由配置2、嵌套路由3、路由守卫与权限控制 一、路由配置&#xff08;给网站做地图&#xff09; npm i vue-router ​作用​&#xff1a;告诉浏览器什么地址该显示什么页面 ​核心代码​&#xff1a; // 创建路由并暴露出去// 第一步&#x…...

MySQL的日志--Redo Log【学习笔记】

MySQL的日志--Redo Log 知识来源&#xff1a; 《MySQL是怎样运行的》--- 小孩子4919 MySQL的事务四大特性之一就是持久性&#xff08;Durability&#xff09;。但是底层是如何实现的呢&#xff1f;这就需要我们的Redo Log&#xff08;重做日志&#xff09;闪亮登场了。它记录着…...

《系统分析师-第三阶段—总结(五)》

背景 采用三遍读书法进行阅读&#xff0c;此阶段是第三遍。 过程 第9章 总结 在这个过程中&#xff0c;对导图的规范越来越清楚&#xff0c;开始结构化&#xff0c;找关系&#xff0c;找联系。...

【LangChain4j】AI 第二弹:项目中接入 LangChain4j

普通接入方式 参考文档&#xff1a; Get Started https://docs.langchain4j.dev/get-started 1.添加依赖 <!-- 基于open-ai的langchain4j接口&#xff1a;ChatGPT、deepseek都是open-ai标准下的大模型 --> <dependency><groupId>dev.langchain4j</grou…...

测试基础笔记第十天

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 一、查询语句1.基本查询2.条件查询3.模糊查询4.范围查询5.判断空 二、其他复杂查询1.排序2.聚合函数3.分组4.分页查询 一、查询语句 1.基本查询 – 需求1: 准备商…...

代理模式:控制对象访问的中间层设计

代理模式&#xff1a;控制对象访问的中间层设计 一、模式核心&#xff1a;通过代理对象控制对目标对象的访问 在软件开发中&#xff0c;有时需要为对象添加一个 “代理” 来控制对它的访问&#xff0c;例如&#xff1a; 远程代理&#xff1a;访问远程对象时&#xff08;如 R…...

Python类和对象二(十一)

构造函数&#xff1a; 重写&#xff1a; 通过类名访问类里面的方法的做法&#xff0c;称为调用未绑定的父类方法&#xff0c;他有时候会产生钻石继承问题&#xff1a; 发现A重复初始化了两次&#xff0c;类c同事继承类B1和B2&#xff0c;类B1和B2又是继承类A的&#xff0c;当c…...

大模型在代码安全检测中的应用

大模型在代码安全检测领域的应用近年来取得显著进展&#xff0c;尤其在代码审查&#xff08;Code Review, CR&#xff09;场景中展现出高效性与准确性。以下是其核心优势、技术路径、挑战及实践案例的总结&#xff1a; 一、技术优势与核心能力 语义理解与上下文分析 大模型通过…...

Python实现图片浏览器

Python实现图片浏览器 支持浏览多种常见图片格式&#xff1a;JPG, JPEG, PNG, GIF, BMP, TIFF, WEBP 通过"打开文件夹"按钮选择任何包含图片的文件夹 灵活的排序选项&#xff1a; 按时间排序&#xff08;新→旧或旧→新&#xff09; 按文件名排序&#xff08;A→…...

网页设计规范:从布局到交互的全方位指南

网页设计规范看似繁杂&#xff0c;但其实都是为了给用户提供更好的体验。只有遵循这些规范&#xff0c;才能设计出既美观又实用的网页&#xff0c;让用户在浏览网页时感到舒适、愉悦。 一、用户体验至上 用户体验&#xff08;UX&#xff09;是网页设计的核心原则之一。设计师…...

哪些心电图表现无缘事业编体检呢?

根据《公务员录用体检通用标准》心血管系统条款及事业单位体检实施细则&#xff0c;心电图不合格主要涉及以下类型及处置方案&#xff1a; 一、心律失常类 早搏&#xff1a;包括房性早搏、室性早搏和交界性早搏。如果每分钟早搏次数较多&#xff08;如超过5次&#xff09;&…...

Java基础系列-HashMap源码解析1-BST树

文章目录 序二叉搜索树&#xff08;BST&#xff09;引入查找5插入9极端情况删除删除叶节点 10删除节点只有左子树或只有右子树删除节点既有左子树又有右子树为什么这么代替&#xff1f; 序 提到HashMap&#xff0c;就不得不提红黑树&#xff08;HashMap1.8之后&#xff09;&am…...

生物计算安全攻防战:从DNA存储破译到碳基芯片防御体系重构

随着碳基生物芯片突破冯诺依曼架构限制&#xff0c;DNA数据存储密度达到1EB/克量级&#xff0c;合成生物学与信息技术的融合正引发新一轮安全革命。本文深入解析碳基芯片逆向工程路径&#xff0c;揭示酶驱动DNA数据解码的技术突破&#xff0c;预警合成生物回路潜在的数据泄露风…...

【金仓数据库征文】从Oracle到KingbaseES的语法兼容与迁移

随着“信创”战略的深入推进&#xff0c;国产数据库逐渐成为IT系统的重要组成部分。KingbaseES&#xff08;金仓数据库&#xff09;凭借其良好的Oracle兼容性和日益完善的生态&#xff0c;成为金融、政务等核心行业国产化替代的重要选项。本文将从语法兼容性分析出发&#xff0…...

MATLAB 下载安装教程

## 一、下载MATLAB 1. 访问 MathWorks 官方网站&#xff1a;https://www.mathworks.com/ 2. 点击右上角的"登录"按钮 - 如果没有账号&#xff0c;需要先注册一个 MathWorks 账号 - 学生可以使用教育邮箱注册&#xff0c;获得教育版授权 3. 登录后&#xff0c;点击&…...

Android kotlin通知功能完整实现指南:从基础到高级功能

本文将详细介绍如何在Android应用中实现通知功能&#xff0c;包括基础通知、动作按钮和内联回复等高级特性。 一、基础通知实现 1. 基本通知发送方法 fun sendBasicNotification(context: Context, title: String, message: String) {// 1. 创建通知渠道(Android 8.0必需)va…...

Javase 基础入门 —— 04 继承

本系列为笔者学习Javase的课堂笔记&#xff0c;视频资源为B站黑马程序员出品的《黑马程序员JavaAI智能辅助编程全套视频教程&#xff0c;java零基础入门到大牛一套通关》&#xff0c;章节分布参考视频教程&#xff0c;为同样学习Javase系列课程的同学们提供参考。 01 什么是继…...

2.4/Q2,Charls最新文章解读

文章题目&#xff1a;The impact of hearing ability on depression among retired middle-aged and elderly individuals in China: the chain mediating role of self-rated health and life satisfaction DOI&#xff1a;10.1186/s41043-025-00791-9 中文标题&#xff1a;中…...