3常量和变量
变量与常量的区别:
常量
定义
程序运行过程中,其值不能被改变的量
分类
整型常量
实型常量
字符型常量
布尔型常量(false,true)
符号常量:用一个标识符代表的常量 如:#define PI 3.14
整型常量
表示形式
十进制整数:由数字0~9组成,除0外不能以0开始
八进制整数:以数字0为前缀,由数字0~7 组成
十六进制整数:以0X或0x为前缀,由数字0~9、A~F(或a~f)组成
可以加整型后缀,无后缀时作为int类型数据
实型常量
表示形式
十进制小数:由0~9和小数点(必须)组成,整数和小数部分都可省略,但不能同时省略
指数形式:由整数(或小数)、e(或E)、可选的正负号、整数顺序组成。注意:e或E前面必须有数字,后面必须是整数(可以带+、-)
一个实数可以有多种指数表示形式
可以加浮点后缀,无后缀时作为double类型数据
字符型常量
包括字符常量和字符串常量
字符常量
1.用一对单引号括起来的一个普通字符( 不包括‘和\)或转义字符(也称转义序列)
2.转义字符是用一个转义标识\(反斜线)开头的字符序列。如:\n,\xab
3.转义字符主要表示难以用一般字符表示的单个字节
转义字符:
注意:
(1)转义字符多用于printf()函数中,而在scanf()函数中通常不用。
(2)转义字符常量只代表一个字符(一个字节)。
(3)反斜杠后的八进制数可以不用0开头
(4)反斜杠后的十六进制数只能以小写字母x开头,不允许用大写字母X或0x开头
字符串常量
1.用一对双引号括起来的字符序列。(字符串中字符的个数称为字符串长度)
2.长度为0的字符串(即一个字符都没有的字符串)称为空串,表示为""(一对紧连的双引号)。
例如,"How do you do!"、"Good morning!" ,都是字符串常量,其长度分别为14和13(空格也是一个字符)。
注意:如果反斜杠和双引号作为字符串中的有效字符,则必须使用转义字符。
C:\msdos\v6.22
printf(" C:\\msdos\\v6.22 ");
I say: " Goodbye! "
printf(" I say:\"Goodbye!\" ");
字符常量与字符串常量的区别:
1.定界符不同:字符常量使用单引号,而字符串常量使用双引号;
2.长度不同:字符常量的长度固定为1,而字符串常量的长度,可以是0,也可以是某个整数;
3.存储要求不同:字符常量存储的是字符的ASCII码值,而字符串常量,除了要存储串中字符的ASCII码值外,还要存储一个结束标志'\0' 。
变量
例子
#include <stdio.h>
void main()
{ char c;
int i, j;
c = 'a'; /*c :97*/
i = c + 2; /*i :99*/
j = '2'; /*j = 50*/
printf("%c, %d\n", c, c); /*a, 97*/
}
例子中,c,I,j都是变量。
注意:
1.C++中没有字符串变量
2.不能把一个字符串赋值给一个字符型变量
char name;
name="Mary"; (错)
变量值的获取方法:
1. 初始化方法
在声明变量的同时给变量置初值。如:int a=2;char c='A';
2. 赋值运算。如:int a;a=2;
3.输入。如:int a;scanf(“%d”,&a);或cin>>a;