您的位置:首页 > 编程语言 > C语言/C++

第三节:整型数据和实型数据

2015-11-08 23:23 525 查看
整型数据和实型数据
 
 
一 常量:在程序运行过程中,不能更改的量。
 
分类:
     1)整型常量  例如常用的自然数,不包括小数点
(在 C语言中,整型常量分为十进制整型常量、八进制整型常量和十六进制整型常量三种表示形式。)
 
     2) 实型常量 3.0 例如,自然数带小数点。(实型常量有两种表示形式:一种是十进制小数形式,另一种是指数形式。)
 
     3)字符型常量 a b 1 2(字符1和2)
 
     4) 字符串常量 hghgj
 
 
整型常量和实型常量有正负之分,所以我们又叫数值型常量。
 
符号常量 例如:π
 
 
看个例子:
 
 #include “stdio.h”     /*定义符号名PI为 3.14159*/
 #define PI 3.14159
 
 main()

 float r,s;
    r=5.0;
    s=PI*r*r;
printf("s=%f\n,s");
 
}
 
 

变量 : 其值可以改变的量
 
  变量实质:内存中的存储单元。
 
   
变量= 变量名+变量值+存储单元。
 
  变量应先定义后使用。
 
注:变量相当于一间宾馆,而内存中的存储单元就类似于宾馆中的一间房间。变量名相当于宾馆的房间号,变量值就好似房间的大小。
 
特性:
 
   1)凡未被事先定义的,不能作为变量。
   2)每一变量被指定为一确定类型,在编译时就能为其分配相同的存储单元。
   3)指定每一变量属于一类型,这就便于在编译时,据此检查该变量所进行的运算是否合法。
 
三、整型常量
     
 
  1、整型常量的表示方法:
 
   十进制、八进制、十六进制
 
  2、三种进制的表示方法
 
   1) 十进制数: 用一串连续的数字来表示,中间不允许有空格或其他字符。 1254
   2)
八进制数

逢八进一
   a、八进制数用数字”0“开头(不是字母o)  0127
  b、八进制只能用合法的八进制数字表示,数字“0-7”,但当输入非法数字时,C程序不会提示,只是得不到正确的结果。
 
  c、十六进制数:用数字“0”和字母“x”开头。十六进制只能包含有合法的十六进制数字,字母“a-f”数字“0-9”。(X大小写无所谓)
 
      3、整型常量
     
1)、三种进制之间的转换
     
2)、整型常量的分类:
  
      短整型、基本整型、长整型、无符号型
      3)、整型常量的表示方法:
  
      十进制、八进制、十六进制
 
 
八进制、十六进制转换成十进制数;按权相加法。
 
十进制转换成八进制和十六进制: 商除法。
 
四、整型变量
 
1、整型变量的分类:
    基本型、短整型、长整型、无符号型。
 
 2、整型变量的定义:
 
   1)基本整型变量用类型名关键字int 进行定义
   2)一个定义语句必须用分号“;”结束,在一个定义语句中可同时定义多个变量,变量之间用“,”分开
   3)一般微机为基本型整型开辟2个字节的存储单元,基本整型允许存放的数值范围是  -32768----32767
  4)当程序中用以上方式定义变量时i,j,k时,编译程序会为变量i,j,k都开辟存储单元,但并没有在存储单元中存放任何初值,因此这些存储单元中原有的信息垃圾并没有被清除,这时,变量中的值是无意义的,称变量值“无意义”。
   5) C语言规定,可以在变量定义的同时给变量赋初值,也称为变量初始化。
 
 
 
 3、整型数据的分类
 
 3.1、分类:
    1) signed 有符号整型
       a)Int 基本整型
       b)short 短整型
       c)long 长整型  占用四个字节   -2147483648----2147483647
  
       默认就是有符号。
 
    2) unsigned 无符号整型
       a) unsi
b487
gned int 无符号基本整型:没有正负号之分 0- 65535
       b) unsigned short 无符号短整型                0- 65535
       c) unsigned long 无符号长整型                 0-4294967295
   3.2、若表示一个长整型常量,则应该在一个整型常量后面加上一个字母后缀l,(l是小写)或者是L。longi; i=32768;
 
   注意:如果一个足够大的数,即使面值在长整型范围内,但数字后未加字母L,也不代表长整型数。
 
    无论是短整型还是长整型,都被识别为有符号整数。
   无符号整数应在数字末尾加上“u”或者“U”,长整型无符号整数常量,加“lu”或者是“LU”。
 
 
     注意: 无符号常量不能表示成小于0的负数。
     例如: -200U是不合法的。
 
五、 整数在内存中的存储方式
 
    1、存储单位
    1)在计算机中,内存存储的最小存储单位为“位(bit)”,每一个位中或者存放“0”或者存放“1”,因此成为二进制位,大多数计算机把8个二进制位组成了一个“字节(byte)”。
 
 
  一个字节等于 八位(8 bit)
 
如果一台计算机系统以2个字节(16个二进制位)来存放一条机器指令,就称为这台计算机字长为16位。
 
最右边的一位称为“最低位”,最左边的一位称为“最高位”。
 
若是正整数,最高位是“0”;若是负整数,最高位则是“1”。
 
 
    2、存储方式:
 
     1) 正整数:用俩个字节存放的最大正整数32768,在内存中
         0111111111111111
     2) 负整数:
          a) C语言中,对于负整数,在内存中是以整数的“补码”形式存放的。
 
          b)俩个字节存放的最小整数是-32768,在内存中的存储形式:1000000000000000。
 
          c)无符号整数:
       用俩个字节存放一个整数时,若说明为无符号整数,其中最高位不再用来存放整数的符号,16个二进制位全部用来存放整数,因此无符号整数不可能是负数,这时,16个二进制位中全部都是1时,它所代表的整数就是最大数,65536,内存形式:1111111111111111.
    注意区分有符号和无符号整数的存储。
 
 求 -1 和 65535 相同的存储格式。
 
 所以有符号整型-1 和 无符号整型 65535 在内存中的存储格式相同。
 
 
实型常量:
 
 
 
六、实型常量

 
     1、小数形式:即在数学中常用的实数形式,由数字和小数点组成。 如 3.2 1.5

 
 
     2、指数形式:1)这种形式类似于数学中的指数形式。在数学中,一个数可以用幂的形式来表示。在C语言中,则以“e"或”E“后跟一个整数来表示以10为底的幂数。

  
  例:2.3026=0.2306*10^1=2.3026*10^0=23.026*10^-1            2.3026=0.2306E1=2.3026E0=23.026E-1

 
       2)C语言语法规定,字母E或e之前必须有数字,且e或E后面的指数必须为整数。字母E或e前后以及数字之间不得插空格。
    
       例: e3  5e3.6   .e3   . e 都是不合法的指数形式
 
七、实型变量

 1、C语言中实型变量分为单精度和双精度两类,分别用类型名”float"和“double"进行定义。
例:单精度定义:floata,b;  
    双精度定义:double a,b;

 
  2、单精度与双精度型的区别如下:
    1)在一般计算机系统中,为float类型的变量分配4个字节的存储单元,为double类型的变量分配8个字节的存储单元。

     2)在 TURBO C中单精度实数的取值范围是-10^38~10^38之间,并提供7位有效位;小于-10^38的数被处理成零值。双精度实数的取值范围是-10^308~10^308之间,并提供15~16位的有效位,小于-10^308的数被处理成零值。因此,double类型的变量中存放的数据比float类型中存放的数据精确很多。
  3)在程序中一个实数可以用小数形式表示,也可以用指数形式表示。但在内存中,实数一律是以指数形式存放的。
  4)注意:在计算机内存中可以精确的存放一个整数,不会出现误差,但整型数值存放的范围较小;使用实型数的范围大,但往往存在误差
 
   5)给实型变量赋初值的方法如下: main() {floata=1.5,b=0.0;/*定义a,b为实型变量,它们的初值分别为1.5和0.0*/ }
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  C语言 笔记