数据的表现形式
在计算机高级语言中,数据有两种表现形式:常量和变量。
C语言是一种重类型的语言,它不像python等弱类型语言,在定义变量的时候不需要强调变量的类型,而是根据开发者定义的形式来自动判断变量的类型。c和c++在定义变量的时候,必须要将变量的两个要素定义完整,则整个程序编译的时候才能编译通过。
其形式如下: 变量类型 变量名 ,只有两个要素都符合,一个变量的定义才算完成。
变量类型
- int (整形) ,用来保存整数型数据,占计算机内存的4个byte。
- char (字符型),用来保存特殊字符,又名特殊整形,它属于整形,但是整形却不能包含于字符型,通常占1个byte。当字符常量储存在计算机中的时候,并不是存放字符,而是存放字符对应的ASCLL码,展现给机器的时候,机器只需要读ASCLL码值,而展现给人们阅读的时候已字符的形式来展现。
- float 单精度浮点型,用来表示带小数点的数据,占
- double 双精度浮点型,和float的作用差不多,但是具有更大的表示范围,也相对比较安全一些。
- long int 长整型,和int类型功能类似,也占4个字节个数。
- long long,双长型,同5.,占内存中8个字节个数。
- short int ,短整型只占2个字节。
- bool,布尔型,只有两种表现形式,真or假。
C语言是一种重类型的语言,它不像python等弱类型语言,在定义变量的时候不需要强调变量的类型,而是根据开发者定义的形式来自动判断变量的类型。c和c++在定义变量的时候,必须要将变量的两个要素定义完整,则整个程序编译的时候才能编译通过。
其形式如下: 变量类型 变量名 ,只有两个要素都符合,一个变量的定义才算完成。
而且,对于一个已经定义好的变量,你可以改变变量的值,而不能改变变量的类型。
变量值的储存形式
通常,变量值在储存单元中都是以补码的形式储存。而对于原码、补码、反码的知识,正数的原码、补码、反码都是一样,但是对于负数来说,三个却是不一样,但是存储在计算机中,用的是补码的形势存在。
来用一道题来说明数据的储存形势:
#include<stdio.h>
int main()
{
char c=128; //1000 0000
unsigned char uc =128; //1000 0000
unsigned char us =0; //0000 0000
us =c+ uc;
printf("%x \n",us);
us =(unsigned char)c+uc;
printf("%x \n",us);
us = c+(char)uc;
printf("%x \n",us);
}