自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 谈谈我所了解的测试工具

常见的测试工具包括:JMeter、LoadRunner、Selenium、Appium、Postman、SoapUI等,它们一般是用于自动化测试、压力测试、性能测试、接口测试、移动端测试等。

2023-04-18 14:35:17 83 1

原创 谈谈我所使用过的编程语言,编程工具

C语言和JAVA都是比较常见的编程语言,它们的优势各有不同。C语言是一种面向过程的编程语言,它的优势在于它能够进行内存管理、系统编程等底层操作,因此在开发系统软件、嵌入式设备、驱动程序等方面都有很好的表现。JAVA是一种面向对象的编程语言,它的优势在于它具有跨平台性、安全性高、简化了内存管理、易于学习等特点,因此在开发大型应用程序、网络应用、游戏开发等方面表现出色。同时,C语言和JAVA都有自己的编程范式和编程思想,需要根据实际需求进行选择。C++则是在C语言的基础上更进一步。

2023-04-18 14:32:26 92

原创 软件工程基础三问

1.什么是模块化,为什么要模块化?模块化是指将一个大型软件系统分解为若干个独立的、可重用的模块,每个模块都有明确的接口和功能,可以独立进行开发、测试和维护。模块化的优点包括:1.提高代码复用性:将功能相似的代码封装在一个模块中,可以在不同的项目中重复使用,避免重复造轮子。2.提高可维护性:模块化使得软件系统的结构更加清晰,易于理解和维护。3.提高开发效率:每个模块可以由不同的开发人员独立开发、测试,缩短开发周期。提高系统的可扩展性:通过添加或替换模块,可以轻松扩展系统的功能。总之,模块化

2023-03-29 16:39:24 381

原创 顶层与0层

题目描述:某培训机构入学管理系统有报名、交费和就读等多项功能,下面是对其各项功能的说明:1、报名:由报名处负责,需要在学院登记表上进行报名登记,需要查询课程表让学员选报课程,学院所报课程将记录到学员选课表2、交费:由收费处负责,需要根据学员所报课程的收费标准进行收费,然后在账目表上记账,并打印收款收据给办理交费的学员3、就读:由培训处负责,其在验证学员收款收据后,根据学员所报课程将学员安排到合适班级就读。画出入学管理系统的顶层图和0层图

2023-03-29 16:38:13 102

原创 如果要开发一个中小学生学习数学的软件,应该找谁去做用户调研?

如果我要开发一个中小学生学习数学的软件,我会找学校、老师、家长和学生进行用户调研。其中,学校和老师可以提供有关数学教学的专业知识和教学方法,家长可以提供对孩子学习数学的需求和期望,学生可以提供对数学学习的真实体验和反馈。通过与不同角色的用户进行深入交流和调研,可以更好地了解用户需求和痛点,从而为用户提供更符合他们实际需要的数学学习软件。

2023-03-28 20:16:11 70

原创 C++11

左值引用只能引用左值,不能引用右值。但是const左值引用既可引用左值,也可引用右值。int main()//左值引用只能引用左值,不能引用右值int a = 10;//a1为a的别名,a是左值编译报错,引用的是10(右值)//加const后的左值引用,可以引用左值,也可以引用右值int b = 7;//const修饰后为常量,可以从常量转换为常量return 0;右值引用只能右值,不能引用左值。但是右值引用可以move以后的左值。

2023-03-23 15:42:47 290 18

原创 分而治之与WBS

WBS(工作分解结构)是Work Breakdown Structure的英文缩写,是项目管理重要的专业术语之一。WBS的基本定义 :以可交付成果为导向对项目要素进行的分组,它归纳和定义了项目的整个工作范围每下降一层代表对项目工作的更详细定义。无论在项目管理实践中,还是在PMP,IPMP考试中,工作分解结构(WBS)都是最重要的内容之一。WBS总是处于计划过程的中心,也是制定进度计划、资源需求、成本预算、风险管理计划和采购计划等的重要基础。WBS同时也是控制项目变更的重要基础。

2023-03-20 17:53:06 77 1

原创 结对编程的理解

结对编程能够提高编程效率,虽然看似两个人来完成一个人的事,但是会减少bug的出现,提高程序运行的效率,而且一个人编,一个人思考,会避免一些错误的发生;但结对需要一个明确的目标,完成某段代码或功能。避免双方为了结对而结对,在一起闲聊,磨洋工。

2023-03-20 17:40:20 46

原创 读《现代软件工程基础》后三问

提出以下问题 感兴趣的原因: 第一次意识到原来只和电脑打交道的职业,竟然也要对社会负责任,是国家需求与社会需要,是职业道德与工匠精神,也是伦理道德与社会影响驱使着软件工程师扛起责任 感兴趣的原因:以前只知道造车造船造飞机等实物需要构建模型,看到了书里才知道,原来非实体也能构造出结构框架,对其进行抽象描述 感兴趣原因:在现实生活中的商品需求,都很容易就能明白理解,但是对于软件需求,这类对网络虚拟的需求,第一次接触,仿佛比现实中需求更难以理解

2023-03-20 17:25:20 221

原创 什么是DevOps?

最初大家说到DEVOPS,都是指‘开发运维一体化’。随着时代的发展和变迁,现在大家说的DevOps已经是扩大到“端到端”的概念了 。DevOps 的三大支柱之中,即人(People)、流程(Process)和平台(Platform)。即DevOps = 人 + 流程 + 平台人 + 流程 = 文化流程 + 平台 = 工具平台 + 人 = 赋能

2023-03-20 17:04:02 55

原创 软件工程方法论对我们经软件开发有多大用处?

在我看来,软件工程这门课程不是教会不怎么会写程序的人开发软件,而是一门教会会写代码的人如何进行软件开发。它教会和启发我们开发软件的思想,设计软件我们应该注意什么,要考虑什么,让我们的在开发软件的时候考虑的更加全面。主要是面向有编程基础的人开发软件的。

2023-03-12 20:57:39 46

原创 软件工程是不是教会不怎么会写程序的人开发软件?

在我看来,软件工程这门课程不是教会不怎么会写程序的人开发软件,而是一门教会会写代码的人如何进行软件开发。它教会和启发我们开发软件的思想,设计软件我们应该注意什么,要考虑什么,让我们的在开发软件的时候考虑的更加全面。主要是面向有编程基础的人开发软件的。

2023-03-12 20:53:56 44

原创 哈希

哈希

2023-02-15 15:52:42 6529 20

原创 map和set

map和set

2023-01-12 19:18:24 690 30

原创 二叉树进阶

二叉搜索树

2022-12-24 22:15:25 476 27

原创 多态

重定义。

2022-10-29 20:47:13 974 26

原创 继承

继承基类成员访问方式的变化类成员/继承方式public继承protected继承private继承基类的public成员派生类的public成员派生类的protected成员派生类的private的成员基类的protected成员派生类的protected成员派生类的protected成员派生类的private成员基类的private成员在派生类中不可见在派生类中不可见在派生类中不可见基类可以称作父类,派生类可以称作子类基类private成员在派生类中无论以什么方式继承都是不可见的。

2022-10-05 01:29:16 323 26

原创 模板进阶

模板进阶

2022-09-19 00:41:24 448 32

原创 stack和queue

一、stack一、stack。

2022-09-13 22:19:42 97 1

原创 list

一、list的使用一、list的使用二、list的模拟实现。

2022-08-05 20:05:58 105 3

原创 vector

一、vector的使用一、vector的使用1.1vector的定义。

2022-07-30 19:44:23 403 27

原创 string类

二、string类的模拟实现。容量(capacity)

2022-07-17 11:19:44 371 30

原创 模板

1.2 函数模板实例化1.2.1隐式实例化1.2.2显示实例化 1.3 模板参数的匹配原则1.一个非模板函数可以和一个同名的函数模板同时存在,而且该函数模板还可以被实例化为这 个非模板函数 2.对于非模板函数和同名函数模板,如果其他条件都相同,在调动时会优先调用非模板函数而 二、类模板 2.1 类模板的定义格式 2.2 类模板的实例化三、模板的分离编译...

2022-07-12 23:27:45 148 13

原创 C/C++内存管理

一、C/C++内存分布int a = 1;static int b = 2;void TEST(){ static int c = 3; int d = 4; int arr1[4] = { 1,2,3,4 }; char arr2[] = "abcd"; const char* arr3 = "abcd"; int* p1 = (int*)malloc(sizeof(int) * 10); int* p2 = (int*)calloc(4, sizeof(int)); in

2022-06-01 13:47:11 135 12

原创 类和对象(三)

一、构造函数补充1.1 初始化列表创建对象时,编译器通过调用构造函数,给对象中各个成员变量一个合适的初始值。但是不能将其称作为类对象成员的初始化,构造函数体中的语句只能将其称作为赋初值,而不能称作初始化。因为初始化只能初始化一次,而构造函数体内可以多次赋值。所以初始化,就需要初始化列表。class Date{public: Date(int year, int month, int day) :_year(year)//初始化列表里定义 , _month(month) , _

2022-05-28 17:20:33 163 19

原创 类与对象(二)

一、构造函数构造函数是一个特殊的成员函数,名字与类名相同,创建类类型对象时由编译器自动调用,保证每个数据成员都有 一个合适的初始值,并且在对象的生命周期内只调用一次。构造函数的名称虽然叫构造,但是需要注意的是,构造函数的主要任务并不是开空间创建对象,而是初始化对象。1.1 构造函数的特性函数名与类名相同。 无返回值。 对象实例化时编译器自动调用对应的构造函数。 构造函数可以重载无参构造函数class Date{public: //无参构造函数 Date

2022-05-21 13:19:26 2687 33

原创 类与对象(一)

一、类的定义C语言中,结构体中只能定义变量,在C++中,结构体内不仅可以定义变量,也可以定义函数。 C++同时对struct进行了升级,把struct 升级成了类1、结构体名称可以做类型2、里面可以定义函数//结构体的定义,在C++中更喜欢用class来代替class U{ int a; char b; int add(int x, int y) { return x + y; }};class为定义类的关键字,类中的元素称为类的成员:类中的数据称为类的属性

2022-05-15 15:24:54 396 35

原创 C++入门

一、命名空间命名空间的作用:对标识符的名称进行本地化,以避免命名冲突或名字污染大量的变量、函数和类的名称存在于全局作用域中,可能会导致很多冲突。这时候就需要命名空间,namespace关键字的出现就是针对这种问题的。1.1 命名空间定义namespace C1//C1为命名空间名称{ //命名空间内,既可以定义变量,也可以定义函数 int a; int b(int x,int y) { return x * y; }}注意:1.命名空间可以嵌套 2

2022-05-14 16:43:20 494 24

原创 排序

一、常见排序算法1.冒泡排序法void BubbleSort(int* a, int n){ for (int i = 0; i < n - 1; i++) { int exchange = 0; //优化,如果一趟循环后并没有交换位置,则证明已有序 //不用再进行后面的排序 for (int j = 0; j < n - i; j++) { if (a[j] > a[j + 1]) { exchange = 1; in

2022-04-27 21:22:38 569 30

原创 二叉树

一、树的概念1.树的相关概念节点的度:一个节点含有的子树的个数称为该节点的度; 如上图:A的为6 叶节点或终端节点:度为0的节点称为叶节点; 如上图:B、C、H、I...等节点为叶节点 非终端节点或分支节点:度不为0的节点; 如上图:D、E、F、G...等节点为分支节点 双亲节点或父节点:若一个节点含有子节点,则这个节点称为其子节点的父节点; 如上图:A是B的父节点 孩子节点或子节点:一个节点含有的子树的根节点称为该节点的子节点; 如上图:B是A的孩子节点.

2022-04-18 15:37:05 1348 27

原创 栈和队列

一、栈1.栈的概念及结构栈:一种特殊的线性表,其只允许在固定的一端进行插入和删除元素操作。进行数据插入和删除操作的一端称为栈顶,另一端称为栈底。栈中的数据元素遵守后进先出LIFO(Last In First Out)的原则。 压栈:栈的插入操作叫做进栈/压栈/入栈,入数据在栈顶。 出栈:栈的删除操作叫做出栈。出数据也在栈顶。遵守 后进先出 原则2.栈的实现栈的实现一般可以使用数组或者链表实现,相对而言数组的结构实现更优一些。因为数组在尾上插入数据的代价比较小。

2022-04-01 15:57:31 149 16

原创 数据结构阶段练习题

一、struct ListNode* removeElements(struct ListNode* head, int val){struct ListNode* prev = NULL;struct ListNode* cur = head;while(cur){ if(cur->val != val) { prev = cur; cur = cur->next; } else { st

2022-03-28 15:48:13 1406 17

原创 顺序表和链表

一.顺序表1.概念及结构顺序表是用一段物理地址连续的存储单元依次存储数据元素的线性结构,一般情况下采用数组存储。在数组上完成数据的增删查改。顺序表可分为:1. 静态顺序表:使用定长数组存储元素。 2. 动态顺序表:使用动态开辟的数组存储。2.动态顺序表的实现SeqList.h#pragma once#include <stdio.h>#include <assert.h>#include <string.h>#inc

2022-03-28 15:46:54 1280 27

原创 算法的时间复杂度和空间复杂度

衡量一个算法的好坏,一般是从时间和空间两个维度来衡量的,即时间复杂度和空间复杂度。 时间复杂度主要衡量一个算法的运行快慢,而空间复杂度主要衡量一个算法运行所需要的额外空间。一、时间复杂度int function(int n){ int count = 0; for (int i = 0; i < n; i++) { for (int j = 0; j < n; j++) { count++; } } for (int k = 0; k &lt...

2022-03-09 22:01:00 646 28

原创 程序环境和预处理

一、预处理详解1.预定义符号符号 打印出 __FILE__ 进行编译的源文件 __LINE__ 文件当前的行号 __DATE__ 文件被编译的日期 __TIME__ 文件被编译的时间 __STDC__ 如果编译器遵循ANSI C,其值为1,否则未定义 使用:int.

2022-03-01 20:34:27 389 32

原创 文件操作.

一.文件文件有两种:程序文件、数据文件(从文件功能的角度来分类的)程序文件:源程序文件(后缀为.c),目标文件(windows环境后缀为.obj),可执行程序(windows环境 后缀为.exe)数据文件:文件的内容不一定是程序,而是程序运行时读写的数据,比如程序运行需要从中读取数据的文件, 或者输出内容的文件这篇文章主要讨论的是数据文件文件名:文件标识常被称为文件名,以便用户识别和引用。文件名包含3部分:文件路径+文件名主干+文件后缀 例如:

2022-02-24 18:35:38 566 31

原创 动态内存管理

一.动态内存函数的介绍1.malloc和freemalloc函数void* malloc (size_t size)这个函数向内存申请一块连续可用的空间,并返回指向这块空间的指针。 规定:1.如果开辟成功,则返回一个指向开辟好空间的指针。 2.如果开辟失败,则返回一个NULL指针,因此malloc的返回值一定要做检查。 3.返回值的类型是 void* ,所以malloc函数并不知道开辟空间的类型,具体在使用的时候使用者自己来决定。 4.如果参数 size 为0

2022-02-21 14:22:57 128 23

原创 自定义类型:结构体,枚举,联合

一、结构体1.特殊声明在声明结构的时候,可以不完全的声明。(在声明的时候可以省略掉结构体标签(tag))#include <stdio.h>struct{ char name[10]; char sex[5]; int age;}x;//只能在定义结构体类型的同时定义变量,且只能用一次。struct{ char name[10]; char sex[5]; int age;}*y;int main(){ y = &x;//该代码是不合法的。

2022-02-17 14:24:03 791 23

原创 字符函数和字符串函数

一、strlensize_t strlen ( const char * str )注意点:1.参数指向的字符串必须要以 '\0'结束。2.注意函数的返回值为size_t,是无符号的 (易错)#include <string.h>#include <stdio.h>int main(){ char arr1[] = "abc"; char arr2[] = "abcdef"; if (strlen(arr1) - strlen(arr2) ...

2022-01-27 22:34:05 1602 33

原创 力扣错题集

一、哈希表:#define MAX_SIZE 1024int* intersection(int* nums1, int nums1Size, int* nums2, int nums2Size, int* returnSize) { int* hash = (int*)calloc(MAX_SIZE, sizeof(int)); int* res = (int*)calloc(MAX_SIZE, sizeof(int)); for (int i = 0; i &.

2022-01-24 12:34:40 2601 2

空空如也

空空如也

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

TA关注的人

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