2.3 整型变量
2.3.1 常量和变量
常量:在程序运行过程中,其值不可以改变的量
例:100 'a' "hello"
整型 100, 125, -100, 0
实型 3.14, 0.125f, -3.789
字符型 'a', 'b', 'c'
字符串 "a", "b", "c"
变量:其值可以改变的量被称为变量
//定义了变量名
int a=100;
a=101;
2.3.2 整型常量
二进制:是以0b开头,如0b00001010(=10)
十进制:以正常数字1-9开头,如457 789
八进制:以数字0开头,如0123
十六进制:以0x开头,如0x1e
a=10, b=11, c=12, d=13,e=14,f=15
注意:
c++不能支持二进制的输入输出,bitset<8>(0b00001010)
cout<<0b00001010<<endl;//结果为10 cout默认输出为十进制
cout<<bitset<8>(0b00001010)<<endl;//结果为二进制形式00001010
注意:需要包含头文件#include<bitset>才能使用bitset
cout默认是数据以十进制输出,如果需要将数据以八进制、十六进制输出需要加上oct、hex
cout<<0123<<endl;//结果为83 默认以十进制输出
cout<<oct<<0123<<endl;//结果为八进制0123
cout<<0xab<<endl;//结果为171 默认为十进制输出
cout<<hex<<0xab<<endl;//结果为十六进制0xab
2.3.3 整型变量的定义
变量在运行过程中 其值一般能修改。
int data;
data为变量名 他的类型为int类型 在32位平台占4字节空间
变量名的命名规则
:由字母、数值、下划线(_)组成,不能由数值开头,不可以是关键字,区分大小写。
C++对于名称的长度没有限制,名称中所有的字符都用意义,但有些平台有长度限制。
案例1:以下变量名的命名错误的是(AD)
A: int 2_num; B: int num; C: int num_2 D: int void;
A: 变量名以数值开头 D: 选项错误 关键字void作为变量名。
注意:
系统会为变量开辟空间,空间大小为该变量类型的大小
变量名代表空间的内容 (对变量名的操作等价于对空间的操作)
如果定义短整型变量 就是short data;//data占2字节
如果定义长整型变量 就是long data;//32位平台 data占4字节
2.3.4整型变量的初始化
变量的初始化:在变量定义的时候,给变量赋值 叫初始化
int num=10;//是初始化
int data;
data=10;//不是初始化
全部变量如果不初始化内容为0
局部变量如果不初始化内容为不确定(随机)
int data=0;
变量一般建议初始化为0
2.3.5 整型变量的作用
变量的使用:读(取值)写(赋值)
int num = 0;
num=100;//写操作
int data=0;
data=num;//num读 data写
cout<<data<<endl;//读操作
data++;//data=data+1; 等号右边的data读 等号左边的data写
变量的声明:对变量名以及类型 提前说明,不会为该变量开辟空间
场景:先使用变量 后定义变量 必须事先对该变量进行声明
//前提:声明变量 需要家extern修饰
extern int data;
void test03()
{
//先使用
cout<<"data="<<data<<endl;
}
//后定义
int data = 0;
变量的定义:创建变量名 系统会为变量开辟空间
变量的声明:对变量的类型和名称 事先说明,不会为变量创建空间
变量的使用:对已经存在的变量的读写操作
2.3.6 键盘给变量赋值
使用关键字cin给变量获取键盘输入,cin代表的输入设备
int data = 0;
cin>>data;//data获取键盘输入
注意:cin与>>结合 而cout与<<结合
同时给多个变量获取键盘输入(每个变量的值以空格隔开)
int num = 0;
int data = 0;
cout<<"请输入两个int数据:";
cin>>num>>data;
cout<<"num = "<<num<<"data = "<<data<<endl;
cin可以自动跳过空格以及回车
2.3.7 键盘获取两个int数值 求最大值(案例)
int num_1 = 0;
int num_2 = 0;
cout<<"请输入num_1和num_2,以空格隔开:";
cin>>num_1>>num_2;
if (num_1>=num_2)
{
cout<<"最大值为:"<<num_1<<endl;
}else if(num_1<=num_2){
cout<<"最大值为:"<<num_2<<endl;
}