您的位置:首页 > 其它

基本数据类型

2017-01-23 23:32 281 查看

C数据类型:
1、基本类型:①整型:短整型short、整型int、长整型long ②实型:单精度型float、双精度型double
③字符类型char
2、构造类型:数组、结构体struct、共用体union、枚举类型enum
3、指针类型
4、空类型void
5、定义类型typedef
 
数据类型决定:
1.
数据占内存字节数
2.
数据取值范围
3.
其上可进行的操作
 
标识符准则:
1、由字母、数字、下划线组成        2、开头只能是字母或下划线
3、区分大小写                      4、长度要求
5、不能与关键字同名
 
指针:各种类型的指针占4个字节,指向变量所在地址;16位放32为中的低16位,其余高十六位取决于低十六位的最高位,用以保证数的准确(符号位扩展)。整型数据达到最大值不断循环。
 
实型存储:符号位(1位)尾数(23位)指数(8位)
尾数用纯小数形式;不能精确表示0;规范化的指数形式;小数点前只有一位数据;
 
字符:一位字节,用ASCll码表示;
 
注意数组下标越界?
‘t’与“t”的区分:“t”里有\0;
字符串后面必有\0,字符数组无;
区分:a[]:[]地址运算符,a为首地址;a()为函数;
ASCll码最高位为0,采用7位;数字最高位为1;
 
基本数据类型:
基本类型:又称非构造性数据类型,其构造简单,是由系统事先定义好的。
构造类型:又称复杂数据类型,一般由程序员将其它数据类型(包括构造类型本身)按一定的规则构造而成。
{数组:相同的数据类型的几何;(1)同质(2)连续、有序}
指针类型:指针变量中只能存放地址(指针)。主要用于解决动态数据的建立、删除和使用。
空类型: 主要用于数据类型的转换和定义函数的类型。
C程序中的数据类型有常量和变量之分,分别属于以上这些数据类型。在程序中用到的所有数据都必须先定义后使用。
 
类型标识符
      名字
        取值范围
char
     字符型
       ASCII字符代码
unsigned  char
 无符号字符型
   0至255
signed  char
     有符号字符型
  -27 ~ 27-1
int
     整型
  -231~ 231-1
unsigned  int
     无符号整型
        0 ~ 232-1
signed  int
     有符号整型
         同int
float
     浮点
  10-38~1038
double
     双精度型
  10-308~10308
 
移植性:在嵌入式开发中,考虑到代码的移植性,对于有符号(signed)与无符号(unsigned)一定要留心系统默认的是无符号还是有符号;
为了解决此问题,通常使用typedef来重新指定声明无符号还是有符号;
Typedef int sig_int;
Typedef unsigned int  un_int;
 
数据类型说明符:
printf(  )函数
功能:向终端输出若干个任意指定类型的数据
格式:printf("格式控制",参数表列);
scanf(  )函数
功能:等待用户从键盘上输入数据,然后按格式控制的要求对数据进行转换后送到相应的变量地址中去。
格式:scanf(“格式控制”,地址表列);
注意:数据输入过程中产生的垃圾的处理方法!!
清除回车符的影响:①赋值抑制符:scanf(“%d%*c%c”,&a&c);或scanf(“%d”,&a);
Putchar();scanf(“%c”,&c);scanf(“%[^\n]”,str);
②调用一个函数,如:
char *my_gets(char *a)
{
    int i = 0;
while((a[i]=getchar())!='\n')
{
i++;
}
a[i]='\0';
}
 
变量的声明与定义
定义:创建一个变量,为其分配内存空间,并为它取名字(变量名),一个变量只能定义一次;
声明:告知编译器,这个名字(变量名)已经匹配在一块内存上了,但是并未为其分配内存;
变量是对程序中数据的存储空间的抽象
一般变量初始化的方法:
  默认初始化规则:

      全局变量、静态变量
      局部变量
  人工初始化:
      数值变量
      字符变量
      指针变量

      数组(对数组的操作就是对数组元素的操作)
变量初始化与赋值的共同点:都给变量值;异同点:定义变量并给值叫初始化,定义了以后在给值叫赋值。
 
内存空间的划分:每个进程运行所需的空间称为进程的虚拟地址空间。32位操作系统中该空间大小为4G(2
32次方)。分配方法一在硬盘上开辟虚拟内存空间,二采用软件实现(写时复制),在内存中给每个进程映射。
 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: