<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[CGambit的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/CGambit</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; CGambit]]></copyright><item><title><![CDATA[SQL Server项目]]></title><link>https://blog.youkuaiyun.com/CGambit/article/details/5994981</link><guid>https://blog.youkuaiyun.com/CGambit/article/details/5994981</guid><author>CGambit</author><pubDate>Mon, 08 Nov 2010 11:59:00 +0800</pubDate><description><![CDATA[<br /><br />Microsoft SQL
Server 2005中新增的一个特性是可以使用托管代码创建数据库对象，如存储过程、用户定义的函数和用户定义的类型。在托管代码中实现的数据库对象需要添加到SQL Server项目中。我们可能只把在SQL Server中运行的类放在托管代码中，作为本章前面推荐的一个应用程序类库的一部分。而SQL Server项目有特殊的引用和特性，使该项目成为放置这类代码的唯一位置。<br />完整论述托管数据库对象的创建超出了本书的范围，这里提及它，是因为这类项目可能会]]></description><category></category></item><item><title><![CDATA[数据库项目]]></title><link>https://blog.youkuaiyun.com/CGambit/article/details/5994960</link><guid>https://blog.youkuaiyun.com/CGambit/article/details/5994960</guid><author>CGambit</author><pubDate>Mon, 08 Nov 2010 11:51:00 +0800</pubDate><description><![CDATA[数据库项目用于保存SQL脚本、查询和存储过程。数据库项目常常是Visual Studio中开发人员不太知道的一个特性，除非有人告诉他们。不要混淆数据库项目与SQL
Server项目(详见本章下一节)，数据库项目用于保存SQL脚本，而SQL Server项目用于保存在Microsoft SQL Server上运行的CLR托管代码。如果当前没有使用数据库项目保存脚本和存储过程，就将它们保存在文件中，再将它们应用于SQL Server。如果这么做很危险，可以只把最初的副本保存在SQL Server中。为保存存储]]></description><category></category></item><item><title><![CDATA[附加数据库对于服务器失败(Microsoft.SqlServer.Smo),无法升级数据库，因为它是只读的，或者具有只读文件]]></title><link>https://blog.youkuaiyun.com/CGambit/article/details/5961944</link><guid>https://blog.youkuaiyun.com/CGambit/article/details/5961944</guid><author>CGambit</author><pubDate>Sun, 24 Oct 2010 11:10:00 +0800</pubDate><description><![CDATA[<br /><br />今天在将一个 SQL Server 2000 数据库附加到 SQL Server 2005时出现如下的错误：附加数据库对于服务器失败(Microsoft.SqlServer.Smo),无法升级数据库test，因为它是只读的，或者具有只读文件。请将数据库或文件设为可写，然后重新运行恢复操作。 (Microsoft SQL Server，错误: 3415)<br />查看了数据库文件，他们并没有只读属性，在 SQL Server 2000 中附加都是一切正常的啊。<br />经查阅资料，]]></description><category></category></item><item><title><![CDATA[C语言声明的优先级规则]]></title><link>https://blog.youkuaiyun.com/CGambit/article/details/5924769</link><guid>https://blog.youkuaiyun.com/CGambit/article/details/5924769</guid><author>CGambit</author><pubDate>Thu, 07 Oct 2010 09:48:00 +0800</pubDate><description><![CDATA[<br />A      声明从它的名字开始读取，然后按照优先级顺序依次读取：<br />B      优先级从高到低依次是：<br />B.1    声明中被括号括起来的那部分<br />B.2    后缀操作符：<br />括号()表示这是一个函数，而方括号[]表示这是一个数组。<br />C      如果const和（或）volatile关键字的后面紧跟类型说明符（如int，long等），那么它作用于类型说明符，在其它情况下，const和(或）volatile关键字作用于它左边紧邻的指针星号。]]></description><category></category></item><item><title><![CDATA[对无符号类型的建议]]></title><link>https://blog.youkuaiyun.com/CGambit/article/details/5913901</link><guid>https://blog.youkuaiyun.com/CGambit/article/details/5913901</guid><author>CGambit</author><pubDate>Wed, 29 Sep 2010 11:50:00 +0800</pubDate><description><![CDATA[<br />尽量不要在你的代码中使用无符号类型，以免增加不必要的复杂性。尤其是，不要仅仅因为无符数不存在负值（如年龄、国债)而用它来表示数量<br />尽量使用象int那样的有符号类型，这样在涉及升级混合类型的复杂细节时，不必担心边界情况(例如－1被翻译成非常大的正数）。<br />只有在使用位段和二进制掩码时，才可以用无符号数。应该在表达式中使用强制类型转换，使操作数均为有符号数，或者无符号数，这样就不必由编译器来选择结果的类型。<br /><br />考虑下面的代码：<br />#include<std]]></description><category></category></item><item><title><![CDATA[结构，还是指向结构的指针]]></title><link>https://blog.youkuaiyun.com/CGambit/article/details/5913886</link><guid>https://blog.youkuaiyun.com/CGambit/article/details/5913886</guid><author>CGambit</author><pubDate>Wed, 29 Sep 2010 11:46:00 +0800</pubDate><description><![CDATA[<br />假设你必须写一个与结构有关的函数。应该用结构指针作为参数，还是用结构作为参数和返回值呢？每种方法都有它的长处和不足。
       把指针作为参数的方法的两个优点是：它既工作在较早的C实现上，也工作在较新的C实现上，而且执行起来很快；只需传递一个单个地址。缺点是缺少对数据的保护。被调用函数中的一些操作可能不经意地影响到原来结构中的数据。不过，ANSI C新增的const限定词解决了这个问题。例如，如果在showinfo()函数中写入了改变结构中任何成员的代码，编译器会把它作为一个错误捕获出来。]]></description><category></category></item><item><title><![CDATA[return 与 exit]]></title><link>https://blog.youkuaiyun.com/CGambit/article/details/5913877</link><guid>https://blog.youkuaiyun.com/CGambit/article/details/5913877</guid><author>CGambit</author><pubDate>Wed, 29 Sep 2010 11:42:00 +0800</pubDate><description><![CDATA[<br />按照ANSI C,在最初调用的main()中使用return和调用exit()的效果相同，所以，在main()中一直使用的语句和exit(0)这个语句的作用相同，但要注意这里所说的是"最初调用"。如果main()在一个递归程序中，exit()仍然会终止程序；但return将控制权交给递归的前一级，直到最初的那一级，此时return才会终止程序。return和exit()的另一个区别在于，即使在除main()之外的函数中调用exit()，它也将终止程序。]]></description><category></category></item><item><title><![CDATA[关于指针赋值和const使用的一些规则]]></title><link>https://blog.youkuaiyun.com/CGambit/article/details/5913868</link><guid>https://blog.youkuaiyun.com/CGambit/article/details/5913868</guid><author>CGambit</author><pubDate>Wed, 29 Sep 2010 11:38:00 +0800</pubDate><description><![CDATA[<br /> <br />将常量或非常量数据的地址赋给指向常量的指针是合法的：<br />double rates[3]={88.99,100.12,340.5};<br />const double locked[4]={0.08,0.075,0.0725,0.07};<br />const double *pc=rates;   //合法<br />pc=locked;                      //合法<br />pc=&rates[3];                  //合法<]]></description><category></category></item><item><title><![CDATA[Windows下MinGW与Eclipse CDT开发环境搭建(转)]]></title><link>https://blog.youkuaiyun.com/CGambit/article/details/5913861</link><guid>https://blog.youkuaiyun.com/CGambit/article/details/5913861</guid><author>CGambit</author><pubDate>Wed, 29 Sep 2010 11:35:00 +0800</pubDate><description><![CDATA[<br /><br />开发环境：eclipse-cpp-galileo-win32、MinGW5.1.6<br /><br />1、下载Eclipse for cpp<br />到Eclipse的官方网站http://www.eclipse.org上下载Eclipse cpp edition。<br />我下载的是eclipse-cpp-galileo-win32.zip，解压后就可以运行，当然还不能进行开发，需要配置编译器<br /><br />2、安装MinGW<br />现在我们需要在Windows]]></description><category></category></item><item><title><![CDATA[C中的获取输入函数]]></title><link>https://blog.youkuaiyun.com/CGambit/article/details/5912504</link><guid>https://blog.youkuaiyun.com/CGambit/article/details/5912504</guid><author>CGambit</author><pubDate>Tue, 28 Sep 2010 17:44:00 +0800</pubDate><description><![CDATA[<br />getchar(),scanf()<br />这两个函数中的每一个都能很好地完成其工作，但他们不能很好地混合在一起。这是因为getchar()读取每个字符,包括空格、制表符和换行符；而scanf()在读取数字时则跳过空格、制表符和换行符。<br />showchar1.c<br />#include<stdio.h><br />void  
display(char cr,int lines,int width);<br />int main(void)<br />{<br />int ch;]]></description><category></category></item><item><title><![CDATA[语录:管理程序员就像放养一群猫]]></title><link>https://blog.youkuaiyun.com/CGambit/article/details/5912502</link><guid>https://blog.youkuaiyun.com/CGambit/article/details/5912502</guid><author>CGambit</author><pubDate>Tue, 28 Sep 2010 17:43:00 +0800</pubDate><description><![CDATA[<br /><br />一个好的程序员应该是那种过单行线都要往两边看的人。<br />– Doug Linder, 系统管理员<br />任何一个工具，它的一个最重要的、同时也是最难以做到的方面就是对那些学习使用这个工具的人在使用习惯上的影响。如果这个工具是一种编程语言，那么，这种影响——不管我们是否喜欢——将是一种思考习惯上的影响。<br />– Edsger Dijkstra, 计算机科学家<br />抽象化是一种非常的不同于模糊化的东西 … 抽象的目的并不是为了模糊，而是为了创造出一种能让我们做到百分]]></description><category></category></item><item><title><![CDATA[不重复随机数问题]]></title><link>https://blog.youkuaiyun.com/CGambit/article/details/5912496</link><guid>https://blog.youkuaiyun.com/CGambit/article/details/5912496</guid><author>CGambit</author><pubDate>Tue, 28 Sep 2010 17:42:00 +0800</pubDate><description><![CDATA[<br /><br />来源：csdn(周公的专栏)<br />好了，我现在开始本篇的讲述。本篇的最原始形态是来源于我早年做的一个Java SE应用软件，它是用来模拟彩票投注站的选好软件的。应为在早年Java SE中用swing做界面布局是一件比较痛苦的事情，所以后来我重新用C#做了一个。这个问题的原型就是解决双色球随机选号的问题，我们知道双色球红色球共包含1到33这33个红色号码球及1到16这16个蓝色号码球，一注双色球号码应包括6个红色球号码和1个蓝色球号码。蓝色号码球很好解决，随机从1到16这16个数]]></description><category></category></item><item><title><![CDATA[有趣的面试题]]></title><link>https://blog.youkuaiyun.com/CGambit/article/details/5912491</link><guid>https://blog.youkuaiyun.com/CGambit/article/details/5912491</guid><author>CGambit</author><pubDate>Tue, 28 Sep 2010 17:41:00 +0800</pubDate><description><![CDATA[<br /> <br />(1)一个人每天晚上出去看流星，假设一个月内能看见流星的几率为91%，那么请问半个月看到流星的概率是多少？<br />问题解答:此题的答案有争论，一种答案就是91%,还有一种答案是70%。给出2种答案的解释，我也比较偏重于91%这个答案。<br />支持91%的认为这种题思路就像扔硬币一样，不管扔多少次，正面和反面出现的概率都是一样的。<br />支持70%的思路很清晰，也有公式证明：<br />每天晚上出来流星出来的概率为x<br />则一个月不出来流星的概率为（1-x)^30=]]></description><category></category></item><item><title><![CDATA[数据和C]]></title><link>https://blog.youkuaiyun.com/CGambit/article/details/5912489</link><guid>https://blog.youkuaiyun.com/CGambit/article/details/5912489</guid><author>CGambit</author><pubDate>Tue, 28 Sep 2010 17:39:00 +0800</pubDate><description><![CDATA[<br />C允许您使用3种数制书写数字，也允许以这3种数制显示数字。要用八进制而不是十进制显示整数，请用%0代替%d。要显示十六进制整数，请使用%x。如果想显示C语言前缀,可以使用说明符%#o、%#x和%#X分别生成0,0x和0X前缀。在IDE中写的代码中插入一个getchar();语句，以便程序的执行窗口不会立即关闭。 
对应于16位单位，short类型和int类型的最小取值范围为-32767到32767；对应于32位单位，long类型的最小取值范围为-2147483647到2147483647。对于]]></description><category></category></item></channel></rss>