自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(42)
  • 收藏
  • 关注

原创 云计算与华为云

云计算基础第一章 云计算基础知识云计算的背景:信息大爆炸传统IT面临的挑战业务上线慢扩展困难可靠性不强生命周期管理复杂I/O瓶颈TCO(总成本)居高不下企业IT基础设施架构走向云化传统企业IT架构:直接在服务器上面装操作系统(OS),软硬件之间存在强耦合关系,硬件资源利用率普遍较低且运维成本比较复杂。虚拟化架构:软硬件已经解耦,资源利用率得到提升,运维效率得到优化。企业云化IT架构:更加强调资源的整合与统一调度,彻底消灭资源孤岛效应,让资源真正流动起来。架构从集中式向着分布

2022-05-19 15:20:23 373

原创 C语言-对指针的理解(2)

1.数组指针(指向数组的指针)数组(Array)是一系列具有相同类型的数据的集合,每一份数据叫做一个数组元素(Element)。数组中的所有元素在内存中是连续排列的,整个数组占用的是一块内存。以int arr[] = { 99, 15, 100, 888, 252 };为例,该数组在内存中的分布如下图所示:定义数组时,要给出数组名和数组长度,数组名可以认为是一个指针,它指向数组的第 0 个元素。在C语言中,我们将第 0 个元素的地址称为数组的首地址。以上面的数组为例,下图是 arr 的指向:

2022-04-17 20:07:04 1024

原创 C语言-对指针的理解(1)

1.什么是指针数据在内存中的地址称为指针2.什么是指针变量存放了一份数据的地址的变量一个比较高级的变量,一般的变量用来存放值,指针变量用来存放普通变量的地址例子1:假设现在有一个int类型变量a=1,地址为0X62FE0C;还有一个指针变量p,p=0X62FE0C;正好是变量a的地址;那么称指针变量p指向了普通变量a。例子2:假设现在有一个char类型变量b=‘K’,地址为0X62FE03;还有一个指针变量q,q=0X62FE03;正好是变量b的地址;那么称指针变量q

2022-04-17 15:09:25 1770

原创 C语言(写一个函数打印乘法表)

#include <stdio.h>void print_table(int n);int main(){ int n; scanf("%d", &n); print_table(n);}//打印乘法口诀表 //1*1=1//2*1=2 2*2=4//3*1=3 3*2=6 3*3=9//4*1=4 4*2=8 4*3=12 4*4=16void print_table(int n){ int i, j; //打印行,有n行 for(i=1; i<

2022-04-11 16:01:20 1146

原创 C语言(B站比特鹏哥)笔记

P48函数的调用一个函数如果没有写返回类型,默认返回int类型练习1.写一个函数可以判断一个数是不是素数之(打印100-200之间的素数)#include<stdio.h> //打印100-200之间所有的素数 int is_prime(int n); //函数声明 int main(){ int i = 0; int count = 0; for(i=100; i<=200; i++)//这里可以优化代码写成i+=2,因为偶数肯定不是素数 { //判断

2022-04-09 14:04:23 1035

原创 C语言(B站比特鹏哥)笔记

P42函数库函数如何学习库函数https://www.cplusplus.com/https://zh.cppreference.com/自定义函数自定义函数和库函数一样,有函数名,返回值类型和函数参数。但是不一样的是这些都是我们自己设计的。例子1:写一个函数返回两个整数中的较大值#include <stdio.h>int get_max(int x, int y);//函数声明可以没有变量的名称,但是一定要有变量的类型 int main(){

2022-04-08 17:02:58 2813

原创 C语言(B站比特鹏哥)笔记

练习1.计算n的阶乘#include<stdio.h> int main(){ int i, ret, n; printf("请输入n:>"); scanf("%d", &n); for(i=1; i<=n; i++) { ret *= i; } printf("%d!=%d", n, ret); return 0; }1.1写一个函数计算n的阶乘#include<stdio.h> int ret(int n);

2022-04-08 10:30:21 1735

原创 C语言 冒泡排序

#include<stdio.h> int main(){ int n[10] = { 25,35,68,79,21,13,98,7,16,62 };//定义一个大小为10的数组 int i, j,k,temp; for (i = 1; i <= 9; i++)//外层循环是比较的轮数,数组内有10个数,那么就应该比较10-1=9轮 { for (j = 0; j <= 9 - i; j++)//内层循环比较的是当前一轮的比较次数,例如:第一轮比较9-1=8次,第二轮

2022-04-06 20:06:00 154

原创 C语言(B站比特鹏哥)笔记

分支语句和循环语句分支语句(选择结构)ifswitch循环语句(循环结构)forwhiledo whilegoto语句C语言中由一个分号;隔开的就是一条语句C语言中非0就是真P30 分支语句if elseif语句语法结构例子#include <stdio.h>int main(){ int age = 20; if(age>=18) printf("成年\n"); else printf("未成年\n"); printf.

2022-03-31 12:28:56 2028

转载 C语言数据类型转换(自动类型转换+强制类型转换)

自动类型转换自动类型转换就是编译器默默地、隐式地、偷偷地进行的数据类型转换,这种转换不需要程序员干预,会自动发生。1)将一种类型的数据赋值给另外一种类型的变量时就会发生自动类型转换,例如float f = 100;100是int 类型的数据,需要先转换为float类型才能赋值给变量f。再如int n = f;f是float类型的数据,需要先转换为int类型才能赋值给变量n。在赋值运算中,赋值号两边的数据类型不同时,需要把右边表达式的类型转换为左边变量的类型,这可能会导致数据失真,或者

2022-03-30 12:18:19 4242

原创 C语言 (写一个函数返回较大值)

写一个函数求两个整数中的较大值#include <stdio.h>int max(int x, int y); //函数声明 //函数声明也可以写成以下形式,即函数声明可以省略变量名字但是不可以省略变量类型 //int max(int, int); int main(){ int x, y, result; printf("请输入两个整数x和y:"); scanf("%d %d", &x, &y); result = max(x, y); //函数调用.

2022-03-29 10:58:56 1668

原创 C语言(B站比特鹏哥)笔记

P19 初识操作符1算术操作符+ - * / %移位操作符>>按位右移<<按位右移位操作符&按位与^按位或|按位异或赋值操作符= += -= *= /= &= ^= |= >>= <<=单目操作符(只需要一个操作数)0表示假,!0就是真sizeof(int等类型)时括号不能省略sizeof a(变量)时,因为sizeof是操作符不是函数(括号可以省略但一般不省略)~:按位(二

2022-03-22 17:56:04 1995

原创 C语言(B站比特鹏哥)笔记

P9 初始变量的作用域和声明周期局部变量和全局变量当局部变量和全局变量同名的时候,局部变量优先使用变量的作用域和生命周期作用域:限定名字的可用性的代码范围就是这个名字的作用域。局部变量的作用与就是变量所在的局部范围。全局变量的作用域是整个工程P10 什么是常量枚举关键字enumP11 字符串字符串就是一串字符,用英文双引号括起来的一串字符字符串的结束标志是一个\0的转义字符。在计算字符串长度的时候\0是结束标志,不算作字符串内容

2022-03-22 14:40:05 1146

原创 MOOC数据结构不挂科

第八章 排序考点插入排序(稳定的)时间复杂度O(n2)空间复杂度O(1)选择排序(不稳定的)时间复杂度O(n2)空间复杂度O(1)冒泡(沉底)排序(稳定的)时间复杂度O(n2)空间复杂度O(1)归并排序(稳定的)-2路(划分为两个部分)时间复杂度O(n*log n)空间复杂度O(1)快速排序(不稳定的)在子序列里面再次做快排可用于外部排序时间复杂度O(n*log n)空间复杂度O(1)...

2022-03-21 17:09:57 478

转载 C语言函数的调用

函数调用(Function Call),就是使用已经定义好的函数。函数调用的一般形式为:functionName(param1, param2, param3 ...);functionName 是函数名称,param1, param2, param3 …是实参列表。实参可以是常数、变量、表达式等,多个实参用逗号,分隔。在C语言中,函数调用的方式有多种,例如://函数作为表达式中的一项出现在表达式中z = max(x, y);m = n + max(x, y);//函数作为一个单独的语句p

2022-03-18 10:49:39 20324 3

转载 C语言函数的返回值

函数的返回值是指函数被调用之后,执行函数体中的代码所得到的结果,这个结果通过 return 语句返回。return 语句的一般形式为:return 表达式;或者return (表达式);有没有( )都是正确的,为了简明,一般也不写( )。对C语言返回值的说明没有返回值的函数为空类型,用void表示。例如:void func(){ printf("http://c.biancheng.net\n");}一旦函数的返回值类型被定义为 void,就不能再接收它的值了。例如.

2022-03-18 10:29:07 3855

原创 C语言字符串处理函数

字符串连接函数 strcat()strcat 是 string catenate 的缩写,意思是把两个字符串拼接在一起,语法格式为:strcat(arrayName1, arrayName2);arrayName1、arrayName2 为需要拼接的字符串。strcat() 将把 arrayName2 连接到 arrayName1 后面,并删除原来 arrayName1 最后的结束标志’\0’。这意味着,arrayName1 必须足够长,要能够同时容纳 arrayName1 和 arrayNa

2022-03-18 10:05:13 591

原创 C语言的自增自减运算

#include <stdio.h>int main(){ int a = 10, b = 20, c = 30, d = 40; int a1 = ++a; int b1 = b++; int c1 = --c; int d1 = d--; printf("a=%d, a1=%d\n", a, a1); printf("b=%d, b1=%d\n", b, b1); printf("c=%d, c1=%d\n", c, c1);

2022-03-17 10:25:36 3835

原创 MOOC数据结构不挂科

第五章 图考点图的基本概念(多对多的逻辑结构)图的存储结构/表现方式顺序存储---->邻接矩阵链式存储---->邻接表邻接矩阵和邻接表的比较邻接矩阵的优点找到两个顶点便可以找出关系,时间复杂度为O(1)邻接矩阵的缺点邻接矩阵无论如何都需要一个二维数组[n][n] ,在各顶点度较少时浪费大量空间邻接表的优点在边较少的时节省许多空间---->适用于稀疏图邻接表的缺点无法直接获取某条边的信息,需要vi链表从头进行顺序存

2022-03-03 10:20:06 195

原创 MOOC数据结构不挂科

第四章 树和二叉树考点树和森林二叉树结构二叉树:每个结点的度至高为2(至多有两个孩子),也可以1个或0个,分别成为左孩子和右孩子二叉树的重要性质两种特殊的二叉树满二叉树(Full)完全二叉树(Complete)(允许有空缺,但空缺只能是最后一层的最右边)树/森林转换为二叉树(左孩子又兄弟)二叉树的顺序存储实现二叉树的链式实现二叉树的遍历三种遍历的主要区别在于当前结点的访问的先后伪代码三种遍历顺序中,左子树都先于右子树先序遍历是第一次访问到该节

2022-03-01 14:21:29 317

原创 C语言笔记(翁恺老师)--字符串变量

字符串常量char *s = “Hello, worlld!”;s是一个指针,初始化为指向一个字符串常量由于这个常量所在的地方,实际上s是const char *s,但是由于历史原因,编译器不接受const的写法但是试图对s所指的字符串做写入会导致严重的后果#include <stdio.h>int main(void){ int i = 0; char *s = "Hello World"; char *s2 = "Hello World"; //s[0] =

2022-01-10 11:12:56 597

原创 C语言笔记(翁恺老师)--字符串与字符数组

字符串字符数组char word[ ]={‘H’, ‘e’, ‘l’, ‘l’, ‘o’, ‘!’,};这不是C语言的字符串,因为不能用字符串的方式做计算char word[ ]={‘H’, ‘e’, ‘l’, ‘l’, ‘o’, ‘!’, ‘\0’};或者写成char word[ ]={‘H’, ‘e’, ‘l’, ‘l’, ‘o’, ‘!’, 0};这样写就可以用字符串的方式进行运算字符串对于C语言来说,字符串是一串以0结尾的一串字符0或’\0’是一样的,但是和’

2022-01-10 10:41:06 273

原创 C语言笔记(翁恺老师)--动态内存分配

动态内存分配malloc1.需要引入头文件#include <stdlib.h>2.它的原型参数是size_t,返回的类型是void *void * malloc(size_t size); free()把申请得来的空间还给“系统”申请过的空间,最终都是要换的只能还申请来的空间的首地址释放的不是申请来的空间的首地址(p已发生变化)释放的空间不是malloc得来的写指针的好习惯:一旦定义就初始化为0因为:可能会忘记malloc或者malloc失败,

2022-01-10 10:06:11 410

原创 C语言笔记(翁恺老师)--指针运算

指针运算指针的基本运算#include <stdio.h>int main(void){ char a[]={0, 1, 2, 3, 4, 5, 6, 7, 8, 9,}; char *p = a; printf("p=%p\n", p); printf("p+1=%p\n", p+1); int b[]={0, 1, 2, 3, 4, 5, 6, 7, 8, 9,}; int *q = b; printf("q=%p\n", q); printf("q+1=%p\n

2022-01-09 12:07:53 415

原创 C语言笔记(翁恺老师)--指针与数组

指针与数组为什么数组传进函数后的sizeof不对了#include <stdio.h>void minmax(int a[], int len, int *max, int *min);int main(void){ int a[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12,}; int max, min; printf("main sizeof(a)=%lu\n", sizeof(a)); minmax(a, sizeof(a)/s

2022-01-09 10:58:36 195

原创 C语言笔记(翁恺老师)--指针的应用场景

指针的应用场景指针的应用场景1—交换主函数里面变量的值#include <stdio.h>void swap(int *pa, int *pb);int main(void){ int a = 1; int b = 2; swap(&a, &b); printf("a=%d, b=%d\n", a, b); return 0; }void swap(int *pa, int *pb){ int t = *pa; *pa = *pb; *p

2022-01-09 09:50:39 620

原创 C语言笔记(翁恺老师)--对指针的初步理解

对指针的初步理解#include <stdio.h>void f(int *p);void g(int k); int main(){ int i = 6; printf("&i=%p\n", &i); //调用f函数 f(&i); //调用g函数 g(i); return 0; }void f(int *p){ printf("p=%p\n", p);}void g(int k){ printf("k=%d\n",

2022-01-08 11:55:53 134

原创 数据结构MOOC浙大笔记

第三讲 树(上)什么是树查找查找:根据某个给定关键字K,从集合R中找出关键字与K相同的记录静态查找 没有插入和删除操作,只有查找动态查找 除了查找,还可能发生插入和删除静态查找方法1:顺序查找时间复杂度O(n)Tbl是一个一个指针的结构,有两个变量typedef struct LNode *List;struct LNode{ ElementType Element[MAXSIZE]; //数组Element int length; //数组大小lengt

2021-12-06 11:41:45 222

原创 数据结构MOOC浙大笔记

第二讲线性结构2.5小白专场一元多项式的加法与乘法运算题意理解设计函数分球求两个一元多项式的乘积与和已知两个多项式(1)3x4-5x2+6x-2(2)5x20-7x4+3x多项式和:5x20-4x4-5x2+9x-2多项式乘积:15x24-25x22+30x21-10x20-21x8+35x6-33x5+14x4-15x3+18x2-6x题意理解求解思路1.多项式的表示2.程序框架3.读多项式4.加法实现5.乘法实现6.多项式输出多项式的表示 数组:编程简

2021-12-05 18:29:30 1067

原创 数据结构MOOC浙大笔记

第二讲线性结构2.4应用实例多项式加法运算实现思路实现方法采用不带头结点的单向链表,按照指数递减的顺序排列各项具体的数据结构的结构类型的定义struct PloyNode{ int coef; //系数 int expon; //指数 struct PloyNode *link; //指向下一个结点的指针};typedef struct PloyNode *Ploynomial;Ploynomial P1, P2;设计一个函数,函数参数是传入两个多项式Polyn

2021-12-05 11:51:07 255

原创 数据结构MOOC浙大笔记

第二讲线性结构2.3队列队列的基础知识队列:具有一定操作约束的线性表特点: 插入和删除操作:只能在一端插入,而在另一端删除数据插入:入队列数据删除:出队列先进先出数据对象集:一个有0个或多个元素的有穷线性表操作集:长度为MaxSize的堆栈S∈Stack,堆栈元素item∈ElementType1.Queue CreateQueue(int MaxSize):生成长度为MaxSize的空队列2.int IsFullQ(Queue Q, int MaxSize):判断队列Q是

2021-12-04 20:18:04 312

原创 数据结构MOOC浙大笔记

第二讲线性结构2.2堆栈堆栈的基础知识堆栈是一种线性结构,也是一个特殊的线性表堆栈的引入例子:计算机如何进行表达式求值5+6/2-34=5+3-34=8-12=-4由两类对象构成运算数运算符不同的运算符优先级不一样堆栈(Stack):具有一定操作约束的线性表特点:只在一端(栈顶)做插入、删除插入数据:入栈删除数据:出栈后入先出数据对象集:一个有0个或多个元素的又穷线性表操作集:长度为MaxSize的堆栈S∈Stack,堆栈元素item∈ElementT

2021-12-04 14:18:20 266

原创 数据结构 MOOC浙大笔记

第二讲线性结构2.1线性表及其实现初始化(建立空的顺序表)List MakeEmpty(){ List PtrL; PtrL = (List)malloc(sizeof(struct LNode));//通过malloc函数动态申请结构的空间 PtrL->Last = -1;//Last代表表里最后一个元素 return PtrL; }查找(在Last中查找X的位置)int Find(ELementType X, List PtrL) //PtrL是一个线性表结构的

2021-12-03 17:33:36 596

原创 Linux 下ftp匿名登录常见问题

550failed to change directory解决方法530 please login with USER and PASS解决方法成功登录并访问文件

2021-11-24 21:02:05 1789

原创 ansible 配置自动化

一、配置环境1、直接安装epel无效原因:本地yum源中没有epel的安装包2、更换 yum 源2.1先将原有yum.repo源备份2.2获取阿里yum源配置文件wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo2.3更新cacheyum makecache3.1升级所有包同时也升级软件和系统内核yum -y update3.2查看yum源二、开始

2021-11-24 17:00:39 815

原创 CentOS 7下配置本地yum源及使用FTP服务配置客户端yum源

cd /etc/yum.repos.d/mv * /media/vi yum.repo[centos]name=[centos]baseurl=file:///mnt/cdromgpgcheck=0enabled=1mkdir /mnt/cdrommount /dev/cdrom /mnt/cdromdf -hyum clean allyum repolist

2021-11-23 17:16:52 1240 2

原创 C语言实现九九乘法表

#include <stdio.h>int main(){ int i, j, n; scanf("%d", &n); //读入9,或者直接int n=9也可以 for(i=1; i<=n; i++){ //输出的行数 for(j=1; j<=i; j++){ //输出的列数 printf("%d*%d=%-4d", j, i, i*j); //%-4d表示4位宽度,并左对齐 } printf("\n"); // 每行输出完毕后都得

2021-11-21 21:34:52 649 1

原创 PTA 习题5-8 空心的数字金字塔

本题要求实现一个函数,输出n行空心的数字金字塔。#include <stdio.h>void hollowPyramid ( int n );int main(){ int n; scanf("%d", &n); hollowPyramid ( n ); return 0;}/* 你的代码将被嵌在这里 */void hollowPyramid( int n ){ int i, j, k; for(i=1; i<n; i++

2021-11-18 22:10:12 8063 7

原创 公有云运维与应用 第三单元(选购云存储)

AWS核心服务-存储第一节 存储的分类块存储 EBS(Elastic Block Store)对象存储 S3(Simple Storage Service)文件存储 EFS(Elastic File System)Amazon Glacier这三者本质差别是使用数据的“用户”不同;块存储的用户是可以读写块设备的软件系统;例如传统的文件系统、数据库;文件存储的用户是自然人;对象存储的用户是其它计算机软件项目块存储文件存储对象存储概念用高速(光纤)网络链接

2021-11-16 20:44:01 858

原创 公有云运维与应用 第二单元(选购云主机)

AWS核心服务-计算第一节 计算服务概述Amazon Elastic Compute Cloud(Amazon EC2)云中的虚拟计算环境(云中的计算机)AWS Lambda完全托管的无服务器计算Auto Scaling按需扩展EC2容量提高可用性Elastic Load Balancer分发传入流量帮助实现更高水平的容错能力AWS Elastic Beanstalk快速部署、扩展和管理Web应用Elastic Beanstalk不收费-仅需为使用的地产AWS服务付费第

2021-11-16 18:22:28 993

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除