专题二 变量与常量

2.1常量和变量

[知识清单]

2.1.1 常量

1.整型常量

(1)十进制整数,即按日常接触的数字形式正常表达。如123、-120。

(2)八进制整数,以0开头的数字进行表达。如0123表示八进制数123,即(123)8, 其值为

1x82+2X8'+3X8°,等于十进制数83。-011 表示八进制数-11,即十进制数-9。

(3)十六进制整数,以0x开头的数字进行表达。如0x123,代表十六进制数123,即(123)16, 其值为1X162+ 2X16'+3X16°,等于十进制数291。-0x12 等于十进制数-18。

(4)整型常数后缀: u或U(unsigned)、I或L(long)、u/U与I/L的组合(如u、lu、Lu等)。例100u; 123u;0x1231;

2.浮点型常量

(1)十进制小数形式:例如99.9。(2)指数形式的一一般形式为:

[+/-整数部分][.][小数部分][e/E][后缀]

(3)浮点常数后级: f或F(单精度浮点教)、l或L (长双精度浮点数) . (注:因浮点型常数总是有符号

的,故没有u成U后缀),例1.23e5f;1.231;-123.45f;

3.字符型常量

一种是普通字符, 即用单引号括起来的一一个字符,如‘9’,‘y’,‘ ?’。字符常量在储存在计算机的储存中时,是以其代码(一般采用ASCII码)储存的。如字符9的ASCII码为57,存储的是57。

(2)另种是转义字符,即特殊字符常量。转义字符是C语言中表示字符的一 种特殊形式,其含义是将斜杠后面的字符转换成另外的意义。

表2-1 转义字符列表
转义字符 含义 ASCII码(16/10进制)
\0 空字符NULL 00H/0
\n 换行符LF 0AH/10
\r 回车符CR 0DH/13
\t 水平制表符HT 09H/9
\a 响铃BEL 07/7
\b 退格符BS 08H/8
\f 换页符FF 0CH/12
\' 单引号 27H/39
\" 双引号 22H/34
\\ 反斜杠 5CH/92
\ddd 任意字符 三位八进制
\xhh 任意字符 二位十六进制

注意:ddd和hh分别为八进制和十六进制得ASCII码。如‘\101’字符表示‘A’,‘\x41’也表示字母‘A’。

4.   字符串常量与字符常量的区别

(1)字符常量由单引号括起来,字符串常量由双引号括起来。如:字符'9‘,字符串"9”(注意与数字9的区别)

(2)字符常量只能是单个字符,字符串常量则可以有一个或者多个字符。

例如字符'a','b'字符串"ab"

(3)不能把符串常量赋予给字符变量。

例如char=“abcd";是错误的

(4)字符常量占用一个字 节的内存空间,但是字符串所古用的字节数等于其中的字符数加增加的一个字节存放的是”\0”,“\0"是字符串结束的标志,需要占用一个字节的内存。例如: “ab”占用三个字节内存。

2.1.2变量

1. 整型变量

在C语言中,整型用int来表示,同时可以用long, short来修饰int,称为长整型和短整型。又可以用signed和unsigned来修饰int,称为带符号整型,和无符号整型。

2.浮点型变量

C语言中比较常用的两种浮点数的类型是

float单精度型(占用4个字节)

double双精度型(占用8个字节)

注意:浮点数均为有符号浮点数,因此不能用signed或者unsigned 来修饰。

3.字符变量

字符变量类型说明符是char字符值是以ASCII码值的形式存放在内存单元之中的。因此,可以把字符变量看成是整型量。C语言允许对整型变量赋以字符值,也允许对字符变量赋以整型值。同理,输出时两者也可

例如#include

void main(
{
char ch='a';

int i=ch;

printf("%c ASCII is %d\n' ',ch,ch);

print("%c ASCII is %d\n' ,1i);
}
输出结果为: a ASCII is 97

                    a ASCII is 97

                  

注:【】可省略

表2-2 字符类型
类型名 说明 字节 值的范围
short[int]/signed short[int] 有符号整型 2byte -32768~32767
unsigned short [int] 无符号短整型 2byte 0~65535
int/signed[int] 有符号整型 4byte -2147483648~2147483647
unsiged[int] 无符号整型 4byte 0~4294967295
long [int]/signed long[int] 有符号长整型 4byte -2147483648~2147483647
unsiged long[int] 无符号长整型 4byte 0~4294967295
char/signed char 有符号字符型 1byte -128~127
unsiged char 无符号字符型 1byte 0~255
float 单精度浮点型 4byte -3.4*10*-38~3.4*10*38
double 双精度浮点型 8byte

-1.7*10*-308~1.7*10*308

你可能感兴趣的:(c,c语言)