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

【c语言】简单的c程序设计

内存

1byte=8bit

1KB=1024byte

1MB=1024byte

1G=1024MB

1T=1024G

变量

  • 变量可以由数字、字母和下划线组成且不能以数字开头
  • 任何不满足条件的变量都是非法变量,如含有特殊字符的变量等
  • 变量不能含有空白字符,如空格、换行符等
  • 变量区分大小写
  • 变量不能是c语言中的关键词

变量的命名可以随机,但是要符合命名规则

整数类型

变量拥有三个属性,即变量名、数据类型和值

变量类型

类型说明符

取值范围

所需内存字节数

短整型

short int

-2^15~2^15-1

2

整型

int

-2^31~2^31-1

4

长整型

Long int

-2^31~2^31-1

4

无符号短整型

unsigned short int

0~66535

2

无符号整型

unsigned int

0~4294967295

4

无符号长整型

unsigned long int

0~4294967295

4

注:-2^15~2^15-1为-32768~+32767

-2^31~2^31-1为-2147483648~+2147483647

在同一数据类型的前提下,无符号能表示的范围是有符号的二倍

变量的声明和使用

变量要先声明后使用,其中部分情况还需赋初值之后再次使用,否则会参与运算时自动赋予变量一个随机值(垃圾值),从而使结果远远偏离实际数值。若在编译其中未声明就使用,则会编译报错,如devc++中会出现:

‘变量名称’ was not declared in this scope.

赋值运算

在计算机当中,=的使用方法不同于数学,例如a=b,则是把b的值赋给a,即“右赋左”。

当a==b时,才表示为a值与b值相等。

格式化输出、输入函数printf与scanf

因printf函数包含在stdio.h当中

所以使用时要先声明一下

#include<stdio.h>

由于printf输出时对于输出类型已经确定,不同于c++中cout简单暴力的输出方式,所以输出所用时间一般较为短暂,也有利于对于数据类型的准确理解与把握。

输出字符串printf(“字符串内容”)

长度和宽度修饰符

int x;

printf(“%m.nd”,x);

输出宽为m列,长为n位的十进制整数x

转换字符串

说明

%c

单个字符

%d

十进制有符号整数

%s

字符串(不含空格)

%f

单精度浮点(小数)

%u

十进制无符号整数

%o

八进制有符号整数

%x或%X

十六进制有符号整数

其中在用%s进行字符串的输入时,若含空格则在空格处自动截断。不截断输入字符串的方法是用gets();

在限定短整型时,加h作为前缀

在限定长整型时,加l作为前缀

其中还有赋值抑制符号*

例如身份证号位46521354200010010089

选择性输入出生年月日

scanf(“%*8d%4d-%2d-%2d%*4d”,&year,&month,&day);

结果输入2000-10-01

选择性输出出生年月日

printf(“%*8d%4d-%2d-%2d%*4d”,year,month,day);

结果输出2000-10-01

左右对齐方式:“左负右正”

单个字符的输入输出:getchar() putchar()

字符串的输入和输出:gets() puts()

关键字

c语言关键字(大小写敏感)

auto

double

int

struct

break

else

long

switch

case

enum

register

typedef

char

extern

union

return

conest

float

short

unsigned

continue

for

signed

void

default

goto

sizeof

volatile

do

while

stastic

if

转义字符

常用的转义字符

转义字符

意义

转义字符

意义

\n

回车换行

\\

反斜杠’\’

\t

横向跳到下一制表位置

\’

单号引号符

\v

竖向跳格

\a

鸣铃

\b

退格

\ddd

1~3位八进制所代表的字符

\r

回车

\xhh

1~2位十六进制所代表的字符

\f

走纸换页

浮点型数据

变量类型

所需内存字节数

有效位数

float

4

6位有效数字

double

8

15位有效数字

float对应%f格式的输入与输出        

double对应%lf格式的输入与输出

指数的表示方法45x102->45e2

对于指数的表示e前后必须要有数字,且e后数字不能为小数

常量

八进制常量以前缀“0”开头,如071

十六进制常量以前缀“0x”开头,如0x3A

宏常量,即为define定义

#define 标识符常量 替换文本

利用宏定义后的标识符常量在下面的运算当中会自动替换为替换文本的值

conet常量

可以对于定义的常量进行类型的限制,例如定义

conest double PI 3.141592

运算符

在计算机当中运算符的运用不完全等价于数学中的运用

%模运算即为取余运算,取余数

乘号*在乘法运算中绝对不能省略

运算符优先级相等时,结合方向为自左向右

++自增 --自减

如果运算符放在变量前,那么就先自增自减再参与运算

如果运算符放在变量后,那么就先参与运算再自增自减

在计算机中,真为“1”,假为“0”

逻辑运算符

&单个表示取地址,双个表示按位与:有假则假

||表示按位或:有真则真

!表示逻辑非:真为假,假为真

优先级从高到低依次为“!”“&&”“||”

逗号运算符遵循最右原则

例如:a=(2,6,8)    a的值为8

优先级

运算符

名称或含义

使用形式

结合方向

说明

1

[]

数组下标

数组名[常量表达式]

左到右

()

圆括号

(表达式)/函数名(形参表)

.

成员选择(对象)

对象.成员名

->

成员选择(指针)

对象指针->成员名

2

-

负号运算符

-表达式

右到左

单目运算符

(类型)

强制类型转换

(数据类型)表达式

++

前置自增运算符

++变量名

单目运算符

++

后置自增运算符

变量名++

单目运算符

--

前置自减运算符

--变量名

单目运算符

--

后置自减运算符

变量名--

单目运算符 [4]

*

取值运算符

*指针变量

单目运算符

&

取地址运算符

&变量名

单目运算符

!

逻辑非运算符

!表达式

单目运算符

~

按位取反运算符

~表达式

单目运算符

sizeof

长度运算符

sizeof(表达式)

3

/

表达式/表达式

左到右

双目运算符

*

表达式*表达式

双目运算符

%

余数(取模)

整型表达式/整型表达式

双目运算符

4

+

表达式+表达式

左到右

双目运算符

-

表达式-表达式

双目运算符

5

左移

变量

左到右

双目运算符

>>

右移

变量>>表达式

双目运算符

6

>

大于

表达式>表达式

左到右

双目运算符

>=

大于等于

表达式>=表达式

双目运算符

小于

表达式

双目运算符

小于等于

表达式

双目运算符

7

==

等于

表达式==表达式

左到右

双目运算符

!=

不等于

表达式!= 表达式

双目运算符

8

&

按位与

表达式&表达式

左到右

双目运算符

9

^

按位异或

表达式^表达式

左到右

双目运算符

10

|

按位或

表达式|表达式

左到右

双目运算符

11

&&

逻辑与

表达式&&表达式

左到右

双目运算符

12

||

逻辑或

表达式||表达式

左到右

双目运算符

13

?:

条件运算符

表达式1? 表达式2: 表达式3

右到左

三目运算符

14

=

赋值运算符

变量=表达式

右到左

/=

除后赋值

变量/=表达式

*=

乘后赋值

变量*=表达式

%=

取模后赋值

变量%=表达式

+=

加后赋值

变量+=表达式

-=

减后赋值

变量-=表达式

左移后赋值

变量

>>=

右移后赋值

变量>>=表达式

&=

按位与后赋值

变量&=表达式

^=

按位异或后赋值

变量^=表达式

|=

按位或后赋值

变量|=表达式

15

,

逗号运算符

表达式,表达式,…

左到右

从左向右顺序运算

类型转换

当算术运算、关系运算或逻辑运算的两个操作数类型不同时,精度低的自动向精度高的转换,称为类型提升

char->int->float->double

赋值时的类型转换

若精度高的向精度低的转换,则会丢失部分数据

例如:double a=3.14;int b=a;printf(“%d”,b);

输出结果则为3,自动舍去了小数位。

强制类型转换

例如

double a=3.14;

int b;

b=(int)a;

此时b的值为3,但a的数据类型依然是double型,不发生改变。

注意点

  • 在日常的c语言编程之中要养成良好的习惯,适当用好空格与分行
  • 语句的结尾不要忘记分号
  • 格式化输入的时候切记要加上取地址符&
  • 格式化输出的时候不要取地址符
  • 在c语言之中,预处理是必须的
  • 编程中字符的输入要用英文字符,简单的检查方式就是在devc++之中,若为英文字符,则显示红色或者蓝色,中文字符则会显示黑色,或者与编程的英文看起来极度不协调,编译时报错,此时就应该进行检查
  • 良好的编程排版习惯可以更好的使自己和他人理解,也方便自己在调试改错的时候快速找到错误点进行纠正。
  • 使用TAB键进行缩进
  • 单行注释用//多行注释开头用/*结尾用*/

相关文章:

【c语言】简单的c程序设计

内存 1byte8bit 1KB1024byte 1MB1024byte 1G1024MB 1T1024G 变量 变量可以由数字、字母和下划线组成且不能以数字开头任何不满足条件的变量都是非法变量&#xff0c;如含有特殊字符的变量等变量不能含有空白字符&#xff0c;如空格、换行符等变量区分大小写变量不能是c语言…...

k8s dashboard可视化操作界面的安装

一、官方安装方法 根据官网的安装配置可以选择如下安装&#xff1a; kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.0.0/aio/deploy/recommended.yaml 二、添加阿里云加速进行安装 #修改recommended.yaml拉取镜像的链接 vim recommended.yam…...

鸿蒙项目云捐助第三十一讲云捐助项目云前台显示商品列表

鸿蒙项目云捐助第三十一讲云捐助项目云前台显示商品列表 前面完成了云数据库后台的商品批量添加&#xff0c;这里需要把数据放在分类导航页面中显示。 一、云前台显示商品列表 这里需要把商品列表显示在MyNavSliderBar的组件中,MyNavSliderBar组件是通过首页路由实现的,在项…...

【rustdesk】客户端和服务端的安装和部署(自建服务器,docker,远程控制开源软件rustdesk)

【rustdesk】客户端和服务端的安装和部署&#xff08;自建服务器&#xff0c;docker&#xff09; 一、官方部署教程 https://rustdesk.com/docs/zh-cn/client/mac/ 官方服务端下载地址 https://github.com/rustdesk/rustdesk-server/releases 我用的docker感觉非常方便&am…...

Flink源码解析之:如何根据算法生成StreamGraph过程

Flink源码解析之&#xff1a;如何根据算法生成StreamGraph过程 在我们日常编写Flink应用的时候&#xff0c;会首先创建一个StreamExecutionEnvironment.getExecutionEnvironment()对象&#xff0c;在添加一些自定义处理算子后&#xff0c;会调用env.execute来执行定义好的Flin…...

【Spring MVC 核心机制】核心组件和工作流程解析

在 Web 应用开发中&#xff0c;处理用户请求的逻辑常常会涉及到路径匹配、请求分发、视图渲染等多个环节。Spring MVC 作为一款强大的 Web 框架&#xff0c;将这些复杂的操作高度抽象化&#xff0c;通过组件协作简化了开发者的工作。 无论是处理表单请求、生成动态页面&#x…...

2、Bert论文笔记

Bert论文 1、解决的问题2、预训练微调2.1预训练微调概念2.2深度双向2.3基于特征和微调&#xff08;预训练下游策略&#xff09; 3、模型架构4、输入/输出1.输入&#xff1a;2.输出&#xff1a;3.Learned Embeddings(学习嵌入)1. **Token Embedding**2. **Position Embedding**3…...

hadoop搭建

前言 一般企业中不会使用master slave01 slave02来命名 vmware创建虚拟机 打开vmware软件&#xff0c;新建虚拟机 典型 稍后安装系统 选择centos7 虚拟机名称和安放位置自行选择&#xff08;最小化安装消耗空间较少&#xff09; 默认磁盘大小即可 自定义硬件 选择centos7的i…...

19_HTML5 Web Workers --[HTML5 API 学习之旅]

HTML5 Web Workers 是一种允许 JavaScript 在后台线程中运行的技术&#xff0c;从而不会阻塞用户界面或其他脚本的执行。通过使用 Web Workers&#xff0c;你可以执行复杂的计算任务而不影响页面的响应速度&#xff0c;提升用户体验。 Web Workers 的特点 Web Workers 是 HTM…...

【PCIe 总线及设备入门学习专栏 5.1 -- PCIe 引脚 PRSNT 与热插拔】

文章目录 OverviewPRSNT 与热插拔PRSNT 硬件设计 Overview Spec 定义的热插拔是把一个PCIe卡&#xff08;设备&#xff09;从一个正在运行的背板或者系统中插入/或者移除。这个过程需要不影响系统的其他功能。插入的新的设备可以正确工作。 显然&#xff0c;这里面需要考虑的问…...

使用docker compose安装gitlab

使用docker compose安装gitlab GitLab简介设置GITLAB_HOME路径创建docker挂载目录获取可用的GitLab版本编写docker-compose.yml文件启动docker基础配置 GITLAB_OMNIBUS_CONFIG修改配置 中文设置数据库配置系统邮箱配置 GitLab简介 GitLab是一个基于Git的开源项目&#xff0c…...

性能中 UV、PV 和并发量的关系

在性能测试中&#xff0c;UV&#xff08;独立访客数&#xff09;、PV&#xff08;页面浏览量&#xff09;和并发量是重要的指标&#xff0c;用于评估系统的负载能力。它们之间关系紧密&#xff0c;需要通过合理的计算和示例进行说明。 1. 概念解析 UV&#xff08;Unique Visito…...

Go语言zero项目服务恢复与迁移文档

## 一. 服务器环境配置 在迁移和配置 项目时&#xff0c;首先需要确保服务器环境正确配置。以下是配置步骤&#xff1a; ### 1. 安装 Go 语言环境 首先&#xff0c;确保 Go 语言环境已经安装&#xff0c;并且配置正确。执行以下步骤&#xff1a; # 下载 Go 语言安装包 wge…...

Redis - Token JWT 概念解析及双token实现分布式session存储实战

Token 定义&#xff1a;令牌&#xff0c;访问资源接口&#xff08;API&#xff09;时所需要的资源凭证 一、Access Token 定义&#xff1a;访问资源接口&#xff08;API&#xff09;时所需要的资源凭证&#xff0c;存储在客户端 组成 组成部分说明uid用户唯一的身份标识time…...

QT中使用OpenGL function

1.前言 QT做界面编程很方便&#xff0c;QTOpenGL的使用也很方便&#xff0c;因为QT对原生的OpenGL API进行了面向对象化的封装。 如&#xff1a; 函数&#xff1a;initializeOpenGLFunctions()...... 类&#xff1a;QOpenGLVertexArrayObject、QOpenGLBuffer、QOpenGLShader…...

STM32-笔记18-呼吸灯

1、实验目的 使用定时器 4 通道 3 生成 PWM 波控制 LED1 &#xff0c;实现呼吸灯效果。 频率&#xff1a;2kHz&#xff0c;PSC71&#xff0c;ARR499 利用定时器溢出公式 周期等于频率的倒数。故Tout 1/2KHZ&#xff1b;Ft 72MHZ PSC71&#xff08;喜欢设置成Ft的倍数&…...

MAC M4安装QT使用国内镜像源在线安装

MAC M4安装QT使用国内镜像源在线安装 一、下载安装包1. 访问[https://www.qt.io/](https://www.qt.io/)下载在线安装包2. 下载结果 二、创建QT账户&#xff0c;安装的时候需要三、安装1. 终端打开安装包2. 指定安装源3. 运行安装完的QT 一、下载安装包 1. 访问https://www.qt.…...

go语言中zero框架项目日志收集与配置

在 GoZero 项目中&#xff0c;日志收集和配置是非常重要的&#xff0c;尤其是在分布式系统中&#xff0c;日志可以帮助开发人员追踪和排查问题。GoZero 提供了灵活的日志系统&#xff0c;能够方便地进行日志的配置和管理。 以下是如何在 GoZero 项目中进行日志收集与配置的基本…...

springboot496基于java手机销售网站设计和实现(论文+源码)_kaic

摘 要 现代经济快节奏发展以及不断完善升级的信息化技术&#xff0c;让传统数据信息的管理升级为软件存储&#xff0c;归纳&#xff0c;集中处理数据信息的管理方式。本手机销售网站就是在这样的大环境下诞生&#xff0c;其可以帮助管理者在短时间内处理完毕庞大的数据信息&am…...

iClient3D for Cesium在Vue中快速实现场景卷帘

作者&#xff1a;gaogy 1、背景 iClient3D for Cesium是由SuperMap提供的一个前端3D地图客户端&#xff0c;提供了丰富的功能与接口&#xff0c;使得开发者能够在Web应用中快速集成并展现3D地理信息。而在Vue框架中集成iClient3D&#xff0c;不仅可以利用Vue的响应式特性提高开…...

Elasticsearch-索引的批量操作

索引的批量操作 批量查询和批量增删改 批量查询 #批量查询 GET product/_search GET /_mget {"docs": [{"_index": "product","_id": 2},{"_index": "product","_id": 3}] }GET product/_mget {"…...

TVS二极管选型【EMC】

TVS器件并联在电路中&#xff0c;当电路正常工作时&#xff0c;他处于截止状态&#xff08;高阻态&#xff09;&#xff0c;不影响线路正常工作&#xff0c;当线路处于异常过压并达到其击穿电压时&#xff0c;他迅速由高阻态变为低阻态&#xff0c;给瞬间电流提供一个低阻抗导通…...

反编译APK获取xml资源

第一步去官网下载 jar 包 最新的即可 apktool官网下载地址 下载好重命名一下 改成 apktool.jar 第二步将你的 apk 和 jar 包放在同一个文件夹下面 第三步在该文件夹下打开 命令行 并输入 java -jar apktool.jar d 测试.apk回车后会正在解析 解析完成后&#xff0c;文件夹下…...

C++ 设计模式:装饰模式(Decorator Pattern)

链接&#xff1a;C 设计模式 链接&#xff1a;C 设计模式 - 桥接模式 装饰模式&#xff08;Decorator Pattern&#xff09;是一种结构型设计模式&#xff0c;它允许向一个现有的对象添加新的功能&#xff0c;同时又不改变其结构。装饰模式通过创建一个装饰类来包装原始类&…...

排序算法之快速排序、归并排序

目录 快速排序归并排序的意义 快速排序 思维步骤 具体思想 测试样例解释 代码实现 归并排序 思维步骤 具体思想 测试样例解释 代码实现 快速排序归并排序的意义 快速排序和归并排序不仅仅是一种方法&#xff0c;更重要的是其作为一种算法而节省时间&#xff0c;在…...

一文读懂变分自编码(VAE)

一文读懂变分自编码(VAE) 概述 变分自编码器&#xff08;Variational Autoencoder, VAE&#xff09;是一种生成模型&#xff0c;用于学习数据的潜在表示并生成与原始数据分布相似的新数据。它是一种概率模型&#xff0c;通过结合深度学习和变分推断的思想&#xff0c;解决了传…...

【每日学点鸿蒙知识】webview性能优化、taskpool、热更新、Navigation问题、调试时每次都卸载重装问题

1、HarmonyOS webview页面第二次&#xff0c;第三次打开感觉和第一次打开速度差不多&#xff0c;有优化吗&#xff0c;或者有没有webview秒开方案之类的&#xff1f; 目前没有webview秒开的方案&#xff0c;针对web场景的优化参考一下文档&#xff1a;https://developer.huawe…...

周记-唐纳德的《计算机程序设计艺术》

用代码生成代码 开发一个协议&#xff0c;字段有些多&#xff0c;每个字段是QT的属性&#xff0c;需要写Q_PROPERTY&#xff0c;一个一个编辑的话比较繁琐&#xff0c;耗费时间。后来就用代码生成了头文件和源文件&#xff0c;get和set还有signal函数&#xff0c;内容基本都是…...

AR 模型的功率谱

功率谱密度&#xff08;Power Spectral Density, PSD&#xff09;的表达式是从信号的自相关函数和系统的频率响应推导出来的&#xff0c;特别是对于 AR&#xff08;Auto-Regressive&#xff0c;自回归&#xff09;模型。以下是推导的过程&#xff1a; 1. AR 模型的定义&#xf…...

抖音小程序登录(前端通过tt.login获取code换取openId)

抖音小程序登录 抖音开放平台小程序登录&#xff1a; https://developer.open-douyin.com/docs/resource/zh-CN/mini-app/develop/tutorial/basic-ability/microapp-login 前端(通过tt.login获取code) 流程 静默登录依赖小程序 API tt.login&#xff0c;把tt.loginsuccess 回调…...

Linux 更改Jenkins使用其他账户启动

Linux 更改Jenkins使用其他账户启动 步骤一&#xff1a;修改 Jenkins 配置文件1. 编辑 Jenkins 的 systemd 服务文件&#xff1a;2. 在编辑器中添加以下内容&#xff1a;3. 保存并退出编辑器 步骤二&#xff1a;更改 Jenkins 目录的权限步骤三&#xff1a;重新加载 systemd 配置…...

117.【C语言】数据结构之排序(选择排序)

目录 1.知识回顾 2.分析 设想的思路 代码 执行结果 ​编辑 错误排查和修复 详细分析出错点 执行结果 3.正确的思路 4.其他问题 1.知识回顾 参见42.5【C语言】选择排序代码 点我跳转 2.分析 知识回顾里所提到的文章的选择排序一次循环只比一个数字,和本文接下来要…...

读书系列2024

认知类 1、《人生没有太晚的开始》&#xff1a; 作者摩西奶奶。 书中经典语录&#xff1a;“与其着急忙慌地不知从何开始&#xff0c;不如一切都慢慢来&#xff0c;开始并坚持了&#xff0c;总会有结果的那一天。喜欢一件事&#xff0c;你就慢慢去做吧。” 2、《忏悔录》托尔…...

如何快速又安全的实现端口转发【Windows MAC linux通用】

背景 有很多程序是在虚拟机上运行的&#xff0c;返回的url 又是127.0.0.1。在个人电脑上调试需要解决这个问题。端口转发是一个不错的方法 可能的解决办法&#xff1a; 1.修改程序&#xff0c;返回虚拟机的ip &#xff08;要改代码&#xff0c;换虚拟机还要再改代码&#xf…...

OpenGL变换矩阵和输入控制

在前面的文章当中我们已经成功播放了动画&#xff0c;让我们的角色动了起来&#xff0c;这一切变得比较有意思了起来。不过我们发现&#xff0c;角色虽然说是动了起来&#xff0c;不过只是在不停地原地踏步而已&#xff0c;而且我们也没有办法通过键盘来控制这个角色来进行移动…...

51单片机学习笔记——找不到REG52.H头文件,点亮一个LED

创建工程 将STC型号导入keil并使用 STC可以从官网下载&#xff0c;也可我这的网盘&#xff1a; 链接&#xff1a;https://pan.baidu.com/s/1bO85DPN3IFaXGhiKSwyOrA?pwd7f4h 提取码&#xff1a;7f4h 打开STC&#xff0c;选择“keil仿真设置”&#xff0c;选择“添加型号和头…...

07 基于OpenAMP的核间通信方案

引言 ZYNQ7020有两个CPU核心&#xff0c;这两个核心可以采用SMP或AMP方式进行调度&#xff0c;当采用AMP方式进行调度时核0和核1可以运行不同的操作系统&#xff0c;如核0运行Linux系统&#xff0c;提供有些复杂的用户交互工作&#xff0c;核1运行实时操作系统&#xff0c;对设…...

Ubuntu升级ssh版本到9.8

方案一&#xff1a;实测只有8.9有漏洞不推荐 1、更新软件包列表 sudo apt update 2、查找可用版本 apt-cache policy openssh-server 3、 选择版本 sudo apt install openssh-server1:9.8p1-<具体版本号> 4、 重启 sudo systemctl restart ssh 5、验证版本 /usr/sbin/ss…...

git设置项目远程仓库指向github的一个仓库

要将你的Git项目设置为指向GitHub上的远程仓库&#xff0c;你需要执行以下步骤&#xff1a; 创建GitHub仓库&#xff1a; 登录到你的GitHub账户。点击右上角的 “” 号&#xff0c;选择 “New repository” 创建一个新的仓库。填写仓库的名称&#xff0c;可以添加描述&#xff…...

【实战示例】面向对象的需求建模

前言 博主准备写一个以面向对象为核心思想的软件需求建模、领域建模的系列&#xff0c;总结一整套可落地的DDD的打法&#xff0c;前面几篇文章论述了如何进行面向对象的需求建模&#xff0c;本文将以一个简单的购物商城的需求来演示如何进行面向对象的需求建模。 面向对象的需…...

平方数的判断不用sqrt()函数

//判断一个数是不是平方数&#xff0c;13…&#xff08;2*m-1&#xff09;m*mn #include<stdio.h> int main(){ int n; scanf("%d",&n); int i; for(i1;n>0;i2){ nn-1; } if(n0){ printf("YES!\n"); …...

node.js之---回调函数

什么是回调函数&#xff1f; 为什么会有回调函数&#xff1f; 回调函数的特性 回调函数的应用场景 怎么解决回调地狱 什么是回调函数&#xff1f; 回调函数是一个函数&#xff0c;他作为参数传递给另外一个函数&#xff0c;并且会在另外一个函数执行完毕之后被调用&#…...

浏览器http缓存问题

一、什么是浏览器缓存 浏览器将请求过的资源&#xff08;html、js、css、img&#xff09;等&#xff0c;根据缓存机制&#xff0c;拷贝一份副本存储在浏览器的内存或者磁盘上。如果下一次请求的url相同时则根据缓存机制决定是读取内存或者磁盘上的数据还是去服务器请求资源文件…...

编写一个简单的引导加载程序(bootloader)

编写一个简单的引导加载程序&#xff08;bootloader&#xff09;通常用于嵌入式系统或自定义操作系统。这里&#xff0c;我将为你提供一个基于x86架构的简单汇编语言 bootloader 示例。这个 bootloader 将会在启动时打印一条消息到屏幕上。 使用 NASM 汇编器来编写这个 bootlo…...

Three.js 字体

在 Three.js 中&#xff0c;我们可以通过 FontLoader 加载字体&#xff0c;并结合 TextGeometry 创建 3D 文本。加载字体是因为字体文件包含了字体的几何信息&#xff0c;例如字体的形状、大小、粗细等&#xff0c;而 TextGeometry 则是根据字体信息生成 3D 文本的几何体。 在…...

Jenkins 构建流水线

在 Linux 系统上安装 Jenkins 服务&#xff0c;以及配置自动化构建项目 前置准备环境&#xff1a;docker、docker-compose、jdk、maven 一、环境搭建 1. Jenkins 安装 &#xff08;1&#xff09;拉取镜像 # 安装镜像包&#xff0c;默认安装最新版本 docker pull jenkins/jen…...

ES 磁盘使用率检查及处理方法

文章目录 1. 检查原因2. 检查方法3. 处理方法3.1 清理数据3.2 再次检查磁盘使用率 1. 检查原因 磁盘使用率在 85%以下&#xff0c;ES 可正常运行&#xff0c;达到 85%及以上会影响 PEIM 数据存储。 在 ES 磁盘分配分片控制策略中&#xff0c;为了保护数据节点的安全&#xff0…...

【回溯】LeetCode经典题目总结:组合、排列、子集、分割、N皇后、单词搜索

回溯 组合问题组合总和全排列子集分割回文串N皇后电话号码的字母组合单词搜索括号生成 组合问题 给定两个整数 n 和 k&#xff0c;返回 1 … n 中所有可能的 k 个数的组合。 示例: 输入: n 4, k 2 输出: [ [2,4], [3,4], [2,3], [1,2], [1,3], [1,4], ] 树形结构&#xff1…...

uniapp开发小程序内嵌h5页面,video视频两边有细小黑色边框

1.问题如图 2.原因分析 是否为设置上述属性呢&#xff1f; 设置了&#xff0c;但是仍然有黑边。经过选中页面元素分析后&#xff0c;判断video元素本身就有这种特点&#xff0c;就是视频资源无法完全铺满元素容器。 3.解决方案...

Ubuntu meson使用

一 下载pip3 &#xff0c;使用pip3下载 meson sudo apt install python3 sudo apt install python3-pip二 下载 nanjia sudo apt-get install ninja-build三 测试 meson 使用 1 同一个目录下创建两个文件 main.c #include<stdio.h> int main() {printf("meson t…...