《变量与数据类型 (2)PPT讲稿.ppt》由会员分享,可在线阅读,更多相关《变量与数据类型 (2)PPT讲稿.ppt(19页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、变量与数据量与数据类型型第1页,共19页,编辑于2022年,星期六课程内容安排课程内容安排C+中的常量、变量及其定义。中的常量、变量及其定义。C+程序中如何使用常量、变量和数据类型。程序中如何使用常量、变量和数据类型。数据类型及其转换。数据类型及其转换。第2页,共19页,编辑于2022年,星期六常量常量 常量是指在程序运行过程中都不会改变的量。一般来说,常量是指在程序运行过程中都不会改变的量。一般来说,C+中的常量包括三种:直接常量、符号常量和枚举型中的常量包括三种:直接常量、符号常量和枚举型常量。常量。直接常量就是通常说的常数,如:直接常量就是通常说的常数,如:123、3.14、“a”、“&
2、”等,在等,在C+源代码中,最为常见的常量就是直接源代码中,最为常见的常量就是直接常量。在具体常量。在具体C+程序设计时,要使用一个直接常量就程序设计时,要使用一个直接常量就只能通过该常量的值,其功能是用来初始化变量、给变只能通过该常量的值,其功能是用来初始化变量、给变量赋值、参与表达式计算等。量赋值、参与表达式计算等。符号常量是指在使用前需要声明的常量,其用一个具体符号常量是指在使用前需要声明的常量,其用一个具体的标识符代替某个常数出现在的标识符代替某个常数出现在C+源程序中。一般来说,源程序中。一般来说,C+中通过关键字中通过关键字const来定义符号常量,其说明语句来定义符号常量,其说明
3、语句的一般形式为:的一般形式为:const =;第3页,共19页,编辑于2022年,星期六变量变量 简单的说,变量是指值是可以改变的量,其用于存储一简单的说,变量是指值是可以改变的量,其用于存储一个可变数据,该数据的值可在应用程序中随时改变。在个可变数据,该数据的值可在应用程序中随时改变。在实际的应用程序中,变量的使用远多于常量,这是因为实际的应用程序中,变量的使用远多于常量,这是因为变量的使用更为灵活,且符合人们的思维习惯。变量的使用更为灵活,且符合人们的思维习惯。在在C+程序中,变量就是用名字标明的一块儿内存,其程序中,变量就是用名字标明的一块儿内存,其中存储数据。在程序的运行过程中,变量
4、的值会发生改中存储数据。在程序的运行过程中,变量的值会发生改变。变。第4页,共19页,编辑于2022年,星期六变量的定义及赋值变量的定义及赋值 在使用变量前,需要使用声明语句对变量进行声明。在程序在使用变量前,需要使用声明语句对变量进行声明。在程序中定义变量的目的是:让程序分配一块儿内存,并为其命名。中定义变量的目的是:让程序分配一块儿内存,并为其命名。这个名字就是变量名。与这个名字就是变量名。与C语言不同,语言不同,C+可以随时定义所可以随时定义所需的变量,而不必放在函数的开始处。定义变量时,先指定需的变量,而不必放在函数的开始处。定义变量时,先指定变量的类型,再给出变量名,并以分号变量的类
5、型,再给出变量名,并以分号“;”作为结束。作为结束。C+中变量说明语句的一般形式为:中变量说明语句的一般形式为:;第5页,共19页,编辑于2022年,星期六基本数据类型基本数据类型 在在C+中,数据类型包括基本数据类型和构造数据类型中,数据类型包括基本数据类型和构造数据类型两类。构造数据类型又称复合数据类型,是一种更高级两类。构造数据类型又称复合数据类型,是一种更高级的抽象。本节将首先介绍基本数据类型。一般来说,的抽象。本节将首先介绍基本数据类型。一般来说,C+语言的基本数据类型有如下语言的基本数据类型有如下4种:种:整型:说明符为整型:说明符为int。字符型:说明符为字符型:说明符为char
6、。浮点型(又称实型):说明符为浮点型(又称实型):说明符为float(单精度)、(单精度)、double(双精度)。(双精度)。布尔型:说明符为布尔型:说明符为bool,只有两个取值。,只有两个取值。第6页,共19页,编辑于2022年,星期六数据类型类型描述占字节数取值范围char字符型1-128127unsigned char无符号字符型10255signed char有符号字符型1-128127int整型4-231231-1unsigned int无符号整型40231-1shortint短整型2-3276832767unsigned shortint无符号短整型2065535unsigne
7、d longint无符号长整型40231-1singed longint有符号长整型4-231231-1float单精度浮点型4-3.4e383.4e38double双精度浮点型8-1.7e3081.7e308long double长双精度浮点型10-1.1e49321.1e4932void无值型0bool逻辑型1false,true第7页,共19页,编辑于2022年,星期六变量的作用域变量的作用域 在在C+语言中,声明的变量主要分为全局变量和局部变语言中,声明的变量主要分为全局变量和局部变量,其可以出现在程序的任何位置,在不同的位置声明,量,其可以出现在程序的任何位置,在不同的位置声明,其作
8、用域不同。其作用域不同。全局变量:其说明语句不在任何一个类定义、函数定义全局变量:其说明语句不在任何一个类定义、函数定义或复合语句(程序块)中的变量。全局变量所占用的空或复合语句(程序块)中的变量。全局变量所占用的空间在内存的数据区,在程序运行的整个过程中位置保持间在内存的数据区,在程序运行的整个过程中位置保持不变。不变。局部变量:其说明语句在某一个类定义、函数定义或复局部变量:其说明语句在某一个类定义、函数定义或复合语句(程序块)中的变量。局部变量所占用的空间在合语句(程序块)中的变量。局部变量所占用的空间在为程序运行时所设置的临时工作区中,以堆栈的形式允为程序运行时所设置的临时工作区中,以
9、堆栈的形式允许反复占用和释放。许反复占用和释放。第8页,共19页,编辑于2022年,星期六类型转换是用来把一个类型的值转换成另一个类型。类型转换是用来把一个类型的值转换成另一个类型。C+是是强类型的语言,即其每一个值都有它相应的类型。当用户强类型的语言,即其每一个值都有它相应的类型。当用户需要把一个值转换为另一个类型时,就需要使用一些方式需要把一个值转换为另一个类型时,就需要使用一些方式进行类型转换。进行类型转换。C+中,支持隐式转换和显式转换两种。中,支持隐式转换和显式转换两种。类型转换类型转换 第9页,共19页,编辑于2022年,星期六隐隐式式转转换换就就是是系系统统默默认认的的,不不需需
10、要要加加以以声声明明就就可可以以进进行行的的转转换换。在在隐隐式式转转换换过过程程中中,编编译译器器无无须须对对转转换换进进行行详详细细检检查查就就能能够够安安全全地地执执行行转转换换。比比如如从从int类类型型转转换换到到long类类型型、从从char类类型型转转换换到到int类类型型就就是是一一种种隐隐式式转转换换。隐隐式式转转换换一般不会失败,转换过程中也不会导致信息丢失。一般不会失败,转换过程中也不会导致信息丢失。例例如如,下下面面程程序序段段实实现现数数据据类类型型的的隐隐式式转转换换,将将整整形形数数据据类类型型转转换换为为长长整整型型数数据据类类型型、将将字字符符型型数数据据类类
11、型型转转换换为为整整型型数据类型数据类型 隐式转换 第10页,共19页,编辑于2022年,星期六一般的说,能够进行隐式转换意味着编译器认为转换是一般的说,能够进行隐式转换意味着编译器认为转换是合理的或者是安全的。此外,合理的或者是安全的。此外,C+还支持显式转换,显还支持显式转换,显式转换是用户手动指出需要转换的类型。显式转换意味式转换是用户手动指出需要转换的类型。显式转换意味着编译器能够找到一个转换方式,但是它不保证这个转着编译器能够找到一个转换方式,但是它不保证这个转换是否安全,所以需要程序员额外指出。换是否安全,所以需要程序员额外指出。C+的显式转的显式转换提供了更精确的语义和对其进一步
12、扩展的可能。换提供了更精确的语义和对其进一步扩展的可能。在在C+中,数据类型的显式转换可以通过运算符中,数据类型的显式转换可以通过运算符()来实来实现。在现。在()中加上需要转换的目标数据类型,放在变量之中加上需要转换的目标数据类型,放在变量之前即可。例如,需要将变量前即可。例如,需要将变量a转换为整型数据类型,其转换为整型数据类型,其表达式为表达式为(int)a。显式转换显式转换 第11页,共19页,编辑于2022年,星期六小结小结 本章主要介绍了本章主要介绍了C+基础的常量、变量和基本数据类型。基础的常量、变量和基本数据类型。常量、变量和基本数据类型都是计算机语言最基础的部常量、变量和基本
13、数据类型都是计算机语言最基础的部分,读者需仔细理解其基本概念,在以后的程序设计中分,读者需仔细理解其基本概念,在以后的程序设计中才能运用自如。本章除了讲解常量和变量的概念及其声才能运用自如。本章除了讲解常量和变量的概念及其声明方法外,都安排了一个应用示例以便读者更好地理解明方法外,都安排了一个应用示例以便读者更好地理解常量变量在具体程序中的使用方法。对于基本数据类型,常量变量在具体程序中的使用方法。对于基本数据类型,本章主要介绍了其本章主要介绍了其4种基本类型:整型、字符型、浮点种基本类型:整型、字符型、浮点型和布尔型,针对每种类型,都使用了一个示例讲解其型和布尔型,针对每种类型,都使用了一个
14、示例讲解其具体应用。最后简要介绍了具体应用。最后简要介绍了C+中类型转换的两种方式:中类型转换的两种方式:隐式转换和显式转换。隐式转换和显式转换。第12页,共19页,编辑于2022年,星期六习题习题【题目题目10】C+中,如何声明常量,包括直接常量和符号中,如何声明常量,包括直接常量和符号常量的声明?常量的声明?【分析分析】C+中的常量包括直接常量、符号常量和枚举型常中的常量包括直接常量、符号常量和枚举型常量,其中直接常量通过具体常数来表示,而符号常量通过量,其中直接常量通过具体常数来表示,而符号常量通过关键字关键字const来声明,符号常量必须有一个常量名,其必来声明,符号常量必须有一个常量
15、名,其必须符合须符合C+的标识符命名规则,如的标识符命名规则,如const int a=1即声明即声明了一个符号常量。了一个符号常量。【题目题目11】C+中如何声明变量,在声明时需要注意哪些事中如何声明变量,在声明时需要注意哪些事项?项?【分析分析】C+可以随时定义所需的变量,而不必放在函数的可以随时定义所需的变量,而不必放在函数的开始处。定义变量时,先指定变量的类型,再给出变量名,开始处。定义变量时,先指定变量的类型,再给出变量名,并以分号并以分号“;”作为结束。例如,作为结束。例如,int a=1;即声明了一个整即声明了一个整型变量。型变量。第13页,共19页,编辑于2022年,星期六【题
16、目题目13】编写一个编写一个C+程序,根据用户输入的圆半径计算圆面积,程序,根据用户输入的圆半径计算圆面积,并设定圆周率并设定圆周率PI为为3.14,将运算结果在用户屏幕输出,例如输入,将运算结果在用户屏幕输出,例如输入圆半径圆半径5。第14页,共19页,编辑于2022年,星期六【题目题目14】字符串常量字符串常量“ME”的字符个数是多少?的字符个数是多少?【分析分析】字符数据类型中都是以字符数据类型中都是以char进行变量定义,一个字进行变量定义,一个字符变量只能由包含一个字符。而字符串是一种特殊的字符符变量只能由包含一个字符。而字符串是一种特殊的字符数组,其与字符的区别在于字符串都是以数组
17、,其与字符的区别在于字符串都是以0结束的。结束的。因此,字符串因此,字符串“ME”的字符个数为的字符个数为3,即包含,即包含ME这两个这两个字符和字符和0字符。字符。第15页,共19页,编辑于2022年,星期六【题目题目15】以下程序段输出的结果是多少?以下程序段输出的结果是多少?#include using namespace std;int main()char ch=A;int a;a=ch;coutaendl;【分析分析】该程序段声明了字符型变量该程序段声明了字符型变量ch和整型变量和整型变量a,并将,并将字符型变量的值字符字符型变量的值字符A赋值给整型变量赋值给整型变量a。由于。由于
18、255以下的以下的整型数值与字符型变量是能够相互转换的,其基于整型数值与字符型变量是能够相互转换的,其基于ASCII码进行转换。因此,输出值应为字符码进行转换。因此,输出值应为字符A的的ASCII码值:码值:65第16页,共19页,编辑于2022年,星期六【题目题目16】以下程序段的输出结果是多少?以下程序段的输出结果是多少?#include using namespace std;int main()bool b;int i;b=true;i=0;coutb=(int)bendl;couti=(bool)iendl;【分析分析】该程序段输出显式类型转换的值,将布尔型变量该程序段输出显式类型转
19、换的值,将布尔型变量b以整型值输出,将整型变以整型值输出,将整型变量量i以布尔值输出。其中,布尔型变量以布尔值输出。其中,布尔型变量b的初始值为的初始值为true,整型变量,整型变量i的初始值为的初始值为0,对其进,对其进行类型转换。变量行类型转换。变量b转换后的值为转换后的值为1,这是因为,这是因为true的值对应为的值对应为1,而变量,而变量i转换后的输出转换后的输出仍为仍为0,这是因为布尔型数值,这是因为布尔型数值false的值对应为的值对应为0。因此,输出结果应为。因此,输出结果应为1和和0第17页,共19页,编辑于2022年,星期六【题目题目17】编写一个编写一个C+程序,设定圆周率
20、程序,设定圆周率PI为为3.14,设定,设定圆的半径为圆的半径为10,计算圆的面积,并将运算结果在用户屏,计算圆的面积,并将运算结果在用户屏幕输出。幕输出。【题目题目18】编写一个编写一个C+程序,设定矩形的长和宽分别为程序,设定矩形的长和宽分别为10,20,计算该矩形的周长和面积,并将运算结果在用户,计算该矩形的周长和面积,并将运算结果在用户屏幕输出。屏幕输出。【题目题目19】编写一个编写一个C+程序,根据用户输入的矩形的长和程序,根据用户输入的矩形的长和宽,计算矩形的周长和面积,并将运算结果在用户屏幕输宽,计算矩形的周长和面积,并将运算结果在用户屏幕输出。出。第18页,共19页,编辑于20
21、22年,星期六【题目题目20】编写一个编写一个C+程序,根据用户输入的两个浮点数,程序,根据用户输入的两个浮点数,计算这两个数的和及差,并将运算结果在用户屏幕输出。计算这两个数的和及差,并将运算结果在用户屏幕输出。【题目题目21】编写一个编写一个C+程序,用户输入一个字符,将其转换程序,用户输入一个字符,将其转换为整型的为整型的ASCII码值,并将转换结果输出。码值,并将转换结果输出。【题目题目22】编写一个编写一个C+程序,用户输入一个大写字母,将其程序,用户输入一个大写字母,将其转换为对应的小写字母,并将转换结果输出。转换为对应的小写字母,并将转换结果输出。【题目题目23】编写一个编写一个C+程序,用户输入一个小写字母,将其程序,用户输入一个小写字母,将其转换为对应的大写字母,并将转换结果输出。转换为对应的大写字母,并将转换结果输出。【题目题目24】编写一个编写一个C+程序,用户输入一个浮点型数据,将程序,用户输入一个浮点型数据,将其强制转换为整数,并将转换结果输出。其强制转换为整数,并将转换结果输出。第19页,共19页,编辑于2022年,星期六
限制150内