自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

荒唐的博客

一个学生的笔记

  • 博客(28)
  • 收藏
  • 关注

原创 关于.NET、ASP.NET和ASP

发展历程1996年,ASP 1.0(Active Server Pages,即ASP)版本出现了,它引起了Web开发的新革命,降低了动态网页开发的难度。以前开发动态网页需要编写大量繁杂的C代码,编程效率非常低下,而且需要Web网页开发者掌握非常高的编程技巧。而ASP使用简单的脚本语言,能够将代码直接嵌入HTML,使设计Web网页变得简单。虽然ASP非常简单,但却能够实现非常强大的功能,这一切得益于其组件。特别是ADO组件,使得在网页中访问数据库易如反掌。这一切推动了动态网页的快速发展与建设,同时使A

2022-04-19 14:06:42 2503

转载 关于C语言中的哈希表

C语言中,没有对哈希表这类的高级数据结构进行支持,对于map,其实是以树结构来实现的,而不是以哈希表实现。Uthash是一个开源的的第三方头文件,它以宏定义的方式实现哈希表。只要将头文件uthash.h包含进去就可以使用。uthash支持:增加、查找、删除、计数、迭代、排序、选择等操作。uthash还包括三个额外的头文件,主要提供链表,动态数组和字符串。utlish.h为C结构提供了链接列表宏。utarray.h使用宏实现动态数组。utstring.h实现基本的动态字符串。u

2022-04-17 22:25:27 6540

原创 力扣13:罗马数字转整数

输入罗马数字,输出对应的整数。本文用C语言描写。

2022-04-17 13:56:42 1590 2

原创 C#文件的输入与输出

一个文件是一个存储在磁盘中带有指定名称和目录路径的数据集合。当打开文件进行读写时,它变成一个流。从根本上说,流是通过通信路径传递的字节序列。有两个主要的流:输入流和输出流。输入流用于从文件读取数据(读操作),输出流用于向文件写入数据(写操作)。(一)C# I/O 类System.IO 命名空间有各种不同的类,用于执行各种文件操作,如创建和删除文件、读取或写入文件,关闭文件等。下表列出了一些 System.IO 命名空间中常用的非抽象类:I/O 类 描述 Bin...

2021-12-07 11:22:57 1258

原创 C#异常处理

异常是在程序执行期间出现的问题。C# 中的异常是对程序运行时出现的特殊情况的一种响应,比如尝试除以零。异常提供了一种把程序控制权从某个部分转移到另一个部分的方式。C# 异常处理时建立在四个关键词之上的:try、catch、finally和throw。try:一个 try 块标识了一个将被激活的特定的异常的代码块。后跟一个或多个 catch 块。 catch:程序通过异常处理程序捕获异常。catch 关键字表示异常的捕获。 finally:finally 块用于执行给定的语句,不管异常是否..

2021-12-07 11:09:45 2793

原创 C#预处理指令

C# 编译器没有一个单独的预处理器,但是,指令被处理时就像是有一个单独的预处理器一样。在 C# 中,预处理器指令用于在条件编译中起作用。与 C 和 C++ 不同的是,它们不是用来创建宏。一个预处理器指令必须是该行上的唯一指令。一、C#预处理指令列表预处理器指令 描述 #define 它用于定义一系列成为符号的字符。 #undef 它用于取消定义符号。 #if 它用于测试符号是否为真。 #else 它用于创建复合条件指令,与 #if 一起使用。

2021-12-07 11:03:45 126

原创 C#命名空间(Namespace)

命名空间的设计目的是:使相同的命名不互相冲突。一、定义命名空间命名空间的定义是以关键字namespace开始,后跟命名空间的名称,如下所示:namespace namespace_name{ // 代码声明}为了调用支持命名空间版本的函数或变量,会把命名空间的名称置于前面,如下所示:namespace_name.item_name;二、using 关键字using关键字表明程序使用的是给定命名空间中的名称。例如,System命名空间,其中定义了类...

2021-12-07 10:59:25 2251 3

原创 C# 接口(Interface)

C#接口

2021-12-07 10:52:00 358

原创 C#多态性

多态是同一个行为具有多个不同表现形式或形态的能力。多态性意味着有多重形式。在面向对象编程范式中,多态性往往表现为"一个接口,多个功能"。多态性可以是静态的或动态的。在静态多态性中,函数的响应是在编译时发生的。在动态多态性中,函数的响应是在运行时发生的。在 C# 中,每个类型都是多态的,因为包括用户定义类型在内的所有类型都继承自 Object。(一)静态多态性C# 提供了两种技术来实现静态多态性:函数重载 运算符重载一、函数重载函数重载:在同一个范围内对相同的函数名有多个定

2021-12-05 23:21:01 382

原创 C#的继承

继承是面向对象程序设计中最重要的概念之一。继承允许我们根据一个类来定义另一个类,这使得创建和维护应用程序变得更容易。同时也有利于重用代码和节省开发时间。当创建一个类时,程序员不需要完全重新编写新的数据成员和成员函数,只需要设计一个新的类,继承了已有的类的成员即可。这个已有的类被称为的基类,这个新的类被称为派生类。一、基类和派生类一个类可以派生自多个类或接口,这意味着它可以从多个基类或接口继承数据和函数。/*C# 中创建派生类的语法如下:<访问修饰符> class

2021-12-05 23:00:29 124

原创 6 C#类

6.1 类的声明和实例化6.2 实例字段6.3 实例方法6.4 this关键字6.5 访问修饰符6.6 属性6.7 构造函数6.8 静态成员6.9 扩展方法6.10 封装数据6.11 嵌套类6.12 分部类类是自定义数据类型。正因为C#支持类以及根据类来创建对象,所以说C#是一种面向对象语言。为支持封装,C#必须支持类、属性、访问修饰符以及方法等构造。面向对象编程(OOP):面向对象编程最基本的构造是类。一组类通常能够对应现实世界中的一个概

2021-12-05 22:54:53 168

原创 C#结构体(Struct)

在 C# 中,结构体是值类型数据结构。一、定义结构体使用struct语句定义结构体。//声明Book结构struct Books{ public string title; public string author; public string subject; public int book_id;}; 二、C#结构的特点在 C# 中的结构与传统的 C 或 C++ 中的结构不同。C# 中的结构有以下特点:结构可带有方法、字段、索引、属性、运算符

2021-12-05 12:48:13 294

原创 C#字符串(String)

在 C# 中,可以使用字符数组来表示字符串,但是,更常见的做法是使用string关键字来声明一个字符串变量。string 关键字是System.String类的别名。一、创建String对象可以使用以下方法之一来创建 string 对象:通过给 String 变量指定一个字符串 通过使用 String 类构造函数 通过使用字符串串联运算符( + ) 通过检索属性或调用一个返回字符串的方法 通过格式化方法来转换一个值或对象为它的字符串表示形式using System;n...

2021-12-05 12:42:49 15486

原创 3 C#元组和数组

声明数组 初始化数组 给数组赋值 访问数组元素 使用foreach循环一、声明数组/*声明一个数组的语法:datatype[] arrayName;*/double[] balance;【说明】:datatype用于指定被存储在数组中的元素的类型。 [ ]指定数组的秩(维度)。秩指定数组的大小。 arrayName指定数组的名称。二、初始化数组数组是一个引用类型,需要使用new关键字来创建数组的实例。double[] balance = new...

2021-12-05 12:27:54 837

原创 C#方法的定义和调用

一个方法是把一些相关的语句组织在一起,用来执行一个任务的语句块。每一个 C# 程序至少有一个带有 Main 方法的类。定义方法 调用方法 递归方法调用 参数传递(一)定义方法/*C#定义方法的语法:<Access Specifier> <Return Type> <Method Name>(Parameter List){ Method Body}*/public int FindMax(int num1, int num2)

2021-12-04 23:12:41 6804

原创 C#封装——访问修饰符

C# 封装根据具体的需要,设置使用者的访问权限,并通过访问修饰符来实现。一个访问修饰符定义了一个类成员的范围和可见性。C# 支持的访问修饰符如下所示:public:所有对象都可以访问; private:对象本身在对象内部可以访问; protected:只有该类对象及其子类对象可以访问 internal:同一个程序集的对象可以访问; protected internal:访问限于当前程序集或派生自包含类的类型。一、public 访问修饰符Public 访问修饰符允许一个...

2021-12-04 22:53:40 336

原创 C#循环foreach

循环类型 描述 while循环 当给定条件为真时,重复语句或语句组。它会在执行循环主体之前测试条件。 for/foreach循环 多次执行一个语句序列,简化管理循环变量的代码。 do...while循环 除了它是在循环主体结尾测试条件外,其他与 while 语句类似。 嵌套循环 可以在 while、for 或 do..while 循环内使用一个或多个循环。 循环控制语句 描述 break语句 终止loop或switch语句,程序流将继...

2021-12-04 22:46:56 2999

原创 C#变量的定义、初始化和赋值

变量定义 变量初始化 变量赋值C# 中提供的基本的值类型大致可以分为以下几类:类型 举例 整数类型 sbyte、byte、short、ushort、int、uint、long、ulong 和 char 浮点型 float 和 double 十进制类型 decimal 布尔类型 true 或 false 值,指定的值 空类型 可为空值的数据类型 C# 允许定义其他值类型的变量,比如enum,也允许定义引用类型变量,比如class。..

2021-12-04 21:19:35 3125

原创 排序(三)——选择排序

排序

2021-11-26 20:44:58 927

原创 【王道数据结构】树的编程题(一)

1、编写后序遍历二叉树的非递归算法。算法思想:void PostOrder(BiTree T){ InitStack(S); p = T; r = NULL; while (p || !IsEmoty(S)) { if (p) { push(S, p); p = p->lchild; } else { GetTop(S, p); if (p->rchild && p->rchild != r) p =

2021-11-25 21:45:28 1672

原创 关于C语言fopen()在VS2019上不安全的问题

错误提示如下:'fopen': This function or variable may be unsafe. Consider using fopen_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. 解决方法:点击 项目->属性C/C++ ->预处理器在预处理器定义中添加,点击 编辑_CRT_SECURE_NO_...

2021-11-18 10:56:13 8069 4

原创 强制删除空文件夹

如何强制删除空文件夹

2021-11-18 09:51:57 605

原创 图的广度优先遍历

广度优先遍历(BFS) 深度优先遍历(DFS)

2021-11-14 13:35:56 6352 1

原创 图的相关概念和图的存储

基本概念 几种特殊的图 图的存储图的定义由顶点集V和边集E组成的集合。(边集可以为空,顶点集必须非空)【注意】:线性表可以是空表,树可以是空树,但是图一定是非空集。图的相关概念有向图无向图无向边(边)、有向边<弧>简单图:不存在重复边;不存在顶点到自身的边。多重图:图中某两个结点的边数多于1条,或顶点自身连向自身。度:指依附于该顶点的边的条数。(有向图的度是指入度和出度之和。)入度出度路径:两个顶点之间的一条路径,是指顶点序列。回

2021-11-13 12:42:48 703

原创 二叉排序树(BST)

二叉排序树的定义 查找操作 插入操作 删除操作 查找效率分析——平均查找长度ASL 平衡二叉树(二叉排序树的引申概念)二叉排序树的定义二叉排序树,又称二叉查找树(BST,Binary Search Tree)一棵二叉树或者是空二叉树,或者是具有如下性质的二叉树:1、左子树上所有结点的关键字均小于根结点的关键字;2、右子树上所有结点的关键字均大于根结点的关键字。左子树与右子树各是一棵二叉排序树。左子树结点值<根结点值<右子树结点值如果对二叉排序树进行中序

2021-11-11 14:16:36 6043 1

原创 树、森林的遍历

树的遍历先根遍历 后根遍历 层序遍历树的先根遍历若树非空,先访问根结点,再依次对每棵子树进行先根遍历。//树的先根遍历void PreOrder(TreeNode *R){ if(R!=NULL){ visit(R); //访问根结点 while(R还有下一个子树T) PreOrder(T); //先根遍历下一棵子树 }}先根遍历序列:ABEKFCGDHIJ用“孩子..

2021-11-11 09:03:29 3314

原创 二叉树的遍历算法

遍历:制定一个规则,按照某种次序,把所有结点都访问一遍。层次遍历 基于树的层次特性确定的次序规则 先序遍历 基于树的递归特性确定的次序规则 中序遍历 基于树的递归特性确定的次序规则 后序遍历 基于树的递归特性确定的次序规则 二叉树的递归特性:要么是个空二叉树 要么就是由“根结点+左子树+右子树”组成的二叉树先序遍历:根结点、左子树、右子树中序遍历:左子树、根结点、右子树后序遍历:左子树、右子树、根结点//typedef struct B

2021-11-08 14:37:21 555

原创 如何使用VS2019编写C语言程序

第一步:打开VS2019。第二步:点击“创建新项目”。第三步:选择空项目,点击下一步。第四步:修改项目名称和位置,点击创建。第五步:点击源文件,右键,添加,新建项。第六步:选择C++文件,,把名称处改成 .c ,点击添加。第七步:开始编写代码,按 Ctrl+B 编译,点击播放键运行。...

2021-11-08 10:36:14 17283

空空如也

空空如也

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

TA关注的人

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