自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

qq_38917783的博客

一个新手的编程知识总结

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

原创 基于MFC实现一个简单的计算器

这是带我的师傅当时给我布置的第一个任务,因为我之前没有接触过MFC编程,所以师傅说那先布置一个简单的任务熟悉一下MFC编程的大致过程。于是给我说了一个题目:基于MFC实现一个简单的计算器。这篇文章主要是对我的第一个关于MFC编程任务进行的一个总结,主题是基于MFC框架实现一个简单的计算器。因为是第一个任务,所以实现的比较简单,布局也比较简单,只实现了四则基本运算功能。如下图所示是对于这个任务的自己所想的布局,最初自己的设想是输入第一个运算的数到第一个编辑框中,输入运算符到第二个编辑框中,输入到.

2020-10-18 00:36:38 1356

原创 基于MFC实现特定文件中特定内容的获取及修改,以及对文件名称及存储路径的修改

上一篇文章中已经介绍了关于文件的浏览及内容读取功能,本篇文件是对上一篇文章的补充和拓展。主要所要讲述的内容是读取特定文件中的特定内容,并对特定内容进行一些修改,完成修改后将文件的内容进行重新存储,并对文件名称进行一个修改。下面开始详细介绍一下有关内容。// SelectFilesDlg.cpp : 实现文件//#include "stdafx.h"#include "SelectFiles.h"#include "SelectFilesDlg.h"#incl...

2020-10-16 22:22:43 652

原创 基于MFC(VS2012)实现文件浏览及文件内容读取功能(含代码)

前两天,带我的师傅给我布置了一个任务,要求自己设置一个工程,可以编成可执行文件的,然后功能实现是通过按钮读取硬盘中的相关文件,然后对文件内容进行读取并且进行修改。我会对过程进行一个总结,并会附上实现的相关代码。因为这是我目前才开始接触MFC,所以很多需要调用的函数的功能不清楚,所以只能是参考网上的一些函数功能介绍来完成这个任务。本来这个任务不难,但是由于我前期学习过C++,但是很长一段时间都再没有使用并进行练习,所以导致我完成任务的进度比较缓慢。其实在这个任务布置前期我接到的是另外一个任务,但是由于自己

2020-08-01 15:25:53 878

原创 排序算法总结一(直接插入排序与希尔排序)

排序算法在编写代码的过程当中应用十分广泛,作用非常重要。它的作用就是将一个排序混乱的序列按照一定的规则排列有序。下面一张图基本可以清晰的表示排序算法的分类(有几个不常用的排序算法没有填写)。今天就是总结一下八大主要的排序算法的使用范围,同时也从稳定性、时间复杂度、空间复杂度等方面分析一下这几个主要的排序算法。所谓稳定性,就是在待排序的文件中,当存在多个关键字相同的记录时,经过排...

2020-04-25 12:46:01 538

原创 总结字符串匹配算法(KMP算法)

什么是KMP算法呢?KMP算法是一种改进的字符串匹配算法,其核心是利用匹配失败后的信息,尽量减少模式串与主串的匹配次数以达到快速匹配的目的。具体实现是通过一个next()函数实现,函数本身包含了模式串的局部匹配信息。 KMP算法的时间复杂度O(m+n)。如下图所示,假设有两个字符串,假设将字符串Ar称之为主串,将字符串称为模式串,现在使用一个算法去判断模式串是否与主...

2020-04-25 12:42:33 412

原创 C++中常见的三种设计模式

学习C++已经很长时间了,但是学过之后就没有在复习过,在近期的面试过程中总是因为一些基础知识掌握不牢固导致面试过不了,于是我又重新复习了一下基础知识,顺便整理一下知识点,让自己的基础更牢固一些。今天主要总结的知识点是关于C++中常用的设计模式中的三种,分别是单例模式、工厂模式和观察者模式。1、单例模式其作用是保证一个类只有一个实例,并且提供一个访问它的全局访问点,使得系统中只有唯一的一...

2020-04-25 12:41:56 2121

原创 排序算法总结二(冒泡排序和快速排序)

上一篇文章总结了插入排序中的直接插入排序和希尔排序,本篇文章总结一下 排序算法中的交换排序,其中包括冒泡排序和快速排序。

2020-04-25 12:40:05 554

原创 试题练习总结(求进制)

有这样一个例题:假设在N进制下,使下面的等式成立,567 * 456=150216。请求出N的值为()。A、9 B、10 C、12 D、18生活中我们大都是用到的十进制,所以我们先对十进制进行判断。假设为十进制,为了简便咱们只计算最后一位数,即7*6=42,2不等于6,则说明不是十进...

2019-08-17 21:28:31 174

原创 斐波那契数列的两种解决方案

什么是斐波那契数列呢?斐波那契数列,又称黄金分割数列,指的是这样一个数列{1,1,2,3,5,8,13,21,34,55,89,144……},因数学家列昂纳多·斐波那契以研究兔子繁殖问题为例子而引入,故又称为“兔子数列”。通过观察该数列,你会发现该数列的规律,即从第三个数开始,每一个数都是它前面的两数之和。若使用数学中的通项公式表示该数列,则应该表示为F(n)=F(n-1)+F(n-2) ...

2019-08-11 15:30:27 245

原创 select、poll、epoll知识点总结

经过几天的学习,我了解了Linux条件下几个实现I/O复用的系统调用关键函数,分别是select、poll与epoll,本次就学习到的关于几个函数的知识点总结一下。这三个函数调用其实实现的功能都是一样的,但是它们的使用又是有一些区别的。1、select其调用原型如下所示:int select(int nfds,fd_set* readfds,fd_set* writefds,fd...

2019-08-09 20:12:09 492

原创 文件的编译链接过程

有人或许会有疑问,编辑器里面的代码是怎样变成可执行文件的?今天在这里总结一下文件的编译链接过程。首先看一下编译与链接的定义。所谓编译,就是把高级编程语言变成计算机可以识别的2进制语言,计算机只认识1和0,编译程序会把人们所熟悉的高级编程语言换成机器可以识别的2进制的机器语言,这样的转换过程就叫编译。所谓链接, 就是把目标文件、代码中用到的库文件和操作系统中的代码文件合并,组织起来转换成二进制的...

2019-07-30 19:40:31 231

原创 写时拷贝知识点整理

写时拷贝技术,通俗的讲就是在写的时候(改变字符串的时候)才会真正的开辟空间进行拷贝(此时就是深拷贝),如果是在数据读时就拷贝的话,则只会对数据进行拷贝,此时就会造成浅拷贝。这是对程序的性能优化,运用写时拷贝技术的目的就是为了避免不必要的内存拷贝。str1与str2同时指向这一块空间,引用计数n应该等于2,表明系统已经知道有两个指针指向了同一块内存。当需要str2指针进行操作时,指...

2019-07-28 19:44:29 445

原创 试题练习总结(指针加法)

例题:有下列一段代码,请说明p++的含义()int arr[10]={1,2,3,4,5};int *p=arr;*p=10;p++;*p=20;A、加一个字节 B、加一个单元格 C、加一个数组这道题的正确答案是B。解析如下:先...

2019-07-28 12:39:45 179 1

原创 试题练习总结(静态成员的初始化)

例题:在下面的定义中,应填入的内容是()class A{public: void printf() { cout << DATA << endl; } void setData(double d) { data = d; } static int count;private: double d;}; count = 0...

2019-07-26 21:04:32 230

原创 试题练习总结(公有、私有、保护)

例题:下面表述中,表达正确的是()A、公有继承是基类中的public成员在派生类中仍是public的B、公有继承是基类中的private成员在派生类中仍是private的C、公有继承是基类中的protected成员在派生类中仍是protected的D、私有继承是基类中的public成员在派生类中仍是private的这个题我当时选的答案是AC,正确答案是ACD。下面是本题的解析:...

2019-07-26 19:39:12 531

原创 浅析continue、break、goto的区别

一些学过的编程的人应该听过或者了解过continue、break、goto这几个循环语句,或许有人还对它们的用法不太熟悉。它们都属于循环语句,但是每一个语句都有不同的用法和作用效果。今天,我们就来简单的分析一下continue、break、goto的区别。1、continue,译为中文是“继续”。它的作用与用法和break有些类似。它的作用是当循环符合要求以后,结束本次循...

2019-07-24 19:59:29 2407

原创 关于动态内存的一些知识点整理

在我们创建代码的过程中,我们经常会用到动态内存。下面我们了解一下关于动态内存的一些关键函数。首先看一下动态内存里面的几个关键函数,它们分别是malloc、calloc、realloc和free。 1、malloc函数的作用是专门用于申请内存的。这个函数需要一个参数n*sizeof(int),表示需要开辟的动态内存的大小。如果动态内存申请成功,则函数的返回值就是所...

2019-07-23 20:41:50 213

原创 Linux下C语言、C++的编译过程

经过前一段时间的学习,我了解了在Linux条件下C语言和C++程序的编译过程以及所涉及到的编译使用命令,今天我就来总结一下这些内容。首先我们来了解一下在x86条件下一个文件的编译过程:预编译期的作用:(1)删除注释;(2)处理预处理指令;(3)将包含的头文件展开。 编译期的作用:(1)语法分析;(2)语义分析;(3)汇总符号。 汇编期的作用:(1)将汇编指令翻译成二进制文件;(...

2019-03-23 16:06:34 516

原创 关于对const的一些认识

首先在了解const的相关用法之前,大家先了解两个概念:左值:位于赋值符号的左边,具有写权限(即可以更改原来的值):右值:位于赋值符号的右边,具有读权限(只能查看原来的值)。int a=10; //可读可写 即在后面的程序中可以更改a的值const int a=10; //常变量,只可读不可写,不可以在后面的程序中更改a的值const的相关特点:(1)限定了写权限,...

2019-03-16 00:06:35 102

原创 进程间的通讯方式之一(管道文件)

经过对linux的初步学习,我认识到进程是linux中非常重要的一部分。今天我们就来总结一下关于进程的一些基本知识。我们今天要总结的内容是进程间的通讯方式中的一种——管道文件。我们先了解一下管道文件的定义:负责将一个进程的信息传递给另一个进程,从而使该进程的输出成为一个另一个进程的输入的内存部分,这样的文件被称作命名管道文件,又称管道文件(摘自百度百科)。简单的说,管道就是一个文件,只存在于内...

2019-03-06 17:15:44 712

原创 对于Linux的初步认识

这是我在正式学习了关于Linux操作系统的课程后的第一篇博客,下面我简单介绍一下我已经了解到的一些关于Linux的基本知识,有什么不对的地方还请各位指正。首先给大家介绍一句话,算是“名言”吧:Linux下一切皆文件。从这句话我们能够得到一个关于Linux特点的明确信息:在Linux操作系统下所有的东西都是以文件的形式所存储的,这跟Windows操作系统是不一...

2018-11-13 22:34:09 1646

原创 宏定义与类型定义的区别

先来看一下宏定义与类型定义的定义。一般来说,宏定义(# define)是相当于字符替换,在代码预编译时就进行替换,编译时候所有宏定义的代码改变为被替换的代码,不限制任何代码,任何字符都可以进行宏定义,宏定义可以写在程序中的任何位置,它的作用范围从定义触到文件尾,在这些范围内都可以用宏名进行替换,宏是针对预处理器的任务; 而类型定义(typ...

2018-09-21 22:14:22 3303

原创 关于程序中浮点数产生的误差的分析

这是我人生中的第一篇博客,肯定会有许多问题和错误,还请大家及时指点。下面就在C语言程序中运用浮点数时产生的误差进行一些分析,首先先看一个程序:# include&lt;stdio.h&gt;int main(){float a=123456789;printf("%f\n",a);return 0;}...

2018-05-13 15:20:54 672

空空如也

空空如也

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

TA关注的人

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