C++基础第二章 变量与数据类型型_第1页
C++基础第二章 变量与数据类型型_第2页
C++基础第二章 变量与数据类型型_第3页
C++基础第二章 变量与数据类型型_第4页
C++基础第二章 变量与数据类型型_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第二章 变量与数据类型1-2课程内容安排课程内容安排C+中的常量、变量及其定义。中的常量、变量及其定义。C+程序中如何使用常量、变量和数据类型。程序中如何使用常量、变量和数据类型。数据类型及其转换。数据类型及其转换。1-3常量常量 常量是指在程序运行过程中都不会改变的量。一般来说常量是指在程序运行过程中都不会改变的量。一般来说,C+中的常量包括三种:直接常量、符号常量和枚举中的常量包括三种:直接常量、符号常量和枚举型常量。型常量。直接常量就是通常说的常数,如:直接常量就是通常说的常数,如:123、“a”、“&”等,在等,在C+源代码中,最为常见的常量就是直接常量。源代码中,最为常见的常量就是直

2、接常量。在具体在具体C+程序设计时,要使用一个直接常量就只能通程序设计时,要使用一个直接常量就只能通过该常量的值,其功能是用来初始化变量、给变量赋值过该常量的值,其功能是用来初始化变量、给变量赋值、参与表达式计算等。、参与表达式计算等。符号常量是指在使用前需要声明的常量,其用一个具体符号常量是指在使用前需要声明的常量,其用一个具体的标识符代替某个常数出现在的标识符代替某个常数出现在C+源程序中。一般来说源程序中。一般来说,C+中通过关键字中通过关键字const来定义符号常量,其说明语来定义符号常量,其说明语句的一般形式为:句的一般形式为:const = ;1-4变量变量 简单的说,变量是指值是

3、可以改变的量,其用于存储一简单的说,变量是指值是可以改变的量,其用于存储一个可变数据,该数据的值可在应用程序中随时改变。在个可变数据,该数据的值可在应用程序中随时改变。在实际的应用程序中,变量的使用远多于常量,这是因为实际的应用程序中,变量的使用远多于常量,这是因为变量的使用更为灵活,且符合人们的思维习惯。变量的使用更为灵活,且符合人们的思维习惯。在在C+程序中,变量就是用名字标明的一块儿内存,其程序中,变量就是用名字标明的一块儿内存,其中存储数据。在程序的运行过程中,变量的值会发生改中存储数据。在程序的运行过程中,变量的值会发生改变。变。 1-5变量的定义及赋值变量的定义及赋值 在使用变量前

4、,需要使用声明语句对变量进行声明。在程序在使用变量前,需要使用声明语句对变量进行声明。在程序中定义变量的目的是:让程序分配一块儿内存,并为其命名中定义变量的目的是:让程序分配一块儿内存,并为其命名。这个名字就是变量名。与。这个名字就是变量名。与C语言不同,语言不同,C+可以随时定义可以随时定义所需的变量,而不必放在函数的开始处。定义变量时,先指所需的变量,而不必放在函数的开始处。定义变量时,先指定变量的类型,再给出变量名,并以分号定变量的类型,再给出变量名,并以分号“;”作为结束。作为结束。C+中变量说明语句的一般形式为:中变量说明语句的一般形式为: ;1-6基本数据类型基本数据类型 在在C+

5、中,数据类型包括基本数据类型和构造数据类型中,数据类型包括基本数据类型和构造数据类型两类。构造数据类型又称复合数据类型,是一种更高级两类。构造数据类型又称复合数据类型,是一种更高级的抽象。本节将首先介绍基本数据类型。一般来说,的抽象。本节将首先介绍基本数据类型。一般来说,C+语言的基本数据类型有如下语言的基本数据类型有如下4种:种:整型:说明符为整型:说明符为int。字符型:说明符为字符型:说明符为char。浮点型(又称实型):说明符为浮点型(又称实型):说明符为float(单精度)、(单精度)、double(双精度)。(双精度)。布尔型:说明符为布尔型:说明符为bool,只有两个取值。,只有

6、两个取值。1-7数据类型数据类型类型描述类型描述占字节数占字节数取值范围取值范围char字符型字符型1-128127unsigned char无符号字符型无符号字符型10255signed char有符号字符型有符号字符型1-128127int整型整型4-231231-1unsigned int无符号整型无符号整型40231-1shortint短整型短整型2-3276832767unsigned shortint无符号短整型无符号短整型2065535unsigned longint无符号长整型无符号长整型40231-1singed longint有符号长整型有符号长整型4-231231-1fl

7、oat单精度浮点型单精度浮点型4-3.4e383.4e38double双精度浮点型双精度浮点型8-1.7e3081.7e308long double长双精度浮点型长双精度浮点型10-1.1e49321.1e4932void无值型无值型0bool逻辑型逻辑型1false,true1-8变量的作用域变量的作用域 在在C+语言中,声明的变量主要分为全局变量和局部变语言中,声明的变量主要分为全局变量和局部变量,其可以出现在程序的任何位置,在不同的位置声明量,其可以出现在程序的任何位置,在不同的位置声明,其作用域不同。,其作用域不同。全局变量:其说明语句不在任何一个类定义、函数定义全局变量:其说明语句不

8、在任何一个类定义、函数定义或复合语句(程序块)中的变量。全局变量所占用的空或复合语句(程序块)中的变量。全局变量所占用的空间在内存的数据区,在程序运行的整个过程中位置保持间在内存的数据区,在程序运行的整个过程中位置保持不变。不变。局部变量:其说明语句在某一个类定义、函数定义或复局部变量:其说明语句在某一个类定义、函数定义或复合语句(程序块)中的变量。局部变量所占用的空间在合语句(程序块)中的变量。局部变量所占用的空间在为程序运行时所设置的临时工作区中,以堆栈的形式允为程序运行时所设置的临时工作区中,以堆栈的形式允许反复占用和释放。许反复占用和释放。1-9类型转换是用来把一个类型的值转换成另一个

9、类型。类型转换是用来把一个类型的值转换成另一个类型。C+是是强类型的语言,即其每一个值都有它相应的类型。当用强类型的语言,即其每一个值都有它相应的类型。当用户需要把一个值转换为另一个类型时,就需要使用一些户需要把一个值转换为另一个类型时,就需要使用一些方式进行类型转换。方式进行类型转换。C+中,支持隐式转换和显式转换两中,支持隐式转换和显式转换两种。种。类型转换类型转换 1-10隐式转换就是系统默认的,不需要加以声明就可以进行的转隐式转换就是系统默认的,不需要加以声明就可以进行的转换。在隐式转换过程中,编译器无须对转换进行详细检换。在隐式转换过程中,编译器无须对转换进行详细检查就能够安全地执行

10、转换。比如从查就能够安全地执行转换。比如从int类型转换到类型转换到long类类型、从型、从char类型转换到类型转换到int类型就是一种隐式转换。隐式类型就是一种隐式转换。隐式转换一般不会失败,转换过程中也不会导致信息丢失。转换一般不会失败,转换过程中也不会导致信息丢失。例如,下面程序段实现数据类型的隐式转换,将整形数据类例如,下面程序段实现数据类型的隐式转换,将整形数据类型转换为长整型数据类型、将字符型数据类型转换为整型转换为长整型数据类型、将字符型数据类型转换为整型数据类型型数据类型 隐式转换 1-11一般的说,能够进行隐式转换意味着编译器认为转换是一般的说,能够进行隐式转换意味着编译器

11、认为转换是合理的或者是安全的。此外,合理的或者是安全的。此外,C+还支持显式转换,显还支持显式转换,显式转换是用户手动指出需要转换的类型。显式转换意味式转换是用户手动指出需要转换的类型。显式转换意味着编译器能够找到一个转换方式,但是它不保证这个转着编译器能够找到一个转换方式,但是它不保证这个转换是否安全,所以需要程序员额外指出。换是否安全,所以需要程序员额外指出。C+的显式转的显式转换提供了更精确的语义和对其进一步扩展的可能。换提供了更精确的语义和对其进一步扩展的可能。在在C+中,数据类型的显式转换可以通过运算符中,数据类型的显式转换可以通过运算符()来实来实现。在现。在()中加上需要转换的目

12、标数据类型,放在变量之中加上需要转换的目标数据类型,放在变量之前即可。例如,需要将变量前即可。例如,需要将变量a转换为整型数据类型,其转换为整型数据类型,其表达式为表达式为(int )a。 显式转换显式转换 1-12小结小结 本章主要介绍了本章主要介绍了C+基础的常量、变量和基本数据类型基础的常量、变量和基本数据类型。常量、变量和基本数据类型都是计算机语言最基础的。常量、变量和基本数据类型都是计算机语言最基础的部分,读者需仔细理解其基本概念,在以后的程序设计部分,读者需仔细理解其基本概念,在以后的程序设计中才能运用自如。本章除了讲解常量和变量的概念及其中才能运用自如。本章除了讲解常量和变量的概

13、念及其声明方法外,都安排了一个应用示例以便读者更好地理声明方法外,都安排了一个应用示例以便读者更好地理解常量变量在具体程序中的使用方法。对于基本数据类解常量变量在具体程序中的使用方法。对于基本数据类型,本章主要介绍了其型,本章主要介绍了其4种基本类型:整型、字符型、种基本类型:整型、字符型、浮点型和布尔型,针对每种类型,都使用了一个示例讲浮点型和布尔型,针对每种类型,都使用了一个示例讲解其具体应用。最后简要介绍了解其具体应用。最后简要介绍了C+中类型转换的两种中类型转换的两种方式:隐式转换和显式转换。方式:隐式转换和显式转换。 1-13习题习题 【题目题目10】 C+中,如何声明常量,包括直接

14、常量和符号中,如何声明常量,包括直接常量和符号常量的声明?常量的声明?【分析分析】C+中的常量包括直接常量、符号常量和枚举型常中的常量包括直接常量、符号常量和枚举型常量,其中直接常量通过具体常数来表示,而符号常量通量,其中直接常量通过具体常数来表示,而符号常量通过关键字过关键字const来声明,符号常量必须有一个常量名,其来声明,符号常量必须有一个常量名,其必须符合必须符合C+的标识符命名规则,如的标识符命名规则,如const int a=1即声即声明了一个符号常量。明了一个符号常量。 【题目题目11】 C+中如何声明变量,在声明时需要注意哪些中如何声明变量,在声明时需要注意哪些事项?事项?【

15、分析分析】C+可以随时定义所需的变量,而不必放在函数的可以随时定义所需的变量,而不必放在函数的开始处。定义变量时,先指定变量的类型,再给出变量开始处。定义变量时,先指定变量的类型,再给出变量名,并以分号名,并以分号“;”作为结束。例如,作为结束。例如,int a=1;即声明了一即声明了一个整型变量。个整型变量。1-14【题目题目13】编写一个编写一个C+程序,根据用户输入的圆半径计算圆面程序,根据用户输入的圆半径计算圆面积,并设定圆周率积,并设定圆周率PI为,将运算结果在用户屏幕输出,例如输为,将运算结果在用户屏幕输出,例如输入圆半径入圆半径5。1-15【题目题目14】字符串常量字符串常量“M

16、E”的字符个数是多少?的字符个数是多少?【分析分析】字符数据类型中都是以字符数据类型中都是以char进行变量定义,一个字进行变量定义,一个字符变量只能由包含一个字符。而字符串是一种特殊的字符变量只能由包含一个字符。而字符串是一种特殊的字符数组,其与字符的区别在于字符串都是以符数组,其与字符的区别在于字符串都是以0结束的结束的。因此,字符串。因此,字符串“ME”的字符个数为的字符个数为3,即包含,即包含ME这两这两个字符和个字符和0字符。字符。 1-16【题目题目15】以下程序段输出的结果是多少?以下程序段输出的结果是多少?#include using namespace std;int mai

17、n() char ch=A; int a; a=ch; coutaendl;【分析分析】该程序段声明了字符型变量该程序段声明了字符型变量ch和整型变量和整型变量a,并将,并将字符型变量的值字符字符型变量的值字符A赋值给整型变量赋值给整型变量a。由于。由于255以下的以下的整型数值与字符型变量是能够相互转换的,其基于整型数值与字符型变量是能够相互转换的,其基于ASCII码进行转换。因此,输出值应为字符码进行转换。因此,输出值应为字符A的的ASCII码值:码值:651-17【题目题目16】以下程序段的输出结果是多少?以下程序段的输出结果是多少?#include using namespace st

18、d;int main() bool b; int i; b=true; i=0; coutb=(int)bendl; couti=(bool)iendl; 【分析分析】该程序段输出显式类型转换的值,将布尔型变量该程序段输出显式类型转换的值,将布尔型变量b以整型值输出,以整型值输出,将整型变量将整型变量i以布尔值输出。其中,布尔型变量以布尔值输出。其中,布尔型变量b的初始值为的初始值为true,整型变,整型变量量i的初始值为的初始值为0,对其进行类型转换。变量,对其进行类型转换。变量b转换后的值为转换后的值为1,这是因为,这是因为true的值对应为的值对应为1,而变量,而变量i转换后的输出仍为转换后的输出仍为0,这是因为布尔型数值,这是因为布尔型数值false的值对应为的值对应为0。因此,输出结果应为。因此,输出结果应为1和和01-18【题目题目17】编写一个编写一个C+程序,设定圆周率程序,设定圆周率PI为,设定圆的为,设定圆的半径为半径为10,计算圆的面积,并将运算结果在用户屏幕输,计算圆的面积,并将运算结果在用户屏幕输出。出。【题目题目18】编写一个编写一个C+程序,设定矩形的长和宽分别为程序,设定矩形的长和宽分

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论