分享
 
 
 

C语言程序设计(第2章 数据类型、运算符和表达式)

王朝c/c++·作者佚名  2008-06-01
窄屏简体版  字體: |||超大  

2.1 C语言的数据类型

2.2 常量与变量

2.2.1 标识符命名

2.2.2 常量

2.2.3 变量

2.3 整型数据

2.3.1 整型常量

2.3.2 整型变量

2.4 实型数据

2.4.1 实型常量

2.4.2 实型变量

2.5 字符型数据

2.5.1 字符常量

2.5.2 字符串常量

2.5.3 转义字符

2.5.4 符号常量

2.5.5 字符变量

2.6 运算符

2.6.1 算术运算符

2.6.2 自增和自减

2.6.3 关系和逻辑运算符

2.1 C语言的数据类型

C语言有五种基本数据类型:字符、整型、单精度实型、双精度实型和空类型。尽管这几种类型数据的长度和范围随处理器的类型和C语言编译程序的实现而异,但以b i t为例,整数与C P U字长相等,一个字符通常为一个字节,浮点值的确切格式则根据实现而定。对于多数微机,表2 - 1给出了五种数据的长度和范围。

表2-1 基本类型的字长和范围

类型

长度(bit)

范围

char(字符型)

8

0~255

int(整型)

16

-32768~32767

float(单精度型)

32

约精确到6位数

double(双精度型)

64

约精确到12位数

void (空值)

0

无值

表中的长度和范围的取值是假定CPU的字长为16 bit。

C语言还提供了几种聚合类型(aggregate types),包括数组、指针、结构、共用体(联合)、位域和枚举。这些复杂类型在以后的章节中讨论。

除void类型外,基本类型的前面可以有各种修饰符。修饰符用来改变基本类型的意义,以便更准确地适应各种情况的需求。修饰符如下:

• signed(有符号)。

• unsigned(无符号)。

• long(长型符)。

• short(短型符)。

修饰符signed、short、long和unsigned适用于字符和整数两种基本类型,而long还可用于double(注重,由于long float与double意思相同,所以ANSI标准删除了多余的long float)。

表2 - 2给出所有根据ANSI标准而组合的类型、字宽和范围。切记,在计算机字长大于1 6位的系统中, short int与signed char可能不等。

表2-2 ANSI标准中的数据类型

类型

长度(bit)

范围

char(字符型

8

ASCII字符

unsigned char(无符号字符

8

0~255

signed char(有符号字符型)

8

-128~127

int(整型)

16

-32768~32767

unsigned int(无符号整型)

16

0~65535

signed int(有符号整型)

16

同 int

short(短整型)

8

-128~127

unsigned short int(无符号短整型)

8

0~255

signed short int(有符号短整型)

8

同short int

long int(长整型)

32

2147483648~2147483649

signed long int(有符号长整型)

32

2147483648~2147483649

unsigned long int(无符号长整型)

32

0~4294967296

float(单精度型)

32

约精确到6位数

double(双精度型)

64

约精确到12位数

*表中的长度和范围的取值是假定CPU的字长为16 bit。

因为整数的缺省定义是有符号数,所以singed这一用法是多余的,但仍答应使用。某些实现答应将unsigned用于浮点型,如unsigned double。但这一用法降低了程序的可移植性,故建议一般不要采用。

为了使用方便,C编译程序答应使用整型的简写形式:

• short int 简写为short。

• long int 简写为long。

• unsigned short int 简写为unsigned short。

• unsigned int 简写为unsigned。

• unsigned long int 简写为unsigned long。

即,int可缺省。

2.2 常量与变量

2.2.1 标识符命名

在C语言中,标识符是对变量、函数标号和其它各种用户定义对象的命名。标识符的长度可以是一个或多个字符。绝大多数情况下,标识符的第一个字符必须是字母或下划线,随后的字符必须是字母、数字或下划线(某些C语言编译器可能不答应下划线作为标识符的起始字符)。

下面是一些正确或错误标识符命名的实例。

正确形式 错误形式

count 2count

test23 hi!there

high_balance high..balance

ANSI标准规定,标识符可以为任意长度,但外部名必须至少能由前8个字符唯一地区分。

这里外部名指的是在链接过程中所涉及的标识符,其中包括文件间共享的函数名和全局变量名。这是因为对某些仅能识别前8个字符的编译程序而言,下面的外部名将被当作同一个标识符处理。

counters counters1 counters2

ANSI标准还规定内部名必须至少能由前31个字符唯一地区分。内部名指的是仅出现于定义该标识符的文件中的那些标识符。

C语言中的字母是有大小写区别的,因此count Count COUNT是三个不同的标识符。

标识符不能和C语言的要害字相同,也不能和用户已编制的函数或C语言库函数同名。

2.2.2 常量

C语言中的常量是不接受程序修改的固定值,常量可为任意数据类型,如下例所示:

数据类型 常量举例

char 'a'、'\n'、'9'

int 21、123 、2100 、-234

long int 35000、 -34

short int 10、-12、90

unsigned int 10000、987、40000

float 123.23、4.34e-3

double 123.23、12312333、-0.9876234

C语言还支持另一种预定义数据类型的常量,这就是串。所有串常量括在双撇号之间,例如"This is a test"。切记,不要把字符和串相混淆,单个字符常量是由单撇号括起来的,如'a'。

2.2.3 变量

其值可以改变的量称为变量。一个变量应该有一个名字(标识符),在内存中占据一定的存储单元,在该存储单元中存放变量的值。请注重区分变量名和变量值这两个不同的概念。所有的C变量必须在使用之前定义。定义变量的一般形式是:

type variable_list;

这里的type必须是有效的C数据类型,variable_list(变量表)可以由一个或多个由逗号分隔的多个标识符名构成。下面给出一些定义的范例。

int i, j, l;

short int si;

unsigned int ui;

double balance, profit,loss;

注重C语言中变量名与其类型无关。

2.3 整型数据

2.3.1 整型常量

整型常量及整常数。它可以是十进制、八进制、十六进制数字表示的整数值。

十进制常数的形式是:

digits

这里digits可以是从0到9的一个或多个十进制数位,第一位不能是0。

八进制常数的形式是:

0digits

在此,digits可以是一个或多个八进制数( 0~7之间),起始0是必须的引导符。

十六进制常数是下述形式:

0xhdigits

0Xhdigits

这里hdigits可以是一个或多个十六进制数(从0~9的数字,并从“ a”~“ f”的字母)。

引导符0是必须有的,X即字母可用大写或小写。

注重,空白字符不可出现在整数数字之间。表2 - 3列出了整常数的形式。

表2-3 整常数的例子

十进制 八进制 十六进制

10 012 0Xa或0XA

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有