2012年12月12日
摘要: HANDLE:句柄,是Windows用来表示对象的(不是C++的对象),HWND是其中一种,HWND是HANDLE,但HANDLE不只是HWND,更具体的查MSDN吧。 HANDLE(句柄)是windows操作系统中的一个概念。在window程序中,有各种各样的资源(窗口、图标、光标等),系统在创建这些资源时会为它们分配内存,并返回标示这些资源的标示号,即句柄。句柄指的是一个核心对象在某一个进程中的唯一索引,而不是指针。由于地址空间的限制,句柄所标识的内容对进程是不可见的,只能由操作系统通过进程句柄列表来进行维护。句柄列表: 每个进程都要创建一个句柄列表,这些句柄指向各种系统资源,比如... 阅读全文
posted @ 2012-12-12 22:12 猿人谷 阅读(314) 评论(0) 推荐(0) 编辑
摘要: 题目:求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。例如2+22+222+2222+22222(此时 共有5个数相加),几个数相加有键盘控制。1.程序分析:关键是计算出每一项的值。2.程序源代码: 1 #include<stdio.h> 2 int main() 3 { int a,n,count=1; 4 long int sn=0,tn=0; 5 printf("please input a and n\n"); 6 scanf("%d,%d",&a,&n); 7 printf("a=%d 阅读全文
posted @ 2012-12-12 15:48 猿人谷 阅读(11706) 评论(0) 推荐(0) 编辑
摘要: 题目:一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?1.程序分析:在10万以内判断,先将该数加上100后再开方,再将该数加上268后再开方,如果开方后的结果满足如下条件,即是结果。请看具体分析:2.程序源代码:#include<stdio.h>#include<math.h>int main(){ long int i,x,y; for(i=1;i<10000;i++) { x=sqrt(i+100); y=sqrt(i+268); if(x*x==i+100&&y*y==i+268) printf(&q 阅读全文
posted @ 2012-12-12 15:34 猿人谷 阅读(345) 评论(0) 推荐(0) 编辑
摘要: 来源:http://blog.pfan.cn/jixian/27083.html1. 结构POINT定义如下:typedef struct tagPOINT { int x; int y; } POINT用变量var给出下面的定义例:一个POINT 变量答案:POINT var;a. 一个指向POINT的指针;b. 一个指向指针的指针,它指向的指针是指向一个POINT;c. 一个有16个POINT的数组;d. 一个有16个指针的数组,每个指针指向一个POINT;e. 一个指向数组的指针,该数组有16个POINT2. 实现函数IsEven,用于判断一个给定的整数是否为偶数3. 写一个函数,... 阅读全文
posted @ 2012-12-12 13:29 猿人谷 阅读(200) 评论(0) 推荐(0) 编辑
摘要: 来源:http://blog.pfan.cn/jixian/20485.html本文从介绍基础概念入手,探讨了在C/C++中对日期和时间操作所用到的数据结构和函数,并对计时、时间的获取、时间的计算和显示格式等方面进行了阐述。本文还通过大量的实例向你展示了time.h头文件中声明的各种函数和数据结构的详细使用方法。关键字:UTC(世界标准时间),Calendar Time(日历时间),epoch(时间点),clock tick(时钟计时单元)1.概念 在C/C++中,对字符串的操作有很多值得注意的问题,同样,C/C++对时间的操作也有许多值得大家注意的地方。最近,在技术群中有很多网友也多次问到过 阅读全文
posted @ 2012-12-12 13:26 猿人谷 阅读(326) 评论(0) 推荐(0) 编辑
摘要: rand()函数可以用来产生随机数,但是这不是真正意义上的随机数,是一个伪随机数,是根据一个数,我们可以称它为种子,为基准以某个递推公式推算出来的一系数,当这系列数很大的时候,就符合正态公布,从而相当于产生了随机数,但这不是真正的随机数,当计算机正常开机后,这个种子的值是定了的,除非你破坏了系统,为 阅读全文
posted @ 2012-12-12 11:20 猿人谷 阅读(11482) 评论(5) 推荐(2) 编辑
摘要: 转摘声明:选自《CSDN 社区电子杂志——C/C++杂志》来源:http://www.cnblogs.com/wqlblogger/archive/2007/01/09/615525.html函数功能: 把格式化的数据写入某个字符串缓冲区。头文件: stdio.h函数原型: int sprintf( char *buffer, const char *format, [ argument] … );参数列表: buffer:char型指针,指向将要写入的字符串的缓冲区。 format:char型指针,指向的内存里面存放的将要格式字符串。 [argument]...:可选参数,可... 阅读全文
posted @ 2012-12-12 09:41 猿人谷 阅读(474) 评论(0) 推荐(0) 编辑
摘要: #define MIN(a,b)((a)<=(b)?(a):(b)) 阅读全文
posted @ 2012-12-12 09:27 猿人谷 阅读(494) 评论(0) 推荐(0) 编辑
  2012年12月11日
摘要: delete[]中的[]是要告诉c++,指向的是一个数组,如果在[]中填上了数组的长度信息,c++编译系统将忽略,并把它作为[]对待。但如果忘记了写[],则程序会产生运行错误。 delete只会调用一次析构函数,而delete[]会调用每一个成员的析构函数。在More Effective C++中... 阅读全文
posted @ 2012-12-11 22:32 猿人谷 阅读(333) 评论(0) 推荐(0) 编辑
摘要: 当一个对象的值可能会在编译器的控制或监测之外被改变时,例如一个被系统时钟更新的变量,那么该对象应该声明成volatile。因此编译器执行的某些例行优化行为不能应用在已指定为volatile的对象上。volatile修饰符的主要目的是提示编译器该对象的值可能在编译器未监测到的情况下被改变,因此编译器不能武断地对引用这些对象的代码做优化处理。一个定义为volatile的变量是说这变量可能会被意想不到地改变,这样,编译器就不会去假设这个变量的值了。精确地说就是,优化器在用到这个变量时必须每次都小心地重新读取这个变量的值,而不是使用保存在寄存器里的备份。下面是volatile变量的几个例子:并行设备. 阅读全文
posted @ 2012-12-11 22:32 猿人谷 阅读(266) 评论(0) 推荐(0) 编辑