10 2014 档案
摘要:问题来历:据说著名犹太历史学家 Josephus有过以下的故事:在罗马人占领乔塔帕特后,39 个犹太人与Josephus及他的朋友躲到一个洞中,39个犹太人决定宁愿死也不要被敌人抓到,于是决定了一个自杀方式,41个人排成一个圆圈,由第1个人开始报数,每报数到第3人该人就必须自杀,然后再由下一个重新报...
阅读全文
摘要:#include #include #include #include #include using namespace std;typedef struct student{ int data; struct student *next; struct student *pre;...
阅读全文
摘要:定义一个函数指针类型。比如你有三个函数:void hello(void) { printf("你好!"); }void bye(void) { printf("再见!"); }void ok(void) { printf("好的!"); }typdef void (*funcptr)(void);这...
阅读全文
摘要:#include #include #include #include #include using namespace std;typedef struct student{ int data; struct student *next;}node;node * creat(void)...
阅读全文
摘要:例1.这个函数有什么问题?char *strA(){ char str[] = "Hello world"; return str;}答:这个函数返回的是局部变量的地址,当调用这个函数后,这个局部变量str[]就释放了,所以返回的结果是不确定且不安全的,随时都有被收回的可能。想要获得正确...
阅读全文
摘要:转义字符意义ASCII码值(十进制)\a响铃(BEL)007\b退格(BS) ,将当前位置移到前一列008\f换页(FF),将当前位置移到下页开头012\n换行(LF) ,将当前位置移到下一行开头010\r回车(CR) ,将当前位置移到本行开头013\t水平制表(HT) (跳到下一个TAB位置)00...
阅读全文
摘要:#include #include int main (int argc, char **argv)
{ char *a = "0123456789"; char b[] = "0123456789"; char c[100] ="0123456789"; int d[100] ={0,1,2,3,4,5,6,7,8,9}; char e[8] =...
阅读全文
摘要:昨天下午来到武大信息学部参加宇视科技的面试,一面技术面,让介绍自己的经历,结合笔试情况问了了下TCP三次握手,又让详细介绍自己做的项目。总之,技术面的那位老师觉得我在网络和linux开发方面的深度不够,我的纸币序列号提取的项目主要是做算法的,而自己的算法并没有很大的创新(主要是参考大量硕士论文自...
阅读全文
摘要:1.char* a和char a[]指针是不分配内存的,它指向的是系统的只读的内存,而数组是分配内存的,就是将系统的只读的内存里面的值复制到它的内存里面,因此可读写。char p[]="abc123ABC"char *p="abc123ABC";char* p是定义的一个指针。。他指向的字符窜"ab...
阅读全文
摘要:错排问题是组合数学中的问题之一。考虑一个有n个元素的排列,若一个排列中所有的元素都不在自己原来的位置上,那么这样的排列就称为原排列的一个错排。n个元素的错排数记为Dn。 研究一个排列错排个数的问题,叫做错排问题或称为更列问题。这个问题有许多具体的版本,如在写信时将n封信装到n个不同的信封里,有多少种...
阅读全文
摘要:关于const修饰指针的情况,一般分为如下4种情况:int b =500;const int *a =&b; //情况1int const *a =&b; //情况2int* const a =&b; //情况3const int* const a =&b; //情况4如何...
阅读全文
摘要:C++语言支持函数重载,C语言不支持函数重载。函数被C++编译后在库中的名字与C语言的不同。假设某个C 函数的声明如下:void foo(int x, int y);该函数被C 编译器编译后在库中的名字为_foo,而C++编译器则会产生像_foo_int_int之类的名字用来支持函数重载和类型安全连...
阅读全文
摘要:ASSERT函数是用于调试中,也就是说在你的代码中当是Debug的时候它完成对参数的判断,如果是TRUE则什么都不做,如果是FALSE则弹出一个程序中断对话框提示程序出现错误。在Release版本中它是什么作用都不起。它主要是监视程序在调试运行的过程中的运行情况,多多使用它,绝对有好处,没有一点坏处...
阅读全文
摘要:二元运算符 (&) 为整型和 bool 类型预定义了二进制 & 运算符。对于整型,& 计算操作数的按位“与”。对于 bool 操作数,& 计算操作数的逻辑“与”;也就是说,当且仅当两个操作数均为 true 时,其结果才为 true。条件“与”运算符 (&&) 执行布尔操作数的逻辑“与”运算,但如有必...
阅读全文
摘要:我见过最棒的证明是文氏图:(首先要知道二元布尔代数是集合的特殊情况,所以把X和Y当作两个集合,结论成立,那么在二元布尔代数里面也成立。)左边的圈是X,右边的圈是Y。如果是OR 也就是取或,中间的白色的也要填成红色的。但是,异或 的英文名字叫做exclusive-or ,意思是除掉了(中间部分)的or...
阅读全文
摘要:1.有两个变量a,b,不用if、?: 、switch 或其他判断语句,找出两个数中较大的:int max = ((a+b)+abs(a-b))/2较小的:int min = ((a+b)-abs(a-b))/22.给3个整数a,b,c,用函数实现取3个数的中间数,不用sort。inline int ...
阅读全文
摘要:法一:我们考虑x,y在二进制表示时候,按位相加其中第i位xi+yi=((xi&yi)<<1)+(xi^yi)其中(xi&yi)<<1表示当xi和yi都是1是,需要进位1.xi^yi表示不考虑进位,当前位的值.把所有这些数据相加,也就是x+y=Sum{xi*2^i}+Sum{yi*2^i}=Sum{(...
阅读全文
摘要:(x&y) + ((x^y)>>1)相当于(x+y)/2(x&y)+((x^y)>>1),把x和y里对应的每一位(指二进制位)都分成三类,每一类分别计算平均值,最后汇总。其中,一类是x,y对应位都是1,用x&y计算其平均值;一类是x,y中对应位有且只有一位是1,用(x^y)>>1计算其平均值;还有一...
阅读全文
摘要:在C语言中,调用一个不带原型声明的函数时:调用者会对每个参数执行“默认实际参数提升(default argument promotions)。同时,对可变长参数列表超出最后一个有类型声明的形式参数之后的每一个实际参数,也将执行上述提升工作。提升工作如下:——float类型的实际参数将提升到doubl...
阅读全文
摘要:int main (int argc, char **argv)
{ unsigned int a = 0xFFFFFFF7; unsigned char i = (unsigned char)a; char* b = (char*)&a; printf("i = %08x\nb = %08x\n",i,*b); return 0;
} /* ----- E...
阅读全文
摘要:http://blog.csdn.net/goal00001111/article/details/5490612
阅读全文
摘要:int main (int argc, char **argv){ float a = 1.0f; cout <<"(int&)a = "<<(int&)a << endl; float b = 0.0f; cout <<"(int&)b = "<<(int&)b...
阅读全文
摘要:二者有本质上的区别 从定义可以知道sizeof只是一个operator,而strlen()则是定义一个定义在中的函数;所以sizeof(string)是在计算string所占用的内存,包含了'\0'结尾符,strlen(string)则是用来计算字符串的长度,省略了'\0'。 详见:http://chuansu.iteye.com/blog/1433003
阅读全文
摘要:模式识别研究的目的是利用计算机对物理对象进行分类,在错误概率最小的条件下,使识别的结果尽量与客观物体相符合。机器辨别事物最基本的方法是计算,原则上是对计算机要分析的事物与标准模板的相似程度进行计算。因此首先要从度量中看出不同事物之间的差异,才能分辨当前要识别的事物。 1.模式的描述方法 在模式识别技术中,被观测的每个对象成为样品。对于每个样品来说,必须确定一些与识别有关的因素,作为...
阅读全文
浙公网安备 33010602011771号