目录
一 变量定义
实例代码:
#include <iostream>
//在外部申明变量(必须赋初值),然后在其他类或方法中使用
extern int PI=0;
int main() {
//申明变量
std::string a,b,c,d;
//给变量赋值
a="小青";
b="小美";
c="小军";
d="小分";
//使用变量
std::cout<<a<<b<<c<<d<<std::endl;
//给外部变量重新赋值
PI=3;
//使用外部变量
std::cout<<"PI二次赋值为:"<<PI<<std::endl;
/*
* C++ 中有两种类型的表达式:
左值(lvalue):指向内存位置的表达式被称为左值(lvalue)表达式。左值可以出现在赋值号的左边或右边。
右值(rvalue):术语右值(rvalue)指的是存储在内存中某些地址的数值。右值是不能对其进行赋值的表达式,也就是说,右值可以出现在赋值号的右边,但不能出现在赋值号的左边。
变量是左值,因此可以出现在赋值号的左边。数值型的字面值是右值,因此不能被赋值,不能出现在赋值号的左边。
*/
int s=200; //左值是变量a,右值是200
//200=300; //语法错误,数字属于右值,不能出现在左边
/*作用域是程序的一个区域,一般来说有三个地方可以声明变量:
在函数或一个代码块内部声明的变量,称为局部变量。
在函数参数的定义中声明的变量,称为形式参数。
在所有函数外部声明的变量,称为全局变量。*/
return 0;
}
二 初始化局部变量和全局变量
当局部变量被定义时,系统不会对其初始化,您必须自行对其初始化。定义全局变量时,系统会自动初始化为下列值:
数据类型 | 初始化默认值 |
int | 0 |
char | '\0' |
float | 0 |
double | 0 |
pointer | NULL |
正确地初始化变量是一个良好的编程习惯,否则有时候程序可能会产生意想不到的结果。
三 常量
常量可以是任何的基本数据类型,可分为整型数字、浮点数字、字符、字符串和布尔值。
常量就像是常规的变量,只不过常量的值在定义后不能进行修改。
示例代码:
//定义常量的两种方式,常量名称一般需要大写
//#define X 200
const int Y=200;
//使用定义的常量
//std::cout<<x*10<< std::endl;
std::cout<<Y<<std::endl;
C++ 中常用的转义字符
转义序列 | 含义 |
\\ | \ 字符 |
\' | ' 字符 |
\" | " 字符 |
\? | ? 字符 |
\a | 警报铃声 |
\b | 退格键 |
\f | 换页符 |
\n | 换行符 |
\r | 回车 |
\t | 水平制表符 |
\v | 垂直制表符 |
\ooo | 一到三位的八进制数 |
\xhh . . . | 一个或多个数字的十六进制数 |
//修饰符类型
signed int st=120; //signed为有符号类型的
unsigned int uns=220 ; //unsigned为无符号类型的
short int sin=129; //短整形
long int ls=98989; //长整形
四 C++ 中的类型限定符
类型限定符提供了变量的额外信息。
限定符 | 含义 |
const | const 类型的对象在程序执行期间不能被修改改变。 |
volatile | 修饰符 volatile 告诉编译器,变量的值可能以程序未明确指定的方式被改变。 |
restrict | 由 restrict 修饰的指针是唯一一种访问它所指向的对象的方式。只有 C99 增加了新的类型限定符 restrict。 |
完整代码clone地址: git@gitcode.net:XiaoWang_csdn/cpp_2_variable.git