ASP.NETWeb开发(C#版)-day1-C#基础+实操

目录

  • .NET
  • 实操:创建项目
    • 执行
  • C#基础语法
    • 数据类型
    • 变量
    • 实操001_变量
    • 如何在一个解决方案 中创建另一个项目
    • 实操002
    • 结构
    • 实操003-if else
    • 实操004-多分支
    • 多行注释按钮
    • 实操:循环
  • 面向对象基础
    • 如何在同一个项目下创建新的.cs文件
    • 实操-类的定义与访问
    • 实操-练习
    • 实操-方法
    • 实操:计算器
  • 综合实例

.NET

.NET简介

dotnet5(.NET)合并了.NET Framework、.NET Core(可以跨平台)

实操:创建项目

开发环境

我用的Visual Studio2022 先创建新项目

创建新项目
注意第一步和第二步

再点击下一步后

注意框选的部分

注意打钩的地方
成功

说明(了解即可):在找到相应文件位置后,点击 “生成” 下方会出现 成功 之后 Debug 下会生成很多文件其中 xxx.exe 是生成的可执行文件,在.NET平台是一种通用文件

说明
生成
在VS下方输出的-成功

执行

执行
成功执行

C#基础语法

C#基础语法

数据类型

  • 简单数据类型(值类型)
  • 引用类型(值存储在堆里面,地址存储在栈里面)
    简单数据类型(值类型)

变量

变量
变量

实操001_变量

namespace Demo001_变量
{internal class Program{   //"///"是注释 解释说明的作用/// <summary>/// 主方法,程序的入口/// </summary>/// <param name="args"></param>static void Main(string[] args){//声明变量存储数据string message;//给变量赋值message = "欢迎来到C#的世界";//使用变量Console.WriteLine(message);//存储员工的信息:工号,姓名,性别,入职日期,基本工资,部门,岗位string emplyeeNo, name;bool gender;DateTime jobInDateTime;double salary;string departmentName;string job;Console.Write("请输入工号:");emplyeeNo = Console.ReadLine();Console.Write("请输入姓名:");name = Console.ReadLine();Console.Write("请输入性别:");gender = Convert.ToBoolean(Console.ReadLine());Console.Write("请输入入职日期(yyyy-mm-dd):");jobInDateTime = Convert.ToDateTime(Console.ReadLine());Console.Write("请输入基本工资:");salary = Convert.ToDouble(Console.ReadLine());Console.Write("请输入部门:");departmentName = Console.ReadLine();Console.Write("请输入岗位:");job = Console.ReadLine();//输出个人信息Console.WriteLine($"工号:{emplyeeNo}\n" +$"姓名:{name}\n" +$"性别:{gender}\n" +$"入职日期:{jobInDateTime}\n" +$"基本工资:{salary}\n" +$"部门:{departmentName}\n" +$"岗位:{job}");}}
}

实例1

如何在一个解决方案 中创建另一个项目

如图
后面的步骤前面有讲过。

完成图

注意:点击 配置启动项 , 勾选 当前项目

启动项设置
![启动项设置]](https://img-blog.csdnimg.cn/fd028c9cac10418a891dfc2ab073013b.png)

在这里插入图片描述
三元运算符
比较运算符

运算符
运算符优先级

实操002

namespace Demo002_算术运算符
{internal class Program{static void Main(string[] args){DateTime dateOfBirth= Convert.ToDateTime("1995-10-2");int age = DateTime.Now.Year - dateOfBirth.Year;Console.WriteLine("年龄:"+age);//age++ 和 ++age 区别//先用再加  先加再用bool gender = true;gender = false;//string sex = gender == true ? "男" : "女";string sex = !gender ? "男" : "女";Console.WriteLine($"性别:{sex}");Console.WriteLine();Console.Write("请输入账号:");string loginId = Console.ReadLine();Console.Write("请输入密码:");string loginPassword = Console.ReadLine();string loginMsg = loginId == "admin" && loginPassword =="123456" ? "登录成功" : "用户名或密码错误,登录失败";Console.WriteLine(loginMsg);}}
}

成功
失败

结构

选择结构
选择结构
选择结构

实操003-if else

namespace Demo003_选择结构
{internal class Program{static void Main(string[] args){Console.WriteLine("请问是否进行C#学习:(y/n):");string input = Console.ReadLine().ToLower();//输入转换为小写     .ToUpper()转化为大写if (input != "y" && input != "n") {Console.WriteLine("输入有误");}else{if (input == "y"){Console.WriteLine("继续阅读");}else{Console.WriteLine("停止阅读");}}}}
}

输入y
输入n
随便输入

实操004-多分支

namespace Demo004_多分支
{internal class Program{static void Main(string[] args){Console.WriteLine("*******年终奖判定程序**********");Console.WriteLine("请输入基本工资:");double salary = Convert.ToDouble(Console.ReadLine());Console.WriteLine("请输入考核等级(ABCD):");char level = Convert.ToChar(Console.ReadLine().ToUpper());double reward;//奖金if (level < 'A' || level > 'D')Console.WriteLine("等级输入有误");//多分支else{//if (level == 'A')//reward = salary * 6;//else if (level == 'B')//reward = salary * 3;//else if (level == 'C')//reward = salary * 2;//else//reward = salary;//只能写等值判断switch (level){case 'A':reward = salary * 6;break;case 'B':reward = salary * 3;break;case 'C':reward = salary * 2;break;default:reward = salary;break;}Console.WriteLine($"年终奖是{reward}");}}}
}

A等级
B等级
C等级
D等级
输入有误

多行注释按钮

多行注释

循环结构
while循环
do while循环

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

实操:循环

namespace Demo005_循环结构
{internal class Program{static void Main(string[] args){//forint i;//定义在外面比较好for(i = 0; i < 3; i++) {Console.WriteLine("重要的事情说三遍");}//登录系统,输入用户名和密码,三次有效string userName, password;for(i = 0;i < 3; i++){Console.WriteLine($"第{i + 1}次登录开始......");Console.Write("请输入用户名:");userName= Console.ReadLine();Console.Write("请输入密码:");password = Console.ReadLine();if(userName == "admin" && password == "admin") {Console.WriteLine("登录成功");break;//强制退出循环}else if (i < 2) {Console.WriteLine("用户名或密码错误,登录失败");}else{Console.WriteLine("三次机会已用完,账号已锁定");}}}}
}

成功
三次全错
有错

面向对象基础

面向对象基础
类

如何在同一个项目下创建新的.cs文件

类

实操-类的定义与访问

Employee.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;namespace Demo006_类的定义和访问
{/*** 类名:Employee* 功能:模拟所有的职员对象* */public class Employee{//internal 去掉也不会报错 internal只能在这里访问到 public是都可以访问到//成员变量(字段):特征//string employeeNo;//这是私有的privatepublic string employeeNo;public string name;public bool gender;public double salary;//构造方法:在实例化对象时调用//构造方法名称必须与类名一致public Employee(){//默认存在,但是调用了带参构造,在没有定义无参构造的时候,调用无参会报错,建议带上无参构造//Console.WriteLine("正在实例化员工对象...");}/// <summary>/// 带参数构造方法/// </summary>/// <param name="employeeNo">员工号</param>/// <param name="name">姓名</param>/// <param name="gender">性别</param>/// <param name="salary">工资</param>public Employee(string employeeNo, string name, bool gender, double salary){//this关键字:正在实例化的对象this.employeeNo = employeeNo;this.name = name;this.gender = gender;this.salary = salary;}//方法:对象的行为能力public void ShowEmployeeMsg(){Console.WriteLine($"{this.employeeNo}\t{this.name}\t{(this.gender == true ? "男" : "女")}\t{this.salary}");}}
}

Program.cs

namespace Demo006_类的定义和访问
{internal class Program{static void Main(string[] args){//实例化对象Employee emp01 = new Employee();//访问变量:对象名.变量名emp01.employeeNo = "1234";emp01.name = "张三";emp01.gender = true;emp01.salary = 6589;Employee emp02 = new Employee();emp01.employeeNo = "1235";emp01.name = "王小二";emp01.gender = false;emp01.salary = 7800;Employee emp03 = new Employee("1236", "rose", false, 6500);//Console.WriteLine($"{emp01.employeeNo}\t{emp01.name}\t{(emp01.gender == true? "男":"女")}\t{emp01.salary}");//Console.WriteLine($"{emp02.employeeNo}\t{emp02.name}\t{(emp02.gender == true ? "男" : "女")}\t{emp02.salary}");//Console.WriteLine($"{emp03.employeeNo}\t{emp03.name}\t{(emp03.gender == true ? "男" : "女")}\t{emp03.salary}");//调用方法:对象名.方法名emp01.ShowEmployeeMsg();emp02.ShowEmployeeMsg();emp03.ShowEmployeeMsg();}}
}

实操-练习

使用OOP的思想模拟个人手机的信息,包含手机品牌,型号,价格和颜色
开机和关机的功能

Phone.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;namespace Demo007_练习
{/*** 类名:Phone* 功能:模拟手机对象* */public class Phone{public string brand;//品牌public string type;//型号public double price;//价格public string color;//颜色public Phone(){Console.WriteLine("正在实例化手机对象...");}public Phone(string brand, string type, double price, string color){this.brand = brand;this.type = type;this.price = price;this.color = color;}public void OpenPhone(){Console.WriteLine($"{this.brand}品牌{this.type}型号{this.price}{this.color}的手机正在开机......");}public void ClosePhone(){Console.WriteLine($"{this.brand},{this.type},{this.price},{this.color}" + "关机了");}}}

实现结果

实操-方法

Employee.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Xml.Serialization;namespace Demo006_类的定义和访问
{/*** 类名:Employee* 功能:模拟所有的职员对象* */public class Employee //internal 去掉也不会报错 internal只能在这里访问到 public是都可以访问到{//成员变量(字段):特征//string employeeNo;//这是私有的privatepublic string employeeNo;public string name;public bool gender;public double salary;//构造方法:在实例化对象时调用//构造方法名称必须与类名一致public Employee() {//默认存在,但是调用了带参构造,在没有定义无参构造的时候,调用无参会报错,建议带上无参构造Console.WriteLine("正在实例化员工对象...");}public Employee(string employeeNo, string name, bool gender, double salary){//this关键字:正在实例化的对象this.employeeNo = employeeNo;this.name = name;this.gender = gender;this.salary = salary;}//方法:对象的行为能力public void ShowEmployeeMsg(){Console.WriteLine($"{this.employeeNo}\t{this.name}\t{(this.gender == true ? "男" : "女")}\t{this.salary}");}//请假public void SendMsg(string type,DateTime beginDate,int days,string reason){Console.WriteLine($"{this.employeeNo}的员工申请{type}");Console.WriteLine($"开始日期:{beginDate}\n" +$"请假天数:{days}\n" +$"结束日期:{beginDate.AddDays(days)}\n" +$"请假事由:{reason}\n");}//年终奖public double GetReward(string level){double reward;switch (level){case "A":reward = this.salary * 6;break;case "B":reward = this.salary * 3;break;case "C":reward = this.salary * 2;break;default:reward = this.salary;break;}return reward;//返回语句}}
}

Program.cs

using Demo006_类的定义和访问;namespace Demo008_方法
{internal class Program{static void Main(string[] args){Employee employee1 = new Employee("1234","张三",true,5000);employee1.SendMsg("事假", Convert.ToDateTime("2023-11-10 09:00:00"), 2, "家里有事");Employee employee2 = new Employee("1235", "李四", true, 6000);employee2.SendMsg("婚假", DateTime.Now, 10, "回家结婚");Console.Write("请输入考核等级:");string inputLevel = Console.ReadLine();double money = employee1.GetReward(inputLevel);Console.WriteLine($"年终奖金是:{money}");}}
}

结果

实操:计算器

Calculator.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;namespace Demo009_Calculator
{public class Calculator{public int GetResult(int a, int b, string type){int c = 0;if (type == "+"){c = a + b;}else if (type == "-"){c = a - b;}else if (type == "*"){c = a * b;}else if (type == "/"){if (b == 0){Console.WriteLine("除数为0无法计算");}else{c = a / b;}}return c;}}}

Program.cs

namespace Demo009_Calculator
{internal class Program{static void Main(string[] args){//使用OOP思想实现两个数的加减乘除运算。Calculator calculator = new Calculator();Console.Write("请输入第一个数:");int a = Convert.ToInt32(Console.ReadLine());Console.Write("请输入第二个数:");int b = Convert.ToInt32(Console.ReadLine());Console.Write("请输入运算符(+/ - / * / /):");string type = Console.ReadLine();//计算int c = calculator.GetResult(a, b, type);Console.WriteLine($"{a}{type}{b}={c}");}}
}

结果

综合实例

*以OOP的思想实现猜拳游戏:
*计算机和用户实现猜拳,可以出剪刀、石头和布。
*剪刀用0表示,石头用1表示,布用2表示。
*程序启动,系统默认可以玩10局,用户玩完一局之后可以按任意键继续,按q退出,退出后需显示实际玩了几局,用户赢了几局,电脑赢了几局,平了几局,如果用户赢的局数大于电脑赢的局数,显示用户大获全胜;如果电脑赢的局数大于用户赢的局数,显示用户败给了电脑;如果赢的局数相同,显示打成了平手。*每一局游戏的游戏规则:
*先用户出拳,输入0 - 2为后显示用户出的拳是什么,如果用户出的不是0 - 2,提示用户输入错误,重新输入,直到用户输入正确为止,
*再由电脑随机出拳,电脑产生0 - 2之间的随机数,也要显示电脑出的拳是什么,然后判断电脑和用户的输赢关系,并给出适当的提示,比如本局是用户赢了,还是电脑赢了,还是平局

Player.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Channels;
using System.Threading.Tasks;namespace Demo010_综合案例
{ /// <summary>/// 玩家类/// </summary>public class Player{public string name;//玩家的昵称/// <summary>/// 玩家出拳/// </summary>/// <returns></returns>public int Throw(){while (true){try{Console.WriteLine($"请{this.name}出拳");int point = Convert.ToInt32(Console.ReadLine());if (point >= 0 && point < 3){return point;}elseConsole.WriteLine("输入有误,请输入0-2");}catch (Exception ex){Console.WriteLine ("输入有误,请输入数字");}}}}
}

Computer.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;namespace Demo010_综合案例
{public class Computer{public int CreateRandomNum(){Random r = new Random();return r.Next(3);}}
}

GuessGame.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Security.Cryptography;
using System.Text;
using System.Threading.Tasks;namespace Demo010_综合案例
{/// <summary>/// 猜拳游戏类/// </summary>public class GuessGame{Player player = new Player();Computer computer = new Computer();/// <summary>/// 输入玩家的昵称/// </summary>public void InputePlayName(){Console.Write("请输入昵称:");player.name = Console.ReadLine();}/// <summary>/// 欢迎界面/打印界面/// </summary>public void ShowMsg() {Console.WriteLine("*****************************");Console.WriteLine("******欢迎来到猜拳游戏*******");Console.WriteLine("*****************************");}/// <summary>/// 程序启动/// </summary>public void Start(){this.ShowMsg();InputePlayName();int p1 = player.Throw();int p2 = computer.CreateRandomNum();string quan1 = ConvertInToString(p1);string quan2 = ConvertInToString(p2);Console.WriteLine($"{player.name}出的拳是{quan1}");Console.WriteLine($"电脑出的拳是{quan2}");Judge(p1, p2);Console.WriteLine("是否继续下一局,按任意键继续,按q退出");string input = Console.ReadLine().ToLower();if(input == "q"){Console.WriteLine("游戏正在退出...");Console.ReadKey();//需要按一个键}Console.ReadKey();Console.Clear();}/// <summary>/// 数字的点数转换为字符串的拳/// </summary>/// <param name="point">点数</param>/// <returns>拳</returns>public string ConvertInToString(int point){if(point == 0) {return "剪刀";}if (point == 1){return "石头";}return "布";}/// <summary>/// 判断输赢/// </summary>/// <param name="playerPoint">玩家的点数</param>/// <param name="computerPoint">电脑的点数</param>public void Judge(int playerPoint, int computerPoint){//0(剪刀) 1(石头) 2(布)//用户赢:0(2)=-2,1(0)=1,2(1)=1int diff = playerPoint - computerPoint;if (diff == 0) {Console.WriteLine("平局");}else if (diff ==-2 || diff ==1) {Console.WriteLine($"用户{player.name}赢了一局");}else{Console.WriteLine("电脑赢了一局");}}}
}

Program.cs

namespace Demo010_综合案例
{internal class Program{static void Main(string[] args){//以OOP的思想实现猜拳游戏://计算机和用户实现猜拳,可以出剪刀、石头和布。//剪刀用0表示,石头用1表示,布用2表示。//程序启动,系统默认可以玩10局,用户玩完一局之后可以按任意键继续,按q退出,退出后需显示实际玩了几局,用户赢了几局,电脑赢了几局,平了几局,如果用户赢的局数大于电脑赢的局数,显示用户大获全胜;如果电脑赢的局数大于用户赢的局数,显示用户败给了电脑;如果赢的局数相同,显示打成了平手。//每一局游戏的游戏规则://先用户出拳,输入0 - 2为后显示用户出的拳是什么,如果用户出的不是0 - 2,提示用户输入错误,重新输入,直到用户输入正确为止,//再由电脑随机出拳,电脑产生0 - 2之间的随机数,也要显示电脑出的拳是什么,然后判断电脑和用户的输赢关系,并给出适当的提示,比如本局是用户赢了,还是电脑赢了,还是平局GuessGame guessGame = new GuessGame();guessGame.Start();Player p = new Player(); p.name = "张三";}}
}

结果

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

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

相关文章

Qt 自定义按钮 区分点按与长按信号,适配触摸事件

Qt 自定义按钮 区分点按与长按信号 适配触摸事件 效果 使用示例 // 点按connect(ui.btnLeft, &JogButton::stepclicked, this, &MainWindow::btnLeft_clicked);// 长按开始connect(ui.btnLeft, &JogButton::continueOn, this, &MainWindow::slotJogLeftOn);//…

Clickhouse学习笔记(11)—— 数据一致性

使用合并树引擎时&#xff0c;无论是ReplacingMergeTree还是SummingMergeTree&#xff0c;都只能保证数据的最终一致性&#xff0c;因为数据的去重、聚合等操作会在数据合并的期间进行&#xff0c;而合并会在后台以一个不确定的时间进行&#xff0c;因此无法预先计划&#xff1…

c语言:用指针解决有关字符串等问题

题目1&#xff1a;将一个字符串str的内容颠倒过来&#xff0c;并输出。 数据范围&#xff1a;1≤len(str)≤10000 代码和思路&#xff1a; #include <stdio.h> #include<string.h> int main() {char str1[10000];gets(str1);//读取字符串内容char* p&str1[…

有源RS低通滤波

常用的滤波电路有无源滤波和有源滤波两大类。若滤波电路元件仅由无源元件&#xff08;电阻、电容、电感&#xff09;组成&#xff0c;则称为无源滤波电路。无源滤波的主要形式有电容滤波、电感滤波和复式滤波(包括倒L型、LC滤波、LCπ型滤波和RCπ型滤波等)。若滤波电路不仅有无…

从0开始python学习-32.pytest.mark()

目录 1. 用户自定义标记 1.1 注册标记​编辑 1.2 给测试用例打标记​编辑 1.3 运行标记的测试用例 1.4 运行多个标记的测试用例 1.5 运行指定标记以外的所有测试用例 2. 内置标签 2.1 skip &#xff1a;无条件跳过&#xff08;可使用在方法&#xff0c;类&#xff0c;模…

[vuex] unknown mutation type: SET_SOURCE

项目中使用了vuex&#xff0c;并且以模块的形式分好之后。在调用的时候出现了以上问题 /*当我们commit的时候要注意要加上模块的名字 user是模块名称&#xff0c;SET_SOURCE是user模块中定义的方法 正确写法&#xff1a;*/ this.$store.commit("user/SET_SOURCE", th…

火爆进行中的抖音双11好物节,巨量引擎助5大行业商家开启爆单之路!

抖音双11好物节目前正在火热进行中&#xff0c;进入爆发期&#xff0c;各大商家“好招”频出&#xff0c;都想要实现高速增长。依托“人群、货品、流量”三大优势&#xff0c;巨量引擎一直都是商家生意增长的给力伙伴&#xff0c;在今年的抖音双11好物节&#xff0c;巨量引擎就…

Conda executable is not found 三种问题解决

如果在PyCharm中配置Python解释器时显示“conda executable is not found”错误消息&#xff0c;这意味着PyCharm无法找到您的Conda可执行文件。您可以按照以下步骤解决此问题&#xff1a; 1.方法一 确认Conda已正确安装。请确保您已经正确安装了Anaconda或Miniconda&#xff…

华为ensp:vrrp双机热备负载均衡

现在接口ip都已经配置完了&#xff0c;直接去配置vrrp r1上192.168.1.100 作为主 192.168.2.100作为副 r2上192.168.1.199 作为副 192.168.2.100作为主 这样就实现了负载均衡&#xff0c;如果两个都正常运行时&#xff0c;r1作为1.1的网关&#xff0c;r2作为2.1网关…

Vue3+NodeJS 接入文心一言, 发布一个 VSCode 大模型问答插件

目录 一&#xff1a;首先明确插件开发方式 二&#xff1a;新建一个Vscode 插件项目 1. 官网教程地址 2. 一步一步来创建 3. 分析目录结构以及运行插件 三&#xff1a;新建一个Vue3 项目&#xff0c;在侧边栏中展示&#xff0c;实现vscode插件 <> vue项目 双向消息传…

“第六十六天”

这个我记得是有更优解的&#xff0c;不过还是明天发吧&#xff0c;明天想一想&#xff0c;看看能不能想起来 #include<string.h> int main() {char a[201] { 0 };char b[201] { 0 };scanf("%s %s", a, b);int na strlen(a);int nb strlen(b);int i 0, j …

【408】计算机学科专业基础 - 数据结构

数据结构知识 绪论 数据结构在学什么 如何用程序代码把现实世界的问题信息化 如何用计算机高效地处理这些信息从而创造价值 数据结构的基本概念 什么是数据&#xff1a; 数据是信息的载体&#xff0c;是描述客观事物属性的数、字符及所有能输入到计算机中并被计算机程序…

css:两个行内块元素和图片垂直居中对齐

目录 两个行内块元素垂直居中对齐图片垂直居中问题图片和文字垂直居中对齐参考文章 两个行内块元素垂直居中对齐 先看一段代码&#xff1a; <style> .box {width: 200px;height: 200px;line-height: 200px;font-size: 20px;text-align: center;display: inline-block;b…

计算机毕业设计选题推荐-校园交流平台微信小程序/安卓APP-项目实战

✨作者主页&#xff1a;IT研究室✨ 个人简介&#xff1a;曾从事计算机专业培训教学&#xff0c;擅长Java、Python、微信小程序、Golang、安卓Android等项目实战。接项目定制开发、代码讲解、答辩教学、文档编写、降重等。 ☑文末获取源码☑ 精彩专栏推荐⬇⬇⬇ Java项目 Python…

【tgcalls】Instance接口的实例类的创建

tg 里有多个版本,因此设计了版本管理的map,每次可以选择一个版本进行实例创建这样,每个客户端就可以定制开发了。tg使用了c++20创建是要传递一个描述者,里面是上下文信息 G:\CDN\P2P-DEV\tdesktop-offical\Telegram\ThirdParty\tgcalls\tgcalls\Instance.cpp可以看到竟然是…

基于Qt 多线程(继承自QThread篇)

# 简介 我们写的一个应用程序,应用程序跑起来后一般情况下只有一个线程,但是可能也有特殊情况。比如我们前面章节写的例程都跑起来后只有一个线程,就是程序的主线程。线程内的操作都是顺序执行的。恩,顺序执行?试着想一下,我们的程序顺序执行,假设我们的用户界面点击有某…

如何有效的保护Windows登录 安当加密

为了有效保护Windows安全登录&#xff0c;以下是一些建议&#xff1a; 使用强密码&#xff1a;强密码是保护Windows登录安全的重要措施之一。确保密码包含大写字母、小写字母、数字和特殊字符&#xff0c;长度至少为8位&#xff0c;并且不要使用容易猜到的单词或短语。启用多因…

数据结构—内部排序(上)

文章目录 8.内部排序(上)(1).排序基础#1.为什么是内部排序#2.排序的稳定性 (2).冒泡排序#1.算法思想#2.代码实现#3.稳定性与时间复杂度分析 (3).选择排序#1.算法思想#2.代码实现#3.稳定性与时间复杂度分析 (4).插入排序#1.算法思想#2.代码实现#3.稳定性与时间复杂度分析 (5).希…

C语言——打印1000年到2000年之间的闰年

闰年&#xff1a; 1、能被4整除不能被100整除 2、能被400整除 #define _CRT_SECURE_NO_WARNINGS 1#include<stdio.h> int main() {int year;for(year 1000; year < 2000; year){if((year%4 0) && (year%100!0) || (year%400 0)){printf("%d ",ye…

【论文精读】DMVSNet

今天读的是一篇发表在ICCV 2023上的文章&#xff0c;作者来自华中科技大学。 文章地址&#xff1a;点击前往 项目地址&#xff1a;Github 文章目录 Abstract1 Introduction2 Relative Work3 Motivation3.1 Estimated bias and interpolated bias3.2 One-sided V.S. Saddle-shap…