【C\C++语言入门篇】 基本数据类型
首先、我们看32位的整数:int 、unsigned int、long、unsigned long 。这些都是基本类型,没有unsigned关键字的是有符号的,反之是无符号的。还有比如DWORD、 UINT这些也只是写别名(typedef)而已。有符号整数值得注意的是什么范围内是正数,什么范围是负数。这样对于加减运算、比较运算等有很大帮助,否则很容易溢出或者比较错误。举个例子:
unsigned int loop = 5;
for ( ; loop >= 0; --loop )
{
.......
}
这样一个循环,稍微不注意。就认为它是成立的,其实他是一个死循环。这里会减到0,成立继续减。由于是无符号,将减成最大的32位无符号整数:0xffffffff. 之后继续减,因此为死循环。说到这里,又要提出一个问题了。我们需要记住常用的一些十六进制数,比如:0xffffffff, 0x80000000, 0x7fffffff等。那么:
1. 为什么需要记住这些?这些数有什么特点?在有符号和无符号32位整数里,它们分别代表什么?
其次、是16位整数,(short)占2字节。需要注意的跟上面32位整数差不多。
2. 根据第一个问题,大家可以猜猜16位甚至8位有符号、无符号整数需要记住常用的16进制数有哪些?
再次、是8位整数,也可以理解成字符。比如char、unsigned char、bool. 这里只描述了基本的类型,其它typedef也是根据这些变了名字而已。在这里需要认识一点,char别始终认为是用在字符上,同样要有观念它是整数,而且是有符号的。大家可以做实验去了解他的范围。在上面的两个问题里,我相信你只要答对了,也就知道他的范围了。这里的bool需要说明,bool只有0或1两个状态,在内存里。因此它的范围只有0~1,嘿嘿!也就是false~true了哟。
在我们写程序的时候,脑子里第一反应可以不受数据类型的限制。我们可以首先想到这个类型占用多少个字节,就认为它就是一块儿内存。你可以理解成线段或者进度条的一部分。然后再看这个数据类型(基本数据类型)是否为有符号,然后你在写程序的时候就能有效的控制它的最大数,最小数。从而避免发生溢出等。
数据类型,说白了只是语法上的限制。你要是稍微底层一点或者指针操作,那么类型都可以忽略。一切都是在操作内存,即一切都在你的掌控之中。有符号或者无符号只是在比较运算和感官上有正负。在内存中存放的数据是没有符号可言的,你可以这么理解,一个unsigned int 变量的值为0xffffffff,那么同样是0xffffffff表示为int类型,它就等于-1。而在内存中都是同样的存储方式。所以,首先我们
相关文档:
系统环境:Windows 7
软件环境:Visual C++ 2008 SP1 +SQL Server 2005
本次目的:编写一个航空管理系统
这是数据库课程设计的成果,虽然成绩不佳,但是作为我用VC++ 以来编写的最大程序还是传到网上,以供参考。用VC++ 做数据库设计并不容易,但也不是不可能。以下是我的程序界面,后面 ......
刚刚完成的C读取文件一行数据,可以读大量数据的行。
/*
函数功能:
读取文件的一行,当开辟内存不够时return值为-1,size会给出至少需要的内存大小,
return值为1时表示此时文件结束,从buffer,size得到最后一行的数据和大小。
输入参数:
stream:文件流
......
最近班里的同学都忙着报班,有个达内是java培训,有个深蓝是C++培训,网上看了些帖子说什么的都有,自我感觉培养一个C++程序员的周期要比培养一个jAVA程序员的周期长很多,当然,C++要是学的好的话肯定比学java的牛,但是付出的代价个人认为是有很大差距的。对于现在市场上对于语言的需求也 ......
经过验证可以实现,先将实现代码贴出,以备以后使用。
本文默认你的java开发环境已经安装成功,并且对于java语言和c++语言有过了解。
编写测试用类:Demo.java
代码如下:
public class Demo
{
public static int COUNT = 8;
private String msg;
private int[] counts;
......