认识数据类型
char //字符数据类型 short //短整型 int //整型 long //长整型 long long //长长整型 float //单精度浮点型 double //双精度浮点型
char类型对应的就是一些字符,比如:a b ! @ 等等符号(字母也算字符)
short int long longlong都是整型变量,比如:1 66 366等等,唯一的区别就是在计算机中所占内存的大小。
float double都是浮点型变量,比如:3.14 、2.857928等等这种小数,他们两的区别也是在存储大小上,double存储小数的精度高于float。
在c99中还出现了bool(布尔类型)和long double的数据类型。
数据类型的大小
每个数据类型都有自己在计算机中的存储大小,要想算出这些数据类型的大小,我们就要用c库中的一个函数sizeof(),sizeof是一个操作符,是计算机类型变量所占内存空间的大小。
#include<stdio.h> int main() { printf("%d\n", sizeof(char)); printf("%d\n", sizeof(short)); printf("%d\n", sizeof(int)); printf("%d\n", sizeof(long)); printf("%d\n", sizeof(long long)); printf("%d\n", sizeof(float)); printf("%d\n", sizeof(double)); return 0; }
上面的程序可以看出各个数据类型的大小,单位是字节。
c语言为什么int和long都占4个字节,那为什么还要两个不一样的。因为c语言标准规定sizeof(long)>=sizeof(int)。在早期的16位系统环境下,int是用2字节,long用4字节。在后来的32位系统环境下,int和long一样,都用4字节。在现在普遍的64位系统环境下,根据编译器的版本不同,int和long用的存储也不同。32位的编译器,int和long一样,都用4字节。64位编译器,int是用4字节,long用8字节。
创建数据变量
创建数据变量实际就是在计算机中申请开辟一个存储空间。
char ch = ‘w’; 就是创建了一个char类型的变量,其中ch是可以理解为这个变量的名字,而后面的‘w’就是给这个char类型的变量进行初始化赋值,使这个ch = ‘w’。其他的数据类型以此类推,都是由——数据类型+署名 = 对应变量的值所创建出来的。
char ch = 'y'; int a = 15; float rat = 3.14;
变量和常量
生活中有变量就有常量,常量就是有些值是一直不变的(性别,身份证,圆周率),还有一些可变的值(年龄,身高,电话)。
变量又分为全局变量和局部变量,区别有以下几点:1、定义不同:局部变量指的是在函数内定义的变量,全局变量指的是在函数外定义的变量。2、内存存储方式不同:全局变量存储在全局数据区中,局部变量存储在栈区。3、使用方式不同:全局变量在声明后程序的各个部分都可以用到,但是局部变量只能在局部使用。
#include<stdio.h> int a1 = 10; int main() { int a2 = 20; return 0; }
其中a1是全局变量,a2是局部变量。(全局变量和局部变量的变量名最好不同,但是当全局变量和局部变量变量名相同时,局部变量优先)