自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 C++输入函数总结

        在C++中,各种输入方法还是不少的,而且各有所异,本文做一点简要总结,主要涉及如下内容:cin、cin.get()、cin.getline()、getline()、gets()、getchar()。        输入原理简述:        程序的输入都建有一个缓冲区,即输入缓冲区。每次输入过程是这样的,当一次键盘输入结束时会将输入的数据存入输入缓冲区,而cin函

2016-11-30 20:18:38 341

原创 C++中rand()和srand()的用法

一、rand()  函数名:   rand     功   能:   随机数发生器   用   法:   int rand(void);    所在头文件: stdlib.h  函数说明 :                rand()的内部实现是用线性同余法做的,它不是真的随机数,因其周期特别长,故在一定                的范围里可看成是随机的。

2016-11-29 16:28:30 348

原创 分配内存的函数C和C++

malloc:原型:extern void *malloc(unsigned int num_bytes);  头文件:在TC2.0中可以用malloc.h或 alloc.h (注意:alloc.h 与 malloc.h 的内容是完全一致的),而在Visual C++6.0中可以用malloc.h或者stdlib.h。  功能:分配长度为num_bytes字节的内存块  返回值:如

2016-11-28 21:07:55 370

原创 联合体的用法

1.联合体union的基本特性——和struct的同与不同union,中文名“联合体、共用体”,在某种程度上类似结构体struct的一种数据结构,共用体(union)和结构体(struct)同样可以包含很多种数据类型和变量。不过区别也挺明显:结构体(struct)中所有变量是“共存”的——优点是“有容乃大”,全面;缺点是struct内存空间的分配是粗放的,不管用不用,全分配。而

2016-11-27 19:55:14 1141

原创 C中malloc和free总结

在C语言的学习中,对内存管理这部分的知识掌握尤其重要!之前对C中的malloc()和free()两个函数的了解甚少,只知道大概该怎么用—— 就是malloc然后free就一切OK了。当然现在对这两个函数的体会也不见得多,不过对于本文章第三部分的内容倒是有了转折性的认识,所以写下这篇文章作为一个对知识的总结。这篇文章之所以命名中有个“浅谈”的字眼,也就是这个意思了!希望对大家有一点帮助!

2016-11-26 22:12:18 389

原创 Typedef用法总结

关于typedef的用法总结    不管实在C还是C++代码中,typedef这个词都不少见,当然出现频率较高的还是在C代码中。typedef与#define有些相似,但更多的是不同,特别是在一些复杂的用法上,就完全不同了,看了网上一些C/C++的学习者的博客,其中有一篇关于typedef的总结还是很不错,由于总结的很好,我就不加修改的引用过来了,以下是引用的内容(红色部分是我自己

2016-11-25 10:18:18 211

原创 C++const注意点以及用法

在我学习C++的过程中,对const的应用不可不说是最容易混乱和最容易出错的。但是const却是一个好东西,每一个C++程序员都必须掌握它。以下为本人的一点总结。 1、用const 修饰函数的参数  如果参数作输出用,不论它是什么数据类型,也不论它采用“指针传递”还是“引用传递”,都不能加const 修饰,否则该参数将失去输出功能。const 只能修饰输入参数。a, 如果输入参数采

2016-11-24 17:36:14 338

原创 C++中static关键字

1、静态数据成员   在类内数据成员的声明前加上关键字static,该数据成员就是类内的静态数据成员。先举一个静态数据成员的例子。  //Example 5   #include   class Myclass   {   public:   Myclass(int a,int b,int c);   void GetSum();   private:

2016-11-23 14:58:30 194

原创 C++重要知识点

1.C++中类与结构的唯一区别是:类(class)定义中默认情况下的成员是private的,而结构(struct)定义中默认情况下的成员是public的。 2. ::叫作用域区分符,指明一个函数属于哪个类或一个数据属于哪个类。::可以不跟类名,表示全局数据或全局函数(即非成员函数)。 3.类名加载成员函数名之前而不是加在函数的返回类型前。错误:Tdate::void Set(i

2016-11-22 18:42:14 335

原创 类的构造函数与析构

1. 把对象的初始化工作放在构造函数中,把清除工作放在析构函数中。当对象被创建时,构造函数被自动执行。当对象消亡时,析构函数被自动执行。这下就不用担心忘了对象的初始化和清除工作。2. 构造函数、析构函数与类同名,由于析构函数的目的与构造函数的相反,就加前缀‘~’以示区别。3. 构造函数与析构函数都没有返回值类型,这与返回值类型为 void 的函数不同。构造函数与析构函数的使命非常明确,

2016-11-21 09:14:36 346

原创 PID基本知识讲解

首先帮大家解决一下什么是PID调节,为什么就要这样的疑惑。PID是比例,积分,微分的英文单词的首字母的简称。 下面举个例子说明一下PID,让大家有个感官的认识,。一个人闭眼走路,假设他知道自己离目的地有100米远,那么他就可以以每秒一米一步这样的速度走向目的地,100米刚刚好是100步,这是一个非常理想化的现象。假设他不知道目的地有多远,目的地可能是1000米也有可

2016-11-20 16:41:46 2554

原创 C++中using和命名空间

在学习C++的过程中,我们经常看到一些书上写着的一行语句:using namespace std;在说明using的使用,必须先了解命名空间的概念和使用。在一个给定作用域中定义的每个名字在该作用域中必须是唯一的,对庞大、复杂的应用程序而言,这个要求可能难以满足。这样的应用程序的全局作用域中一般有许多名字定义。由独立开发的库构成的复杂程序列更有可能遇到名字冲突——同样的名字既可能在我们自己的代码

2016-11-19 21:08:50 413

原创 C++指向成员函数的指针

首先 函数指针是指向一组同类型的函数的指针;而类成员函数我们也可以相似的认为,它是指向同类中同一组类型的成员函数的指针,当然这里的成员函数更准确的讲应该是指非静态的成员函数。前者是直接指向函数地址的,而后者我们从字面上也可以知道 它肯定是跟类和对象有着关系的。     函数指针实例:typedef int (*p)(int,int);//定义一个接受两个int型且返回int型变量的

2016-11-18 21:18:08 305

转载 C++对象的内存布局

在C++中,有两种类的成员变量:static和非static,有三种成员函数:static、非static和virtual。那么,它们如何影响C++的对象在内存中的分布呢? 当存在继承的情况下,其内存分布又是如何呢?下面就一个非常简单的类,通过逐渐向其中加入各种成员,来逐一分析上述两种成员变量及三种成员函数对类的对象的内存分布的影响。注:以下的代码的测试结果均是基于

2016-11-17 17:18:22 275

原创 visual stdio常用快捷键

F6: 生成解决方案Ctrl+F6: 生成当前项目F7: 查看代码Shift+F7: 查看窗体设计器F5: 启动调试Ctrl+F5: 开始执行(不调试)Shift+F5: 停止调试Ctrl+Shift+F5: 重启调试F9: 切换断点Ctrl+F9: 启用/停止断点Ctrl+Shift+F9: 删除全部断点F10: 逐过程Ctrl+F10

2016-11-16 20:38:09 318

原创 数据结构的7中排序算法

一、快速排序1. 简单介绍  快速排序是由东尼·霍尔所发展的一种排序算法。在平均状况下,排序 n 个项目要Ο(n log n)次比较。在最坏状况下则需要Ο(n2)次比较,但这种状况并不常见。事实上,快速排序通常明显比其他Ο(n log n) 算法更快,因为它的内部循环(inner loop)可以在大部分的架构上很有效率地被实现出来,且在大部分真实世界的数据,可以决定设计的选择,

2016-11-15 20:05:37 224

原创 字节,半字对齐,字对齐方式

一、字节对齐基本概念    现代计算机中内存空间都是按照byte划分的,从理论上讲似乎对任何类型的变量的访问可以从任何地址开始,但实际情况是在访问特定类型变量的时候经常在特定的内存地址访问,这就需要各种类型数据按照一定的规则在空间上排列,而不是顺序的一个接一个的排放,这就是对齐。 对齐的作用和原因:各个硬件平台对存储空间的处理上有很大的不同。一些平台对某些特定类型的数据只能从某些特定地址开始存

2016-11-14 21:37:08 986

原创 8086存储器编址和IO编址

1)存储器编址 由于微处理器内部的寄存器和ALU都是16位的,为了方便20位的地址管理,在8086对存储器管理的设计中,采用了分段管理的技术。 采用分段方法进行编址的优点: 减少指令长度,提高指令执行速度。 为程序的浮动装配创造了条件。 (1)物理地址和逻辑地址 对应每个物理存储单元都有一个唯一的20位编号,就是物理地址,从00000H~FFFFFH。 用户编程

2016-11-13 19:51:04 9193

原创 C++getline()函数解析

学习C++的同学可能都会遇到一个getline()函数,譬如在C++premer中,标准string类型第二小节就是“用getline读取整行文本”。书上给的程序如下:int main(){    string line:    while(getline(cin,line))    cout    return 0;}大家会发现运行时怎么也跳不出循

2016-11-12 20:37:52 575

原创 汇编语言指令大全

1、     MOV(传送)指令写法:MOV  target,source功能描述:将源操作数source的值复制到target中去,source值不变注意事项:1)target不能是CS(代码段寄存器),我的理解是代码段不可写,只可读,所以相应这地方也不能对CS执行复制操作。2)target和source不能同时为内存数、段寄存器(CS\DS\ES\SS\FS\GS)3)

2016-11-11 22:02:28 7265 1

原创 C++变量的声明与定义

①变量定义:用于为变量分配存储空间,还可为变量指定初始值。程序中,变量有且仅有一个定义。②变量声明:用于向程序表明变量的类型和名字。③定义也是声明:当定义变量时我们声明了它的类型和名字。④extern关键字:通过使用extern关键字声明变量名而不定义它。 1.定义也是声明,extern声明不是定义,即不分配存储空间。extern告诉编译器变量在其他地方定义了。例如:ext

2016-11-10 20:45:24 1114

原创 LinuxUDP网络通信

UDP前面已经讲过tcp网络通信,然后tcp每次通信都要进行三次握手连接,虽然传输的可靠性比较高,但对于一些及时性的数据的传输显得太过费时,所以就有了UDP这种无连接通信,但数据容易出错。那些函数我这里就不讲了,直接看我上一个博客就行,我这里直接附例子了。udpserver.c[objc] view pla

2016-11-09 19:18:47 265

原创 PCB新手需要注意的问题

PCB新手值得一看!一、如何将一个原理图中的一部分加到另一张原理图上? 答:利用块拷贝。首先将要拷贝的原理图的那部分做成块,用其他文件名存储,然后调入目标原理图利用块读命令。二、为何最后生成的制版图与原理图不相符,有一些网络没有连上?答:这种情况是很容易发生的,确实原理图上很明显是连上的,最后形成的制版图也与原理图生成的网络表对照过的,没有发现为连上的网络。

2016-11-08 20:35:08 834

原创 网络通信协议TCP

TCP的上一层是应用层,TCP向应用层提供可靠的面向对象的数据流传输服务,TCP数据传输实现了从一个应用程序到另一个应用程序的数据传递。它能提供高可靠性通信(即数据无误、数据无丢失、数据无失序、数据无重复到达的通信。),应用程序通过向TCP层提交数据接发送/收端的地址和端口号而实现应用层的数据通信。通过IP的源/目的可以惟一地区分网络中两个设备的连接,通过socket的源/目的可以惟一地区

2016-11-07 10:26:17 415

原创 网络数据传送的三种方法

一、奇偶校验根据被传输的一组二进制代码的数位中“1”的个数是奇数或偶数来进行校验。采用奇数的称为奇校验,反之,称为偶校验。采用何种校验是事先规定好的。通常专门设置一个奇偶校验位,用它使这组代码中“1”的个数为奇数或偶数。若用奇校验,则当接收端收到这组代码时,校验“1”的个数是否为奇数,从而确定传输代码的正确性。 校验方法 奇校验:就是让原有数据序列中(包括你要加上的一位)1的个数为

2016-11-06 19:03:58 1952

原创 汇编语言程序设计

一、汇编语言程序格式及开发过程汇编语言——用指令的助记符、符号地址、标号等符号书写程序的语言。源程序—— 用汇编语言编写的程序。汇编——把源程序翻译成机器语言程序的过程。汇编程序——完成汇编任务的程序。1、汇编语言语句三种基本语句:指令语句(指令性语句) : 在汇编时产生一个目标代码。伪指令语句(指示性语句): 无目标代码,为汇编程序服务

2016-11-04 15:38:32 863

原创 Linux—sqlite3

1 、sqlite3常用命令当前目录下建立或打开test.db数据库文件,并进入sqlite命令终端,以sqlite>前缀标识:sqlite3 test.db查看数据库文件信息命令(注意命令前带字符’.’): sqlite>.database查看所有表的创建语句: sqlite>.schema查看指定表的创建语句: sqlite>.schema

2016-11-03 21:32:12 220

转载 阿里巴巴2014秋招笔试题

转载请标明出处,原文地址:http://blog.csdn.net/hackbuteer1/article/details/11931173第一部分 单选题(前10题,每题2分;后10题,每题3分,共50分,选对得满分,选错倒扣1分,不选得0分)1、假设把整数关键码K散列到有N个槽的散列表,以下哪些散列函数是好的散列函数()A、h(K)=K mod N;B、h(K)=1;C

2016-11-02 21:33:42 788

原创 C++中const用法

C++ const用法 尽可能使用const  C++ const 允许指定一个语义约束,编译器会强制实施这个约束,允许程序员告诉编译器某值是保持不变的。如果在编程中确实有某个值保持不变,就应该明确使用const,这样可以获得编译器的帮助。1.const 修饰成员变量  1 #include 2 using namespace std; 3 int main(){

2016-11-01 19:47:31 211

空空如也

空空如也

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

TA关注的人

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