c语言常量

                          第五次课-----常量
一、常量:值不能发生改变的量
常量和变量一样,都占用内存空间
int a = 0;
int a = 100;//100是整型常量,占用4byte
unsigned int a = 200U;//200是一个无符号的整型常量
long int a = 200L;//200是一个long int型常量
long long int a = 200LL;//200是一个long long int 型常量,占据8byte
float f = 3.14f;//3.14是一个单精度浮点型常量
double d = 3.14;//3.14是一个双精度浮点型常量
long double ld = 3.14L;//3.14是一个长双精度浮点型常量

字符型常量:用单引号括起来的一个字符,如'a'
一个字符对应一个整数,形成了ASCII表
'a'//正确的
'ab'//错误的,只能是一个字符
' '//正确的,空格也是一个字符
'*'//正确的

常变量:用const修饰的标识符,如:
const int a = 45;//const用于限定变量内存的使用权限(修改成只读模式)
a = 100;//错误,不能修改a的值

二、字符常量(补充)
 普通字符常量:可以看到的字符,如 'a' 'm'
 转义字符常量:看不到,常用于控制格式,比如换行或回车,'\n'  '\r'
  \字母,如 '\t'
  \1-3位八进制整数,如'\101' ---  'A'
  \x1-2位16进制数,如'\x41' --- 'A'
  转义字符只代表一个字符
 '啊'//错误,不是字符常量
 'ab'//错误
  
 三、字符串
 1.概念:用一对双引号括起来的0个或多个字符,可以包含中文。
 "123abc"
 "*/-啊"
 'absc'//必须是双引号
 2.字符串在内存中如何存放?
 C语言中字符串的结束标记是'\0',字符串在内存中存放后,总会自动的加入一个'\0'。
  "abc"--- 'a' 'b' 'c' '\0'
  "a\0bc"--- 'a' '\0' 'b' 'c' '\0'
  " "--- ' ' '\0'
  "a\nbc"---'a' '\n' 'b' 'c'  '\0'
  "a\\\'\"bc"--- 'a' '\\' '\'' '\"' 'b' 'c' '\0'
  注意:单引号、双引号和\三种字符必须在前面加\
  printf("%s\n", "a\\\'\"bc");
  输出结果:a\'"bc

  字符串长度:从字符串的左边开始计数,到第一个'\0'为止,且'\0'不参与计数。
  "abc":长度是3,尺寸是4,占据4byte
  "a\0bc":长度是1,尺寸是5,占据5byte
  "":长度是0,尺寸是1,占据1byte
  " ":长度是1,尺寸是2,占据2byte
  "\0":长度是0,尺寸是2,占据2byte 

猜你喜欢

转载自blog.csdn.net/qq_41992378/article/details/82731852