- 博客(25)
- 资源 (2)
- 收藏
- 关注
原创 关于正负数相除及取余问题
最近做笔试题刷到的关于正负数取余的题目比较多,可能对于新手刚遇到这种问题有一点无奈,所以今天稍微整理了一点,希望可以给大家提供一点帮助。如图:对于这种题目,刚开始遇到可能有一点懵逼,正数除以负数啊,正数对负数取余啊之类的。教大家一个方法来解决这个问题,以后遇到了只要套用如下的公式就可以了。首先,假设m,n两个数均为正整数(如果是负数那就用-m,-n来表示就可以了)遇到负数除以正数或者正数...
2018-11-22 15:02:28
9617
13
转载 文件读写操作的几种模式
r代表read的简写,+代表可读可写,w代表write,b代表bit二进制位,t代表text。r 打开只读文件,该文件必须存在。r+ 打开可读可写的文件,该文件必须存在(这里的写文件是指将之前的文件覆盖。rt 打开只读文本文件,该文本必须存在。rt+ 读写打开一个文本文件,允许读和写,该文件必须存在(这里的写文件是指将之前的文件覆盖。rb 只读打开一个二进制文件,,该文本必须存...
2018-08-14 15:30:27
1048
原创 C++面向对象5大基本原则
单一职责原则(Single-Resposibility Principle):一个类,最好只做一件事,只有一个引起它的变化。单一职责原则可以看做是低耦合、高内聚在面向对象原则上的引申,将职责定义为引起变化的原因,以提高内聚性来减少引起变化的原因。 开放封闭原则(Open-Closed principle):软件实体应该是可扩展的,而不可修改的。也就是,对扩展开放,对修改封闭的。Liskov...
2018-08-07 16:11:24
622
原创 关于C++中string的综合用法
C++相对于C语言,大大增强了对字符串的支持,除了可以使用C风格的字符串,还可以使用内置的数据类型string,string类处理起来字符串因为函数的封装就显得特别方便,下面我们统计一下string类的函数首先,想调用string类先包含其头文件#include <string>string s1;//变量s1只是定义但没有初始化,所以其默认值为""即空字符串string s...
2018-08-07 12:56:52
262
转载 程序员养生
中国到底有多少程序员?据 IDC 保守估计超过500w。据 CSDN 网站创始人蒋涛透露,CSDN 注册会员超过2500万,其中活跃用户超过800万(3个月内登录的).最近3年来互联网行业的加班过劳死案例逐年增加,不只是是不少因为互联网普及程序太高,才会有此错觉,颈椎病、腰...
2018-08-05 15:05:03
464
原创 关于运算符重载
运算符重载是通过函数重载实现的,给其赋予一个新的功能,但是该运算符原有的功能仍然保留。但是不是所有的运算符都能重载的 能被重载的运算符有+ - * / % ^ & | ~ ! = < > += -= = /= %= ^= &= |= << >> <<= >>= ...
2018-08-04 15:23:47
512
转载 理解进程通信之信号
信号及信号源信号本质 信号是在软件层次上对中断机制的一种模拟,在原理上,一个进程收到一个信号与处理器收到一个中断请求可以说是一样的。信号是异步的,一个进程不必通过任何操作来等待信号的到达,事实上,进程也不知道信号到底什么时候到达。 信号是进程间通信机制中唯一的异步通信机制,可以看作是异步通知,通知接收信号的进程有哪些事情发生了。信号机制经过POSIX实时扩展后,功能更加强大,除了基本通知...
2018-08-03 14:42:01
261
转载 多线程与多进程的区别与选择
鱼还是熊掌:浅谈多进程多线程的选择关于多进程和多线程,教科书上最经典的一句话是“进程是资源分配的最小单位,线程是CPU调度的最小单位”,这句话应付考试基本上够了,但如果在工作中遇到类似的选择问题,那就没有这么简单了,选的不好,会让你深受其害。 经常在网络上看到有的XDJM问...
2018-08-03 10:55:51
267
转载 bind:address already in use解决方法
每次修改了源代码并再次编译运行时,常遇到下面的地使用错误:Cann’t bind server socket !: Address already in use虽然用Ctrl+C强制结束了进程,但错误依然存在,用netstat -an |grep 5120和ps aux |grep 5120都还能看到刚才用Ctrl+C“强制结束”了的进程,端口还是使用中,只好每次用kill结束进程,很是麻...
2018-07-29 16:51:32
10470
1
转载 关于VMware无法连接到虚拟机问题
现象:虚拟机无端出现,VMware Workstation 无法连接到虚拟机。请确保您有权限运行该程序、访问改程序使用的所有目录以及访问所有临时文件目录。解决方案:1)右击我的电脑-&gt;&gt;管理-&gt;&gt;服务和应用程序-&gt;&gt;服务-&gt;&gt;Vm
2018-07-29 15:11:30
17308
1
转载 关于struct类的空间大小(笔试题!)
解析:类的大小只与成员变量(非static数据成员变量)和虚函数指针有关,还要考虑到对齐. 那么类A的大小是8个字节; 类B继承类A,在类A的8个字节基础上,再加上B自己的大小8字节,所以类B大小是16个字节; 类C是4个字节+4个字节(考虑对齐)+4个字节(指向虚析构函数的指针)=12个字节...
2018-07-24 21:04:22
350
原创 关于51单片机中断
众所周知,51单片机共有5个中断源,从高到低依次为p3.2引脚触发的外部中断0 定时器0触发的中断1 p3.3引脚出发的外部中断1 定时器1触发的中断1 串口数据缓冲器TX/RX中断下面附上中断系统的组成原理图 仔细观察图,我们发现,从最左边的5个中断源到完成一次中断到最右边需要经历的有以下几个步骤 TCON寄存器,IE寄存器,IP寄存器,所以只需弄懂这三个步骤就能轻松搞定51...
2018-07-24 20:42:46
1545
原创 初级服务器的搭建
首先搭一个初级服务器需要配置一个服务器和一个客户端客户端:#include <stdio.h>#include <stdlib.h>#include <sys/types.h>#include <sys/socket.h>#include <netdb.h>#include <netinet/in.h>...
2018-07-20 19:46:19
262
原创 TCP/IP与UDP编程模型
TCP编程模型 UDP编程模型 ①socket()创建套接字 ②bind()绑定本地地址端口 ③connect()建立连接 ④listen()监听端口 ⑤accept()接收连接 ⑥recv(),read(),recvfrom()数据接收 send(),write(),sendto()数据发送 close(),shutdown()关闭套接字①int s...
2018-07-20 19:37:27
1015
原创 TCP与OSI模型
TCP有4层模型,OSI有7层模型。 网络互联层也称为网络层,主机到网络层也称为网络接口层。TCP三次握手 ①(A->B) (TCP的点对点通信) 主机A(客户端)向主机B(服务器)发送一个包含SYN(同步标志的TCP报文),SYN同步报文会指明客户端使用的端口以及TCP连接的初始序号。 ②(B->A) 主机B在收到客户端的SYN报文后,将返回一个SYN+ACK报文,表...
2018-07-19 20:55:32
1217
原创 笔试题:C语言编程2的1000次方大小
之前刷笔试题遇到一道挺有意思的题,就是利用C语言编程得到2的1000次方的值。大家都知道C语言编程时对于每个变量都严格定义类型,最大的整形也不过为long int类型,unsigned int类型范围在0~65535之间,而2的1000次方明显远大于65535,所以用一般的数值运算2^1000次方是完全行不通的,所以需要转换思路,试想一下2的1000次方将会是一个有很多位的数值,所以我们可以考...
2018-07-19 15:51:01
1687
1
原创 关于虚拟地址的内存分配
虚拟地址分配总共分为5个部分 内核1G 栈空间(Stack) 堆空间(heap) 数据区(.data,.bss) 常量区(只读)1)栈空间:用来存放局部变量,函数的形参变量,自动变量(a
2018-01-23 16:39:34
422
原创 链栈的基本操作
链栈:栈的链式存储结构 链栈的部分特点: 1)不会存在满栈的情况 2)链栈不需要头结点 3)空栈的时候,top=NULL; 链栈的基础结构:trpedef struct StackNode{ int data; struct StackNode *next;}Node,*Nodeptr;typedef struct{ Nodeptr top;
2018-01-22 21:09:43
2933
2
原创 动态链表的创建,输出,删除,添加
动态链表的创建:#include #include #define NULL 0#define LEN sizeof(struct student)struct student{ int num; float score; struct student *next;};int n; //n位结点总个数,被定义为全局变量,可被其他函数使用struct
2017-11-29 12:24:25
3007
转载 C函数中的memcpy的用法
1、memcpy 函数用于 把资源内存(src所指向的内存区域) 拷贝到目标内存(dest所指向的内存区域);拷贝多少个?有一个size变量控制拷贝的字节数;函数原型:void *memcpy(void *dest, void *src, unsigned int count);用法:(1)可以拷贝任何类型的对象,因为函数的参数类型是void*(未定义类型指针),也就是说传进去的实参可以是i...
2017-11-28 12:55:14
613
原创 C语言中关于内存的分配
在编写C语言程序时,我们的内存储存在4块区域,分别为栈(stack),堆(heap),数据区(.data和.bss区域),常量区(只读)。 栈 栈区域中存放的是局部变量,函数定义的形参,和auto修饰的自动变量。 特点 1 栈空间是os(操作系统)自动分配和回收,程序员不用去管 2 栈空间可以被反复使用 3 栈空间是脏的(保留上一次使用的结果)———-因此定义局部变量时最
2017-11-26 22:28:40
298
原创 C函数的实参与形参的输出区别
#include <stdio.h>int swap(int a,int b){ int temp; temp=a; a=b; b=temp; printf("in the swap,a=%d,b=%d\n",a,b);}int main(){ int a=2; int b=5; printf("a=%d,b=%d\n",a,b)
2017-11-26 22:12:40
589
原创 冒泡法与选择法对10个数进行从小到大的排序
//对10个数字按照从小到大的排序 冒泡排序:#include <stdio.h>int main(){int i;int j;int temp;int a[10]={61,4,7,45,13,6,25,11,9,23};for(i=0;i<9;i++) //n个数最多做n-1趟排序{for(j=0;j<9-i;j++){if(a[j]>a[j+1]){
2017-11-26 21:53:00
20184
5
原创 Linux中部分工具学习
VIM使用须知:vim:编辑器 vim /etc/vimrc:进入vim的配置;在vim底行模式下,set nu设置(显示)行号powoff:关机sync:把数据同步到硬盘里面(在一般模式下)u:撤销(一步) U:撤销(所有操作)yy:复制 nyy:复制n行dd:删除当前行
2017-11-12 23:02:05
311
原创 linux学前需知
1、请问“核心”是什么?“操作系统” 是什么?2、“linux”是什么?3、怎么有这么多版本的linux?有Mandrake,Red Hat,CLE,Openlinux.......这些版本有什么异同?4、我要如何取得linux发行版本的可安装光盘?5、我在操作linux的过程中发生了不可预期的问题,该如何解决?6、简单说明什么是GNU与
2017-11-09 19:38:16
226
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人