C语言基本数据类型
- 格式:doc
- 大小:106.50 KB
- 文档页数:18
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语言经典地可以说是现今编程语言中的一种精英种,它基于面向对象编程、泛型编程进行设计,无论是在程序功能实现上还是调试效率和质量保证上都具有优越性,因此C语言在计算机世界中都得到广泛应用,本文就来简要记叙其内置的
数据类型和其应用。
C语言中主要有9种数据类型:整数类型、浮点数类型、其他类型、字符型、
字符串类型、枚举类型、空类型、数组、指针。
其中,整数类型包括short、int、long和long long;浮点类型则主要是float和double;其他类型包括_Bool和_Complex;字符类型一般是char;字符串类型可以
使用char *或者用C99才支持的char []定义;枚举类型是使用enum变量;空类型
就是void;数组是char或者int等其他类型数据的紧凑收集,以便方便高效地进行操作;指针就是保存一块内存区域地址的变量,简单地说,如果你要操作某个对象,你需要首先找到它的地址,这就是指针的作用。
在实际应用中,数据类型的管理有利于改善代码的可读性,也有助于减少出现的错误。
此外,它也无形中协助开发者更加准确地把握代码中的复杂性。
在操作系统方面,C语言还可以用于编写shell程序、定义处理进程、判断系统状态。
因此,C语言中的数据类型可以说是作为编程语言里不可或缺的一个要素,当你要求比较高的性能和质量的时候,深入了解C语言中的数据类型将会有很大的帮助。
c语言基本数据类型哪三种
C语言的基本数据类型分为整型、实型(浮点型)和字符型三种。
1.整型(Integer Types):包括短整型(short)、整型(int)、长整型(long)等,用于表示一个整数。
整型默认为有符号型,但也可以配合unsigned关键字表示为无符号型。
2.实型(Floating-point Types),即浮点型:包括单精度浮点型(float)和双精度浮点型(double)等,用于表示实数,即带有小数部分的数值。
需要注意的是,实型在计算机语言中为近似值表示,并非准确值,因此在多次计算后可能会出现真值偏差。
3.字符型(Character Types):即char型,用于表示各种字符,与ASCII码表一一对应。
除了可以用来表示各类字符外,char型的其它规则与整型相同,因此可以认为char是一种特殊的整型。
这些类型按其在计算机中的存储方式可被分为两个系列,即整数(integer)类型和浮点数(floating-point)类型。
而每种类型又都包含了不同的关键字和符号说明符,如signed和unsigned,用于表示该类型是有符号还是无符号。
C语言的数据类型有哪些C语言的数据类型有哪些C语言是一种计算机程序设计语言,它既具有高级语言的特点,又具有汇编语言的特点。
以下是店铺为大家搜索整理的C语言的数据类型有哪些,希望能给大家带来帮助!C语言的数据类型所谓数据类型是按被说明量的性质,表示形式,占据存储空间的多少,构造特点来划分的。
在C语言中,数据类型可分为:基本数据类型,构造数据类型,指针类型,空类型四大类。
1.基本数据类型基本数据类型最主要的特点是,其值不可以再分解为其它类型。
也就是说,基本数据类型是自我说明的。
2.构造数据类型构造数据类型是根据已定义的一个或多个数据类型用构造的方法来定义的。
也就是说,一个构造类型的值可以分解成若干个“成员”或“元素”。
每个“成员”都是一个基本数据类型或又是一个构造类型。
在C语言中,构造类型有以下几种:·数组类型·结构类型·联合类型3.指针类型指针是一种特殊的,同时又是具有重要作用的数据类型。
其值用来表示某个量在内存储器中的地址。
虽然指针变量的取值类似于整型量,但这是两个类型完全不同的量,因此不能混为一谈。
4.空类型在调用函数值时,通常应向调用者返回一个函数值。
这个返回的函数值是具有一定的数据类型的,应在函数定义及函数说明中给以说明,例如在例题中给出的max函数定义中,函数头为: int max(int a,int b);其中“int ”类型说明符即表示该函数的返回值为整型量。
又如在例题中,使用了库函数 sin,由于系统规定其函数返回值为双精度浮点型,因此在赋值语句s=sin (x);中,s 也必须是双精度浮点型,以便与sin函数的返回值一致。
所以在说明部分,把s说明为双精度浮点型。
但是,也有一类函数,调用后并不需要向调用者返回函数值,这种函数可以定义为“空类型”。
其类型说明符为void。
在第五章函数中还要详细介绍。
在本章中,我们先介绍基本数据类型中的整型、浮点型和字符型。
C语⾔详解-基本数据类型、标识符⼀、基本数据类型1. 基本数据类型的分类:C语⾔中的三种基本数据类型是:整型、实型、字符型。
每种类型⼜可以分为常量和变量。
整型常量:(1) ⼗进制的整型常量:由数字0~9组成。
如:0、10、365、-12等。
(2) ⼋进制的整型常量:以0开头,由数字0~7组成。
如:0、010、0365、-012、011等。
(3) ⼗六进制的整型常量:以0x或0X开头,由数字0~9、a~z或A~Z组成。
如:0x11、0Xffff、0xa5、-0XAC等。
注:C语⾔系统默认为基本整型常量。
(关于“基本整型”,请参考下⾯的内容)整型变量:(1) 根据整数的最⾼位是否⽤作符号位,分为有符号(signed)整型和⽆符号(unsigned)整型。
(2) 根据整数在计算机内存中所占⽤的空间⼤⼩,分为短整型(short int或short)、基本整型(int)和长整型(long int或long)。
short x = 10; 等价于 signed short x = 10; 同时等价于 signed short int x = 10;int age = 20; 等价于 signed int age = 20;long z = 10000L; (加L后说明10000是⼀个长整型常量,⽽不是⼀个基本整型常量)注:(1) C语⾔系统默认为有符号整数。
(2) unsigned和signed不能同时出现。
(3) short和long不能同时出现。
实型常量:在C语⾔中,实型常量的两种表现形式:⼩数形式和指数形式。
或者叫做⼩数点式和字母E(或e)式。
(1) ⼩数点式:1. 有且仅有⼀个⼩数点2. ⼩数点的左边和右边可以有⼀边没有数据,但不能同时没有数据举例:3.14、0.1、10.、0.0、.0、-10.08(2) 字母E(或e)式:1. 有且仅有⼀个字母E(或e)2. 两边都必须有数据3. 左边可以是整数,也可以是⼩数4. 右边只能是整数举例:1e5、1.2E+4、3.0e-2、0e0、1.e0、.0e0实型变量:分为单精度和双精度两种,单精度⽤float表⽰,双精度⽤double表⽰。
c语言中简单数据类型包括
c语言的基本类型数据有哪几种
short、int、long、char、float、double,这六个关键字代表C语言里的六种基本数据类型。
整形int,长整型long。
浮点型、小数型包括单精度浮点float型和双精度浮点型double,字符型char,C语言中0代表假false,1代表真true,在某些编译器中也存在boolean型,还有指针类型,即存放变量地址的变量类型。
c语言中简单的数据类型分别为:
1、整(数)型
int:基本整数型,用于存储整数,占4个字节;默认值为0,数据范围是-2147483648~2147483647
short:短整型,占2个字节,存储方式与基本整形int 相同,数据范围是-32768-32767
long:长整型,占4个字节,数据范围是-2^63~2^63-1 long long:双长整型,占8个字节,数据范围是-2^63~2^63-1;这种数据类型一般比较少用。
2、浮点型
float:单精度浮点型,占4个字节,有效数字为(6~7位),数据范围是-3.4*10^38~+3.4*10^38
float型变量是由有限的存储单元组成,因此,只能提供有限的有效数字,在有效位以外的数字将不精确,这样,可能会产生一些误差。
double:双精度浮点型,占8个字节,有效数字为(15~16位),数据范围是-1.7*10^-308~1.7*10^308。
3、字符型
char:字符型,用于存储单个字符,占1个字节。
注:c语言中是使用char数组来存放字符串。
c语言中简单的数据类型分别为:整型(int、short、long、long long),浮点型(float,double),字符型(char)。
整(数)型
int:基本整数型,用于存储整数,占4个字节;默认值为0,数据范围是-2147483648~2147483647
short:短整型,占2个字节,存储方式与基本整形int相同,数据范围是-32768-32767
long:长整型,占4个字节,数据范围是-2^63~2^63-1
long long:双长整型,占8个字节,数据范围是-2^63~2^63-1;这种数据类型一般比较少用。
浮点型
float:单精度浮点型,占4个字节,有效数字为(6~7位),数据范围是-3.4*10^38~+3.4*10^38
float型变量是由有限的存储单元组成,因此,只能提供有限的有效数字,在有效位以外的数字将不精确,这样,可能会产生一些误差。
double:双精度浮点型,占8个字节,有效数字为(15~16位),数据范围是-1.7*10^-308~1.7*10^308。
字符型
char:字符型,用于存储单个字符,占1个字节。
C语言中的数据类型超详解一、整型(int、short、long、long long)1、有符号整型有符号整型的数据类型通常包括 int、short、long、long long 四种,因为是有符号类型,所以前面要加上signed,但是通常省略,也就是说在代码中直接打出 int 类型就代表是有符号类型的。
(1)int类型数据类型大小是 4 字节,能表示的数值范围是-2^(32-1) – 2^(32-1)-1 (即 -2147483648 ~ 2147483647)打印类型是 %d ,使用格式为 int 名 = 值;(2)short类型数据类型大小是 2 字节,能表示的数值范围是-2^(16-1) – 2(16-1) -1 (即 -32768 ~ 32767)打印类型是 %hd ,使用格式为 short 名 = 值;(3)long类型数据类型大小是 4 字节,能表示的数值范围是-2^(32-1) – 2^(32-1)-1 (即 -2147483648 ~ 2147483647)打印类型是 %ld ,使用格式为 int 名 = 值;(4)long long类型数据类型大小是 8 字节,能表示的数值范围是-2^(63) ~ 2^(63)-1 (这个数足够大了)打印类型是 %lld ,使用格式为 long long 名 = 值;2、无符号整型无符号数用 unsigned 表示 ,只表示数据量,而没有方向(没有正负,且无符号数最高位不是符号位,而就是数的一部分,无符号数不可能是负数。
(1)unsigned int 类型数据类型大小是 4 字节,能表示的数值范围是0 – 2^(32)-1 (即 0~4294967295)打印类型是 %u ,使用格式为 unsigned int 名 = 值;(2)unsigned short 类型数据类型大小是 2 字节,能表示的数值范围是0 ~ 2^8 -1 (即 0~65535)打印类型是 %hu ,使用格式为 unsigned short 名 = 值;(3)unsigned long 类型数据类型大小是 4 字节,能表示的数值范围是0 – 2^(32)-1 (即 0~4294967295)打印类型是 %lu ,使用格式为 unsigned long 名 = 值;(4)unsigned long long 类型数据类型大小是 8 字节,能表示的数值范围是0~2^63-1打印类型是 %llu ,使用格式为 unsigned long long 名 = 值;#define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <string.h> #include <stdlib.h> #include <math.h> #include <time.h> int main0401(void ) { size_t var = 10; printf ("var = %u\n", var ); unsigned int a = 10u ; // 简写成 unsigned int a = 10; unsigned short b = 20u ;// 简写成 unsigned short b = 20; unsigned long c = 30Lu ; unsigned long long d = 40LLu ; printf ("unsigned int 型数据值:%u\n", a ); printf ("unsigned short 型数据值:%hu\n", b ); printf ("unsigned long 型数据值:%lu\n", c ); i tf ("i d l l 型数据值%ll \"d )123456789101112131415161718192021结果,注意返回值符号二、 字符型(char )字符型变量用于存储一个单一字符,在 C 语言中用 char 表示,其中每个字符变量都会占用 1 个字节。
C语言基本数据类型简介1.概述C 语言包含的数据类型如下图所示:2.各种数据类型介绍整型整形包括短整型、整形和长整形。
短整形short a=1;整形一般占4个字节(32位),最高位代表符号,0表示正数,1表示负数,取值范围是-48~47,在内存中的存储顺序是地位在前、高位在后,例如0x在内存中的存储如下:地址:0x0012ff78 0x0012ff79 0x0012ff7a 0x0012ff7b数据:78 56 34 12定义:用int关键字,举例如下:int a=6;长整形long a=10;浮点型浮点型包括单精度型和双精度型。
单精度型浮点型,又称实型,也称单精度。
一般占4个字节(32位),float a=;地址:0x0012ff78 0x0012ff79 0x0012ff7a 0x0012ff7b数据:00 00 90 40双精度型一般占8个字节(64位)double a=;地址:0x0012ff78 0x0012ff79 0x0012ff7a 0x0012ff7b 0x0012ff7c0x0012ff7d 0x0012ff7e 0x0012ff7f数据:00 00 00 00 0000 12 40字符类型在各种不同系统中,字符类型都占一个字节(8位)。
定义如下:char c='a';也可以用字符对应的ASCII码赋值,如下:char c=97;3.数据类型与“模子”short、int、long、char、float、double 这六个关键字代表C 语言里的六种基本数据类型。
怎么去理解它们呢举个例子:见过藕煤球的那个东西吧(没见过煤球总见过吧)。
那个东西叫藕煤器,拿着它在和好的煤堆里这么一咔,一个煤球出来了。
半径12cm,12 个孔。
不同型号的藕煤器咔出来的煤球大小不一样,孔数也不一样。
这个藕煤器其实就是个模子。
现在我们联想一下,short、int、long、char、float、double 这六个东东是不是很像不同类型的藕煤器啊拿着它们在内存上咔咔咔,不同大小的内存就分配好了,当然别忘了给它们取个好听的名字。
C语言基本数据类型长度一、引言C语言是一种广泛使用的编程语言,它提供了丰富的数据类型,用于存储不同类型的数据。
了解C语言基本数据类型的长度对于编写高效、可靠的代码至关重要。
本文将详细介绍C语言中各种基本数据类型的长度。
二、整型数据类型C语言提供了几种整型数据类型,每种类型都有不同的长度。
下面是C语言中常用的整型数据类型及其长度:1.char类型:1字节2.short类型:2字节3.int类型:4字节4.long类型:4字节或8字节5.long long类型:8字节三、浮点型数据类型除了整型数据类型,C语言还提供了浮点型数据类型,用于表示带小数点的数值。
下面是C语言中常用的浮点型数据类型及其长度:1.float类型:4字节2.double类型:8字节3.long double类型:8字节或16字节四、无符号整型数据类型C语言还提供了无符号整型数据类型,用于表示非负数。
无符号整型数据类型与有符号整型数据类型的长度相同。
下面是C语言中常用的无符号整型数据类型及其长度:1.unsigned char类型:1字节2.unsigned short类型:2字节3.unsigned int类型:4字节4.unsigned long类型:4字节或8字节5.unsigned long long类型:8字节五、其他数据类型除了上述介绍的基本数据类型,C语言还提供了其他一些数据类型,如布尔类型和指针类型。
这些数据类型的长度取决于编译器和操作系统的实现。
1.布尔类型:通常占用1字节,但实际大小可能取决于编译器的实现。
2.指针类型:在32位系统上通常占用4字节,在64位系统上通常占用8字节。
六、总结本文详细介绍了C语言中各种基本数据类型的长度。
了解这些数据类型的长度对于编写高效、可靠的代码非常重要。
在编写代码时,应根据实际需求选择合适的数据类型,以充分利用内存资源并确保数据的正确性。
在实际编程中,还需要注意不同的编译器和操作系统可能会有不同的实现,因此在处理数据类型长度时需要谨慎。
C语言数据类型与变量定义C语言是一种广泛应用的编程语言,它提供了丰富的数据类型和变量定义的功能。
在这篇文章中,我们将详细介绍C语言中的数据类型以及如何定义变量。
一、数据类型在C语言中,数据类型用于指定变量或表达式所能存储的数据类型。
C语言提供了以下几种基本的数据类型:1. 整型(int): 整型数据类型用于存储整数值。
在C语言中,整型数据可以分为不同的大小,如char(1字节)、short(2字节)、int(4字节)和long(4或8字节)。
2. 浮点型(float和double): 浮点型数据类型用于存储小数值。
C语言提供了两个浮点型数据类型,即float(4字节)和double(8字节)。
float用于存储较小的浮点数,而double用于存储较大范围的浮点数。
3. 字符型(char): 字符型数据类型用于存储字符。
在C语言中,字符型数据类型char占用1字节,在ASCII码中表示不同的字符。
4. 空类型(void): 空类型用于表示没有任何值的情况。
例如,一个不返回值的函数可以使用空类型作为返回类型。
5. 枚举型(enum): 枚举型数据类型用于定义用户自定义的整型常量。
通过使用枚举,我们可以定义一个变量,它只能取特定的预定义值。
6. 指针类型(pointer): 指针类型用于存储变量的内存地址。
指针变量存储了一个变量或对象在内存中的地址,而不是实际的值。
7. 数组类型(array): 数组类型用于存储多个相同类型的数据。
数组可以包含多个元素,每个元素可以通过索引进行访问。
以上是C语言中常用的几种数据类型,通过选择合适的数据类型,我们可以有效地管理和操作数据。
二、变量定义变量是指向内存地址的标识符,用于存储和操作数据。
在C语言中,定义变量需要指定变量的名称、数据类型以及可选的初始值。
变量定义的基本格式如下:```cdata_type variable_name = initial_value;```其中,data_type表示变量的数据类型,variable_name表示变量的名称,initial_value表示变量的初始值(可选)。
c语言数据类型用法题目:C语言数据类型的用法详解引言:C语言作为一种通用的低级编程语言,具有较高的效率和灵活性。
为了使程序能够正确、高效地运行,我们需要了解和掌握C语言中的数据类型。
本文将详细介绍C语言中的数据类型,包括基本数据类型、符号限定符、类型修饰符以及自定义数据类型等。
通过阅读本文,您将对C语言数据类型的定义、用法以及相关注意事项有更深入的了解。
一、基本数据类型在C语言中,基本数据类型是指语言本身直接支持的数据类型,包含以下几种类型:1. char类型:用于表示字符数据,占用一个字节的内存空间。
2. int类型:用于表示整数数据,占用4个字节的内存空间。
3. float类型:用于表示浮点数数据,占用4个字节的内存空间。
4. double类型:用于表示双精度浮点数数据,占用8个字节的内存空间。
每一种基本数据类型都有特定的范围和存储大小,可以根据实际需要选择合适的数据类型。
对于需要存储大整数或者较大精度浮点数的场景,可以选择long类型和long double类型。
基本数据类型的声明和使用非常简单,下面通过一些示例来说明:示例1:char类型的使用char ch1 = 'A';char ch2 = 'B';printf("cc\n", ch1, ch2);输出结果:AB示例2:int类型的使用int num1 = 10;int num2 = 20;printf("d\n", num1 + num2); 输出结果:30示例3:float类型的使用float f1 = 3.14f;float f2 = 2.718f;printf(".2f\n", f1 * f2);输出结果:8.57二、符号限定符除了基本数据类型之外,C语言还提供了符号限定符,用于对数据的范围和符号进行限定。
常用的符号限定符有signed和unsigned,用于有符号整数和无符号整数的声明。
c语言中根据数的组织形式C语言中数的组织形式C语言是一种高级的通用编程语言,广泛应用于系统软件开发和嵌入式系统等领域。
在C语言中,数的组织形式是非常重要的,它们可以用于存储、处理和表示各种类型的数据。
本文将从最基本的数据类型开始,逐步介绍C语言中各种数的组织形式。
1. 字符型数据(char):字符型数据是C语言中最基本的数据类型之一,用于表示单个字符。
字符型数据在内存中以ASCII码形式存储,它们的组织形式为一个字节(8位)。
在C语言中,可以使用单引号将字符括起来表示。
2. 整型数据(int):整型数据是C语言中最常用的数据类型之一,用于表示整数。
整型数据在内存中以二进制形式存储,其大小取决于所用的机器的字长。
一般而言,整型数据的组织形式为4字节(32位),但也有可能是2字节(16位)或8字节(64位)。
整型数据可以表示正数、负数或零。
3. 浮点型数据(float和double):浮点型数据用于表示实数,包括小数和科学计数法表示的数。
在C语言中,浮点型数据有两种类型,分别是单精度浮点型(float)和双精度浮点型(double)。
单精度浮点型数据通常以32位的二进制形式存储,而双精度浮点型数据则以64位的二进制形式存储。
浮点型数据的组织形式可以根据IEEE 754标准进行详细描述。
4. 枚举型数据(enum):枚举型数据用于表示一组具有离散值的数据。
在C语言中,枚举型数据可以自定义,它们的内部组织形式是一个整数值,并且可以在一组可能的值中选择。
通过为每个取值分配一组名称,可以更好地理解和使用枚举型数据。
5. 数组型数据:数组型数据是一种用于组织相同类型的元素集合的数据类型。
在C语言中,数组被定义为一系列连续的内存位置,其内部组织形式是连续存储的元素。
数组的大小和类型在定义时确定,并且可以用于存储和处理大量数据。
6. 结构体型数据(struct):结构体型数据用于表示一组相关的不同数据类型的集合。
第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为双精度实型变量*/ 也可在说明变量为实型的同时,给出变量的初值。