posts - 214, comments - 89, trackbacks - 0, articles - 0
  博客园 :: 首页 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理

公告

最新评论

共5页: 1 2 3 4 5 下一页 
Re:c++笔试题汇总 浪端之渡鸟 2012-05-18 18:22  
C++ 语言中,大多数类型都可用作容器的元素类型。容器元素类型必须满足 以下两个约束: • 元素类型必须支持赋值运算。 • 元素类型的对象必须可以复制。
动态创建的button大多数不能确定IDC,如果不能的话,这组代码就不能用了吧
Re:解读工程 - 之困惑之处 桑叶舟 2011-08-15 10:23  
楼主,QQ多少?有些编译问题想请教你。
Re:把mapinfo图层的经纬度信息导出来的办法 浪端之渡鸟 2011-05-30 09:44  
精度不够
Re:软件崩溃后相关信息保存 浪端之渡鸟 2011-05-26 17:52  
开源项目CrashReport也提供了一套异常处理与错误报告的解决方案,还附带了截屏、压缩log,上传log等功能: http://code.google.com/p/crashrpt/ google也开源了一个类似的项目:breakpad code.google.com/p/google-breakpad/ 不过貌似我们的服务端都会进行加壳,这个对dump调试的影响会有多大?有了解的同学吗? -> 可以参考这个创新: PDB文件不匹配时进行崩溃分析的解决方案 http://www.pc.nd/index.php?doc-view-6952-%E8%B0%83%E8%AF%95%2C
free(str);释放后加一个str = null完美了.
Re:symbian搭建framework |Carbide C++常见问题集 浪端之渡鸟 2011-03-23 11:34  
symbian 创建菜单,无法显示,可能出错地方:1.创建有问题,2.创建位置不对,可查看sizechange相关,3,组合控件,没有重写,virtual TInt CountComponentControls() const; virtual CCoeControl* ComponentControl(TInt aIndex) const;
nb 原来是这样 找了半天 感谢感谢~~~
Re:AVI RIFF 文件参考手册 lanvv 2010-10-26 16:53  
请问怎么读取avi 里面的ASCII码信息呢
谢谢你 对我这个小菜鸟来说很不错呵呵!
Re:c++笔试题汇总 浪端之渡鸟 2010-06-08 05:42  
第四节 SELECT命令中的GROUP BY 和 HAVING 子句 在介绍GROUP BY 和 HAVING 子句前,我们必需先讲讲sql语言中一种特殊的函数:聚合函数, 例如SUM, COUNT, MAX, AVG等。这些函数和其它函数的根本区别就是它们一般作用在多条记录上。 SELECT SUM(population) FROM bbc 这里的SUM作用在所有返回记录的population字段上,结果就是该查询只返回一个结果,即所有 国家的总人口数。 通过使用GROUP BY 子句,可以让SUM 和 COUNT 这些函数对属于一组的数据起作用。 当你指定 GROUP BY region 时, 属于同一个region(地区)的一组数据将只能返回一行值. 也就是说,表中所有除region(地区)外的字段,只能通过 SUM, COUNT等聚合函数运算后返回一个值. HAVING子句可以让我们筛选成组后的各组数据. WHERE子句在聚合前先筛选记录.也就是说作用在GROUP BY 子句和HAVING子句前. 而 HAVING子句在聚合后对组记录进行筛选。 让我们还是通过具体的实例来理解GROUP BY 和 HAVING 子句,还采用第三节介绍的bbc表。 SQL实例: 一、显示每个地区的总人口数和总面积. SELECT region, SUM(population), SUM(area) FROM bbc GROUP BY region 先以region把返回记录分成多个组,这就是GROUP BY的字面含义。分完组后,然后用聚合函数对每组中 的不同字段(一或多条记录)作运算。 二、 显示每个地区的总人口数和总面积.仅显示那些面积超过1000000的地区。 SELECT region, SUM(population), SUM(area) FROM bbc GROUP BY region HAVING SUM(area)>1000000 在这里,我们不能用where来筛选超过1000000的地区,因为表中不存在这样一条记录。 相反,HAVING子句可以让我们筛选成组后的各组数据. 本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/dpriver/archive/2006/11/10/1377435.aspx
Re:c++笔试题汇总 浪端之渡鸟 2010-06-08 05:03  
nchar,char,varchar与nvarchar区别 最近在公司里做项目,遇到一个问题,建的数据库里的中文字符和音标显示为乱码,组里的人所有字符都用varchar表示,所以出现上诉问题,当改为Nvarchar后,问题得到解决。所以有必要把他们的区别再重新复习一遍。 char类型: 对英文(ASCII)字符占用1个字节,对一个汉字占用2个字节,CHAR存储定长数据很方便,CHAR字段上的索引效率级高,比如定义char(10),那么不论你存储的数据是否达到了10个字节,都要占去10个字节的空间。因为是固定长度,所以速度效率高。 Varchar类型:Varchar 的类型不以空格填满,比如varchar(100),但它的值只是"qian",则它的值就是"qian" 而char 不一样,比如char(100),它的值是"qian",而实际上它在数据库中是"qian "(qian后共有96个空格,就是把它填满为100个字节)。 由于char是以固定长度的,所以它的速度会比varchar快得多!但程序处理起来要麻烦一点,要用trim之类的函数把两边的空格去掉! VARCHAR存储变长数据,但存储效率没有CHAR高。如果一个字段可能的值是不固定长度的,我们只知道它不可能超过10个字符,把它定义为 VARCHAR(10)是最合算的。VARCHAR类型的实际长度是它的值的实际长度+1。为什么“+1”呢?这一个字节用于保存实际使用了多大的长度。 Nchar类型和Nvarchar类型是怎么一回事呢?为了与其他多种字符的转换,如中文,音标等,对每个英文(ASCII)字符都占用2个字节,对一个汉字也占用两个字节,所有的字符都占用2个字节。 例如 varchar(n):变长型字符数据类型,存储最长长度为8,000 个字符。 举个例子: insert a select '木子a' --- 存储长度为5个字节,余下的3个字节全部释放 insert a select '木神易 ----存储长度为6个字节,余下的2个字节全部释放 ---意思是varchar变长字符数据类型与存储数据的实际长度是一致的 nvarchar(n):可变长度 Unicode 数据,其最大长度为 4,000 字符。 字节的存储大小是所输入字符个数的两倍, 就是说它是双字节来存储数据的。 如果存储数据如果存在单字节时,它也是以双字节来占用存储空间的。 varchar一般适用于英文和数字,Nvarchar适用中文和其他字符,其中N表示Unicode常量,可以解决多语言字符集之间的转换问题
Re:c++笔试题汇总 浪端之渡鸟 2010-06-08 02:57  
c语言中static关键字有两个作用,一是文件作用域,二是函数作用域。 一、文件作用域 文件作用域关键字static的作用是,以static申明的全局变量、函数不得被其他文件所引用,例如: //这是mystr.c文件的内容 #include <string.h> static int num = 10; int mynum = 100; static int str_len(char *str) { return strlen(str); } int mystr_len(char *str) { return str_len(str) + num; } 当你mystr.c文件中的str_len函数加上了static关键字,你便不能在其他的地方复用这个函数,譬如,你不能这样写: //这是main.c 的内容 #include <stdio.h> int main() { int len; len = str_len("hello, world\n"); printf("%d %d\n", num, len ) return 0; } gcc main.c mystr_len.c 将不能编译通过,因为mystr.c中的num变量和str_len函数都用了static关键字,导致他们只能在mystr.c中被使用,如文件中的mystr_len函数可以引用num变量和str_len函数。 //这是main.c 的内容 #include <stdio.h> int main() { int len; len = mystr_len("hello, world\n"); printf("%d %d\n", my_num, len ) return 0; } 当不用static关键字时,等同于extern,即 int mystr_len(char *str) { return str_len(str) + num; } 和 extern int mystr_len(char *str) { return str_len(str) + num; } 是一样的。 二、函数作用域 static另外一个用途是函数内部静态变量,最常用的情况是 int *test() { int num = 100; int *ptr = &num; return ptr; } int main() { printf("%d\n", *test); return 0; } 该函数返回整数num的指针,在main函数中打印*test将会出现段错误,因为num做为test函数内部,只能在test内部被访问。以下程序是正确的。 int *test() { static int num = 100; int *ptr = &num; return ptr; } int main() { printf("%d\n", *test); return 0; } 该程序中num变量加了关键字static,函数运行结束后,依然可以在其他地方被引用,只是不能直接通过变量名访问,而要间接通过指针访问,原因是 static变量存储在全局数据段中而不是函数栈中。读者可以将它看作特殊的全局变量,只是其他地方只能通过指针来访问,而不能直接通过变量名访问。 本文来自:我爱研发网(52RD.com) - R&D大本营 详细出处:http://www.52rd.com/Blog/Detail_RD.Blog_qiu3809484_21316.html
Re:c++笔试题汇总 浪端之渡鸟 2010-05-26 14:39  
请给出下面这段代码执行后的输出结果: int main() { int i = 0; char outstring[10]; sprintf(outstring, "%d %d %d %d ", i, i - 1, ++i,i++); printf( "i = %d\r\n output string = %s ", i, outstring); } 结果: i = 2 outstring = 2 1 2 0
Re:c++笔试题汇总 浪端之渡鸟 2010-05-26 14:28  
死锁的四个必要条件 互斥条件(Mutual exclusion):资源不能被共享,只能由一个进程使用。 请求与保持条件(Hold and wait):已经得到资源的进程可以再次申请新的资源。 非剥夺条件(No pre-emption):已经分配的资源不能从相应的进程中被强制地剥夺。 循环等待条件(Circular wait):系统中若干进程组成环路,改环路中每个进程都在等待相邻进程正占用的资源。 处理死锁的策略 1.忽略该问题。例如鸵鸟算法,该算法可以应用在极少发生死锁的的情况下。为什么叫鸵鸟算法呢,因为传说中鸵鸟看到危险就把头埋在地底下,可能鸵鸟觉得看不到危险也就没危险了吧。跟掩耳盗铃有点像。 2.检测死锁并且恢复。 3.仔细地对资源进行动态分配,以避免死锁。 4.通过破除死锁四个必要条件之一,来防止死锁产生。
Re:c++笔试题汇总 浪端之渡鸟 2010-05-26 14:18  
题目: 3. Consider the following program: main() { int a[][3] = { 1,2,3 ,4,5,6}; int (*ptr)[3] =a; printf( "%d %d " ,(*ptr)[1], (*ptr)[2] ); ++ptr; printf( "%d %d " ,(*ptr)[1], (*ptr)[2] ); } The output for this program is: (a) 2 3 5 6 (b) 2 3 4 5 (c) 4 5 0 0 (d) None of the above 12. Object modules generated by assemblers that contain unresolved external references are resolved for two or more object modules by a/an (A) linker (B) loader (C) operating system (D) debugger (E) compiler 16. In a multiprogramming system, a set of processes is deadlocked if each process in the set is waiting for an event to occur that can be initiated only by another process in the set. Which of the following is NOT one of the four conditions that are necessary for deadlock to occur? (A) mutual exclusion (B) partial assignment of resources (C) nonpreemption (D) process suspension (E) circular wait 答案: 3A, ,首先(*ptr)指向数组首地址,即(*ptr)[0]指向数字1, 所以(*ptr)[1]指向2 (*ptr)[2]指向3。然后,++ptr;,使ptr指向数组的第二行,即指向4,同理,这次(*ptr)[1]指向5,(*ptr)[2]指向6。 12A,使用外部资源,由连接器来完成 16D,Coffman, Elphick和Shoshani于1971年总结了产生死锁的四个必要条件: 互斥条件(mutual exclusion):一个资源一次只能由一个进程使用,如果有其它进程申请使用该资源,申请进程必须等待直到所申请的资源被释放。 部分分配条件(hold and wait);一个进程已占有一定资源后,执行期间又再申请其它资源。 不可抢占条件(no preemption):一个资源仅能由一个占有它的进程来释放,而不能被其它进程抢占使用。 循环等待条件(circular wait):在系统中存在一个由若干进程申请使用资源而形成的循环等待链,其中每一个进程占有若干资源,同时由又在等待下一个进程所占有的资源。 要防止死锁问题,其根本的办法就是要使得上述四个条件之一不存在。 所以第16题答案是D
Re:c++笔试题汇总 浪端之渡鸟 2010-05-26 11:32  
1:设char *s=〃china〃;则printf〃%s,%c,%c\n〃,s,*s,s〔3〕;的输出是 A.china, c,n B.china,china,i C.c,c,n D.china,china,n 2:表达式 0x13& 0x17 的值为 A.0x17 B.0x13 C.0xF8 D.0xEC 3:下述程序执行后的输出结果是 #include main() { int x='f'; printf("%c\n",'a'+(x-'a'+1)); } A.G B.H C.I D.J 4:设int a=9, b=6, c;,执行语句c=a/b+0.8;后c的值是 A.1 B.1.8 C.2 D.2.3 5:下面C 程序中,若在屏幕上输入数值331后回车,程序执行后,屏幕上显示的输出结果应为____。 main(void) { unsigned int a,b,c,d; Scanf("%o",&a); b = a>>4; c = ~ (~ 0 << 4); d = b & c; printf("d=%o\n",d); } A.d=10 B.d=15 C.d=25 D.d=45 6:下列各语句定义了数组,其中哪一个是不正确的 A.char a [ 3 ][ 10 ] ={"China","American","Asia"} ; B.int x [ 2 ][ 2 ] ={1,2,3,4}; C.float x [ 2 ][] ={1,2,4,6,8,10}; D.int m [][ 3 ] ={1,2,3,4,5,6}; 7:若定义了 union { char a〔10〕; short b〔4〕〔5〕; long c〔5〕; }u; 则执行printf〃%d\n〃,sizeofu;语句的输出结果是 A.10 B.20 C.40 D.70 8:C语言中,〃\x3d〃在内存中占用的字节数是 A.1 B.2 C.4 D.5 9:将一个整数10002存到磁盘上,以ASCII码形式存储和以二进制形式存储,占用的字节数分别是 A.2和2 B.2和5 C.5和2 D.5和5 10:初始化一维数组 a 正确的语句是 A.int a[10]=(0,0,0,0,0); B.int a[10]={ }; C.int a[ ]={10} ; D.int a[10]={[10*1]}; 11:在C语言中,若定义函数时类型缺省,则类型隐含为 A.int B.char C.float D.void 12:设int(*p)( );,则p是 A.一维数组的指针变量 B.函数的指针变量 C.二级指针变量 D.字符串的指针变量 13:下述程序代码中有语法错误的行是( )。 int i,ia[10],ib[10]; /*第一行*/ for (i=0;i<=9;i++) /*第2行*/ ia[i]=0; /*第3行*/ ib=ia; /*第4行*/ 下述程序代码中有语法错误的行是( )。 int i,ia[10],ib[10]; /*第一行*/ for (i=0;i<=9;i++) /*第2行*/ ia[i]=0; /*第3行*/ ib=ia; /*第4行*/A.第1行 B.第2行 C.第3行 D.第4行 14:若定义了x=100;,则表达式x++>100?x+20:x+10的值是 A.110 B.111 C.120 D.121 15:执行下列程序 int a = 3, b = 4; void fun(int x1, int x2) {printf(〃%d, %d \ n〃, x1 + x2, b);} main() {int a = 5, b = 6;fun(a, b);} 后输出的结果是 A.3,4 B.11,1 C.11,4 D.11,6 简答题 16:打印一个N*N的方阵,N为每边字符的个数( 3〈N〈20 ),要求最外层为“X”,第二层为“Y”,从第三层起每层依次打印数字0,1,2,3,... 例子:当N =5,打印出下面的图形: X X X X X X Y Y Y X X Y 0 Y X X Y Y Y X X X X X X 17:main 函数执行以前,还会执行什么代码? 18:什么是预编译,何时需要预编译: 19:执行下列程序后,输出结果为 _______ 。 #include fun (int x) { int p; if ((x==0||(x==1)) return (3); p=x-fun(x-2); return p; } main() {printf( 〃 %d \ n 〃 ,fun( 答案: 1.A 2.B 3.A 4.A 5.B 注意八进制 6.C 7.C 8.A 9.C 前char数组,后short型 10.C 11.D 12.B 13.D 14.B 15.C 函数中只见全局变量b==4 16:大致: for(i=0; i<n; i++) for(j=0; j<n; j++){ if(i==0 || j==0 || i==n-1 || j==n-1) printf("X"); else if(i==1 || j==1 || i==n-2 || j== n-2) printf("Y") else printf("%d",j-2"); 17:全局变量初始化 18:主要是编译之前的一些宏替换。 19:题干不完整。列前十五项于下: 1、3 2、3 3、3-fun(1)=0 4、4-fun(2)=1 5、5-fun(3) = 5 6、6-fun(4) = 5 7、7-fun(5) = 2 8、8-fun(6) = 3 9、9-fun(7) =7 10、10-fun(8)=7 11、11-fun(9)=4 12、12-fun(10)=5 13、13-fun(11)=7 14、14-fun(12)=9 15、15-fun(13)=8
Re:asp.net前台javascript与后台c#相互调用 浪端之渡鸟 2010-04-06 15:32  
备注: 方法二:1、函数声明为public   后台代码(把public改成protected也可以) 以下是引用片段: public string ss()   {   return("a");   }   2、在html里用可以调用   前台脚本 以下是引用片段: <script language=javascript>   var a = "<%=ss()%>";   alert(a); </script> 脚本要写在本页,如果写在包含Js文件里不成功
Re:c++笔试题汇总 怂QQ 2009-10-09 15:01  
好贴!
共5页: 1 2 3 4 5 下一页