C语言基本数据类型

合集下载

C语言-基本数据类型、常量和变量

C语言-基本数据类型、常量和变量

(2)八进制整数 以数字0打头,后跟0~7组成的数字串。例如: 0123表示八进制常数123,相当于十进制数83。 八进制整数可以加上后缀u(U),l(L)或ul(UL)分别构成八进制 的无符号数、长整数或无符号长整数。例如: 012345u、02765543102l、0345675026ul等。 (3)十六进制整数 以数字0和小写字母x(或大写字母X)打头,后跟0~9及A~ F(或a~f)组成的数字字母串。其中,A~F(或a~f)分别表示 十进制的10~15。例如: 0x2f是一个十六进制,相当于十进制的47。 若在十六进制数后面加上后缀u(U)、l(L)或ul(UL), 则分别构成十六进制的无符号数、长整数或无符号长整数。如: 0x89ad476bu, 0x9043fecd2l, 0x98bfd5ca7ul
三个属性: ① 变量分为不同的数据类型,数据类型决定了该变量存储
的数据的含义。
② 变量分为不同的存储类型,存储类型决定了变量在计算 机中的存储位置及其寿命(生命期)。
③ 变量在程序中的定义位置决定了该变量的作用域,即起
作用的范围。
1. 变量的定义
C语言规定,变量必须先定义后使用,变量的数据类型与变 量名本身无关。 变量定义一是定义变量的数据类型,二是定义变量的名称, 三是说明变量的存储类型,其一般格式为: [存储类型] 数据类型 变量清单; char ch1; static int i, j, k; short int si; float f1, f2; double balance, profit, loss; 变量的数据类型可以是字符型、整型、浮点型、双精度型等。
signed int
signed long
unsigned int
unsigned long

C语言中的几种常见数据类型

C语言中的几种常见数据类型

C 语言中的几种常见数据类型整型(int)一、整型数说明加之不同的修饰符, 整型数有以下几种类型 ;signed short int 有符号短整型数说明。

简写为 short 或者 int, 字长为 2 字节共 16 位二进制数, 数的范围是-32768~32767。

signed long int 有符号长整型数说明。

简写为 long, 字长为 4 字节共 32 位二进制数, 数的范围是-2147483648~2147483647。

unsigned short int 无符号短整型数说明。

简写为 unsigned int, 字长为 2 字节共 16 位二进制数, 数的范围是 0~65535。

unsigned long int 无符号长整型数说明。

简写为 unsigned long, 字长为 4 字节共 32 位二进制数, 数的范围是 0~4294967295。

二、整型变量定义可以用下列语句定义整型变量int a, b; /*a、b 被定义为有符号短整型变量*/unsigned long c; /*c 被定义为无符号长整型变量*/三、整型常数表示按不同的进制区分, 整型常数有三种表示方法:十进制数: 以非 0 开始的数如:220, -560, 45900八进制数: 以 0 开始的数如:06; 0106, 05788十六进制数:以 0X 或者 0x 开始的数如:0X0D, 0XFF, 0x4e此外, 可在整型常数后添加一个或者字母表示该数为长整型数,如 22L,0773L, 0Xae4l。

浮点型(float)一、浮点数说明Turbo C 中有以下两种类型的浮点数:float 单浮点数。

字长为4 个字节共32 位二进制数, 数的范围是3.4x10-38E~3.4x10+38E。

double 双浮点数。

字长为8 个字节共64 位二进制数, 数的范围是1.7x10-308E~1.7x10+308E。

说明:浮点数均为有符号浮点数, 没有无符号浮点数。

C语言基本数据类型

C语言基本数据类型

0.0314159 +2
数字部分 指 数 (尾数) (阶码)
<
字符常量
• 定义:用单引号括起来的单个普通字符或转义字符.
例转义••转字字转义符符义字转常字符义量符举字的:例反符如值含(斜c及义:h‘线2其该_a后0含’字0面1义符.‘cA跟:,的c’h一转A2‘?S_个义C0’字I0字I4符‘码.符\cn)值或’ 一‘\1个01代含’ 码义值表示 m{} \\\\\vnaar‘ppppirrrrniiii<(nnnn)如ttttffff((((""""IT\\‘‘‘例1\Cu\\s036例‘a如r\1A70{}垂Py1bm6’单’:\:0or-x直’\换回响1oa-"引4-\p-’gi-‘‘'制H-行车铃-2nCr--r号---i(-oa表-C-A0\n-)--'-wm-’’’-"t\--\——-nf--1)\-(a--";\-“0--\r——--)n-Y1e--;’-’"’0\64-y-b)’--58o;‘-=,Au-’\-,?n’--\”\\\"’‘‘\\tfb‘‘)\\“\\\\x;nx4n‘a4\68"’’10—13—)’1;’’-2—-—--’运 AI\T--Cs-u--1-运 屏 打a9B-行--rP0-y-7--b--行 幕 印--:rC结,o--”-6o---H结显机5g--果‘-C---or水--果示输(a:’w--m’-退换反双平::出)a-(a屏\-’r格页斜引制’:=e\幕n线号表¥y’显ou示?”)
{
in•t可i =用0;sizeof(类型标识符)测量
printf ("char: %d bytes.\n",sizeof(char));

c语言三种基本数据类型

c语言三种基本数据类型

c语言三种基本数据类型C语言是一种广泛应用于计算机系统开发中的语言,也是很多程序员入门学习的第一门编程语言,而C语言中的基本数据类型也是程序员必须深入掌握的基础知识之一。

下面我们就来围绕C语言中的三种基本数据类型进行详细讲解。

第一步:什么是数据类型在具体讲解C语言中三种基本数据类型之前,我们需要先了解什么是数据类型。

简单来说,数据类型是指程序中的数据所具有的特性,包括数据类型的取值范围、内存存储方式、占用字节数等。

在C语言中,每个变量都需要声明其数据类型,这样才能在程序中正确地对其进行操作,而且类型不匹配的错误也是很常见的错误之一。

第二步:三种基本数据类型C语言中的基本数据类型分为三类:整型、实型和字符型。

下面分别进行详细阐述。

1. 整型整型是指不带小数点的普通整数,包括有符号和无符号两种类型。

其中,有符号整型的取值范围为-2^31~2^31-1,即-2147483648~2147483647,占用的字节数为4。

而无符号整型的取值范围为0~2^32-1,即0~4294967295,同样也是占用4个字节。

在实际应用中,有符号整型比无符号整型更加常用,因为它可以表示正负值。

2. 实型实型是指带小数点的数值,包括单精度和双精度两种类型。

其中,单精度实型的取值范围为3.4E-38~3.4E38,占用的字节数为4;双精度实型的取值范围为1.7E-308~1.7E308,占用的字节数为8。

一般情况下,双精度实型更加精确,但是也需要占用更多的内存空间。

3. 字符型字符型实际上就是整型,只不过它的取值范围是0~255,即0x00~0xFF。

其中,单引号括起来的字符被称为字符常量,可以直接赋值给字符型变量。

例如:char c = 'A'; c 的值为65。

在C语言中,字符型变量也可以进行算术运算,但是其实质还是一个整型。

第三步:应用场景不同的数据类型适用于不同的场景。

例如,在进行科学计算或者涉及到精确计算时,应该使用实型或双精度实型变量;而在处理计数或索引等整数时,则应该使用整型变量。

C语言基本数据类型

C语言基本数据类型
表2-2列出C语言的全部关键字及其用 途。
关键字 char int long short float double unsigned signed struct union enum void const volatile auto extern static register typedef
表2-2
−32768≤i≤32767
对它们可以施行如下算术运算:
+(加) −(减) ﹡(乘) /(除) %(取模)
整数还可使用下述运算符进行关系运 算:
> >= = = <= < !=
C语言中与int有关的类型还有: (1)短整型short int,简写为short。 (2)长整型long int,简写为long。 (3)无符号整数unsigned int,简写为 unsigned。
类型 流程控制
运算符
用途 条件语句 条件语句的另一种选择 for循环语句 while和do-while循环语句 do-while语句 间断语句 接续语句 跳转语句 返回语句 多路选择语句 多路选择语句中的默认情况 多路选择语句中的情况选择 计算字节数
续表
(3)标点符号
C语言中标点符号是表示语法的符号, 共有13个,即:
枚举类型
C语言数 据类型
导出类型
枚举型 无值型 数组 结构 联合 函数 指针型
续表
2.4.1 整型int及其相关类型
在C语言中,表示整型量的关键字是 int,所以一个整型变量i的说明形式为: int i;
在目前大多数实现中,整型变量的取 值范围因机器字长而异。
在字长为16位的机器上,整型变量i的 取值范围是:
在程序中使用一个变量之前,先要对 它进行定义:为它指定一个名称(变量 名),指明它是什么类型的变量等。变量 名应是合法的标识符。

C语言基本数据类型

C语言基本数据类型

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语言的常用的数据类型有哪些_所占字节分别是多少

C语言的常用的数据类型有哪些_所占字节分别是多少
浮点型
浮点型计算会影响计算机性能,所以不是做科学计算尽量不用浮点型 浮点型打印使用%f float:占32位,4个字节,精度会低一点 double:占32位,4个字节,精度会高一点
字符类型
字符类型打印使用:%c char:占8位,1个字节
无符号类型
void:空类型,一般在使用指针的时候会使用
浮点型计算会影响计算机性能所以不是做科学计算尽量不用浮点型
C语 言 的 常 用 的 数 据 类 型 有 哪 些 _所 占 字 节 分 别 是 பைடு நூலகம் 少
整型
整形打印使用%d short:短整型,占16位,2个字节 int:占32位,4个字节 long:长整型,占4个字节,本来意思比int更多,但是目前来看基本都是和int一样

C语言-基本数据类型、常量和变量

C语言-基本数据类型、常量和变量
-1.234E18, 2.74e-02, 2.71828e0, .86e-3, 1e-2等。 书写指数格式的浮点数时,字母e或E前面必须有数字,可以没有 小数点,如.2e3,2.3e,2e3是正确的,而.e3,e-3等是错误的。同 时,e或E后面必须是正负整数,不能带小数点,如1.2e3.1、0.3e0.5等是错误的。
4
3. 类型修饰符
(1)short和long可以提供不同的数据长度以满足实际使用的需要。
C规定:长度 short int ≤ int ≤ long int
VC++ 6.0
16bit 32bit 32 bit
C规定:长度 float ≤ double ≤ long double
VC++ 6.0
32bit 64bit 64bit
整理ppt
5
VC++ 6.0数据类型和取值范围
类型 char [signed] char unsigned char int [signed] int unsigned [int] short int
长度(字节) 1 1 1 4 4 4 2
取值范围 -128~127 -128~127 0~255 -2147483648~2147483647 -2147483648~2147483647 0~4294967295 -32768~32767
在整数后面加上后缀l或L则构成长整数,如
-124783648l,1234567890L
在整数后面加上后缀ul或UL则构成无符号长整数,如
3456ul,1234567890ul
整理ppt
8
(2)八进制整数 以数字0打头,后跟0~7组成的数字串。例如:
0123表示八进制常数123,相当于十进制数83。 八进制整数可以加上后缀u(U),l(L)或ul(UL)分别构成八进制
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第2章基本数据类型本章介绍常量与变量的概念,以及C语言基本数据类型中的整型、字符型、实型数据的基本知识,各种不同数据类型之间的转换及混合运算。

2.1 数据概述一个完整的计算机程序,至少应包含两方面的内容,一方面对数据进行描述,另一方面对操作进行描述。

数据是程序加工的对象,数据描述是通过数据类型来完成的,操作描述则通过语句来完成。

C语言不仅提供了多种数据类型,还提供了构造更加复杂的用户自定义数据结构的机制。

C语言提供的主要数据类型有:1.基本类型:包括整型、字符型、实型(浮点型)和枚举类型2.构造类型:包括数组、结构体和共用体类型3.指针类型4.空类型其中整型、字符型、实型(浮点型)和空类型由系统预先定义,又称标准类型。

基本类型的数据又可分为常量和变量,它们可与数据类型结合起来分类,即为整型常量、整型变量、实型(浮点型)常量、实型(浮点型)变量、字符常量、字符变量、枚举常量、枚举变量。

在本章中主要介绍基本数据类型(除枚举类型外),其它数据类型在后续章节中再详细介绍。

2.1.1 常量与符号常量在程序执行过程中,其值不发生改变的量称为常量。

常量区分为不同的类型,如68、0、-12为整型常量,3.14,9.8为实型常量,‘a’,‘b’,‘c’则为字符常量。

常量即为常数,一般从其字面即可判别。

有时为了使程序更加清晰和便于修改,用一个标识符来代表常量,即给某个常量取个有意义的名字,这种常量称为符号常量。

如:【例2-1】#define PI 3.14main( ){float aera;aera=10*10*PI;printf(“aera=%f\n”,aera);}程序中用#define 命令行定义PI代表圆周率常数3.14,此后凡在文件中出现的PI都代表圆周率3.14,可以和常量一样进行运算,程序运行结果为:aera=314.000000有关#define命令行的详细用法参见第9章。

这种用一个标识符代表一个常量的,称为符号常量。

注意符号常量也是常量,它的值在其作用域内不能改变,也不能再被赋值。

如再用以下语句给PI赋值:PI=3.14;是错误的。

习惯上符号常量名用大写字母来表示,变量名用小写,以示区别。

2.1.2 变量在程序执行过程中,取值可变的量称为变量。

一个变量必须有一个名字,在内存中占据一定的存储单元,在该存储单元中存放变量的值。

请注意变量名和变量值是两个不同的概念。

变量名在程序运行中不会改变,而变量值会变化,在不同时期取不同的值。

变量的名字是一种标识符,它必须遵守标识符的命名规则。

习惯上变量名用小写字母表示,以增加程序的可读性。

必须注意的是大写字符和小写字符被认为是两个不同的字符,因此,sum和Sum是两个不同的变量名,代表两个完全不同的变量。

在程序中,常量是可以不经说明而直接引用的,而变量则必须作强制定义(说明),即“先说明,后使用”,如例1-2和1-3那样。

这样做的目的有以下几点:1. 凡未被事先定义的,不作为变量名,这就能保证程序中变量名使用得正确。

例如,如果在定义部分写了int count;而在程序中错写成conut,如: conut=5;在编译时检查出conut未经定义,不作为变量名,因此输出“变量conut未经说明”的信息,便于用户发现错误,避免变量名使用时出错。

2. 每一个变量被指定为某一确定的变量类型,在编译时就能为其分配相应的存储单元。

如指定a和b为整型变量,则为a和b各分配两个字节,并按整数方式存储数据。

3. 每一变量属于一个类型,就便于在编译时据此检查所进行的运算是否合法。

例如整型变量a和b可以进行求余运算:a%b%是求余运算符(详见第3章),得到a/b的整余数。

如果将a和b指定为实型变量,则不允许进行“求余”运算,编译时会指出有关出错信息。

下明各节分别介绍整型、实型、字符型数据及相互转换。

2.2整型数据C语言中的整型数据包括整型常量和整型变量,描述的是整数的一个子集。

2.2.1整型常量整型常量就是整常数。

在C语言中,使用的整常数有八进制、十六进制和十进制三种,使用不同的前缀来相互区分。

除了前缀外,C语言中还使用后缀来区分不同长度的整数。

1.八进制整常数八进制整常数必须以0开头,即以0作为八进制数的前缀。

数码取值为0~7。

如0123表示八进制数123,即(123)8 ,等于十进制数83,即:1*82+2*81+3*80=83; -011表示八进制数-11,即(-11)8 ,等于十进制数-9。

以下各数是合法的八进制数:015(十进制为13) 0101(十进制为65) 0177777(十进制为65535) 以下各数不是合法的八进制数:256(无前缀0) 0382(包含了非八进制数码8)2.十六进制整常数十六进制整常数的前缀为0X或0x。

其数码取值为0~9,A~F或a~f。

如0x123表示十六进制数123,即(123)16 ,等于十进制数291,即:1*162+2*161+3*160=291; -011表示十六进制数-11,即(-11)16 ,等于十进制数-17。

以下各数是合法的十六进制整常数:0X2A(十进制为42) 0XA0 (十进制为160) 0XFFFF (十进制为65535) 以下各数不是合法的十六进制整常数:5A (无前缀0X) 0X3H (含有非十六进制数码)3.十进制整常数十进制整常数没有前缀,数码取值为0~9。

以下各数是合法的十进制整常数:237 -568 1627以下各数不是合法的十进制整常数:023 (不能有前导0) 23D (含有非十进制数码)在程序中是根据前缀来区分各种进制数的。

因此在书写常数时不要把前缀弄错,造成结果不正确。

4.整型常数的后缀在16位字长的机器上,基本整型的长度也为16位,因此表示的数的范围也是有限定的。

十进制无符号整常数的范围为0~65535,有符号数为-32768~+32767。

八进制无符号数的表示范围为0~0177777。

十六进制无符号数的表示范围为0X0~0XFFFF或0x0~0xFFFF。

如果使用的数超过了上述范围,就必须用长整型数来表示。

长整型数是用后缀“L”或“l”来表示的(注意,字母“L”的小写形式“l”与数字“1”看上去很相似)。

例如:十进制长整常数 158L (十进制为158) 、358000L (十进制为358000)。

八进制长整常数 012L (十进制为10) 、0200000L (十进制为65536)。

十六进制长整常数 0X15L (十进制为21) 、0XA5L (十进制为165)、0X10000L (十进制为65536)。

长整数158L和基本整常数158 在数值上并无区别。

但对158L,因为是长整型量,C编译系统将为它分配4个字节存储空间。

而对158,因为是基本整型,只分配2 个字节的存储空间。

因此在运算和输出格式上要予以注意,避免出错。

无符号数也可用后缀表示,整型常数的无符号数的后缀为“U”或“u”。

例如:358u,0x38Au,235Lu 均为无符号数。

前缀,后缀可同时使用以表示各种类型的数。

如0XA5Lu 表示十六进制无符号长整数A5,其十进制为165。

2.2.2 整型变量1.整型变量的分类整型变量可分为基本型、短整型、长整型、和无符号型四种。

(1)基本型类型说明符为int,在内存中占2个字节(在IBM PC上,下同),其取值为基本整常数。

(2)短整型类型说明符为short int或short。

所占字节和取值范围均与基本型相同。

(3)长整型类型说明符为long int或long ,在内存中占4个字节,其取值为长整常数。

(4)无符号型类型说明符为unsigned,存储单元中全部二进位(bit)用作存放数本身,而不包括符号。

无符号型又可与上述三种类型匹配而构成:✧无符号基本型类型说明符为unsigned int或unsigned。

✧无符号短整型类型说明符为unsigned short。

✧无符号长整型类型说明符为unsigned long 。

各种无符号类型量所占的内存空间字节数与相应的有符号类型量相同。

但由于省去了符号位,故不能表示负数,但可存放的数的范围比一般整型变量中数的范围扩大一倍。

表2-1列出了Turbo C中各类整型量所分配的内存字节数及数的表示范围。

表2-1 整型变量的字节数及表示范围2.整型变量的说明变量的说明,也即变量的定义,一般形式为:例如:int a,b,c; /* a,b,c为整型变量*/long m,n; /* m,n为长整型变量*/unsigned p,q; /* p,q为无符号整型变量*/在书写变量说明时,应注意以下几点:(1)允许在一个类型说明符后,说明多个相同类型的变量。

各变量名之间用逗号间隔。

类型说明符与变量名之间至少用一个空格间隔。

(2)最后一个变量名之后必须以“;”号结尾。

(3)变量说明必须放在变量使用之前。

一般放在函数体的开头部分。

另外,也可在说明变量为整型的同时,给出变量的初值。

其格式为:通常若有初值时,往往采用这种方法,下例就是用了这种方法。

【例2-2】main( ){int a=3,b=5;printf(“a+b=%d\n”,a+b);}程序的运行结果为:a+b=82.3实型数据2.3.1实型常量实型也称为浮点型。

实型常量也称为实数或者浮点数。

在C语言中,实数只采用十进制。

它有二种形式, 十进制数形式和指数形式。

1.十进制数形式由数码0~ 9和小数点组成。

例如:0.0,.25,5.789,0.13,5.0,300.,-267.8230等均为合法的实数。

2.指数形式由十进制数,加阶码标志“e”或“E”以及阶码(只能为整数,可以带符号)组成。

其一般形式为a E n (a为十进制数,n为十进制整数)其值为 a*10n 如: 2.1E5 (等于2.1*105), 3.7E-2 (等于3.7*10-2) , -2.8E-2 (等于-2.8*10-2)以下不是合法的实数 :345 (无小数点),E7 (阶码标志E之前无数字),-5 (无阶码标志),53.-E3 (负号位置不对),2.7E (无阶码)。

标准C允许浮点数使用后缀。

后缀为“f”或“F”即表示该数为浮点数。

如356f和356.是等价的。

2.3.2 实型变量实型变量分为两类:1.单精度型类型说明符为float,在Turbo C中单精度型占4个字节(32位)内存空间,其数值范围为3.4E-38~3.4E+38,只能提供七位有效数字。

2.双精度型,类型说明符为double ,在Turbo C中双精度型占8个字节(64位)内存空间,其数值范围为1.7E-308~1.7E+308,可提供16位有效数字。

实型变量说明的格式和书写规则与整型相同。

例如: float x,y; /* x,y为单精度实型变量*/ double a,b,c; /* a,b,c为双精度实型变量*/ 也可在说明变量为实型的同时,给出变量的初值。

相关文档
最新文档