一、常量和变量
C++程序中的数据分为常量和变量两大类。其中,常量是在程序运行过程中不变的量,而变量是在程序运行过程中可以发生变化的值。
常量分类:直接常量、符合常量和枚举常量。(在本节文章中主要讲解直接常量和符合常量,而枚举常量将在后需章节中进行讲解。)
直接常量定义:就是通常所说的常数,比如:123、3.14 、a、&等等。
直接常量用途:用来初始化变量、给变量赋值和参与表达式计算等等。
符合常量定义:指在使用请需要声明的常量,它用一个具体的标识符代替某个常数出现在C++源程序中。
符号常量语法规则: const <类型名> <常量名> =<数值/表达式>
符号常量使用规则:
1、定义符号变量必须以const开头。
2、类型名为基本类型及派生类型,可以省略。
3、常量名必须符合C++标识符命名规则标识符。
4、表达式与常量类型一致。
C++代码示列:
#include
using namespace std;
int main() {
const double pi=3.14159263; //定义符号常量
const double radius=5.0;//定义符号常量
double cir; //定义变量
cir=pi*2*radius; //表达式=符号常量*直接常量*符号常量
cout << "周长为:"<
变量定义:是指值可以改变的量。它用于存储一个可变的数据,该数据的值可以在应用程序可以随时改变。
变量存储角度:变量就是用名字标明的一块内存,用来存储数据。
变量规则:变量名只能由字母、数字、及下划线组成,必须以字母或下划线开头。
变量语法规则:在定义变量时,先制定变量的类型,再给出变量名,并以分号作为结束。
<存储类> <类型名或类型定义> <变量名>
重点讲解:存储类指的是变量的存储位置,一般包含4中类型(auto[表示属于一次性存储,其存储空间可被若干变量多次覆盖使用])、(register[表示变量存放在通用寄存器中])、(extern[表示所有函数和程序段中都可以引用])、(static[表示在内存中是以固定位置存放])。
变量赋值规则:
第一种:<类型名/类型定义> <变量名>
第二种:
第三种:<类型名/类型定义> <变量名> =<数值/表达式> ,<变量名>=<数值/表达式>
#include
using namespace std;
int main() {
int b,c=2; //第二种变量定义方式
double x=0.0,y=1.2; //第三种变量定义方式
char m,n; //第一种变量定义方式
b=c;
m=n='2';
cout<<"b="<
二、数据基本类型
在C++中,数据类型包括基本数据类型和构造函数类型两类。构造函数类型又称复合数据类型,是一种高级的抽象。本章主要讲解基本数据类型。
c++基本数据类型:
1、整形(int)
2、字符型(char)
3、浮点型(又称为实型)[float:单精度、double:双精度]
4、布尔型(boolean)
为了满足各种情况的需求,上述的几种类型前面还可以加上修饰符改变原来的含义。主要的修饰符有如下四种:
1、signed:表示有符合
2、unsigned:表示无符号
3、long :表示长整型
4、short:表示短型。
注意:上述四种修饰符都使用于字符型和整型,只有long还适用于双精度浮点型。
整形数据类型:在C++中,整型数据类型即用关键字int声明的常量或变量,其值只能为整型,根据unsigned、signed、short和long等修饰符,整型数据类型可以分为四种,分别对应无符号整型、有符合整型、短整型和长整型。
语法规则:[修饰符]
#include
using namespace std;
int main() {
int a=100; //定义整型变量
cout<<"a="<
单精度浮点型(float)专指占用32位存储空间的单精度值。
双精度型(double)专指占用64位存储空间的双精度值。
#include
using namespace std;
int main() {
float a=3.1415926; //定义单精度
float b=3.1415926; //定义双精度
cout<<"a="<
语法规则:[修饰符]
#include
using namespace std;
int main() {
char a='a'; //定义单精度
char b='b'; //定义双精度
cout<<"a="<
#include
using namespace std;
int main() {
bool a=true; //定义单精度
bool b=false; //定义双精度
cout<<"a="<
三、变量的作用域
全局变量:其声明语句不在任何一个类定义、函数定义或复合语句(程序块)中的变量。全局变量所占用的空间在内存数据区,在程序运行整个过程中位置保持不变。
局部变量:其声明语句在某一个类定义、函数定义或复合语句(程序块)中的变量。局部变量所占用的空间是为程序运行时所设置的临时工作区,以堆栈的形式允许反复占用和释放。
类型转换
类型转换是用来把一个类型转换为另一个类型。C++是强制性语言,每一个值都有它对应的类型。用户需要把一个类型的值转换为另一个类型的值需要转换。在C++支持隐式转换和显示转换。
#include
using namespace std;
int main() {
int a=90;
float b=0;
b=a; //隐式转换(int 转换为 float)
cout<<"a="<