数据类型

数据类型
一、整型
1、整型数说明 
加上不同的修饰符整型数有以下几种类型
signed short int 有符号短整型数说明。简写为shortint字长为2字节16二进制数数的范围是-32768~32767。 
signed long int 有符号长整型数说明。简写为long字长为4字节32二进制数数的范围是-2147483648~2147483647。 
unsigned short int 无符号短整型数说明。简写为unsigned int字长为2字节共16二进制数数的范围是0~65535。 
unsigned long int 无符号长整型数说明。简写为unsigned long字长为4字节32二进制数数的范围是0~4294967295。 
2、整型变量定义 
可以用下列语句定义整型变量 
int a, b; /*ab被定义为有符号短整型变量*/ 
unsigned long c; /*c被定义为无符号长整型变量*/ 
3、整型常数表示 
按不同的进制区分整型常数有三种表示方法
十进制数以非0开始的数 
:220, -560, 45900 
八进制数0开始的数 
:06; 0106 
十六进制数:0X0x开始的数 
:0X0D, 0XFF, 0x4e 
另外可在整型常数后添加一个"L""l"字母表示该数为长整型数22L, 0773L, 0Xae4l
二、浮点型
1、浮点数说明 
float 单浮点数。字长为个字节32 二进制数数的范围是3.4x10-38E~3.4x10+38E。 
double 双浮点数。字长为 8个字节共 64 二进制数数的范围是1.7x10-308E~1.7x10+308E。 
说明
浮点数均为有符号浮点数没有无符号浮点数。 
2、浮点型变量定义 
可以用下列语句定义浮点型变量
float a, f; /*a, f被定义为单浮点型变量*/ 
double b; /*b被定义为双浮点型变量*/ 
3、浮点常数表示 
例如: +29.56, -56.33, -6.8e-18, 6.365 
说明
1. 浮点常数只有一种进制(十进制)。 
2. 所有浮点常数都被默认为double。 
3. 绝对值小于1的浮点数其小数点前面的零可以省略。如:0.22可写为.22, -0.0015E-3可写为-.0015E-3
注意:对于双精度浮点型变量,在调用格式化输入函数scanf()输入该类型变量的值时,必须使用的占位(格式)符是%Lf或 %lf (在 %f之间的字符是英文字符L的小写,而不是数字1。所以,最好不要用小写英文字母l,而用大写的L ),不能用%f格式。但是,在调用格式化输出函数printf()输出双精度变量的值时,却可以使用%f格式
三、字符型 
加上不同的修饰符可以定义有符号和无符号两种类型的字符型变量例如
char a: /*a被定义为有符号字符变量*/ 
unsigned char l; /*l被定义为无符号字符变量*/ 
字符在计算机中以其ASCII码方式表示其长度为1个字节有符号字符型数取值范围为-128~127无符号字符型数到值范围是0~255。因此在Turbo C语言中字符型数据在操作时将按整型数处理如果某个变量定义成char, 则表明该变量是有符号的即它将转换成有符号的整型数。Turbo C中规定对ASCII码值大于0x80的字符将被认为是负数。例如ASCII 值为0x8c的字符定义成char被转换成十六进制的整数0xff8c 。 这是因当ASCII码值大于0x80该字节的最高位为1, 计算机会认为该数为负数对于0x8c表示的数实际上是-74(8c的各位取反再加1), -74 转换成两字节整型数并在计算机中表示时就是0xff8c( 0074 各位取反再加1)。因此只有定义为 
unsigned char 0x8c转换成整型数时才是8c。这一点在处理大于0x80ASCII码字符时(例如汉字码)要特别注意。一般汉字均定义为unsigned char(在以后的程序中会经常碰到)
另外也可以定义一个字符型数组(关于数组后面再作详细介绍), 此时该数组表示一个字符串。 
例如
char str[10]; 
计算机在编译时将留出连续10个字符的空间str[0]str[9]10个变量但只有前9个供用户使用。第10str[9]用来存放字符串终止符NULL"\0", 终止符是编编译程序自动加上的这一点应特别注意。
1、字符型常数表示
能用符号表示的字符可直接用单引号括起来表示'a', '9', 'Z', 也可用该字符的ASCII码值表示例如十进制数85表示大写字母'U', 十六进制数0x5d表示']', 八进制数0102表示大写字母'B'。 

一些不能用符号表示的控制符只能用ASCII码值来表示如十进制数10 表示换行十六进制数0x0d表示回车八进制数033表示EscTurbo C2.0中也有另外一 
种表示表示方法'\033'表示Esc, 这里'\ 0' 符号后面的数字表示十六进制的ASCII值当然这种表示方法也适用于可睦接用符号表示的字符。 

另外, Turbo C2.0中有些常用的字符用以下特殊规定来表示
规定符 等价于 含义 
'\f' '\X0C' 换页 
'\r' '\X0D' 回车 
'\t' '\X09' 制表键 
'\n' '\X0A' 换行 
'\\' '\X5C' \符 
'\'' '\X27' '符 
'\"' '\X22' "符 
对于字符串常量一般用双引号括起来表示"Hello Turbo C2.0"。 
四、指针型
指针是一种特殊的数据类型在其它语言中一般没有。指针是指向变量的地址实质上指针就是存贮单元的地址。 根据所指的变量类型不同可以是整型指针(int *)、浮点型指针(float *)、字符型指针(char *)、结构指针(struct *)和联合指针(union *)
五、无值型
无值型字节长度为0, 主要有两个用途一是明确地表示一个函数不返回任何值一是产生一个同一类型指针(可根据需要动态分配给其内存)。 
例如
void *buffer; /*buffer被定义为无值型指针*/  

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值