C++学习笔记之二(C++语法基础之变量和数据类型)

一、常量和变量

C++程序中的数据分为常量和变量两大类。其中,常量是在程序运行过程中不变的量,而变量是在程序运行过程中可以发生变化的值。


          常量分类:直接常量、符合常量和枚举常量。(在本节文章中主要讲解直接常量和符合常量,而枚举常量将在后需章节中进行讲解。)

          直接常量定义:就是通常所说的常数,比如:123、3.14 、a、&等等。

          直接常量用途:用来初始化变量、给变量赋值和参与表达式计算等等。

      

          符合常量定义:指在使用请需要声明的常量,它用一个具体的标识符代替某个常数出现在C++源程序中。

  符号常量语法规则: const <类型名>  <常量名> =<数值/表达式>

  符号常量使用规则:

          1、定义符号变量必须以const开头。

2、类型名为基本类型及派生类型,可以省略。

3、常量名必须符合C++标识符命名规则标识符。

4、表达式与常量类型一致。


C++代码示列:

#include <iostream>
using namespace std;

int main() {
	const double pi=3.14159263; //定义符号常量
	const double radius=5.0;//定义符号常量
	double cir; //定义变量
	cir=pi*2*radius;     //表达式=符号常量*直接常量*符号常量
	cout << "周长为:"<<cir << endl;   //输出表达式

	return 0;
}

效果展示:



变量定义:是指值可以改变的量。它用于存储一个可变的数据,该数据的值可以在应用程序可以随时改变。

变量存储角度:变量就是用名字标明的一块内存,用来存储数据。

                变量规则:变量名只能由字母、数字、及下划线组成,必须以字母或下划线开头。

变量语法规则:在定义变量时,先制定变量的类型,再给出变量名,并以分号作为结束。

                <存储类>   <类型名或类型定义>  <变量名>

重点讲解:存储类指的是变量的存储位置,一般包含4中类型(auto[表示属于一次性存储,其存储空间可被若干变量多次覆盖使用])、(register[表示变量存放在通用寄存器中])、(extern[表示所有函数和程序段中都可以引用])、(static[表示在内存中是以固定位置存放])。

                变量赋值规则:

第一种:<类型名/类型定义>   <变量名>

第二种:<l类型名/类型定义>   <变量名> =<数值/表达式>

第三种:<类型名/类型定义>    <变量名> =<数值/表达式>  ,<变量名>=<数值/表达式>


#include <iostream>
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="<<b<<endl<<"c="<<c<<endl;
	cout<<"m="<<m<<endl<<"n="<<n<<endl;
	cout<<"x="<<x<<endl<<"y="<<y<<endl;
	return 0;
}

效果截图:



二、数据基本类型

在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等修饰符,整型数据类型可以分为四种,分别对应无符号整型、有符合整型、短整型和长整型。

         语法规则:[修饰符]  <int>  <变量名>。

#include <iostream>
using namespace std;

int main() {
	int a=100;          //定义整型变量
	cout<<"a="<<a<<endl;
	return 0;
}

浮点型数据类型:小数点(实数)在计算机中称为浮点数。在C++中,浮点型数据类型有:float(单精度)、double(双精度)、long double(长双精度浮点数,或称拓展精度浮点数)三种,其主要区别在于占用的字节数不同。

单精度浮点型(float)专指占用32位存储空间的单精度值。

        双精度型(double)专指占用64位存储空间的双精度值。

#include <iostream>
using namespace std;

int main() {
	float a=3.1415926; //定义单精度
	float b=3.1415926; //定义双精度
	cout<<"a="<<a<<endl;
	cout<<"b="<<b<<endl;
	return 0;
}



字符型数据类型:在C++中,字符型数据类型只占据1个字节,其声明关键字为char。根据不同的修饰符unsigned和signed修饰符,分别表示无符号字符型和有符合字符型。

         语法规则:[修饰符]  <char>  <变量名>

#include <iostream>
using namespace std;

int main() {
	char a='a'; //定义单精度
	char b='b'; //定义双精度
	cout<<"a="<<a<<endl;
	cout<<"b="<<b<<endl;
	return 0;
}

          布尔数据类型:布尔数据类型用bool表示,其变量值只有两个:true和false,分别表示逻辑真和逻辑假。 [如果整型值为0,则布尔值为false,如果整型值为1,则布尔值为true]

<span style="color:#333333;">#include <iostream>
using namespace std;

int main() {
	bool a=true; //定义单精度
	bool b=false; //定义双精度
	cout<<"a="<<a<<endl;
	cout<<"b="<<b<<endl;
	return 0;
}</span>


三、变量的作用域

         全局变量:其声明语句不在任何一个类定义、函数定义或复合语句(程序块)中的变量。全局变量所占用的空间在内存数据区,在程序运行整个过程中位置保持不变。

         局部变量:其声明语句在某一个类定义、函数定义或复合语句(程序块)中的变量。局部变量所占用的空间是为程序运行时所设置的临时工作区,以堆栈的形式允许反复占用和释放。



类型转换

类型转换是用来把一个类型转换为另一个类型。C++是强制性语言,每一个值都有它对应的类型。用户需要把一个类型的值转换为另一个类型的值需要转换。在C++支持隐式转换和显示转换。

#include <iostream>
using namespace std;

int main() {
	int a=90; 
	float b=0; 
	b=a;    <span style="color:#ff0000;">//隐式转换(int 转换为 float)</span>
	cout<<"a="<<a<<endl;
	cout<<"b="<<b<<endl;
	return 0;
}

今天晚上就总结到这里。

 




  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值