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

初识 C 语言(一)

目录

  • 一、 第一个 C 程序
    • 1. printf() 函数和 stdio.h 头文件
    • 2. main() 函数和 return 语句
  • 二、类型和变量
    • 1. C 语言中的基本类型
    • 2. 变量的创建和命名规则
    • 3. 类型和变量的大小
  • 三、printf() 函数和 scanf() 函数
    • 1. printf() 函数的使用
    • 2. 各种类型的输出格式
    • 3. scanf() 函数的使用
    • 4. 各种类型的输入格式
  • 四、关键字
    • 1. C 语言的 32 个关键字下(不需要背,用多了自然就会)
  • 五、字符和 ASCII 编码
    • 1. ASCII 码表
    • 2. 字符的输入和输出
  • 六、字符串和空字符('\0')
    • 1. 字符串的存储
    • 2. 字符串的输入和输出
    • 3. 字符串输入的注意事项
  • 七、转义字符
  • 八、语句和分类
  • 九、注释

一、 第一个 C 程序

下面是一个简单的 C 程序

// 头文件
#include <stdio.h>int main()
{// 打印 "Hello, everyone !"printf("Hello, everyone !\n");return 0;
}

该程序的输出结果如下:
在这里插入图片描述
在屏幕上面打印了短语 “Hello, everyone !”。

其实,根据我在代码中的注释,这个程序也很容易理解,接下来逐步分析程序的各个模块。

1. printf() 函数和 stdio.h 头文件

printf() 函数是 C 语言函数库中的标准输出函数,把圆括号中的参数显示在屏幕上。那么上述程序就在屏幕上显示字符串 “Hello, everyone !”(字符串是由双引号括起来的一系列字符,以空字符(‘\0’)结尾,后面的 \n 是转义字符,表示换行)。

如果我们要使用 C 函数库中的函数,就需要包含对应的头文件(就像你要用别人的东西需要别人同意)。而使用 printf() 函数就需要包含 stdio.h 头文件。头文件的包含格式为:#include <头文件名>

2. main() 函数和 return 语句

每一个 C 程序都是从 main() 函数开始的,且每个 C 程序有且只能有一个 main() 函数。就和读文章一样,我们读一篇文章是从第一段第一行开始从左往右读的;而 C 程序就是从 main() 函数的第一条语句开始往下执行的。

main() 函数的格式为:int main()

return 语句一般用在当函数的返回类型不为 void 时,给主调函数返回一个值或者结束函数的执行。而 main() 函数中的 return 0; 语句表示程序正常结束,没有异常。

3. 库函数
为了不再重复实现常⻅的代码,让程序员提升开发效率,C语⾔标准规定了⼀组函数,这些函数再由不同的编译器⼚商根据标准进⾏实现,提供给程序员使⽤。这些函数组成了⼀个函数库,被称为标准库,这些函数也被称为库函数。(设计程序主要就是用函数来实现相应的功能,一些基本的功能库函数中都有相应的标准函数,如:strlen() 函数计算字符串的长度)

二、类型和变量

程序设计过程中,需要存储各种各样的类型,也需要用它们的值进行计算。这些操作一般都通过变量来进行。

1. C 语言中的基本类型

(1)整型

整型用来存储整数。表示的范围从小到大为:short、int、long、long long。

(2)浮点型

浮点型用来存储带小数的值。表示的范围从小到大为:float、double、long double。(精度也是从小到大)

(3)字符型 —— char

字符型用来存储单个字符。如:‘a’、‘b’、‘1’、'\n’等。在 C 语言中用单引号来标识字符。

(4)布尔型 —— bool

布尔型用来存储逻辑真和假。在 C 语言中所有非 0 值为真,0 值为假。该类型主要用在需要判断或者状态表示的地方。

2. 变量的创建和命名规则

(1)创建变量

如下代码:

// 头文件
#include <stdio.h>int main()
{// 创建一个 int 类型的变量并赋初值 10int a = 10;return 0;
}

上述代码创建了一个 int 变量 a,并给其赋初值。在 C 语言中等号(=)被称为赋值运算符,它的作用是把右侧的值赋给左边的变量。由此可见,变量的创建格式为:

类型 变量名;

初值 C 语言并没有规定一定要给,也可以后面通过赋值运算符进行赋值。但是,最好养成赋初值的习惯,因为变量创建的实质是向内存申请一块空间,然后我们通过变量名来访问这块空间。也就是在我们创建之前,这块空间是操作系统在使用,它存放了什么值进去我们并不知道(一般都是垃圾值),所以我们要对变量赋初值,防止使用垃圾值导致程序崩溃。

(2)创建多个变量

也可以一次性创建多个变量,只要中间使用逗号(,)隔开即可。

// 头文件
#include <stdio.h>int main()
{// 创建多个个 int 类型的变量int a, b = 5, c, d = 6;return 0;
}

上述代码创建了 4 个 int 类型的变量,每个变量赋不赋初值都取决于自己,最好养成赋初值的习惯。也可以使用多行来创建变量。

(3)初始化和赋值

初始化其实就是前面说的,在创建变量的同时给其赋个初值。而赋值是在创建完了变量之后,通过赋值运算符对其值进行修改。

(4)变量的命名规则

变量名的实质实际上是用来标识特定数据存储位置的名称。编译器处理该变量时,其实是通过该变量名关联的地址找到该值来进行处理。

变量名只能由数字、字母和下划线组成,且不能由数字开头,区分大小写。不能和 C 语言中的关键字和保留字冲突。

如下代码:
在这里插入图片描述
第一行代码出错是因为 char 等类型是 C 语言的关键字,该变量名与关键字冲突。第二行代码是因为变量名 8aa 以数字开头。

(5)变量的使用规则

变量必须在第一次使用之前声明,其实就是要在使用之前创建变量。如:int a = 10; 或 int a; 这两条语句都声明了变量 a,就是告诉编译器,我们需要创建一个 int 类型的变量,让它找一块空间,把这块空间标识为 a。(其实这个一般也不用说,毕竟这个你都没有造这个东西,怎么去使用?)

3. 类型和变量的大小

我们可以通过 sizeof 运算符来计算 C 语言中类型和变量的大小。该运算符返回一个整数值,单位为字节(byte)。

如下代码:

// 头文件
#include <stdio.h>
#include <stdbool.h>int main()
{// 计算类型的大小printf("%zd\n", sizeof(bool));printf("%zd\n", sizeof(char));printf("%zd\n", sizeof(short));printf("%zd\n", sizeof(int));printf("%zd\n", sizeof(long));printf("%zd\n", sizeof(long long));printf("%zd\n", sizeof(float));printf("%zd\n", sizeof(double));return 0;
}

该程序的运行结果如下:

在这里插入图片描述

计算 bool 类型的大小,需要包含头文件 stdbool.h。其中的 %zd 是printf() 函数的一种输出格式,把后面的值按照前面的格式进行输出。而 %zd 对应 sizeof 运算符返回的整型的类型。

三、printf() 函数和 scanf() 函数

printf() 函数和 scanf() 函数分别是 C 语言中的标准输出函数和标准输入函数。

1. printf() 函数的使用

首先,该函数的一般格式为:printf(“…”, 对应数量的值)。这个有点抽象,直接看代码:

// 头文件
// 头文件
#include <stdio.h>int main()
{// printf() 函数的使用printf("I have %d apples.\n", 5);int n = 5;printf("I have %d apples.\n", n);printf("I have 5 apples.\n");return 0;
}

上述代码中,该函数的第一个参数总是一个字符串,若该字符串中包含 % 这种输出格式,那么后面需要有相应的值,可以有一个也可以有多个,且前后一一对应。如果没有包含 % 这种输出格式,那么直接输出该字符串。

该程序的运行结果如下:
在这里插入图片描述

2. 各种类型的输出格式

char —— %c
short —— %hd
int   —— %d
long  —— %ld
long long —— %lld
float 和 double —— %f
long double —— %Lf

代码示例:

// 头文件
#include <stdio.h>int main()
{// 各种类型 printf() 的示例char c = 'a';printf("%c\n", c);short a = 1;printf("%hd\n", a);int b = 2;printf("%d\n", b);long c = 3;printf("%ld\n", c);long long d = 4;printf("%lld\n", d);float e = 5.0;printf("%f\n", e);double f = 6.0;printf("%f\n", f);long double g = 7.0;printf("%Lf\n", g);return 0;
}

3. scanf() 函数的使用

scanf() 函数的使用和 printf() 函数类似,不同的是 scanf() 函数后面需要对应变量的地址。即: scanf(“…”, 对应数量的地址)。直接看代码:

#define _CRT_SECURE_NO_WARNINGS// 头文件
#include <stdio.h>int main()
{// scanf() 函数的演示int a;printf("输入:");scanf("%d", &a);printf("输出:");printf("%d\n", a);return 0;
}

该程序运行之后,光标会停留等待你输入一个数,然后按下 enter 键确认输入完毕。如下:
在这里插入图片描述

在上述代码中,& 是取地址符,对变量使用该运算符可以得到该变量的地址。其他类型的 scanf() 函数使用和上述代码类似,只需要修改对应的输入格式和变量名。

4. 各种类型的输入格式

除了 double 类型输入的时候需要使用 %lf 以外,其他的类型的输入格式均和输入格式一致。

四、关键字

C 语言的关键字是具有特定含义、被编程语言保留使用的标识符。C 语言中的变量名不能和关键字冲突,且不能创建新的关键字。

1. C 语言的 32 个关键字下(不需要背,用多了自然就会)

auto、break、case、char、const、continue、default、do、double、else、enum、extern、float、for、goto、if、int、long、register、return、short、signed、sizeof、static、struct、switch、typedef、union、unsigned、void、volatile、while

注:在C99标准中加⼊了 inline 、 restrict 、 _Bool 、 _Complex 、 _Imaginary 等关键
字。

五、字符和 ASCII 编码

在 C 语言中,字符是用单引号括起来的单个字符,如:‘q’,‘@’,‘1’,‘.’ 等。字符的类型是 char,一般占 1 个字节。在 C 语言中,字符实际上是按照 ASCII 码(整数)进行存储的,如:字符 ‘a’ 对应 65,字符 ‘A’ 对应 97,空字符(‘\0’)对应 0 。

1. ASCII 码表

在这里插入图片描述
上述图片中的 dec 是十进制,oct 是八进制,hex 是十六进制。上面的 ASCII 码不需要全部记住,只需要记住几个关键的就行。

(1)数字字符、小写字母字符和大写字母字符都是连续的。所以,只需要记住字符 ‘0’ 对应 48,字符 ‘A’ 对应 65,字符 ‘a’ 对应 97 即可。
(2)空字符 ‘\0’ 对应 0

2. 字符的输入和输出

字符的输入和输出分别使用函数 scanf() 和 函数 printf(),格式均为 %c。

代码演示:

// 创建字符变量
char ch = 0;
// 输入
scanf("%c", &ch);
// 输出
printf("%c", ch);

也可以使用该字符对应的数字进行打印,如:
在这里插入图片描述

六、字符串和空字符(‘\0’)

在 C 语言中,字符串是用双引号括起来的一系列字符,且以空字符结尾。空字符是字符串结束的标志。如:“hello, world”。实际上末尾还有一个空字符。

1. 字符串的存储

在 C 语言中,使用字符数组来存储字符串。

代码演示:

// 使用字符数组存储字符串
char str1[20] = "abcdef";
char str2[20] = { 'a', 'b', 'c', 'd', 'e', 'f', '\0' };
char str3[20] = { 'a', 'b', 'c', 'd', 'e', 'f'};

上述代码中,第一条和第二条语句是初始化字符串的两种方式。而第三条语句是初始化字符数组而不是字符串,因为末尾没有空字符。而第一条语句编译器会在末尾自动添加空字符。

2. 字符串的输入和输出

字符串的输入和输出分别使用函数 scanf() 和函数 printf(),格式为 %s。

代码演示:
在这里插入图片描述
首先,把输入的字符存储到 str 数组中,然后再通过 str 打印。这里因为 str 本身就是该数组首元素的地址,所以不需要加取地址符(&)。这里只要记住,数组名是数组首元素的地址就可以了。

3. 字符串输入的注意事项

(1)使用 scanf() 函数进行输入时,会跳过前面的空白直到读取第一个非空白字符,且再次遇到空白结束输入。(空白指空格、制表符和换行符)

代码演示:
在这里插入图片描述
(2)输入的时候要提前思考一下输入字符串的最大字符数,然后创建适当大小的字符数组,如果输入的字符数超过了字符数组的最大容量,将会产生数据覆盖相邻内存区域、程序崩溃等现象。

代码演示:
在这里插入图片描述

七、转义字符

转义字符是 C 语言中一种特殊的字符表示方法,用于表示一些无法直接输入或具有特殊含义的字符。如:‘\0’,'\n’等。其中,反斜杠(\)是转义字符的标志。

• \? :在书写连续多个问号时使⽤,防⽌他们被解析成三字⺟词,在新的编译器上没法验证了。
• \’ :⽤于表⽰字符常量’
• \" :⽤于表⽰⼀个字符串内部的双引号
• \\ :⽤于表⽰⼀个反斜杠,防⽌它被解释为⼀个转义序列符。
• \a :警报,这会使得终端发出警报声或出现闪烁,或者两者同时发⽣。
• \b :退格键,光标回退⼀个字符,但不删除字符。
• \f :换⻚符,光标移到下⼀⻚。在现代系统上,这已经反映不出来了,⾏为改成类似于 \v 。
• \n :换⾏符。
• \r :回⻋符,光标移到同⼀⾏的开头。
• \t :制表符,光标移到下⼀个⽔平制表位,通常是下⼀个4/8的倍数。
• \v :垂直分隔符,光标移到下⼀个垂直制表位,通常是下⼀⾏的同⼀列。

两个特殊的转义字符:
• \ddd :ddd表⽰1~3个⼋进制的数字
• \xdd :dd表⽰2个⼗六进制数字。

上述两个转义字符分别把八进制和十六进制转换为十进制,然后找到对应 ASCII 码的字符。如:字符 ‘A’ 的 ASCII 值为 65,所以也可以写成 ‘\101’ 和 ‘\x41’。

代码演示:
在这里插入图片描述

八、语句和分类

函数是 C 语言程序设计的模块,而函数又由一条条语句组成。C 语言的语句主要分为以下五类:
(1)空语句
(2)表达式语句
(3)函数调用语句
(4)复合语句
(5)控制语句

1. 空语句
空语句就是一个分号。

// 空语句
;

2. 表达式语句
表达式语句就是表达式后面加上个分号。

int a = 10, b = 20;
// 表达式语句
a = b + 1;

3. 函数调用语句
函数调用的时候加上分号就是函数调用语句。我们使用 printf() 和 scanf() 函数时,就是函数调用语句。

// 函数调用语句
printf("Hello, world\n");

4. 复合语句
复合语句其实就是代码块,包含在花括号中的一条或者多条语句。主要用在 if 判断语句或者 while 循环语句中。

// 代码块
{
int a = 0;
int b = 0;
a = b + 10;
}

5. 控制语句
控制语句⽤于控制程序的执⾏流程,以实现程序的各种结构⽅式(C语⾔⽀持三种结构:顺序结构、选择结构、循环结构),它们由特定的语句定义符组成,C语⾔有九种控制语句。
可分成以下三类:

  1. 条件判断语句也叫分⽀语句:if语句、switch语句;
  2. 循环执⾏语句:dowhile语句、while语句、for语句;
  3. 转向语句:break语句、goto语句、continue语句、return语句。

九、注释

注释是程序员对代码的说明,主要是让程序员自己和他人读代码时更容易理解。而编译器编译代码时会忽略注释(删除)。C 语言有两种注释方式:

(1)/* … */
这种方式能一次性注释多行,如下代码:
在这里插入图片描述
但是,该方式不能嵌套注释,因为 /* 会和离它最近的 */ 配对,如下代码:
在这里插入图片描述
(2)// …
该注释方式是从 C++ 引入的,这种注释方式只能注释一行,如下代码:
在这里插入图片描述

相关文章:

初识 C 语言(一)

目录 一、 第一个 C 程序1. printf() 函数和 stdio.h 头文件2. main() 函数和 return 语句 二、类型和变量1. C 语言中的基本类型2. 变量的创建和命名规则3. 类型和变量的大小 三、printf() 函数和 scanf() 函数1. printf() 函数的使用2. 各种类型的输出格式3. scanf() 函数的使…...

LiveNVR监控流媒体Onvif/RTSP功能-支持电子放大拉框放大直播视频拉框放大录像视频流拉框放大电子放大

LiveNVR监控流媒体Onvif/RTSP功能-支持电子放大拉框放大直播视频拉框放大录像视频流拉框放大电子放大 1、视频广场2、录像回看3、RTSP/HLS/FLV/RTMP拉流Onvif流媒体服务 1、视频广场 视频广场 -》播放 &#xff0c;左键单击可以拉取矩形框&#xff0c;放大选中的范围&#xff…...

element ui中当el-dialog需要做全屏时,.fullscreen样式修改问题

element ui 饿了么UI中el-dialog样式修改问题 场景解决方法就是&#xff1a;去掉底部样式中的scoped,然后再进行页面级样式的更改即可。 场景 最近在使用element-ui时&#xff0c;使用到了弹窗组件&#xff1a; element-ui 官网链接地址&#xff1a; element-ui 官网链接地址…...

C++的明星之我是类001

文章目录 类类定义格式访问限定符类域 实例化实例化概念对象大小 this指针两道nt题目题目一题目二 C和C语言实现stack对比 类 类定义格式 新增一个关键字class&#xff0c;后加上类的名字&#xff0c;{}中为类的主体&#xff0c;类中的函数称为类的⽅法或者成员函数定义在类⾯…...

深度学习与应用:行人跟踪

**实验 深度学习与应用&#xff1a;行人跟踪 ** ------ **1、 实验目的** ------ - 了解行人跟踪模型基础处理流程 - 熟悉行人跟踪模型的基本原理 - 掌握 行人跟踪模型的参数微调训练以及推理的能力 - 掌握行人跟踪模型对实际问题的应用能力&#xff0c;了解如何在特定的场景和…...

MySQL | DATE_ADD()函数

题1&#xff1a; 现在运营想要查看用户在某天刷题后第二天还会再来刷题的平均概率。请你取出相应数据。 示例&#xff1a;question_practice_detail iddevice_idquest_idresultdate12138111wrong2021-05-0323214112wrong2021-05-0933214113wrong2021-06-1546543111right2021…...

DVWA 靶场环境搭建

作者&#xff1a;程序那点事儿 日期&#xff1a;2024/09/15 09:30 什么是DVWA: 是OWSASP官方编写的PHP网站&#xff0c;包含了各种网站常见漏洞&#xff08;漏洞靶场&#xff09;&#xff0c;可以学习攻击及修复方式。 PHP环境包含了&#xff0c;Windows/Apache/Mysql/Php g…...

Autosar学习----AUTOSAR_SWS_BSWGeneral(七)

&#x1f4a5;&#x1f4a5;&#x1f50d; &#x1f50d; 欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f421;优势&#xff1a;❤️博客内容尽量做到通俗易懂&#xff0c;逻辑清晰。 ⛳️座右铭&#xff1a;恒心&#xff0c;耐心&#xff0c;静心。 ⛳️ 欢迎一起…...

自动化测试框架集成:将Selenium集成到pytest与unittest中

目录 引言 一、Selenium简介 二、Selenium与pytest的集成 1. 安装pytest和Selenium 2. 编写测试用例 3. 运行测试 三、Selenium与unittest的集成 1. 编写测试类 2. 运行测试 四、Selenium自动化测试的最佳实践 1. 使用Page Object模式 2. 合理利用等待机制 3. 跨浏…...

华为GaussDB数据库(单机版)在ARM环境下的安装指南

一、软件版本 机器配置&#xff1a;8核16G&#xff0c;CPU: Huawei Kunpeng 920 2.9GHz操作系统&#xff1a;EulerOS 2.8 64bit with ARM数据库版本&#xff1a;GaussDB Kernel 505.1.0 build 44f4fa53 二、部署流程 2.1 新建用户 ① 以omm用户为例&#xff0c;添加一个omm用…...

计算机网络笔记002

### 课堂讨论对话 **学生A**: 老师&#xff0c;计算机网络的组成是怎样的&#xff1f;&#x1f914; **老师**: 非常好的问题&#xff01;计算机网络主要由硬件、软件和通信协议三部分组成。我们先从硬件开始讨论吧。 **学生B**: 硬件包括哪些设备呢&#xff1f;&#x1f60…...

Unity 的Event的Use()方法

对于Event的Use方法&#xff0c;其在调用后将不会再判断同类型的事件 这种情况下&#xff0c;第二个MosueDown不会进入&#xff0c;因为已经Use 如果把Use注释掉 依旧能进入第二个MosueDown 也就是说当使用了Use方法&#xff0c;相同的事件类型不会进第二遍...

数据分析师之Excel数据清洗

前言 目前&#xff0c;掌握一定的Excel技能时&#xff0c;怎么通过自己的技能实现数据分析的操作&#xff0c;就需要进行具体项目的实战&#xff0c;本身数据分析这个行业是非常吃经验的&#xff0c;既然我们是小白入坑&#xff0c;就需要多做实战演练&#xff0c;才能够实际的…...

手机解压软件加密指南:让文件更安全

在数字化时代&#xff0c;文件加密对于保护个人隐私和敏感信息的重要性不言而喻。随着互联网的飞速发展&#xff0c;我们的生活和工作越来越依赖于数字设备和网络。 然而&#xff0c;这也带来了一系列的安全风险&#xff0c;如黑客攻击、数据泄露等。文件加密技术成为了保护我…...

python yield generator 详解

目录 generator基础 generator应用 generator基础应用   generator高级应用 注意事项&#xff1a; 正文 本文将由浅入深详细介绍yield以及generator&#xff0c;包括以下内容&#xff1a;什么generator&#xff0c;生成generator的方法&#xff0c;generator的特点&#…...

MATLAB矩阵下标引用

在MATLAB中&#xff0c;普通的二维数组元素的数字索引分为双下标索引和单下标索引。双下标索引是通过一个二元数组对来对应元素在矩阵中的行列位置&#xff0c;例如A(2,3)表示矩阵A中第2行第3列的元素。单下标索引的方式是采用列元素优先的原则&#xff0c;对m行n列的矩阵按列排…...

syn洪水攻击原理是什么

在网络世界中&#xff0c;正常的网络访问就像一场有序的对话。当我们访问网站时&#xff0c;客户端与服务器要进行 TCP 三次握手来建立连接。首先&#xff0c;客户端向服务器发送一个 SYN 包&#xff0c;请求建立连接&#xff0c;这就如同向服务器打招呼说“我想连接”&#xf…...

前缀和(4)_除自身以外数组的乘积

个人主页&#xff1a;C忠实粉丝 欢迎 点赞&#x1f44d; 收藏✨ 留言✉ 加关注&#x1f493;本文由 C忠实粉丝 原创 前缀和(4)_除自身以外数组的乘积 收录于专栏【经典算法练习】 本专栏旨在分享学习算法的一点学习笔记&#xff0c;欢迎大家在评论区交流讨论&#x1f48c; 目录…...

第二十一节:学习Redis缓存数据库的Hash操作(自学Spring boot 3.x的第五天)

这节记录下Redis的Hash操作。主要是opsForHash方式和boundHashOps方式。 boundHashOps和opsForHash都是Spring Data Redis中用于操作Redis哈希数据结构的方法&#xff0c;但它们在使用方式和场景上存在一些区别。 boundHashOps 使用方式&#xff1a; boundHashOps方法通过Redi…...

OpenCV视频I/O(1)视频采集类VideoCapture介绍

操作系统&#xff1a;ubuntu22.04 OpenCV版本&#xff1a;OpenCV4.9 IDE:Visual Studio Code 编程语言&#xff1a;C11 算法描述 用于从视频文件、图像序列或摄像头捕获视频的类。 该类提供了用于从摄像头捕获视频或读取视频文件和图像序列的 C API。 以下是该类的使用方法&a…...

CVE-2024-46103

前言 CVE-2024-46103 SEMCMS的sql漏洞。 漏洞简介 SEMCMS v4.8中&#xff0c;SEMCMS_Images.php的search参数&#xff0c;以及SEMCMS_Products.php的search参数&#xff0c;存在sql注入漏洞。 &#xff08;这个之前就有两个sql的cve&#xff0c;这次属于是捡漏了&#x1f6…...

三,MyBatis-Plus 的各种查询的“超详细说明”,比如(等值查询,范围查询,模糊查询...)

三&#xff0c;MyBatis-Plus 的各种查询的“超详细说明”&#xff0c;比如(等值查询&#xff0c;范围查询&#xff0c;模糊查询…) 文章目录 三&#xff0c;MyBatis-Plus 的各种查询的“超详细说明”&#xff0c;比如(等值查询&#xff0c;范围查询&#xff0c;模糊查询...)1. …...

Linux 冯诺依曼体系结构与操作系统概念

目录 0.前言 1. 冯诺依曼体系结构概述 1.1 输入单元 1.2 中央处理单元&#xff08;CPU&#xff09; 1.3 输出单元 2. 冯诺依曼体系结构的关键特性 2.1 所有数据流向内存 2.2 数据流动示例&#xff1a;QQ聊天过程 3. 操作系统 3.1 概念 3.2 设计操作系统的目的 3.3 操作系统的“…...

UE4中 -skipbuild -nocompile 有什么区别

在项目开发中&#xff0c;我看到了在调用 Engine\\Build\\BatchFiles\\RunUAT.bat 相关的命令行中&#xff0c;有 -skipbuild、 -nocompile 两个很像的参数&#xff0c;于是想探究一下它们的区别与含义。 -skipbuild 参数 到底有没有 -skipbuild 这个参数&#xff1f;根据 http…...

k8s篇之数据挂载类型及区别

一、K8S集群数据挂载类型及区别 在 Kubernetes 中,数据挂载类型主要有以下几种,每种类型适用于不同的场景。以下是主要的挂载类型及其应用场景的详细说明: 1. emptyDir 描述:emptyDir 是一个空目录,其生命周期与 Pod 相同。 它在 Pod 创建时被创建,并在 Pod 删除时被清…...

LiveQing视频点播流媒体RTMP推流服务功能-支持电子放大拉框放大直播视频拉框放大录像视频流拉框放大电子放大

LiveQing视频点播流媒体RTMP推流服务功能-支持电子放大拉框放大直播视频拉框放大录像视频流拉框放大电子放大 1、鉴权直播2、视频点播3、RTMP推流视频直播和点播流媒体服务 1、鉴权直播 鉴权直播-》播放 &#xff0c;左键单击可以拉取矩形框&#xff0c;放大选中的范围&#x…...

fetch怎么使用

fetch 是一个现代、强大的、基于 Promise 的网络请求 API&#xff0c;用于在浏览器中发起网络请求&#xff08;如异步获取资源&#xff09;。它提供了一种更加简洁和灵活的方式来替代 XMLHttpRequest。下面是 fetch 的基本使用方法和一些示例。 基本语法 fetch(url, options)…...

回归预测 | Matlab基于SO-SVR蛇群算法优化支持向量机的数据多输入单输出回归预测

回归预测 | Matlab基于SO-SVR蛇群算法优化支持向量机的数据多输入单输出回归预测 目录 回归预测 | Matlab基于SO-SVR蛇群算法优化支持向量机的数据多输入单输出回归预测预测效果基本描述程序设计参考资料 预测效果 基本描述 1.Matlab基于SO-SVR蛇群算法优化支持向量机的数据多…...

光耦知识分享:如何挑选合适的可控硅光耦型号

可控硅光耦是一种光电耦合器件&#xff0c;它结合了光敏元件&#xff08;通常是光敏二极管&#xff09;和可控硅器件&#xff08;如普通可控硅或三端可控硅&#xff09;的特性。它的工作原理是利用光信号控制可控硅的导通和截止&#xff0c;从而实现对电路的控制。 可控硅光耦…...

MySql Explain优化命令使用

MySql Explain优化命令使用 truncate table student // 自增id 从 0 开始 delete from student // 自增id 会保留 &#xff0c; 108 区别&#xff1a; 1&#xff1a;自增id 2&#xff1a;delete 可以恢复 truncate 无法恢复 前言 EXPLAIN 是一个用于获取 SQL 语句执行计划的…...