摘要: 位操作把指定的位设置为1value=value | 10)的结果取决于先计算x+y还是y+1,因为如果x+y的结果大于整型所能容纳的值,它就会产生溢出,在两种情况下溢出的地点不同。int的精度比float高,float型值仅要求6位数字的精度左值和右值左值意味着一个位置,右值意味着一个值,b + 25 =a;b+25并不能做左值,因为它并未标志一个特定的位置,因此这条赋值语句是非法的。左值是内在位置,右值是某位置内的值移位操作左移操作:值最左边的位被丢弃,右边多出来的位由0补齐。右移操作分逻辑移位和算术移位,逻辑移位左边移入的位用0填充,算术移位左边移入的位由原先该值的符号位决定,符号位为1则 阅读全文
posted @ 2013-04-18 22:25 我爱写程序 阅读(183) 评论(0) 推荐(0) 编辑
摘要: 字符串常量:C语言中不存在字符串类型,但是C语言提供了字符串常量,字符串通常存储在字符数组中,并以NULL为结束字符。如果对一个字符串常量进行修改,其结果是未定义的,若想修改字符串,可以将它存储在数组中。在程序中使用字符串常量会生成一个指向字符串的常量指针。当一个字符串常量出现于一个表达式中时,表达式所使用的值就是这些字符所存储的地址,而不是这些字符本身。因此,可以将字符串常量赋值给一个指向字符的指针,但是不能把字符串常量赋值给一个字符数组,因为字符串常量的直接值是一个指针。singed关键字:signed关键字一般只用于char类型,因为其他类型在缺省情况下都是有符号的,至于char是否为s 阅读全文
posted @ 2013-04-18 12:05 我爱写程序 阅读(154) 评论(0) 推荐(0) 编辑
摘要: 浮点数家族包括float,double和long double类型。浮点数字面值在缺少情况下都是double类型,除非它后面跟一个L或者l表示它是一个long double类型的值,跟一个F或者f表示它是一个float类型。对于IBM-PC而言,单精度浮点数是32位的,双精度浮点数是64位的。一个浮点数a由两个数m和e来表示:a = m × b^e。m(尾数),如果m的第一位是非0整数,称作规格化的。在计算机中一个浮点数的表示结构如下:1.含小树的浮点数表示为二进制假设要转换的数位123.456f:首先将整数部分转化为二进制:1111011然后将小数部分转化为二进制,可以通过乘以2的 阅读全文
posted @ 2013-04-18 11:24 我爱写程序 阅读(389) 评论(0) 推荐(0) 编辑
摘要: 2013年4月16号触控实习生笔试1.函数参数传递有几种方式2.STL中dequeue,vector,list的区别3.const char *pChar; char const *pChar; char *const pChar; const char *const pChar; 的区别4.do..while和while..do的区别5.printf("%d",10*('F'-'A'));的运行结果6.写一个常用的程序片段,用C语言和C++分别怎么处理7.写一个只能产生一个实例的C++类8.给出一段代码,改错9.父类中的虚函数,子类中不加v 阅读全文
posted @ 2013-04-17 00:22 我爱写程序 阅读(180) 评论(0) 推荐(0) 编辑
摘要: 时间限制: 1000ms 内存限制: 256MB描述Alice和Bob还有其他几位好朋友在一起玩传话游戏。这个游戏是这样进行的:首先,所有游戏者按顺序站成一排,Alice站第一位,Bob站最后一位。然后,Alice想一句话悄悄告诉第二位游戏者,第二位游戏者又悄悄地告诉第三位,第三位又告诉第四位……以此类推,直到倒数第二位告诉Bob。两位游戏者在传话中,不能让其他人听到,也不能使用肢体动作来解释。最后,Bob把他所听到的话告诉大家,Alice也把她原本所想的话告诉大家。由于传话过程中可能出现一些偏差,游戏者越多,Bob最后听到的话就与Alice所想的越不同。Bob听到的话往往会变成一些很搞笑的东 阅读全文
posted @ 2013-04-16 10:38 我爱写程序 阅读(151) 评论(0) 推荐(0) 编辑
该文被密码保护。 阅读全文
posted @ 2013-04-15 22:03 我爱写程序 阅读(2) 评论(0) 推荐(0) 编辑
摘要: 一、单项选择题1) 给定3个int类型的正整数x,y,z,对如下4组表达式判断正确的选项()Int a1=x+y-z; int b1=x*y/z;Int a2=x-z+y; int b2=x/z*y;Int c1=x>z; int d1=x&y|z;Int c2=x>>z<<y; int d2=x|z&y;A) a1一定等于a2B) b1一定定于b2C) c1一定等于c2D) d1一定等于d22) 程序的完整编译过程分为是:预处理,编译,汇编等,如下关于编译阶段的编译优化的说法中不正确的是()A) 死代码删除指的是编译过程直接抛弃掉被注释的代码;B 阅读全文
posted @ 2013-04-15 22:01 我爱写程序 阅读(196) 评论(0) 推荐(0) 编辑
摘要: 矩阵链相乘:求出计算乘积A1A2...An所需标量乘法最少的方案算法方法简介:我们使用以空间换取时间的方法,采用自底向上表格法代替递归式。算法使用一个辅助表m[1...n][1..n]保存计算矩阵Ai..j所需标量乘法的最小次数,用s[1..n][2...n]记录最优值的分割点,然后使用表s构造最优解。其中m[i,j]=m[i,k]+m[k+1,j]+pi-1pkpj,其中k是分割点,它只有j-i种可能的取值:k=i,i+1,...j-1。代码1:View Code 1 #include <stdio.h> 2 #include <stdlib.h> 3 #define 阅读全文
posted @ 2013-04-15 17:03 我爱写程序 阅读(143) 评论(0) 推荐(0) 编辑
摘要: 二维数组小结:1.int (*A)[n]=new int[m][n]; 删除:delete []A;缺点:n必须是已知的优点:直观清晰,连续存储2.int **A=new int*[m];for(int i=0;i<m;i++)A[i]=new A[n];删除:for(int i=0;i<m;i++)delete []A[i];delete []A;优点:n可以不是已知的缺点:非连续存储,程序繁琐3.int *A=new int[m*n];删除:delete []A;优点:连续存储,n可以不是已知的缺点:调用不直观 阅读全文
posted @ 2013-04-15 12:28 我爱写程序 阅读(227) 评论(0) 推荐(0) 编辑
摘要: 方法1:使用指针View Code 1 #include <iostream> 2 using namespace std; 3 4 struct node 5 { 6 int key; 7 node *left; 8 node *right; 9 node *parent; 10 node(){} 11 node(int x):key(x),left(NULL),right(NULL){} 12 }; 13 14 struct tree 15 { 16 node *root; 17 tree():root(NULL){} 18 }; 19 20 void Tree_... 阅读全文
posted @ 2013-04-13 10:59 我爱写程序 阅读(188) 评论(0) 推荐(0) 编辑
摘要: View Code 1 #include <stdio.h> 2 #include <stdlib.h> 3 #include <time.h> 4 5 typedef int KEY; 6 7 enum NODECOLOR 8 { 9 BLACK = 0, 10 RED = 1 11 }; 12 13 typedef struct RBTree 14 { 15 struct RBTree *parent; 16 struct RBTree *left, *right; 17 ... 阅读全文
posted @ 2013-04-13 10:49 我爱写程序 阅读(149) 评论(0) 推荐(0) 编辑
该文被密码保护。 阅读全文
posted @ 2013-04-13 10:41 我爱写程序 阅读(7) 评论(0) 推荐(0) 编辑
摘要: 1、给定a、b两个文件,各存放50亿个url,每个url各占64字节,内存限制是4G,让你找出a、b文件共同的url?方案1:可以估计每个文件安的大小为50G×64=320G,远远大于内存限制的4G。所以不可能将其完全加载到内存中处理。考虑采取分而治之的方法。s遍历文件a,对每个url求取,然后根据所取得的值将url分别存储到1000个小文件(记为)中。这样每个小文件的大约为300M。s遍历文件b,采取和a相同的方式将url分别存储到1000个小文件(记为)。这样处理后,所有可能相同的url都在对应的小文件()中,不对应的小文件不可能有相同的url。然后我们只要求出1000对小文件中 阅读全文
posted @ 2013-04-13 10:39 我爱写程序 阅读(308) 评论(0) 推荐(0) 编辑
摘要: 很久以来对C++的虚函数表都不太清楚,自从读了陈皓的博客,感觉豁然开朗,以下内容均转载自他的博客。一个类可能会有如下的影响因素:1)成员变量2)虚函数(产生虚函数表)3)单一继承(只继承于一个类)4)多重继承(继承多个类)5)重复继承(继承的多个父类中其父类有相同的超类)6)虚拟继承(使用virtual方式继承,为了保证继承后父类的内存布局只会存在一份)上述的东西通常是C++这门语言在语义方面对对象内部的影响因素,当然,还会有编译器的影响(比如优化),还有字节对齐的影响。在这里我们都不讨论,我们只讨论C++语言上的影响。本篇文章着重讨论下述几个情况下的C++对象的内存布局情况。1)单一的一般继 阅读全文
posted @ 2013-04-13 10:08 我爱写程序 阅读(244) 评论(0) 推荐(0) 编辑