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

内蒙古响应式网站建设/搭建网站要多少钱

内蒙古响应式网站建设,搭建网站要多少钱,深圳网页设计兴田德润优惠吗,杭州营销型网站建设文章目录 前言C语言简介一、Hello World!1.1 编写代码1.2 代码解释1.3 编译和运行1.4 结果 二、数据类型2.1 基本数据类型2.2 复合数据类型2.3 指针类型2.4 枚举类型 三、C语言基础3.1 变量和常量3.2 运算符3.3 控制流语句3.4 注释单行注释多行注释注释的作用 四、 …

文章目录

  • 前言
  • C语言简介
  • 一、Hello World!
    • 1.1 编写代码
    • 1.2 代码解释
    • 1.3 编译和运行
    • 1.4 结果
  • 二、数据类型
    • 2.1 基本数据类型
    • 2.2 复合数据类型
    • 2.3 指针类型
    • 2.4 枚举类型
  • 三、C语言基础
    • 3.1 变量和常量
    • 3.2 运算符
    • 3.3 控制流语句
    • 3.4 注释
      • 单行注释
      • 多行注释
      • 注释的作用
  • 四、 函数
    • 4.1 函数的声明和定义
    • 4.2 函数的参数和返回值
    • 4.3 函数的调用
    • 4.4 主函数(main函数)
    • 4.5 内置函数和自定义函数
  • 五、 数组和字符串
    • 5.1 数组的声明和初始化
    • 5.2 多维数组
    • 5.3 字符串
    • 5.4 字符串处理函数
    • 5.5 字符串输入和输出
  • 六、 指针和内存管理
    • 6.1 指针的概念
    • 6.2 指针的运算
        • 6.3 动态内存分配
        • 6.4 指针和数组的关系
  • 七、文件操作和输入/输出
    • 7.1 文件操作
    • 7.2 格式化输入/输出
    • 7.3 标准输入/输出
  • 八、错误处理和调试
    • 8.1 错误代码
    • 8.2 断言
    • 8.3 调试器
    • 8.4 日志和打印调试信息
  • 结语

前言

在这个数字化时代,计算机编程已经成为连接人类与技术的桥梁。而在编程的世界中,C语言犹如一座承载着无限可能性的基石。作为计算机编程的经典之选,C语言无疑是每个刚刚踏入编程领域的初学者的理想起点。本篇博客将带您踏上一段奇妙的C语言学习之旅,不仅会教您编写代码,更会启发您深入思考计算机科学的精髓。

C语言简介

C语言是一门古老而强大的编程语言,诞生于20世纪70年代初由丹尼斯·里奇(Dennis Ritchie)在贝尔实验室开发而成,C语言一经问世,立即在计算机科学领域引起轰动。其简洁、灵活和高效的特性,使其成为了许多编程任务的首选语言。

C语言既具备高级编程语言的抽象特性,又直接暴露了底层的计算机硬件操作。这种特性使得C语言不仅适用于应用程序的开发,还可用于系统级编程和嵌入式系统的构建。实际上,许多操作系统和编译器本身就是用C语言编写的。🌟

C语言的语法简洁而灵活允许程序员进行精细的控制和优化。它提供了丰富的数据类型,包括整数、浮点数、字符等,以及数组、结构体和指针等数据结构,使得程序员可以更好地管理和组织数据。此外,C语言也支持低级的内存操作,使得程序员可以直接操作计算机内存,从而实现高效的算法和数据结构。💡

尽管C语言在很多方面表现出色,但它也需要程序员自己负责管理内存,这可能会导致一些错误和挑战。然而,正是这些挑战培养了程序员的深刻理解和技能,使他们能够编写更加健壮和高性能的程序。

一、Hello World!

在学习任何编程语言时,第一个示例程序通常是经典的"Hello, World!"。它是一个简单的程序,可以帮助你了解基本的语法和程序结构。让我们一起来编写你的第一个C语言程序吧!

1.1 编写代码

打开你选择的集成开发环境(IDE)或者文本编辑器,创建一个新的源代码文件,文件名可以是hello.c。然后在文件中输入以下代码:

#include <stdio.h>int main() {printf("Hello, World!\n");return 0;
}

1.2 代码解释

#include <stdio.h>

这是一个预处理指令。预处理器会在编译代码之前执行,它告诉编译器引入了名为stdio.h标准输入输出库。这个库包含了用于处理输入输出的函数,如printf

int main() {

这是C语言程序的入口点。所有C程序都必须包含一个名为main的函数,它是程序的起始执行点int表示main函数将返回一个整数值。

    printf("Hello, World!\n");

这行代码使用**printf函数打印文本到控制台。printf是C语言中用于格式化输出的函数**。括号内的内容是你要输出的文本,\n表示换行

    return 0;
}

return语句用于指定函数的返回值。main函数中通常使用return 0;表示程序执行成功。其他非零值可能表示程序遇到了错误。

要理解代码的执行过程,你可以将程序想象成一系列的步骤:

  1. 预处理器会处理**#include <stdio.h>,并将stdio.h**中的内容添加到程序中,以便在程序中使用标准输入输出函数。
  2. 当程序开始执行时,它会跳转main函数。main函数是程序的起始点
  3. 在**main函数中,printf("Hello, World!\n");**语句会执行。printf函数会将指定的文本打印到控制台。
  4. return 0;表示main函数执行成功,并返回整数值0,这表示程序正常终止
  5. 整个程序执行完毕,控制台会显示出你的"Hello, World!"消息。

1.3 编译和运行

保存文件后,你可以使用IDE中的编译和运行按钮,或者通过命令行运行以下命令来编译和运行程序:

gcc -o hello hello.c
./hello

第一条命令使用GCC编译器将hello.c源文件编译为可执行文件hello。第二条命令运行生成的可执行文件。

1.4 结果

如果一切顺利,你应该能够在控制台看到输出:

Hello, World!

恭喜你,你已经成功编写并运行了你的第一个C语言程序!"Hello, World!"程序可能非常简单,但它为你提供了学习C语言的一个良好起点。在接下来的学习中,你将逐步了解更多复杂的语法和概念。

二、数据类型

当你开始学习编程语言时,了解数据类型至关重要,因为数据类型定义了变量可以存储的数据种类和范围。在C语言中,有多种基本数据类型,每种类型在内存中占据不同的空间并具有不同的取值范围。以下是一些常见的C语言数据类型的简介:

2.1 基本数据类型

  • 整数类型:用于存储整数值,分为有符号和无符号两种。有符号整数可以表示正数、负数和零,而无符号整数只能表示非负数(正数和零)。常见整数类型有:
    • int:常规整数,根据平台占用不同字节
    • short:短整数,占用较少字节。
    • long:长整数,占用较多字节。
    • unsigned intunsigned shortunsigned long:无符号整数。
  • 浮点类型:用于存储小数或实数值,包括单精度和双精度。常见浮点类型有:
    • float:单精度浮点数,占用4字节。
    • double:双精度浮点数,占用8字节。
  • 字符类型:用于存储单个字符,通常使用char数据类型。

2.2 复合数据类型

  • 数组:由相同类型的元素组成的集合,通过索引访问。例如:int scores[5]; 定义一个包含5个整数的数组。
  • 联合体(Union):类似结构体,但成员共享相同内存,只能存储一个成员的值,节省内存。
  • 结构体:将不同类型的数据组合成自定义的复合数据类型。例如:
struct Student {char name[50];int age;float gpa;
};

2.3 指针类型

指针:存储变量内存地址,使你能直接访问内存中的数据。指针类型变量可指向特定数据类型。例如:int *ptr; 定义指向整数的指针。

2.4 枚举类型

枚举:定义用户自定义数据类型,限制变量可能取值范围。例如:

enum Day {MONDAY,TUESDAY,WEDNESDAY,// ...
};

掌握各种数据类型将帮助你更好地管理数据,有效地创建变量,并确保程序正确性和性能。在C语言中,选择适当的数据类型对于正确使用变量、执行算术运算以及在程序中传递参数至关重要。

三、C语言基础

3.1 变量和常量

  • 变量:在程序中用于存储数据的容器,需要声明并指定其数据类型。
int num;
  • 常量:值不可更改的变量,在声明时必须初始化,可以使用const关键字来声明常量。
const double pi = 3.14159;

3.2 运算符

  • 算术运算符:用于执行基本算术操作,如加法、减法、乘法和除法。
int sum = 10 + 5;
  • 赋值运算符:用于给变量赋值,将右边的值赋给左边的变量。
int x = 5;
  • 比较运算符:用于比较两个值,返回布尔值(真或假)。
if (x > 0) {// ...
}
  • 逻辑运算符:用于组合和操作布尔值,如与、或和非。
if (x > 0 && y < 10) {// ...
}

3.3 控制流语句

  • 条件语句(if-else):根据条件的真假来执行不同的代码块。
if (score >= 60) {printf("Pass\n");
} else {printf("Fail\n");
}
  • 循环语句:重复执行一段代码,有三种主要类型:forwhiledo-while
for (int i = 0; i < 5; i++) {printf("%d\n", i);
}

3.4 注释

单行注释

单行注释用于在一行代码后添加说明。它从//开始,一直到该行的末尾。编译器会忽略这些注释,不会将其包含在生成的可执行文件中。

int age = 25;  // 声明并初始化年龄变量

多行注释

多行注释用于跨越多行代码的解释。它从/\*开始,到\*/结束。多行注释可以包含多行文本,并且可以用于注释掉一整段代码。

在这里插入图片描述

注释的作用

  • 解释代码:注释可以提供代码的解释和上下文,帮助其他人理解你的代码。这对于团队协作和代码维护非常重要。
  • 记笔记:你可以使用注释来记录你的想法、思路以及需要后续处理的问题。这有助于你在以后的开发中快速回顾和处理。
  • 调试:在调试时,你可以使用注释来排除一些代码,以确定问题是否出现在特定部分。
  • 临时更改:如果你想临时禁用某些代码,你可以使用注释来实现,而无需实际删除这些代码。

四、 函数

函数是C语言中的基本构建块之一,它们允许你将一段代码封装为可重用的模块,并通过调用函数来执行特定任务。使用函数可以使你的代码更加模块化、结构化和易于维护。以下是关于函数的一些重要概念:

4.1 函数的声明和定义

在使用函数之前,需要先声明它。函数声明告诉编译器有一个函数存在,但不提供函数的具体实现。函数定义提供了函数的实际代码。例如:

// 函数声明
int add(int a, int b);// 函数定义
int add(int a, int b) {return a + b;
}

4.2 函数的参数和返回值

函数可以接受参数,执行特定的操作,然后返回一个值。参数是传递给函数的输入值,而返回值是函数执行后的输出结果。

int square(int x) {return x * x;
}

4.3 函数的调用

通过函数名和传递的参数调用函数。调用函数会执行函数的代码,并将返回值返回给调用处。

int result = square(5); // 调用square函数,计算5的平方

4.4 主函数(main函数)

每个C程序都必须包含一个名为main的函数。程序从main函数开始执行,当main函数执行完毕时,程序终止。

int main() {// 主函数的代码return 0;
}

4.5 内置函数和自定义函数

C语言提供了许多内置函数,如数学函数、字符串处理函数等。此外,你也可以创建自己的函数来执行特定任务。

五、 数组和字符串

在C语言中,数组和字符串是常用的数据结构,用于存储一组相关的数据。数组是相同类型元素的有序集合,而字符串是字符数组的特殊形式。以下是关于数组和字符串的重要内容:

5.1 数组的声明和初始化

数组的声明需要指定元素的数据类型和元素数量。可以通过下标(索引)访问数组中的元素。

int scores[5]; // 声明一个包含5个整数的数组
scores[0] = 85; // 为数组元素赋值

也可以在声明时进行初始化:

int numbers[3] = {10, 20, 30}; // 声明并初始化一个包含3个整数的数组

5.2 多维数组

多维数组是数组的扩展,可以是二维、三维或更多维度的数组。它们通常用于表示矩阵、表格等数据结构。

int matrix[3][3] = {{1, 2, 3},{4, 5, 6},{7, 8, 9}
};

5.3 字符串

字符串是字符的数组,以null终止字符(‘\0’)作为字符串的结尾。

char greeting[] = "Hello, world!";

5.4 字符串处理函数

C语言提供了许多字符串处理函数,用于处理字符串的操作,如连接、比较、复制等。

#include <string.h>char source[] = "Hello";
char destination[10];strcpy(destination, source); // 复制source到destination

5.5 字符串输入和输出

使用scanf函数从用户输入中读取字符串,使用printf函数将字符串输出到控制台。

char name[50];
printf("请输入你的名字:");
scanf("%s", name);
printf("你好,%s!\n", name);

数组和字符串是C语言中用于存储和操作数据的重要工具。它们在各种编程场景中都得到广泛应用,从简单的存储数据到处理复杂的文本信息。理解数组和字符串的特性和使用方法将有助于你更高效地编写程序。

六、 指针和内存管理

在C语言中,指针是一个重要的概念,它允许你直接访问内存中的数据,并提供了更高级的内存管理能力。以下是关于指针和内存管理的重要内容:

6.1 指针的概念

指针是存储内存地址的变量。通过指针,你可以直接访问存储在内存中的数据。

int num = 42;
int *ptr;       // 定义一个指向整数的指针
ptr = &num;     // 将指针指向num的地址

6.2 指针的运算

指针可以进行加法和减法运算,以访问相邻内存单元的数据。

int numbers[5] = {10, 20, 30, 40, 50};
int *ptr = numbers; // 将指针指向数组的第一个元素int thirdValue = *(ptr + 2); // 访问数组的第三个元素,即30

6.3 动态内存分配

C语言允许你在运行时动态分配内存,这样你可以根据需要分配和释放内存。

int *dynamicArray = malloc(5 * sizeof(int)); // 分配一个包含5个整数的动态数组// 使用dynamicArrayfree(dynamicArray); // 释放分配的内存

6.4 指针和数组的关系

数组名实际上是指向数组第一个元素的指针。因此,可以使用指针来访问数组元素。

int numbers[3] = {10, 20, 30};
int *ptr = numbers;int firstValue = *ptr; // 数组的第一个元素,即10
int secondValue = *(ptr + 1); // 数组的第二个元素,即20

指针和内存管理是C语言的核心概念之一,了解它们将帮助你更好地理解内存的工作方式,提高代码的灵活性,并避免内存泄漏等问题。指针的使用虽然强大,但也需要小心谨慎,以避免出现错误。

七、文件操作和输入/输出

在C语言中,文件操作和输入/输出(I/O)是处理外部数据的关键部分。通过文件操作,你可以读取和写入文件,而输入/输出允许你与用户交互并处理文本。

7.1 文件操作

C语言中的文件操作涉及打开、读取、写入和关闭文件。你可以使用标准库函数来执行这些操作。

#include <stdio.h>int main() {FILE *filePointer;char data[100];filePointer = fopen("file.txt", "r"); // 打开文件以读取数据if (filePointer == NULL) {printf("无法打开文件\n");return 1;}fgets(data, 100, filePointer); // 从文件读取一行数据printf("%s", data);fclose(filePointer); // 关闭文件return 0;
}

7.2 格式化输入/输出

使用printfscanf函数,你可以格式化地输出数据到屏幕和从用户处输入数据。

#include <stdio.h>int main() {int age;printf("请输入你的年龄:");scanf("%d", &age);printf("你的年龄是:%d\n", age);return 0;
}

7.3 标准输入/输出

C语言中有三个标准的I/O流:stdin(标准输入)、stdout(标准输出)和stderr(标准错误输出)。

#include <stdio.h>int main() {fprintf(stdout, "这是标准输出\n");fprintf(stderr, "这是标准错误输出\n");return 0;
}

文件操作和输入/输出是C语言中处理外部数据的重要组成部分。它们使你能够读取和写入文件,与用户交互,并将程序的结果输出到屏幕上。掌握文件操作和I/O将使你能够创建更丰富的应用程序,能够与外部数据进行有效交互。

八、错误处理和调试

在编程过程中,错误是不可避免的。C语言提供了一些机制来处理错误并进行调试,以确保程序的正确性和稳定性。

8.1 错误代码

C语言中,通常使用返回值来指示函数是否执行成功,以及在错误发生时提供额外的信息。标准库函数通常会返回特定的错误代码。

#include <stdio.h>int main() {FILE *filePointer;filePointer = fopen("nonexistent_file.txt", "r");if (filePointer == NULL) {perror("无法打开文件");return 1;}fclose(filePointer);return 0;
}

8.2 断言

断言是在代码中添加的条件检查,用于确保程序在满足某些条件时继续执行。如果断言条件不满足,程序将中止并显示错误消息。

#include <assert.h>int main() {int x = 5;assert(x > 10); // 如果x不大于10,程序将中止return 0;
}

8.3 调试器

调试器是一种工具,用于追踪程序的执行过程并检查变量的值。在C语言中,你可以使用调试器来识别和修复错误。

8.4 日志和打印调试信息

在程序中添加打印语句或日志,可以帮助你追踪程序的执行,以及查找问题所在。

#include <stdio.h>int main() {int x = 42;printf("x的值:%d\n", x); // 打印调试信息return 0;
}

错误处理和调试是开发过程中必不可少的一部分。通过使用适当的错误处理机制和调试工具,你可以更轻松地识别和解决问题,确保程序的正确性和稳定性。

结语

通过这篇博客,我们深入了解了C语言的基础知识。从数据类型和变量到控制流语句,再到函数、数组、指针,以及文件操作和调试技巧,我们探索了C语言的核心概念和关键特性。C语言作为一门古老而强大的编程语言,为我们提供了处理底层细节和开发高效程序的工具。

虽然C语言可能对初学者来说有一些挑战,但通过不断的学习、练习和实践,你将逐渐掌握这门语言,并能够编写出高效、健壮的程序。无论是为了系统编程、嵌入式开发、还是学术研究,C语言都是一个极具价值的工具。

希望这篇博客能够帮助你在C语言的学习之旅中起到一些指引作用。在掌握了这些基础后,你可以继续深入学习更高级的主题,探索更多C语言的应用领域。祝愿你在编程的道路上取得巨大的成功!

如果你有任何问题或需要进一步的帮助,欢迎随时与我交流。继续努力,愿你在编程世界中探索无限可能!

相关文章:

『C语言入门』初识C语言

文章目录 前言C语言简介一、Hello World&#xff01;1.1 编写代码1.2 代码解释1.3 编译和运行1.4 结果 二、数据类型2.1 基本数据类型2.2 复合数据类型2.3 指针类型2.4 枚举类型 三、C语言基础3.1 变量和常量3.2 运算符3.3 控制流语句3.4 注释单行注释多行注释注释的作用 四、 …...

jira创建条目rest实用脚本

最近在搞crash崩溃分析&#xff0c;直接把解析到的信息录入jira系统进行跟踪&#xff1b; 经历了多次碰壁后终于调通&#xff0c;现记录一下 实用json请求脚本如下&#xff1a; {"fields":{"project":{"id":"10945"},"issuety…...

红外/可见光图像配准融合

红外/可见光图像配准融合 根据文献【1】&#xff0c;对于平行光轴的红外可见光双目配置进行图像配准&#xff0c;主要的限制是图像配准只是对特定的目标距离&#xff08;Dtarget&#xff09;有效。并排配置的配准误差 δx&#xff08;以像素表示&#xff09;的数学表达式为&…...

更高效稳定 | 基于ACM32 MCU的编程直流电源应用方案

随着电子设备的多样化发展&#xff0c;面对不同的应用场景&#xff0c;需要采用特定的供电电源。因此&#xff0c;在电子产品的开发测试过程中&#xff0c;必不可少使用编程直流电源来提供测试电压&#xff0c;协助完成初步的开发测试过程。 编程直流电源概述 编程直流电源结构…...

postgresql创建一个只读账户指定数据库

要在 PostgreSQL 中创建一个只读账户&#xff0c;您可以按照以下步骤进行操作&#xff1a; 1. **登录到 PostgreSQL&#xff1a;** 使用具有足够权限的管理员账户&#xff08;通常是 "postgres" 用户&#xff09;连接到 PostgreSQL 数据库。 2. **创建只读账户&…...

CSDN编程题-每日一练(2023-08-25)

CSDN编程题-每日一练&#xff08;2023-08-25&#xff09; 一、题目名称&#xff1a;影分身二、题目名称&#xff1a;小鱼的航程(改进版)三、题目名称&#xff1a;排查网络故障 一、题目名称&#xff1a;影分身 时间限制&#xff1a;1000ms内存限制&#xff1a;256M 题目描述&am…...

前端面试:【前端工程化】构建工具Webpack、Parcel和Rollup

嗨&#xff0c;亲爱的前端开发者&#xff01;在现代Web开发中&#xff0c;前端工程化变得愈发重要。构建工具如Webpack、Parcel和Rollup帮助我们自动化任务、管理依赖、优化性能等。本文将深入探讨这三个前端构建工具&#xff0c;帮助你了解它们的优点和用途。 1. Webpack&…...

大型企业是否有必要进行数字化转型?

在数字化、信息化、智能化蓬勃发展的今天&#xff0c;初创公司可以很轻易的布局规划数字化发展的路径。而对于大型企业而言&#xff0c;其已经形成了较为成熟稳固的业务及组织架构&#xff0c;是否还有必要根据自身行业发展特点寻求数字化转型&#xff1f;&#xff08;比如制造…...

05有监督学习——神经网络

线性模型 给定n维输入&#xff1a; x [ x 1 , x 1 , … , x n ] T x {[{x_1},{x_1}, \ldots ,{x_n}]^T} x[x1​,x1​,…,xn​]T 线性模型有一个n维权重和一个标量偏差: w [ w 1 , w 1 , … , w n ] T , b w {[{w_1},{w_1}, \ldots ,{w_n}]^T},b w[w1​,w1​,…,wn​]T,b 输…...

JavaWeb_LeadNews_Day7-ElasticSearch, Mongodb

JavaWeb_LeadNews_Day7-ElasticSearch, Mongodb elasticsearch安装配置 app文章搜索创建索引库app文章搜索思路分析具体实现 新增文章创建索引思路分析具体实现 MongoDB安装配置SpringBoot集成MongoDB app文章搜索记录保存搜索记录思路分析具体实现 查询搜索历史删除搜索历史 搜…...

redux中间件理解,常见的中间件,实现原理。

文章目录 一、Redux中间件介绍1、什么是Redux中间件2、使用redux中间件 一、Redux中间件介绍 1、什么是Redux中间件 redux 提供了类似后端 Express 的中间件概念&#xff0c;本质的目的是提供第三方插件的模式&#xff0c;自定义拦截 action -> reducer 的过程。变为 actio…...

麒麟系统上安装 MySQL 8.0.24

我介绍一下在麒麟系统上安装 MySQL 8.0.24 的详细步骤&#xff0c;前提是您已经下载了 mysql-8.0.24-linux-glibc2.12-x86_64.tar.xz 安装包。其实安装很简单&#xff0c;但是有坑&#xff0c;而且问题非常严重&#xff01;由于麒麟系统相关文章博客较少&#xff0c;导致遇到了…...

vue 展开和收起

效果图 代码块 <div><span v-for"(item,index) in showHandleList" :key"item.index"><span>{{item.emailFrom}}</span></span><span v-if"this.list.length > 4" click"showAll !showAll">{…...

限制立方样条(RCS)中的P for overall和P for nonlinear的计算

最近不少人私信我&#xff0c;说有些SCI文章报了两个P值一个是P for overall,一个是P for nonlinear,就像下图这样&#xff0c;问我P for overall怎么计算。 P for overall我也不清楚是什么&#xff0c;有些博主说这个是总效应的P值&#xff0c;但是我没有找到相关出处。但是怎…...

vue3+ts引入echarts并实现自动缩放

第一种写法&#xff08;不支持随页面大小变化而缩放&#xff09; 统一的HTML页面 <div class"content_box" ref"barChart" id"content_box"></div>TS语法 <script setup lang"ts">import * as echarts from echar…...

Compressor For Mac强大视频编辑工具 v4.6.5中文版

Compressor for Mac是苹果公司推出的一款视频压缩工具&#xff0c;可以将高清视频、4K视频、甚至是8K视频压缩成适合网络传输或存储的小文件。Compressor支持多种视频格式&#xff0c;包括H.264、HEVC、ProRes和AVC-Intra等&#xff0c;用户可以根据需要选择不同的压缩格式。 …...

maven工程的目录结构

https://maven.apache.org/guides/introduction/introduction-to-the-standard-directory-layout.html maven工程的目录结构&#xff1a; 在maven工程的根目录下面&#xff0c;是pom.xml文件。此外&#xff0c;还有README.txt、LICENSE.txt等文本文件&#xff0c;便于用户能够…...

5.1 webrtc线程模型

那从今天开始呢&#xff1f;我们来了解一下y8 tc线程相关的内容&#xff0c;那在开始之前呢&#xff1f;我们先来看一下&#xff0c;我们本章都要讲解哪些知识&#xff1f; 那第一个呢&#xff1f;是线程的基础知识&#xff0c;这块内容呢&#xff1f;主要是为大家做一下回顾&a…...

【Linux网络】Cookie和session的关系

目录 一、Cookie 和 session 共同之处 二、Cookie 和 session 区别 2.1、cookie 2.2、session 三、cookie的工作原理 四、session的工作原理 一、Cookie 和 session 共同之处 Cookie 和 Session 都是用来跟踪浏览器用户身份的会话方式。 二、Cookie 和 session 区别 2.…...

android 硬编码保存mp4

目录 java imagereader编码保存 java NV21toYUV420SemiPlanar 编码保存视频用&#xff1a; imageReader获取nv21 代码来自博客&#xff1a; 【Android Camera2】彻底弄清图像数据YUV420_888转NV21问题/良心教学/避坑必读!_yuv420888转nv21_奔跑的鲁班七号的博客-CSDN博客 …...

gitlab合并分支

我的分支为 cheng 第一步&#xff1a; 增加新的代码 第二步&#xff1a;提交并推送 第三步&#xff1a;打开gitlab&#xff0c;找到对应项目 这样就成功把cheng分支合并到dev-test分支了...

手撕 `np.transpose` : 三维数组的循环转置

手撕 np.transpose : 三维数组的循环转置 手撕 np.transpose 2D 何为transpose ? 如上图: 二维的例子, 直观地理解就是沿着对角线拉平(对角关系左上右下依旧), 其他位置依次填充. 2. 2D数组中0,1 为原始参, 1,0 为转置参 - 原始参即数组的原始形态: 比如&#x1f446;&#x…...

计算机竞赛 基于Django与深度学习的股票预测系统

文章目录 0 前言1 课题背景2 实现效果3 Django框架4 数据整理5 模型准备和训练6 最后 0 前言 &#x1f525; 优质竞赛项目系列&#xff0c;今天要分享的是 &#x1f6a9; **基于Django与深度学习的股票预测系统 ** 该项目较为新颖&#xff0c;适合作为竞赛课题方向&#xff…...

CSS 小技能(一):HTML 两个图片竖着平铺、设置图片点击、设置滚动条颜色

下面的代码没有考虑响应式的效果&#xff0c;如果考虑的话还需要一些代码进行处理。 【注】当时写的时候仅考虑了 webkit 内核的浏览器&#xff0c;如果是 IE 或者其他浏览器&#xff0c;请增加额外的 CSS 样式进行控制。 <!DOCTYPE html> <html> <head>&l…...

【论文阅读】CONAN:一种实用的、高精度、高效的APT实时检测系统(TDSC-2020)

CONAN&#xff1a;A Practical Real-Time APT Detection System With High Accuracy and Efficiency TDSC-2020 浙江大学 Xiong C, Zhu T, Dong W, et al. CONAN: A practical real-time APT detection system with high accuracy and efficiency[J]. IEEE Transactions on Dep…...

P1328 [NOIP2014 提高组] 生活大爆炸版石头剪刀布

题目描述 石头剪刀布是常见的猜拳游戏:石头胜剪刀,剪刀胜布,布胜石头。如果两个人出拳一样&#xff0c;则不分胜负。在《生活大爆炸》第二季第 8 集中出现了一种石头剪刀布的升级版游戏。 升级版游戏在传统的石头剪刀布游戏的基础上,增加了两个新手势: 斯波克:《星际迷航》主…...

基于Android水果蔬菜果蔬到家商城系统 微信小程序uniAPP的开发与实现

果蔬到家是商家针对用户必不可少的一个部分。在商铺发展的整个过程中&#xff0c;果蔬到家担负着最重要的角色。为满足如今日益复杂的管理需求&#xff0c;各类果蔬到家程序也在不断改进。本课题所设计的springboot基于HBuilder X的果蔬到家APP&#xff0c;使用SpringBoot框架&…...

【Python】从入门到上头—Python基础(2)

文章目录 一.基础语法1.编码2.标识符3.保留字4.注释5.行与缩进6.多行语句7.数字(Number)类型8.字符串(String)9.空行10.等待用户输入11.同一行显示多条语句12.多个语句构成代码组13.print 输出14.import 与 from...import 二.基本数据类型1.变量和赋值2.多个变量赋值3.标准数据…...

leetcode刷题之283:移动零

问题 实现思路 首先, 将dest指向-1 位置, cur指向下标为0 的位置, 在cur遍历的过程中: 1) 遇到非零元素则与下标dest1 位置的元素交换, 2) 若遇到零元素则只继续cur遍历. 下标为1 的位置上是 非零元素 执行1) 交换得到右图结果 随后cur 得到下图结果 下标为2 的位置上是零…...

【Spring Boot】SpringBoot和数据库交互: 使用Spring Data JPA

文章目录 1. 数据库和Java应用程序1.1 为什么需要数据库交互1.2 传统的数据库交互方法 2. 什么是JPA2.1 JPA的定义2.2 JPA的优势 3. Spring Data JPA介绍3.1 Spring Data JPA的特性3.2 如何简化数据库操作 4. 在SpringBoot中集成Spring Data JPA4.1 添加依赖4.2 配置数据源 5. …...