- 博客(36)
- 问答 (2)
- 收藏
- 关注
原创 论坛测试报告
论坛系统采用前后端分离的方法来实现,同时使用了数据库来存储相关的数据,前端主要有四个页面构成:登录页、列表页、注册页以及编辑页,模拟实现了个人论坛列表页面,其结合后端实现了以下的主要功能:登录、编辑帖子、注销、删除帖子等功能。登录即可查看自己与其他用户已发布的帖子,也可以使用自己的账号发布,通过使用Selenium定位web元素、对获取到的元素进行操作。
2025-05-04 10:23:57
642
原创 Python---文件操作
在Python3 中默认打开文件的字符集跟随系统, 而 Windows 简体中文版的字符集采用了 GBK, 所以。,是因为本来读到的文件内容(这一行内容,末尾就带有 \n),此处使用print 来打印,优惠自动加一个换行符~如上面代码所示, 如果一直循环的打开文件, 而不去关闭的话, 就会出现上述报错.正是因为一个系统的资源是有限的,因此一个程序能打开的文件个数也是有上限的~当 with 对应的代码块执行结束,就会自动的执行f的close。在系统中,是可以通过一些设置项,来配置能打开文件的最大数目~
2025-03-18 10:51:11
856
1
原创 Python---字典
字典是一种存储的结构啥是?把 键(key)和 值(value)进行一个一对一的映射然后就可以根据键快速找到值。创建一个空的字典使用{ }表示字典注意:也可以在创建的同时指定初始值键值对之间使用分割键和值之间使用分割. (冒号后面推荐加一个空格).使用 print来打印字典内容为了代码更规范美观在创建字典的时候往往会把多个键值对分成多行来书写。最后一个键值对的分隔符 ,后面可以写也可以不写使用in可以判定key是否在 字典 中存在;
2025-03-12 18:09:58
1007
原创 Python---列表、元组篇
列表是一种让程序猿在代码中批量表示保存数据的方式。alist = [ ] //这是一个空列表列表中存放的元素允许是不同的类型. (这一点和C++ Java差别较大注意:因为 list 本身是 Python 中的内建函数, 不宜再使用 list 作为变量名, 因此命名为 alist。
2025-03-12 12:33:40
756
原创 Python---函数
在函数定义的时候可以在( )中指定形式参数" (简称形参),然后在调用的时候由调用者把实际参数" (简称实参传递进去。这样就可以做到一份函数针对不同的数据进行计算处理。sum=0sum+=iprint(sum)上面的代码中,beg, end就是函数的形参1, 100300, 400就是函数的实参。在执行的时候就相当于然后在函数内部就可以针对1-100进行运算。在执行的时候就相当于然后在函数内部就可以针对300-400进行运算。注意。
2025-03-11 10:01:11
816
原创 Python入门———条件、循环
像 C++ / Java 这些语言, 即使完全不写缩进, 语法也不会报错. 代码可读性就比较差.这个顺序是很关键的. 编程是一件明确无歧义的事情. 安排好任务的顺序, 计算机才能够正确的进行。则会出现 "我就容易毕业就失业" 这个情况。不同级别的缩进, 程序的执行效果是不同的.带来的好处就是强制要求程序猿要写明确的缩进。执行结果一定为 "123",则会出现 "我就容易找到工作".其中 "选择躺平摆烂" 称为。来明确代码之间的相对关 系.无论上述两个条件是否成立。基于缩进的方式表示代码块。
2025-03-09 21:50:48
685
原创 Python入门-----基础语法
目录常量和表达式 变量和类型:变量:变量的类型:字符串 扩展: 类型的意义: 动态类型和静态类型: 注释:定义:注释语法: 注释的规范: 输入和输出: 控制台输出:格式化字符串:控制台输入:运算符:算术运算符:关系运算符:逻辑运算符:赋值运算符: print是一个Python的内置函数。 形如 1 + 2 - 3 这样是算式, 在编程语言中称为 表达式, 算式的运算结果, 称为 表达式的返回值。 其中 1 , 2 , 3 这种称为 字面值常量, + - * / 这种称为 运算符
2025-03-09 14:19:44
651
原创 字符函数和字符串函数
求字符串长度strlen长度不受限制的字符串函数strcpystrcatstrcmp长度受限制的字符串函数介绍strncpystrncatstrncmp字符串查找strstrstrtok错误信息报告strerror字符操作内存操作函数memcpymemmovememsetmemcmp
2025-03-05 16:27:21
979
原创 指针的进阶(提高篇)
数组指针是指针?还是数组?答案是:指针。那数组指针应该是:能够指向数组的指针。例如:下面p1 和p2哪个是数组指针,哪个是指针数组?注:解释:p1先和*结合,说明p1是一个指针变量,然后指着指向的是一个大小为10个整型的数组。所以p1是一个 指针,指向一个数组,叫指针数组。这里要注意:[]的优先级要高于*号的,所以必须加上()来保证p2先和*结合。p2是指针,指向数组,所以int(*p2)[10]是数组指针。//类型:int*
2025-02-28 17:36:33
1093
原创 冯诺依曼体系结构和操作系统详解
一.冯诺依曼体系结构数学家冯·诺依曼提出了计算机制造的三个基本原则,即采用二进制逻辑、程序存储执行以及计算机由五个部分组成(运算器、控制器、存储器、输入设备、输出设备),这套理论被称为冯·诺依曼体系结构。:运算器与控制器并称为中央处理器。:存储器。:输入设备,输出设备。常见的输出设备有键盘、鼠标、网卡、硬盘、话筒、摄像头、扫描仪等;常见的输出设备有显示器、音响、网卡、硬盘、打印机等。:对我们的数据进行计算任务包括算数运算,逻辑运算。对我们的计算硬件流程进行一定的控制。:软盘,硬盘,光盘,U盘。
2025-02-28 15:03:45
988
原创 Linux | 调试器-----GDB
在liunx中如何对一段代码去进行调试呢?此时就要使用到Linux下的调试器gdb了;对于这个调试器来说,不像是VS中那样的图形化界面形式,而是采用纯命令行的形式进行调试。GDB是一个由GNU开源组织发布的、UNIX/LIUNX操作系统下的、基于命令行的、功能强大的程序调试工具。对于一名Linux下工作的c/c++程序员,gdb是必不可少的工具。
2023-07-22 22:59:22
274
原创 分布式版本控制工具----Git
可以看到,里面就有本次【commit】修改后的版本号,而且还会显示出我们本次修改的日志。包括更多的还有上面配置的【用户名】和【邮箱】以及本次提交修改的时间,都是可以查询到的。第一次进行git push的话,就出现下面这样的警告提示⚠这点的话是由于你git push没有指定分支,只有当前分支会被 push 到你使用 git pull 获取的代码。再去【git push】一下就可以发现不会出现像刚才那样的问题,也就推送成功。会出现下面的情况,输入的账号、密码是你所注册时候的账号、密码。下面的就代表成功了。
2023-07-22 12:12:40
132
原创 Linux第一个小程序-进度条
因为打印的均为字符,那么10就算是有2个字符,所以我们每次在打印只需要预留出2个字符的位置就可以了,这样第一次打印10刚好占满两个字符的空间,后面在打印9 8 7...的时候虽然只有一个字符,但是还有一个预留的空间,所以就会把上一次打印的内容进行一个。我们将整体进度条看作是一个字符串,现在要实现从0% ~ 100%的进度条扩展,因为是字符串,最后结尾还有一个`'\0'`;在计算机内部,会将你输入的一些整型数字首先转换为字符串的形式,然后去遍历这个字符串,用putc()这个函数将字符一一地打印在显示器上。
2023-07-21 18:00:54
338
原创 项目自动化构建工具-make/Makefile
make/makefile是什么?你们如果是到了那些大型工程中,编写具有上千、上万条代码,一次编译完成之后又修改源代码,接着再想进行编译,此时便需要重新敲入指令,工作就会变得繁琐。在VS中,我们可以无限地修改自己的代码,然后随时编译运行,不需要考虑这些复杂的原理。
2023-07-19 17:09:47
319
原创 Linux编译器-gcc/g++使用
gcc(GNU Compiler Collection,GNU编译器套件)是由 gnu 开发的编程语言 译器。gnu 编译器套件包括C、C++、Objective-C、Java、Ada 和 Go 语言前端,也包括了这些语言的库(如 libstdc++,libgcj等)。gcc 不仅支持 C 的许多“方言”,也可以区别不同的 C 语言标准;可以使用命令行 选项来控制编译器在翻译源代码时应该遵循哪个 C.静态库是指编译链接时把库文件的代码全部加入到可执行文件中因此生成的文件比较大。
2023-07-18 15:22:22
297
1
原创 liunx中yum,rzsz及开发工具(vim)
vi(visual editor)编辑器通常被简称为vi,它是Linux和Unix系统上最基本的文本编辑器,类似于Windows 系统下的notepad(记事本)编辑器。文件保存或退出,也可以进行文件替换,找字符串,列出行号等操作。该模式是我们后面用的最频繁的编辑模式。控制屏幕光标的移动,字符、字或行的删除,移动复制某区段及进入。注意:在vim分屏模式下,光标在哪里,我们就在编写哪一个文件。以上只是关于vim的冰山一角,有想了解、精通vim的可以前往。还有许多其他的,可以在CSDN上自行搜索。
2023-07-06 15:29:16
807
1
原创 liunx权限(详解)
在liunx系统中,gcc是一款编译器,软件,不代表其他liunx系统上运行的其他软件系统不需要后缀,(把文件给别人需要征求别人的意见,但root不需要,直接 chown 用户名 文件名)文件的类型:liunx系统中文件名的后缀没有直接的含义。(当然:不代表不用)权限的位置是固定的,第一个是r 第二个是w 第三个是x。就像管理员(root)和普通用户,他们的所拥有的权限不同。向权限范围增加权限代号所表示的权限。向权限范围取消权限代号所表示的权限。向权限范围赋予权限代号所表示的权限。
2023-07-02 17:27:07
229
1
原创 c++命名空间
中,变量、函数、类等都是大量存在的,这些变量、函数和类的名称将都存在于全局作用域中,可能会导致很多冲突。使用命名空间的目的是。注意:当定义多个命名空间且域名一样时候,就像合并在一个域中,同一个命名空间里变量名冲突就会报错。域的顺序:局部域>全局域>展开的命名空间域(暴露在全局域) or 指定访问的域。1).直接展开会有风险,我们定义的如果跟库名一样就会报错。命名空间中的所有内容都局限于该命名空间中。3).建议指定访问,不要轻易展开命名空间。最先运行的是局部域里面的。中即为命名空间的成员。
2023-05-22 18:23:39
78
原创 VS-实用调试技巧
在电脑系统或程序中,隐藏着的一些未被发现的缺陷或问题统称为bug(漏洞)。也称为缺陷 、臭虫。第一次被发现的导致计算机错误的飞蛾,也是第一个计算机程序错误。
2022-08-11 09:02:06
1457
原创 进阶-指针
经判断条件符合,进入--vp;没有调整,在判断,则vp接着--,一直下去,直到vp到values[0]的地址,这时不满足判断条件,结束循环。允许指向数组元素的指针与指向数组最后一个元素后面的那个内存位置的指针比较,但是不允许与指向第一个元素之前的那个内存位置的指针进行比较。* *pa -- * 告诉我们*ppa是指针,int*说明pa指向是int*类型的数据。野指针就是指针指向的位置是不可知的(随机的、不正确的、没有明确限制的)。平时口语中说的指针,通常指的是指针变量,是用来存放内存地址的变量。...
2022-08-03 19:54:07
143
4
原创 C语言操作符详解
1.算术操作符2.移位操作符3.位操作符4.赋值操作符5.单目操作符6.关系操作符7.逻辑操作符8.条件操作符9.逗号表达式10.下标引用、函数调用和结构成员。
2022-08-02 09:41:00
336
5
原创 轻松玩转三子棋
先把主函数写出来:再从test函数里嵌套: 第五步:判断输赢游戏是过程,最终得有个输赢,结果有:玩家赢,电脑赢,平局然后输出结果,为了方便:玩家赢 输出 *电脑赢 输出 #平局 输出 Q如果还想接着玩就输出 C在test.c中while的循环里进行变动,经过刚开始的博弈后,玩家再下一次的时候进行判断,判断玩家是否赢了,如果赢了就break跳出,输出 * ; 如果玩家没赢,电脑下一次,判断电脑是不是赢了,如果是电脑赢
2022-07-02 23:16:16
759
6
原创 C语言数组
目录一维数组:一维数组创建:一维数组初始化:一维数组在内存中的存储:二维数组:二维数组的创建:二维数组初始化: 数组的越界:数组名: 冒泡排序:赋值1~10数组的大小也是可以计算的: 随着数组下标的增长,元素的地址,也在有规律的递增。 想打印出这个 int arr[3][5]={{1,2},{3,4},{5,6}};代码如下: 二维数组的存储:二维数组在内存中也是连续存放的。数组名: 如果顺序正确,那只是在交换,可以优化一下:以上
2022-06-28 21:19:25
353
3
原创 C语言函数
自定义函数也是像库函数一样由函数名,返回值类型和函数参数组成。 如:写一个两者比较大小值的函数。 交换整型变量的函数: 当实参传给形参的时候,形参是实参的一份临时拷贝,对形参的修改不会影响实参。swap1:在调用过程中,我们将a和b的数值传给了x,y。然后在函数内将x,y进行数值交换,但没有改变原来的a,b。因为x,y是形参,用完了就销毁的东西,仅仅是用于临时储存原来的数值,所以根本不能改变a,b的值。swap2:在调用过程中,传的是地址,将地址传给指针*px,*py。*px即a的地址,*py即
2022-06-28 07:42:58
384
6
原创 分支语句和循环语句详解
分支语句if语句if(表达式1)语句1;else if(表达式2)语句2;else if(表达式3)语句3;#define<stdio.h>int main (){ int score=0; csanf ("%d",&score); if(score>=60) printf ("及格"); else if(score>60&&score<80)printf ("优异")...
2022-04-26 22:16:52
154
9
原创 初识C语言(三)
指针#include <stdio.h> int main() { int a = 10;//在内存中开辟一块空间 int *p = &a;//这里我们对变量a,取出它的地址,可使用&操作符。 //a变量占用4个字节的空间,这里是将a的4个字节的第一个字节的地址存放在p变量 中,p就是一个之指针变量。 *pa=100;printf("%d\n",a);//这时候就可以打印出100return 0; }int mai...
2022-04-26 20:58:11
1138
4
原创 初识C语言(二)
一.字符串+转义字符+注释1.字符串#include<stdio.h>int main(){ char arr1[] = "abc"; char arr2[] = {'a', 'b', 'c'}; char arr3[] = {'a', 'b', 'c', '\0'}; printf("%s\n", arr1); printf("%s\n", arr2); printf("%s\n", arr3); return 0; }...
2022-04-19 20:38:25
731
8
原创 初识C语言(一)
一.第一个c语言程序写c语言代码,首先写出主函数。一般的主流写法#include <stdio.h>int main (){ printf(" "); return 0;}printf是一个c语言提供的库函数,库函数的使用得包含对应的头文件。printf作用:专门用来按照某种指定的格式来打印如;想打出heheprintf("hehe\n")其中的\n是换行符其中的main函数是主函数,主函数有且仅有一个二:数据类型char
2022-04-18 20:45:16
2584
7
原创 对于学习c语言
WHO? 我是一个双非本科大一学生。一个对IT领域充满好奇,一个想在IT领域有自己的一席之地的小萌新。WHY? 初入大学的我,选择计算机类专业。面对c语言,很懵懂。有得人说:c生万物,c语言是编程之本。对此,有点嗤之以鼻。但查询过java,python等才发现我才是那个小丑。在查询TIOBE排行榜中,C/C++已经连续占榜前三名,在这快速更替的时代里。这不得不说:经典永不过时!!!新的世界: 想要实现自己的梦想,哪能不吃些苦,走些坎坷的路呢?编程目标:...
2021-12-11 18:09:58
4514
编写程序求一个四位数并输出
2021-11-14
横着输出任意个任意行的三角形
2021-11-01
TA创建的收藏夹 TA关注的收藏夹
TA关注的人