基本数据类型

来源:互联网 发布:美国歌手prince 知乎 编辑:程序博客网 时间:2024/05/01 18:54


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 无符号字符型   0255

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位操作系统中该空间大小为4G2 32次方)。分配方法一在硬盘上开辟虚拟内存空间,二采用软件实现(写时复制),在内存中给每个进程映射。

 




0 0
原创粉丝点击