博文
C 宏定义的关键(define)(2005-12-16 11:36:00)
摘要:#define plus(x,y) x+y
main()
{ int x=1,y=2,z=3;
int sum;
sum=plus(x+y,z)*plus(y,z);
printf("sum=%d",sum);
}
answer=12. ^_^ ,why? can you ?
告诉你吧。。。
x+y+z*y+z=12
这个很关键哦,关键是你要理解这个宏定义带参数的问题就可以了。
......
随机数(Random Number)的问题(2005-12-15 19:08:00)
摘要:
#include <stdio.h>
#include <time.h>
#include <stdlib.h>
main()
{
int i;
randomize(); /*这样就行了*/
i=random(35);
printf("%d",i);
getch();
}
--------------------------------------------------------------------------/
程序的关键就是伪随机数的(pseudo-random number)(因为计算机对随机的结果有可能重复,所以叫伪随机数)产生。仅仅rand()函数是不能确保随机的结果序列不同(这点可以从printf("%d",rand());打印看结果,每次都一样),还需要所谓的种子(seed)产生器函数void srand(unsigned int seed);使用参数做种子来使rand()函数的结果序列不同。参数最好每次都能变化,那么运行rand()函数的使用,由于srand函数的种子参数不同,rand()函数随机的结果就不同了。<time.h>里面time函数返回的就是自1970/01/01日开始的时间(用滴答数来表示:ticks)...原型是time_t time(time_t *timer);别被time_t吓倒。time.h里有typedef long time_t原来time_t也就是个long int.而time_t *指针也就是long *.而指针不就是存放地址的嘛。比如cpu32根地址线那么有32位。表示成16进制也就是8个16进制位。比如0X315A45B3.把指针就看普通的整形内存单元放整形数一样。没什么大不了。另外time函数的参数是把它指向的单元用来存放流逝的时间(自从1970/01/01开始).如果是NULL。那么表示不用存放。但返回值还是可以表示流逝的时间。显然每一秒过后,结果都不一样。拿来做种子是最合适......
getchar()需要注意的问题(2005-12-15 18:59:00)
摘要:
# include
int main()
{
char c1, c2;
c1=getchar();
getchar(); //“吃掉”缓冲区回车字符
putchar(c1);
putchar('\n');
c2=getchar();
putchar(c2);
putchar('\n');
}
笔记:^_^
getchar();
按键盘上的回车产生了2个字符:回车符('\r')和换行符('\n')。回车符'\r'(CR:carriage return:倒车)使光标回到这行的首部,换行符('\n')(new line)然后再换行.
所以当输入字符'w',并按下回车以后.首先得到回车符。那个getchar函数结束了. 但是还存在一个换行符.所以如果用getchar()来做判断的时候.
最好再写一次getchar()清除缓冲区的'\n'.
......
windows xp下安装SQL2000 server(2005-12-14 23:58:00)
摘要:
SQL2000企业版本适用于WIN 2000系统,2003系统和XP一般装不了需要选用个人版,当然如果你在不清楚的前提下辛辛苦苦下载了企业版本却不能安装,是不是很失望呢?这里介绍一个XP下安装装SQL2000企业版本方法以供参考
办法如下:
一.在SQL服务器的安装盘中找到MSDE这个目录,并且点击setup.exe安装它,过程简单直接下一步就OK了。
二. 重启系统WINDOWSXP,这下就可以看到SQL服务的图标出现了。
三. 再拿出SQL服务器版的安装光盘,直接安装客户端工具(这个不要多说吧?最简单的方法就是直接点击光盘根目录下的autorun.exe)根据提示安装,自检过程中知道系统不是SERVER版,会提示只安装客户端工具。
四. 打开企业管理器,试用SA用户连一下看看,是不是发现SA用户登陆失败?因为你还没有与信任SQL SERVER连接相关联。还好这个只要对系统注册表稍加修改就可以啦:在运行中输入regedit打开注册表编辑器,找到[HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\MSSQLSERVER\MSSQLSERVER],这个项里面有一个键值LoginMode,默认下,值是1,现在将值改为2,重启电脑。
五. 再打开企业管理,再连接试试,OK了!
......
billgates english(2005-12-14 22:45:00)
摘要:盖茨11条人生箴言(中英):老板无任期限制
In Bill Gates Book for high school and college graduates, there is a list of 11 things they did not learn in school. In his book, Bill Gates talks about how feelgood, politically-correct teachings created a full generation of kids with no concept of reality and how this education set them up for failure in the real world.
在比尔-盖茨写给高中毕业生和大学毕业生的书里,有一个单子上面列有11项学生没能在学校里学到的事情。比尔-盖茨在书中谈到让你感觉良好的政治上正确的教导培养出一整代不知现实为何物的年轻人,这种教育只能导致他们成为现实世界中的失败者。
The 11 things are:
这11项事情是:
Life is not fair, get used to it.
生活是不公平的;要去适应它。
The world wont care about your self-esteem. The world will expect you to accomplish something before you feel good about yourself.
这世界并不会在意你的自尊。这世界指望你在自我感觉良好之前先要有所成就。
You will not make 40 thousand dollars a year right out of high school. You wont be a vice president with a car phone, until you earn both.
高中刚毕业你不会一年挣4万美元。你不会成为一个公司的副总裁,并拥有一部装有电话的汽车,直到你将此职位和汽车电话都挣到手。
If you think your teacher is tough, wait till you get a ......
第七次编程给我的感受及个人的体会(2005-12-14 21:06:00)
摘要:由于是时间过去,我写的时候已经超过时间.好了,不多说了,我把我的program.帖出来.
有什么想法跟我联系呀...!
判断3条边能否构成一个三角形。
输入3个浮点数,浮点尾数2位。
如果能够构成三角形,输出YES,否则输出NO.(输出独占1行)
样例1:
3.00 4.00 5.00
YES
样例2:
1.02 2.34 3.36
NO
测试数据将保证只有一行,3个正浮点数,且每个浮点数都保留2位尾数。所有数字不超过10000.00
数字之间有1个空格分开,末尾没有其他符号。
#include "stdio.h"
main()
{
float a,b,c; /*定义三个变量*/
while(1)
{
scanf("%f,%f,%f",&a,&b,&c); /*输入a,b,c*/
if(a<0||b<0||c<0)
printf("\ndata error,print again\n");
else
break;
}
if((a+b)>c&&(a+c)>b&&(b+c)>a) /*构成三角形的条件*/
printf("YES");
else
printf("NO");
}
......