C语言:变量的数据类型


1. 基本数据类型:基本数据类型最主要的特点是,其值不可以再分解为其它类型。也就是说,基本数据类型是自我说明的。

C语言中的三种基本数据类型是:整型 、实型 、字符型 和枚举型。每种类型又可以分为常量和变量。


整型常量: 
(1) 十进制的整型常量:由数字0~9组成。如:0、10、365、-12等。
(2) 八进制的整型常量:以0开头,由数字0~7组成。如:0、010、0365、-012、011等。
(3) 十六进制的整型常量:以0x或0X开头,由数字0~9、a~z或A~Z组成。如:0x11、0Xffff、0xa5、-0XAC等。
注: C语言系统默认为基本整型常量 。(关于“基本整型”,请参考下面的内容)

整型变量: 
(1) 根据整数的最高位是否用作符号位,分为有符号(signed)整型和无符号(unsigned)整型。
(2) 根据整数在计算机内存中所占用的空间大小,分为短整型(short int或short)、基本整型(int)和长整型(long int或long)。
short x = 10; 等价于 signed short x = 10; 同时等价于 signed short int x = 10;
int age = 20; 等价于 signed int age = 20;
long z = 10000L; (加L后说明10000是一个长整型常量,而不是一个基本整型常量)
注:
(1) C语言系统默认为有符号 整数。
(2) unsigned和signed不能同时出现。
(3) short和long不能同时出现。

实型常量: 
在C语言中,实型常量的两种表现形式:小数形式和指数形式。或者叫做小数点式和字母E(或e)式。
(1) 小数点式:
     1. 有且仅有一个小数点
     2. 小数点的左边和右边可以有一边没有数据,但不能同时没有数据
     举例:3.14、0.1、10.、0.0、.0、-10.08
(2) 字母E(或e)式:
     1. 有且仅有一个字母E(或e)
     2. 两边都必须有数据
     3. 左边可以是整数,也可以是小数
     4. 右边只能是整数
     举例:1e5、1.2E+4、3.0e-2、0e0、1.e0、.0e0

实型变量:
分为单精度和双精度两种,单精度用float表示,双精度用double表示。
举例:
float  x = 1., y = .0, z = 1.2E+4;
double  salary, sum;


字符型常量: 
字符型常量的两种表现形式:
(1) 由一对单引号括起来的单个字符:
     举例:'A'、'#'、'x'、'$'


字符常量包含一个或多个字符,周围用单引号围起来。例如:

              'a'   ‘XY’    ‘0’

  1 #include<stdio.h>
  2 
  3 void main()
  4 {
  5         char c = 'abc';  //这里只能把字符'c'接收进去;

  6         printf("%c /n" ,c);
  7 }


(2) 由一对单引号括起来的,里面是由反斜杠“/”引起的若干字符:
     1. 一般转义字符,如:'/t'、'/"'、'//'、'/t'、'/n''、'/''
     2. “/”与其后的1~3位 八进制数组成的八进制转义字符,如:'/123'、'/0'、'/61'、'/101'
     3. “/x”与其后的1~2位 十六进制数组成的十六进制转义字符,如:'/x41'、'/x61'、'/x7F'。注意: 不能是大写的“/X”。

     
字符型变量: 
注:字符变量中存放的实际上是该字符的ASCII码,因为字符型数据都被处理成整型数据。

举例:
(1) char a = 'A'; 与 char a = 65; 是等价的。因为字符'A'在计算机中的形式是整型65。

(2)

#include < stdio.h > 

void  main( void )
{
     char  ch = ' a ' ;
     int  x = 0x6463 ;

    ch = ' a ' + 1 ;
    
    printf( " %d /n " , ch);  //  98 
    printf( " %c /n " , ch);  //  b 
    
    printf( " %c /n " , x);  //  c 
    printf( " %d /n " , x);  //  25699 
    
    x = x >> 8 ;
    
    printf( " %c /n " , x);  //  d 
    printf( " %d /n " , x);  //  100 
}


2. 构造数据类型:构造数据类型是根据已定义的一个或多个数据类型用构造的方法来定义的。也就是说,一个构造类型的值可以分解成若干个“成员”或“元素”。每个“成员”都是一个基本数据类型或又是一个构造类型。在C语言中,构造类型有以下几种:
·数组类型
·结构体类型
·共用体(联合)类型
3. 指针类型:指针是一种特殊的,同时又是具有重要作用的数据类型。其值用来表示某个变量在内存储器中的地址。虽然指针变量的取值类似于整型量,但这是两个类型完全不

同的量,因此不能混为一谈。
4. 空类型:在调用函数值时,通常应向调用者返回一个函数值。这个返回的函数值是具有一定的数据类型的,应在函数定义及函数说明中给以说明,例如在例题中给出的max函数定义中,函数头为:int max(int a,int b);其中“int ”类型说明符即表示该函数的返回值为整型量。又如在例题中,使用了库函数sin,由于系统规定其函数返回值为双精度浮点型,因此在赋值语句s=sin (x);中,s 也必须是双精度浮点型,以便与sin函数的返回值一致。所以在说明部分,把s说明为双精度浮点型。但是,也有一类函数,调用后并不需要向调用者返回函数值,这种函数可以定义为“空类型”。其类型说明符为void。在后面函数中还要详细介绍。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值