C 数据类型及长度
- 格式:doc
- 大小:22.50 KB
- 文档页数:1
数据类型、运算符和表达式一、C 语言的基本数据类型数据是程序处理的对象。
C 中将数据分为不同的数据类型,任何数据都属于某一种特定的数据类型。
数据类型的作用有两个:一是指明为数据分配多大的存储空间和规定了数据的存储结构,进而规定了数据的取值范围;二是规定了数据所能进行的操作。
C 的数据类型分为基本数据类型和构造类型。
基本数据类型是系统定义的,用户可以直接使用。
构造类型由用户自行定义。
C 的数据类型如图所示。
C 标准没有规定各类数据所占用内存位数。
所以不同c 编译系统的各类数据所占用内存位数是不一样的。
上机使用时,应注意使用的c 编译系统的具体规定。
Turbo C 基本类型 所占位数 数的范围 [signed] char 8 -128~127 unsigned char 8 0~255 [signed]int 16 -32768~32767 short [int] 16 -32768~32767long [int] 32 -2147483648~2147483647 unsigned [int] 16 0~65535 unsigned short [int] 16 0~65535 unsigned long [int]320~4294967295C++数据类型基本类型字符型(char) 空类型(void)整型短整型(short int) 无符号整型(unsigned int)长整型(long int)基本整型(int) 实型(浮点型) 双精度型(double)单精度型(float) 指针构造类型枚举(enum) 联合(union)结构体(struct)数组float 32 约6位有效数字double 64 约12位有效数字在Visual C++中:char:1 Byteint:4 Byteshort:2 Bytelong:4 Bytefloat:4 Bytedouble:8 Byte二、常量常量:整型常量、实型常量、字符常量、字符串常量、符号常量1.整型常量C语言程序中可以使用十进制、八进制和十六进制来表示整型常量。
第三章基本数据类型、运算符与输入输出函数⏹ 3.1 基本数据类型⏹ 3.2 常量⏹ 3.3 变量⏹ 3.4 C语言的运算符和表达式⏹ 3.5 输入输出函数3.1 基本数据类型数据类型基本类型构造类型其他类型整型带符号无符号基本整型(int)短整型(short int)长整型(long int)整型(unsigned int)短整型(unsigned short int)长整型(unsigned long int)字符型(char)实型(浮点型)单精度型(float)双精度型(double)长双精度型(long double)枚举类型(enum)数组类型结构体类型(struct)共用体类型(union)指针类型空类型(void)3. 2 常量何谓常量——程序中直接书写的数据;例如:a=100; b=a+12;常量类型——以字面形式区分;例如: 12 (基本整型)3.5 (实型)123L (长整型)'A' (字符型)符号常量——用标识符代表一个常量。
3.2 常量3.2.1整型常量整型常量就是整常数,可以用三种进制形式表示:1.十进制数:以非0数字开头的数。
如123,-123等,其每个数字位可以是0~9。
2.八进制数:以数字0开头的数。
如0123,-0123等,其每个数字位可以是0~7。
3.十六进制数:以0x(或0X)开头的数。
如0xffff,0x1111,-0x123等,其每个数字位可以是0~9、A~F(或a~f)。
3. 整常量类型int 型常数:-32768~32767视为int常数;可赋给int、long型变量。
long型常数:在-2147483648 ~2147483647之内、但超出-32768~32767的数及带后缀l / L的视为long型常数;可赋给long型变量。
long int long-2147483648 -32768 0 32767 2147483647带后缀l 或L的数:long整型量的溢出若一个变量无法容纳下要存入的数,这种现象称为溢出,溢出将导致数据存储错误;在运算过程中也有可能产生溢出导致运算结果错,因此程序设计中应避免产生溢出。
C语言基本数据类型1.概述C 语言包含的数据类型如下图所示:C语言中的基本数据类型有整形、字符型、浮点型:单精度型、双精度型;枚举类型、数组等。
1、整形整形分为整形常量和整形变量,常量就是我们平时所看到的准确的数字,例如:1、20、333、、、等等,变量则按我的理解是我像内存去申请一个存储空间,告诉内存空间我申请了这个地方用来存放一个整形的数据,但是什么时候放并没有直接确定。
一般占4个字节(32位),最高位代表符号,0表示正数,1表示负数,取值范围是-2147483648~2147483647,在内存中的存储顺序是地位在前、高位在后,例如0x12345678在内存中的存储如下。
定义:用int关键字,举例如下:在C语言中基本的整形变量标识符是int,在32位机器中一个int型数据使用32位也就是4个字节进行存储。
2、字符型字符型在其本质上就是整形,我们在C语言中使用char表示一个字符型,他占用一个字符的存储空间,字符型在存储时其内部存储的依旧是二进制数据,当我们读出时将会得到一个整形数据,而我们输出时会得到一个字符是因为我们人为的定义了一个对照表,这个表规定字符a的数值就是97,所以当我们遇到97时我们有两种读出方式,第一种以整数形式读出就是97,另一种就是以字符型读出,使用%c指定读出形式,则对照表则为a。
3、浮点型除了整形还有另一类很重要的基本数据类型,那就是实型。
我们在学习数学时不仅使用整数,更多的时候则是使用小数,那么浮点数在内存中饭的存储与整数在内存中的存储有什么不一样的地方吗?其实,单从数据存储上看,都是2进制并没有任何不同,但不同的是我们加在其上的表示规则与读取规则。
无论单精度还是双精度的浮点数在内存中我们对于一个浮点数都分为三个部分:1、符号位:0代表正1代表负;2、指数位:用于存储科学技术法中的指数;3、尾数位:存储尾数部分3.1 单精度float:系统的基本浮点类型。
至少能精确表示6位有效数字。
C语言的数据类型生活中的数据,可以分为数值类和字符类数据。
数值类数据又根据是否带小数点分为整型数据不实型数据两大类。
整数据又根据数的大小分为短整型、整型和长整型三种。
实型数据又根据小数的精确位数分为单精度实型和双精度实型两数。
什么是整型数据?日常生活中的下列数据:13 9999 -81 54 9876543 ……即丌带小数的数据即为整型数据。
整型数据的分类C语言中的整型数据包括整型常量和整型变量,描述的是整数的一个子集。
整型常量就是整常数。
在C语言中,常用的整常数有八进制、十六进制和十进制,使用丌同的前缀来相互区分。
除了前缀外,C语言中还使用后缀来区分丌同类型的整数。
八进制整常数八进制整常数必须以数字0开头,即以数字0作为八进制数的前缀。
数码取值为0~7。
以下各数是合法的八进制数:015 0101 0177777以下各数丌是合法的八进制数:256 0382十六进制整型常数十六进制整常数的前缀为0X戒0x。
其数码取值为0~9,A~F戒a~f。
以下各数是合法的十六进制整常数:0X2A 0XA0 0XFFFF以下各数丌是合法的十六进制整常数:5A 0X3H十进制整型常数十进制整常数没有前缀,数码取值为0~9。
以下各数是合法的十进制整常数:237 -568 1627以下各数丌是合法的十进制整常数:023 23D整型常数的后缀(1)在16位字长的机器上,基本整型的长度也为16位,因此表示的数的范围也是有限定的。
十进制无符号整常数的范围为0~65535,有符号数为-32768~+32767。
如果使用的数超过了上述范围,就必须用长整型数来表示。
长整型数是用后缀“L”戒“1”来表示的。
整型常数的后缀实例十进制长整常数158L(十进制为158)、358000L(十进制为358000)。
八进制长整常数012L(十进制为10)、0200000L(十进制为65536)。
十六进制长整常数0X15L(十进制为21)、0XA5L(十进制为165)、0X10000L(十进制为65536)。
c语言char用法举例1.char类型是C语言中最基本的数据类型之一,通常可以用于保存字符和小整数,其长度是8位(即1个字节),字节以0和1表示,每一个字节可以表示256(2^8)不同的数字或字符,例如,字符'a'对应的数字是97,而字符'2'对应的数字就是50。
2. char类型变量定义在C语言中,使用char关键字来定义字符型的变量,变量名之前要加上关键字char,如char letter;letter就是定义好的字符型变量。
3. char类型变量的值在C语言中字符串是一个以Null字符(\0)结尾的字符序列,而字符变量的值则是一个字符,也就是一个字节,可以是字母或者数字。
如:字符变量letter的值可以是字母'A'或者数字'1'。
4. char类型变量赋值当字符变量letter已经定义出来之后,可以通过“=”或者常量来给letter赋值。
如:letter='a'; letter='z'。
另外,char类型变量也可以给予数字的值,如letter=97;letter=122。
这说明,在C语言中,字符变量和对应的数字值是等价的。
5. char类型变量的运算对于char类型变量,C语言中还提供了一系列的字符操作函数,例如:toupper(),tolower(),strlen()等函数,可以帮助我们完成一系列操作,比如把字符全部转换成大写,把字符全部转换成小写,获取字符串长度等。
6. char类型变量的输入输出在C语言中,使用scanf()函数来实现标准输入,而printf()函数则可以实现标准输出,如:scanf("%c",&letter);//输入printf("letter=%c\n",letter);//输出其中,%c是Printf函数的格式控制符,表示字符的输入输出格式。
C/C++程序设计第2 章数据类型及表达式计算机学院C/C++程序设计课程组C/C++程序设计第2章主要内容本章主要介绍:基本数据类型和存储类型的说明方法,以及基本运算符的运算规则和表达式的构成方法,为后续章节的学习奠定一个基础。
C/C++程序设计2.1 C 语言的数据类型使用高级语言编写程序,主要工作有两项:一是描述数据,二是描述数据加工的方法。
数据类型图 2.1C 语言的数据类型基本类型整型实型字符型带符号长整型(简称长整型)带符号整型无符号整型无符号整型无符号短整型无符号长整型单精度型双精度型空类型构造类型指针类型枚举类型数组类型结构体类型共用体类型C/C++程序设计2.2 常量常量是程序运行过程中其值不发生变化的数据。
2.2.1 整型常量表2.1 整型数据的表示方式2.2.2 实型常量3.14、.9999、-3.14159、834.、–0.666 、6.89E-52.2.3 字符常量’x’,’a’,’A’,’b’,’$’,’#’ ,printf("\tab\rcd\n\’ef\\g");2.2.4 符号常量#define 符号常量字符串#define PI 3.14159C/C++程序设计【例2.1】求一个圆柱体体积,用符号常量代替π。
#include <stdio.h>#define PI 3.14159 /*定义PI为符号常量*/void main(){float r,h,v;scanf("%f,%f",&r,&h);v=PI*r*r*h; /* PI相当于3.14159,参与运算*/printf("Volume=%f",v);}运行时输入:3,2↙运行结果为: Volume=56.548618C/C++程序设计2.2.5 字符串常量"\tab\rcd\n\’ef\\g“"I am a student" 、"x"、""注意:’\0’和’0’不同,’\0’是编码为0的字符,而’0’则是数字0,其编码为48。
C 数据类型及长度
C语言只提供了下列几种基本数据类型:
char 字符型,占用一个字节,可以存放本地字符集中的一个字符
int 整型,通常反映了所用机器中整数的最自然长度
float 单精度浮点型
double 双精度浮点型
此外,还可以在这些基本数据类型的前面加上一些限定符。
short 与long 两个限定符
用于限定整型:
short int sh;
long int counter;
在上述这种类型的声明中,关键字int可以省略。
通常很多人也习惯这么做。
short 与long 两个限定符的引入可以为我们提供满足实际需要的不同长度的整型数。
int 通常代表特定机器中整数的自然长度。
short 类型通常为16 位,1ong 类型通常为32
位,int 类型可以为16 位或32 位。
各编译器可以根据硬件特性自主选择合适的类型长度,但要遵循下列限制:short与int类型至少为16 位,而long类型至少为32 位,并且short 类型不得长于int类型,而int类型不得长于long类型。
类型限定符signed 与unsigned 可用于限定char 类型或任何整型。
unsigned 类型
的数总是正值或0,并遵守算术模2n定律,其中n 是该类型占用的位数。
例如,如果char对象占用8 位,那么unsigned char类型变量的取值范围为0~255,而signed char类型变量的取值范围则为-128~127(在采用对二的补码的机器上)。
不带限定符的char类型对象
是否带符号则取决于具体机器,但可打印字符总是正值。
long double类型表示高精度的浮点数。
同整型一样,浮点型的长度也取决于具体的实现。
float、double与long double类型可以表示相同的长度,也可以表示两种或三种不
同的长度。
有关这些类型长度定义的符号常量以及其它与机器和编译器有关的属性可以在标准头文
件<limits.h>与<float.h>中找到,这些内容将在附录B中讨论。
练习2-1 编写一个程序以确定分别由signed及unsigned 限定的char、short、
int与long类型变量的取值范围。
采用打印标准头文件中的相应值以及直接计算两种方式实
现。
后一种方法的实现较困难一些,因为要确定各种浮点类型的取值范围。