变量

《网络攻防实践》假期作业

浪子不回头ぞ 提交于 2020-02-17 14:55:07
一.总体概述 这个作业属于哪个课程: https://edu.cnblogs.com/campus/besti/19attackdefense 这个作业的要求在哪里: https://edu.cnblogs.com/campus/besti/19attackdefense/homework/10228 我在这个课程的目标:学习并掌握网络攻防知识,能完成相关实践 这个作业在哪个具体方面帮助我实现目标:学习Linux操作命令 二.作业 作业一 1.你对网络攻击和防御了解多少?该课程需要计算机和网络相关的基础知识,你原专业是什么专业,目前你掌握多少基础知识? 对网络攻击和防御了解比较浅薄。 原专业电子信息工程,与计算机和网络的相关知识学习较少,学习过C语言。 2.作业要使用Markdown格式,Markdown入门参考(需掌握) 上学期在导师的要求下用博客园汇报学习心得,对Markdown格式比较熟悉。 作业二 1.学习基于VirtualBox虚拟机安装Ubuntu图文教程在自己笔记本上安装Linux操作系统(也可以使用VMWare安装虚拟机,安装方法自己百度) 官网下载VirtualBox和Ubuntu,按照图文教程安装,一路确定即可。 2.通过实践学习别出心裁的Linux命令学习法,掌握Linux命令的学习方法 (1)掌握Ubuntu有几个快捷键,可以提高使用命令行的效率: CTRL

C/C++ 全局变量初始化

一世执手 提交于 2020-02-17 09:08:05
C语言全局变量只能用常量表达式初始化,不能用一个数学函数或者其他的需要在运行时才能计算出结果的表达式进行初始化。 C++ 标准,全局变量的初始化要在 main 函数执行前完成,常识无疑,但是这个说法有点含糊,main 函数执行前到底具体是什么时候呢?是编译时还是运行时?答案是既有编译时,也可能会有运行时(seriously), 从语言的层面来说,全局变量的初始化可以划分为以下两个阶段(c++11 N3690 3.6.2): static initialization: 静态初始化指的是用常量来对变量进行初始化,主要包括 zero initialization 和 const initialization,静态初始化在程序加载的过程中完成,对简单类型(内建类型,POD等)来说,从具体实现上看,zero initialization 的变量会被保存在 bss 段,const initialization 的变量则放在 data 段内,程序加载即可完成初始化,这和 c 语言里的全局变量初始化基本是一致的。 dynamic initialization:动态初始化主要是指需要经过函数调用才能完成的初始化,比如说:int a = foo(),或者是复杂类型(类)的初始化(需要调用构造函数)等。这些变量的初始化会在 main 函数执行前由运行时调用相应的代码从而得以进行(函数内的 static

AdvancePython-python中isinstance()、type()以及is、==的区别

梦想与她 提交于 2020-02-17 06:54:50
在python中,存在这样两组: isinstance()和type():用来判断某个对象属于某种类型 is和==:用来判断相等的问题,至于是什么相等,我们往后看~ 1.isinstace()和type()都是判断某个对象是否属于某个已知的类型,但是它们有如下区别: isinstance() 会认为子类是一种父类类型,考虑继承关系。 type() 不会认为子类是一种父类类型,不考虑继承关系。 如果要判断两个类型是否相同,推荐使用 isinstance()。 这下面这个例子中,B继承了A,然后后实例化B得到b,此时b的类型实际上是B,type()显然不认为b是A对象,而isinstance则会往B继承的类去找,并且认为b也属于A类型。 class A : pass class B ( A ) : pass b = B ( ) print ( isinstance ( b , B ) ) #True print ( isinstance ( b , A ) ) #True print ( type ( b ) is B ) #True print ( type ( b ) is A ) #false 2.is 和==在判断相等方面有本质的区别: (1) '=='判断的是两个对象的“值”是否相等,就是说他们的内容是否相等,其内存地址不一样也无妨。 (2) is

final关键字

僤鯓⒐⒋嵵緔 提交于 2020-02-17 06:47:30
final关键字可以修饰类,方法,变量 final修饰的变量称为常量 变量–>成员变量和局部变量 final修饰成员变量,通常与static一起使用,称为静态常量 static说明PI的使用需要使用类名. Math.PI final说明PI的值在整个程序的运行过程其值不允许改变 final修饰的局部变量称为常量 变量–>基本数据类型和引用数据类型 final修饰的基本数据类型,其值不允许更改 final修饰的引用数据类型, 其地址不允许更改 public class Test4 { public static void main ( String [ ] args ) { final double PI = 3.14 ; //PI=3.15;编译报错 final Bird bird = new Bird ( 2 , "红色" ) ; //bird存储的是内存地址\ // bird=new Bird(3,"绿色");//修改内存地址编译报错 bird . setColor ( "绿色" ) ; //没有修改地址,而修改的是堆中的属性值 //调用show方法 show ( bird ) ; //方法传参,只传地址,不传修饰符 final } public static void show ( Bird b ) { //show方法中Bird b并没有使用final修饰 b = new

类文件结构

北城余情 提交于 2020-02-17 06:46:55
1. 概述   计算机只认识0和1,所以我们写的程序需要经过编译器翻译成0和1构成的二进制格式才能由计算机执行,现在越来越多的程序语言选择了与操作系统和机器指令集无关的、平台中立的格式作为程序编译后的存储格式。各种不同平台的虚拟机与所有平台都统一使用的程序存储格式--字节码,是构成平台无关性的基石。同时Java虚拟机也在发展语言无关性,目前java虚拟机之上可以运行的语言有:Clojure、Groovy、JRuby、Jython和Scala等。实现语言无关性的基础仍然是虚拟机和字节码存储格式,java虚拟机不和包括java在内的任何语言绑定,它只和“Class文件“这种特定的二进制文件格式所关联,Class文件中包含了java虚拟机指令集和符号表以及若干辅助信息。Class文件是java虚拟机执行引擎的数据入口。 2.Class类文件的结构   Class文件是一组以8位字节为基础单位的二进制流。Class文件只有2种数据类型:无符号数和表。   无符号数属于基本的数据类型,以u1、u2、u4、u8来分别代表1个字节、2个字节、4个字节和8个字节的无符号数,无符号数可以用来描述数字、索引引用、数量值或者按照UTF-8编码构成的字符串值。   表是由多个无符号数或者其它表作为数据项构成的复合数据类型。   (1) 魔数与Class文件的版本    

python基础-变量运算符(3)

时光毁灭记忆、已成空白 提交于 2020-02-17 02:24:24
一、注释 注释就是对代码的解释和说明。目的是为了让别人和自己很容易看懂。为了让别人一看就知道这段代码是做什么用的。正确的程序注释一般包括序言性注释和功能性注释。序言性注释的主要内容包括模块的接口、数据的描述和模块的功能。模块的功能性注释的主要内容包括程序段的功能、语句的功能和数据的状态。–来自百度百科 注释的分类 1.单行注释 以#开头,#右边的所有东西当做说明,而不是真正要执行的程序,起辅助说明作用 #我是注释,可以在这里写一下功能说明之类 print("我上面一行是对我的注释") 2.多行注释 多行注释是三对双引号或者三对单引号都可以,对,你没有听错是三对啊,一个都不能少,而且是单引号和双引号都可以,但是不要傻呼呼的一边三个双引号,一边三个单引号,要单引号都单引号,要双引号都双引号。 """  我是多行注释1   我是多行注释2   我是多行注释3""" print("我上面的是多行注释") 二、变量 在Python中,存储一个数据,需要定义一个变量 number1 = 1 #numbe1就是一个变量,用来保存数据:1 number2 = 2 #number2也是一个变量,用来保存数据:2 sum = number1+number2 #sum也是一个变量,用力保存1+2的值 说明: 所谓变量:就是可以改变的量。 程序就是用来处理数据的,而变量就是用来存储数据的

C++中的数据类型

好久不见. 提交于 2020-02-17 02:14:50
1. 整形 整形有4种:int、short(16位)、long(32位)、longlong(64位),每种都有signed(有符号,默认)、unsigned(无符号)两种。有符号整数可以表示非负整数,也可以表示负整数;无符号整数只能表示非负整数。 2. 字符型 字符型有Char(8位)、wchat_t(16位)、char16_t(16位unicode)、char32_t(32位Unicode)四种 3. 布尔型 Bool 逻辑类型,值为true或者false 4. 空类型void 用void定义的类型,不能用于普通变量的声明,只能用于指针型变量,函数参数和函数返回值。 5. 浮点型 Float(32位单精度浮点数):表示范围为-2 7~+2 7-1 double(64位双精度浮点数):表示范围为-2 10~+2 10-1 6. 指针类型 指针定义用<类型>*<指针变量>表示,用来描述内存地址,并通过提供指针操作来实现与内存相关的程序功能 7. 数组类型 数组类型是一种有固定多个同类型的元素按一定次序所构成的数据类型 其中一位数组用 数据类型 数组名[常量表达式] 方式表示, 二维数组用 *数据类型 数组名[常量表达式1][常量表达式2]*方式表示。 访问时注意下标是否越界,不能超出常量-1的值。 8. 结构体类型struct

C语言中关键字static的用法

女生的网名这么多〃 提交于 2020-02-17 01:53:10
在C语言中,static可以修饰变量(局部变量和全局变量)和函数 1.static修饰局部变量 作用:改变了局部变量的生命周期,让静态局部变量出了作用域依然存在,到程序结束,生命周期才结束 代码1: #include<stdio.h> void test() { int i = 0; i++; printf("%d ", i);//1 1 1 1 1 1 1 1 1 1 } int main() { int i = 0; for (i = 0; i < 10; i++) { test(); } return 0; } 代码2: #include<stdio.h> void test() { static int i = 0; i++; printf("%d ", i);//1 2 3 4 5 6 7 8 9 10 } int main() { int i = 0; for (i = 0; i < 10; i++) { test(); } return 0; } 2.static修饰全局变量 作用:改变了全局变量的作用域 使得这个全局变量只能在本源文件内使用,不能在其他源文件内使用 代码1: //sum.c int g_val = 2019; //test.c extern int g_val; int main() { printf("%d\n", g_val);//----

C++(七)指针

蓝咒 提交于 2020-02-16 23:16:58
文章目录 一、地址与指针 定义指针及初始化 二级指针 二、指针与数组 字符指针与字符数组 三、指针与动态数组 new 分配内存 delete 释放内存 一、地址与指针 日常生活中我们会问一个人住在哪,比如小明家住在XX省XX市XX县XX镇XX村,这就是其详细住址,也就是地址。 那么在程序中定义的任何变量实际上都是存在内存中的,那么他们的具体位置是多少呢,这里就涉及到了地址。就是这个变量真正存在的位置。 下面我们用代码举个例子,例如定义一个字符: char ch = ‘a’; 我们用vs的监视窗口来看下字符 ch 的地址是多少呢? 那么在使用 cout << ch; 进行输出的时候,cout 也会去从 ch 的地址开始读取一个字符,之后打印输出出来。 变量的地址一般都是比较难记的,例如:0x007f2eab 之类的,那么能不能用专门的一个东西,或者说一种特殊类型的变量来保存这个地址呢?这个特殊类型的变量就是指针。 定义指针及初始化 int* p; //声明了一个指向int类型的指针,就在类型的后面加上一个*,代表是指针类型变量的意思。 但是他没有指向任何变量的地址。 # include "stdafx.h" # include <iostream> using namespace std ; int main ( ) { //定义的时候初始化 int a = 5 ; int *

H_On Template - H_On 自制程序模板推荐

瘦欲@ 提交于 2020-02-16 22:05:13
HT-H_On 模板【ps:希望有朝一日能出一个HTL(H_On 标准模板库)呢 嘿嘿 起源 要说起猹开发这些模板的原因呢~一个是大家也知道,猹这个寒假更新了STL的介绍,两篇!可以说是人生第一次经历了大量练习获得了很多知识 要说直接原因,就是昨天打 CF 的时候 sages7 给我推荐了一个好用的 cf 小工具,可以自动爬取比赛题对外的测试数据,还可以用命令测试提交代码。然后它支持在生成的题目文件夹里生成一个编程代码模板,这个是自己给定的。正好我早就想优化一下我的那些乱七八糟的代码了,于是趁此机会,整活一天终于获得了一些收获,现在迫不及待的开始写分享博客了owo 其实我想优化代码的想法很久了,不知道大家有没有遇到这种情况,有时候会经常时不时的就需要写一些比较结构体,用来让 set 按降序排列,可是有时候是排 int 元素有时候是 long long 还有时候甚至是 string ,那么就算把比较结构体的大框架留下来,每次使用都可能需要修改一堆变量类型名,由于 STL 那些容器都可以随意的设置元素的变量类型,所以我也想整一个全类型通用比较结构体。 实际上以前什么两数交换啊,求两个数的最小公倍数这两个函数,猹也都是憨憨每次都自己手写,也经常因为变量类型不通用而烦恼。于是这次我找了好多网页,甚至查阅了源代码,最终初窥门径了! 先说说比较好用但其实没啥用的交换函数 这个函数是真的,很简单