云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > C数据类型

C数据类型

  • 62 次阅读
  • 3 次下载
  • 2025/6/25 14:55:38

第1章 C语言概述与数据类型 9

1.2.4 数据表示——常量

数据有两种基本表示形式,在程序中以常量和变量出现。常量是在程序运行过程中不可改变的量,其类型根据其书写形式和范围决定。

1.整型常量

整型常量由数字和常量后缀(L或l表示长整型数、U或u表示无符号数)构成,C语言的整型常量有八进制、十六进制和十进制三种:

十进制整数(基本数字0~9):110 456 139L 32769U 233445(为长整 型)等。

八进制整数(以0打头,基本数字0~7):037 010L –026 0776等。 十六进制整数(以0X打头,基本数字0~9,而10至15记为A至F):0X331 0X0 0X3AC0 –0XAF等。

2.实型常量(常量后缀F或f表示浮点数)

实型常量也称为实数或浮点数。在C语言中规定,实数只采用十进制,实型常数不分单、双精度,都按双精度double型处理。

实型常量由数字、小数点和常量后缀(F或f表示浮点数)构成。它有两种表示形式:十进制小数形式和指数形式。

(1)十进制小数形式:由数码0~9和小数点组成(后缀为f或F表示该数为浮点数),如0.0、25.0、5.789、0.13、–456.789、234F、67f等均为合法的实数。特别地,123.0可以表示为123.、0.123可以表示为.123。

n

(2)指数形式:由尾数(a)和阶码(E n或en)组成。数学表达式a×10的C语言表达式为a E n(a为十进制数,n为十进制整数)。

其中,尾数a为十进制数;e或E为指数标志;n为阶数,只能为整数,可以带符号。

5–257

例如:2.1E5 (等于2.1*10)、3.7E–2(等于3.7*10)、1E5(等于10)、0.5E7 (等于0.5*10)、–2.8E–2 (等于–2.8*10–2)。

以下不是合法的实数:

345(无小数点或浮点数后缀)。 E7(无尾数)。

53.–E3(负号位置不对)。 7E(无阶码)。

注意:

(1)数学意义上的常量在程序设计语言中不一定是常量,如1/2、π、e(自然数)等。特别是23%,在程序设计语言中既不是常量,也不是后面将介绍的表达式。

(2)实型常量为双精度型,有效位为15~16位,超出部分进行四舍五入。

3.字符常数 1)一般字符常数

字符常数就是单个字符,字符可以是键盘上的任意一个可显示的字符,程序中字符常量写在一对单引号内(单引号称为定界符)。

10 高级语言程序设计(C语言描述)(第2版)

例如,'*'、'A'、'7'、'&'等。

2)特殊字符

特殊字符包括不可显示字符和在C语言中具有特殊意义的字符(如'为字符常量的定界符)。为了表示这些特殊字符,C语言提供了转义字符来表示他们。

转义字符包括反斜线、被转义的字符和一对单引号。例如,'\\n'将n转义为不可显示的回车换行字符。'\\''将定界符'转义为普通的单引号字符。

它们被当作一个单字符,也是字符常数。常用转义字符如表1-3所示。

表1-3 转义字符表

符号序列 \\n \\t \\b \\r \\f 名 称 回车换行 水平制表 退格 回车不换行 换页 符号序列 \\' \\'' \\\\ \\ddd \\xdd 单引号 双引号 反斜线 八进制ASCII码值(0~377) 十六进制ASCII码值(0~F9) 名 称 3)以ASCII码值显示字符

除了表中提供的特殊字符,其他不可显示字符可以用相应的八进制或十六进制ASCII码值表示,表示方式如表1-3中的后两项,同样需要单引号作为定界符。

例如,'\\t'也可以表示为'\\11'(Tab键的八进制ASCII为11)。 每个转义字符均被看做一个单字符常量,当然一般字符常数也可以这样表示,只是可读性差。

4)字符的存储 程序中字符常量写在一对单引号内(单引号称为定界符),定界符不存储,只存储字符对应的ASCII码值(参见附录D)。每个字符占1字节,字符0的ASCII码是48,存储它占一个字节。数值类型也是按类型分配存储空间的,整型的0、48、197和1297等都是占2字节。

5)字符的操作

字符类型与数值类型的操作方式是有区别的。大多数程序设计语言规定,字符类型的数据只是一个符号,不能参与算术运算。但在C语言中允许字符以ASCII码值参与算术运算,其结果以字符格式或数值格式输出。例如,'A'的ASCII码为65。

“printf (\);”的输出结果为68(\表示按十进制整型操作)。 printf (\;的输出结果为D(\表示按字符型操作)。 又如“printf (\,'0'+3);”的输出结果为51,“printf (\,'0'+3);”的输出结果 为3。

4.字符串常数

字符串常量是一个字符序列,且被括在双引号中(双引号称为定界符)。字符串的语法形式是characters。characters可以是零个或多个字符集中的字符,包括任意转义字符。

其中若出现双引号、反斜线或回车换行符必须用其转义字符(\\\)表示。 例如,\,\,\等都是合法的字符串常量。 特别地,定界符中没有字符时,\称为空串。

第1章 C语言概述与数据类型 11

字符常量占一个字节的内存空间。字符串常量占的内存字节数等于字符串中字符的个数加1。增加的一个字节中存放字符\(ASCII码为0),这是字符串结束的标志。

例如,字符常量'a'和字符串常量\虽然都只有一个字符,但在内存中的情况是不同的。

'a'在内存中占一个字节,存储为:

\在内存中占二个字节,存储为:

a

\在内存中占四个字节,存储为:

\ a \\\0

和字符一样,字符串定界符也不存储。

a \\0 1.2.5 数据表示——变量

1.变量和变量名

表面上理解“变量”就是可以改变的量。就其实质,变量就是数据的存储空间。之所以变量能改变,是因为变量存储空间中的数据是可以更改的。

变量的存储空间是开辟在内存中的,无须清楚它具体的物理地址,只要知道变量的逻辑名称——变量名就可以使用它了。变量名是对数据存储空间的一个抽象名称,一方面代表存储空间(其地址表示方式:&变量名,&为C语言的地址符);另一方面又代表其中存储的数据(表示方式:变量名本身),因此通过变量名就可以对它空间中的内容进行改变或引用。

C语言的变量名命名规则是,“以字母或下划线开头的,字母、数字或下划线的序列”。变量名可以是任意长度,但编译器只识别31个或更少(因编译系统不同而不同)。C语言的关键词是不可以作为变量名,参见附录A中有关标识符的内容。

注意:在对变量名命名时应注意:

(1)所有语言都允许26个英文大小字母出现在变量名中,特别要注意C语言认为A与a是不同的变量,即C语言的变量名是区分大小写的。

(2)变量名最好与其所存储的数据意义有关,这样可增加程序的可读性。例如,“累加和”用sum或s做变量名,“姓名”用name或xm做变量名,圆周率(3.1415926)用pi做变量名等。

(3)变量名最好不要用到字母l(小写L)、o、z或I(大写i)等易与数字混淆的字母。2.变量定义

变量需先定义后使用。所谓变量定义就是说明变量类型,其功能是为说明的每一个变量按类型开辟存储空间(编译系统在对程序进行“编译时”,根据变量定义的类型为其分配逻辑空间,运行时分配物理的内存空间)。从而决定其存储数据的范围精度和参与运算的种类等。

12 高级语言程序设计(C语言描述)(第2版)

变量定义的格式如下:

其中,变量类型描述是指C语言允许使用的有效类型(见表1-1和表1-2),变量表是由一个或多个被定义的变量名组成,若定义多个变量,则变量之间用逗号‘,’分隔,如“int i,j,k;”。

注意:

(1)变量类型的选择是根据其所存储数据的逻辑意义决定的。例如,工资一般是实型数据又不会太大,相关变量应该定义为float型;年龄,身高等数据一般为整型且不会很大,相关变量应该定义为int型。当有些整型数据或其运行结果较大时,可以考虑定义为长整

23n

型。当整型意义的数据或运算结果很大时,如n!、1+2+2+2+?+2等,在不考虑精度的

类型描述符 变量表;

情况下,应考虑用实型变量存储数据或运算结果。

(2)还可以加注释语句,说明变量的意义,这样对程序以后的维护也很有好处。

例如:

3.变量赋值

float a,b,c; /*三角形的三条边*/

向变量空间中存储数据的方法很多,为了更好理解变量的意义,先认识其中的一种方法:

称为赋值语句,操作过程为先计算表达式的值,然后将计算结果存储在变量中。

例如:

short a; a=8; a=9; a=a+9;

/*定义 */

/*赋值 */ /*赋值 */

/*计算后赋值 */

变量=算术表达式;(=称为赋值号,不是等号)

执行这些语句的功能是,先为变量a开辟2字节的整型数据存储空间,然后存入8,变量值为8;再将9存入变量a,以前存入的8被覆盖,变量值为9。第三个赋值语句,右面是一个表达式,要先计算其值:取变量a的值为9,9+8等于17,将17存入变量a,变量的值就变成17了。

4.变量赋初值

在定义变量的同时,还可以对其中全部或部分的变量赋初始值,例如:

注意:变量除了需要先定义后使用外,还必须先赋值后引用。 看程序段:

经过定义后的变量i,可以存储数据了,但在计算i+1时,其他程序设计l语言认为这是语法错误,在编译时会指出“变量没有赋初始值”的错误,只有改正后程序才能通过编

int i; i=i+1;

int i,j,k=1,s=0,n=k+6,m;

搜索更多关于: C数据类型 的文档
  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

第1章 C语言概述与数据类型 9 1.2.4 数据表示——常量 数据有两种基本表示形式,在程序中以常量和变量出现。常量是在程序运行过程中不可改变的量,其类型根据其书写形式和范围决定。 1.整型常量 整型常量由数字和常量后缀(L或l表示长整型数、U或u表示无符号数)构成,C语言的整型常量有八进制、十六进制和十进制三种: 十进制整数(基本数字0~9):110 456 139L 32769U 233445(为长整 型)等。 八进制整数(以0打头,基本数字0~7):037 010L –026 0776等。 十六进制整数(以0X打头,基本数字0~9,而10至15记为A至F):0X331 0X0 0X3AC0 –0XAF等。 2.实型常量(常量后缀F或f表

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com