黑马程序员---【C语言】02基本数据类型
2015-03-30 15:17
309 查看
------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------
C语言有丰富的数据类型,因此它很适合用来编写数据库,如DB2、Oracle都是C语言写的。
C语言的数据类型大致可以分为下图中的几类:
有以下4种类型修饰符:
short 短型
long 长型
signed 有符号型
unsigned 无符号型
(2)、数据的存储长度也会跟着变化。比如,在64位编译器环境下,short占2个字节(16位),int占4个字节(32位),long占8个字节(64位)。不同编译器环境下,取值范围和占用的长度是不一样的,ANSI \ ISO制定了以下规则:
short跟int至少为16位(2字节)
long至少为32位(4字节)
short的长度不能大于int,int的长度不能大于long
char一定为为8位(1字节),毕竟char是我们编程能用的最小数据类型
(2)、signed和unsigned的区别就是它们的最高位是否要当做符号位,并不会像short和long那样改变数据的长度,即所占的字节数,
C语言有丰富的数据类型,因此它很适合用来编写数据库,如DB2、Oracle都是C语言写的。
C语言的数据类型大致可以分为下图中的几类:
一、变量
跟其他语言一样,C语言中用变量来存储计算过程使用的值,任何变量都必须先定义类型再使用。为什么一定要先定义呢?因为变量的类型决定了变量占用的存储空间,所以定义变量类型,就是为了给该变量分配适当的存储空间,以便存放数据。比如你是char类型,我就只给你分配1个字节就够了,没必要分配2个字节、3个字节乃至更多的存储空间。1、局部变量的使用
C语言的局部变量跟Java语言的局部变量的定义有所不同,你声明看一个局部变量后,没有经过初始化赋值是可以使用的。#include <stdio.h> int main() { int b; printf("%d\n",b); return 0; }但这是很危险的,不建议这样做。因为系统会随意给变量b赋值,得到的是垃圾数据。因此,局部变量还是必须先进行初始化赋值,然后再使用,这样才是最安全的做法。
2、char类型的取值范围
char类型的取值范围是ASCII码字符表或者是-128~127之间的整数,因此定义char类型数据有两种方式#include <stdio.h> int main() { char c1 = 'A'; char c2 = 65; }
3、char类型的数据只能存放一个字符
汉字或者字符串需要用字符数组来存储,因为一个汉字至少占了2个字符(编译器不同),一个字符串是由一个或者多个字符组成的。#include <stdio.h> int main() { char c1 = '陈';//错误,一个汉字至少占两个字符 char c2 = '111';//错误,只能存一个字符 char c3 = "222";//错误,字符串应存在字符数组里面 }
二、类型修饰符
在基本数据类型的前面加一些修饰符就成了类型修饰符。有以下4种类型修饰符:
short 短型
long 长型
signed 有符号型
unsigned 无符号型
1、用法演示
#include <stdio.h> int main() { //短整型 //下面两种写法等价 short int a1 = 1; short a2 = 1; //长整型 //下面两种写法等价 long int b1 = 2; long b2 = 2; //可以连续使用两个long long long c = 3; //有符号的整型 //下面两种写法等价 sign int d1 = 4; signed d2 = 4; //无符号的整型 //下面两种写法等价 unsign int e1 = 5; unsign e2 = 5; //两种修饰符也可以同时使用 //有符号的短整型 signed short int f1 = 6; //无符号的长整型 unsigned long int f2 = 6 }
2、short和long
(1)、short和long可以提供不同长度的整型数,也就是可以改变整型数的取值范围,比如short的取值范围是-32768~32767,long的取值范围就是-2147483648~2147483647(2)、数据的存储长度也会跟着变化。比如,在64位编译器环境下,short占2个字节(16位),int占4个字节(32位),long占8个字节(64位)。不同编译器环境下,取值范围和占用的长度是不一样的,ANSI \ ISO制定了以下规则:
short跟int至少为16位(2字节)
long至少为32位(4字节)
short的长度不能大于int,int的长度不能大于long
char一定为为8位(1字节),毕竟char是我们编程能用的最小数据类型
3、sign和unsign
(1)、signed代表有符号,包括正数、负数和0;unsigned代表无符号,只包括正数和0。比如,signed的取值范围是-32768~32767,那么unsigned的取值范围是0~65535不同的编译器有不同的取值范围(2)、signed和unsigned的区别就是它们的最高位是否要当做符号位,并不会像short和long那样改变数据的长度,即所占的字节数,
三、不同编译器环境下基本数据类型的存储长度
相关文章推荐
- 黑马程序员——C语言小结------宏定义以及基本数据类型总结
- C语言基本数据类型简介"黑马程序员"
- 【黑马程序员】C语言学习笔记之基本数据类型(六)
- 黑马程序员—C语言_基本数据类型
- C语言02_基本数据类型
- 黑马程序员————C语言基本语法(数组、字符串、指针、其他数据类型)
- 李洪强iOS开发之【零基础学习iOS开发】【02-C语言】07-基本数据类型
- 【02-C语言】07-基本数据类型
- 【零基础学习iOS开发】【02-C语言】07-基本数据类型
- 【黑马程序员】---C语言数据类型总结02
- 黑马程序员--数据库概述,表,主外键,以及常用基本数据类型
- 黑马程序员:API及基本数据类型的对象包装类
- 黑马程序员-基本数据类型
- C语言中数据结构的基本类型(整型、浮点型和字符型)
- C语言:基本数据类型与程序结构控制
- 黑马程序员—基本数据类型转换
- 数据类型,运算符和表达式01 - 零基础入门学习C语言02
- C语言中的基本数据类型
- 数据类型,运算符和表达式01 - 零基础入门学习C语言02
- C语言:基本数据类型,限定符,大小范围