C++讲义第2章.ppt
《C++讲义第2章.ppt》由会员分享,可在线阅读,更多相关《C++讲义第2章.ppt(63页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、C+字符集:字符集:C+源程序中可以使用的字源程序中可以使用的字符符号有:符符号有:英文字符英文字符 a b c x y z A B C X Y Z大小写不同。大小写不同。数字符号数字符号 0 1 2 8 9运算符运算符 +-*/%=!.&|?:,()其他符号其他符号 ;#“”_ 空格空格 Tab 1标识符、关键字与标点符号标识符、关键字与标点符号(1)标识符)标识符 标识符是程序中变量、类型、函数等的名标识符是程序中变量、类型、函数等的名称。标识符由字母、数字和下划线称。标识符由字母、数字和下划线“_”组成,组成,第一个字符不能是数字。第一个字符不能是数字。Visual C+编译器允许使用长
2、达编译器允许使用长达247个字个字符的标识符。在标识符中恰当运用下划线、大符的标识符。在标识符中恰当运用下划线、大小写字母混用以及使用较长的名字都有助于提小写字母混用以及使用较长的名字都有助于提高程序的可读性。高程序的可读性。2(2)关键字)关键字 编译系统中使用了一些标识符,这些已有编译系统中使用了一些标识符,这些已有特殊含义和用途的标识符称为关键字或保留字。特殊含义和用途的标识符称为关键字或保留字。程序员在程序中不得将它们另作它用。程序员在程序中不得将它们另作它用。教材教材P_6页给出了页给出了VC+系统使用的关键字。系统使用的关键字。(3)标点符号)标点符号 C+中的标点符号有以中的标点
3、符号有以下下8个:个:#(),:;在在C+程序中的不同地方,规定使用不同程序中的不同地方,规定使用不同的标点符号,这是由的标点符号,这是由C+的语法规则所确定的。的语法规则所确定的。3数制数制一个数采用不同的数制就可以有不同的表一个数采用不同的数制就可以有不同的表示。示。例如数字:例如数字:3257可表示为:可表示为:3257D 6271Q CB9H 110010111001B4数制有四个基本概念:数制有四个基本概念:基基 一个数制中每一位上能够出现的符号一个数制中每一位上能够出现的符号个数,加法运算时采用逢基进一规则。个数,加法运算时采用逢基进一规则。位序位序 数制中每一位数字赋予一个序号,
4、数制中每一位数字赋予一个序号,称为位序,个位的位序号为称为位序,个位的位序号为0。高位逐位增一,。高位逐位增一,低位逐位减一。低位逐位减一。5权重权重 位序号为位序号为m的位上,单位数值对整的位上,单位数值对整个数的贡献称为该位权重,其值为基的个数的贡献称为该位权重,其值为基的m次方。次方。系数系数 数值中各位上的数值。数值中各位上的数值。我们常用的数制为十进制,即基为十。我们常用的数制为十进制,即基为十。计算机中使用的数制为二进制,即基为二。计算机中使用的数制为二进制,即基为二。二进制数的长度是各种数制中最长的,不二进制数的长度是各种数制中最长的,不易读写,因而出现了两种易读写,因而出现了两
5、种辅助数制辅助数制,八进制和,八进制和十六进制。十六进制。6对二进制整数,从个位向左毎三位一组分对二进制整数,从个位向左毎三位一组分组,三位二进制数的取值从组,三位二进制数的取值从000到到111,即为,即为0到到7,对应八进制的一位。,对应八进制的一位。如果每四位一组分组,四位二进制数的取如果每四位一组分组,四位二进制数的取值从值从0000到到1111,即为,即为0到到15,对应十六进制,对应十六进制的一位。由于数字只有的一位。由于数字只有0到到9十个,十个,10到到15这这六个数只能用六个数只能用A、B、C、D、E、F六个符号来六个符号来表示表示;也可以用小写字符。也可以用小写字符。7使用
6、计算机解决问题的过程:使用计算机解决问题的过程:要处理的对象是要处理的对象是自然世界自然世界中的客观事物,有着自中的客观事物,有着自己的行为规律,客观事物运行的世界称为客观世界。己的行为规律,客观事物运行的世界称为客观世界。人们要研究客观世界的对象,需要按照研究目的人们要研究客观世界的对象,需要按照研究目的抽象出一个模型抽象出一个模型(通常可以用数学模型表示通常可以用数学模型表示)来描述客来描述客观对象的行为规律观对象的行为规律(近似的近似的),这样的模型称为,这样的模型称为逻辑模逻辑模型型。要对逻辑模型进行求解,需要对模型进行细化,要对逻辑模型进行求解,需要对模型进行细化,列出详细的解决步骤
7、列出详细的解决步骤(流程图流程图),然后按照流程图使用,然后按照流程图使用某种算法语言进行程序设计,上机调试、运行,得到某种算法语言进行程序设计,上机调试、运行,得到结果。结果。8在建立逻辑模型的时候,会用到各种类型在建立逻辑模型的时候,会用到各种类型的数据。的数据。1.一元二次方程问题:一元二次方程问题:y=Ax2 +Bx+C在系数在系数A、B、C为定值时,给出变量为定值时,给出变量x的的值,就得到对应的变量值,就得到对应的变量y的值。的值。当设定变量当设定变量y为为0时,给定不同的系数时,给定不同的系数A、B、C的值,方程具有不同的根。的值,方程具有不同的根。这里,系数这里,系数A、B、C
8、和变量和变量x、y的取值都的取值都是实数。是实数。92.鸡兔同笼问题鸡兔同笼问题(二元一次方程二元一次方程):鸡兔同笼共鸡兔同笼共36只,鸡脚和兔脚共只,鸡脚和兔脚共100个。个。问鸡兔各几只。问鸡兔各几只。x+y=36 2x+4y=100这个问题中,方程的系数和变量这个问题中,方程的系数和变量x、y的取的取值都是非负整数。值都是非负整数。103.文件加密问题:文件加密问题:一个文本文件,在发送的时候为了保密的一个文本文件,在发送的时候为了保密的要求需要进行加密处理,即按照一定的规律对要求需要进行加密处理,即按照一定的规律对每一个字符进行数学变换成为另一种数值。接每一个字符进行数学变换成为另一
9、种数值。接收方收到文件后在进行解密。收方收到文件后在进行解密。这里要处理的数据是文本字符,在计算机这里要处理的数据是文本字符,在计算机中是按照一定的标准进行编码中是按照一定的标准进行编码(如如ASCII码码)。11在三个问题中我们处理了三种不同的数据:在三个问题中我们处理了三种不同的数据:实数实数、非负整数非负整数和和字符字符。在我们的逻辑模型中,数据的大小是随意在我们的逻辑模型中,数据的大小是随意的。对实数来说有数值的大小和数据的精度;的。对实数来说有数值的大小和数据的精度;对整数来说有数值的大小和符号;对字符来说对整数来说有数值的大小和符号;对字符来说是它的编码标准。是它的编码标准。但在计
10、算机世界中,数据的描述具有了一但在计算机世界中,数据的描述具有了一定的限制,原因在于计算机内存的有限性,决定的限制,原因在于计算机内存的有限性,决定了计算机中定了计算机中数据描述的有限字长数据描述的有限字长。12所以,计算机语言中数据的描述是有规定所以,计算机语言中数据的描述是有规定格式的,不能随意设定。格式的,不能随意设定。计算机中数据的格式称为计算机中数据的格式称为数据类型数据类型。C+语言规定了若干种基本数据类型,参加运算的语言规定了若干种基本数据类型,参加运算的数据必须是指定数据类型中的一种。数据必须是指定数据类型中的一种。13在在C+中数据类型分为两大类:中数据类型分为两大类:基本数
11、据基本数据类型类型和和导出数据类型导出数据类型。基本数据类型是基本数据类型是C+中预定义的数据类型,中预定义的数据类型,包括字符型、整型、实型。包括字符型、整型、实型。对于字符型,可分为无符号型对于字符型,可分为无符号型(unsigned)和有符号型和有符号型(signed);对于整型,可分为基;对于整型,可分为基本整型、长本整型、长(long)整型和短整型和短(short)整型、有整型、有符号长整型和短整型、无符号长整型和短整型;符号长整型和短整型、无符号长整型和短整型;对于实型,有单精度实型和双精度实型。对于实型,有单精度实型和双精度实型。14各数据类型在计算机中的表示方式。各数据类型在计
12、算机中的表示方式。字符型和整型数据分别占用一个字节和四字符型和整型数据分别占用一个字节和四个字节存储单元,在计算机内使用补码编码方个字节存储单元,在计算机内使用补码编码方法。法。补码编码方案补码编码方案正整数的补码就是它的原值。正整数的补码就是它的原值。负整数的补码是其绝对值负整数的补码是其绝对值(原值原值)各位取反各位取反后加一。后加一。西文字符采用西文字符采用ASCII码。码。ASCII码表15计算机中参加运算的整数都是补码形式,计算机中参加运算的整数都是补码形式,运算结果也是补码形式。真值和它的补码是互运算结果也是补码形式。真值和它的补码是互补的关系,所以,由结果的补码编码得到其真补的关
13、系,所以,由结果的补码编码得到其真值的方法和由真值得到补码的方法相同。值的方法和由真值得到补码的方法相同。最高位为最高位为0的数,补码等于原值。的数,补码等于原值。最高位为最高位为1的数,补码各位取反后加一,的数,补码各位取反后加一,即得到结果的绝对值,添加负号即得到真值。即得到结果的绝对值,添加负号即得到真值。16各种基本数据类型占用内存单元数和取值各种基本数据类型占用内存单元数和取值范围:范围:类类 型型名名 称称占用字节占用字节取值范围取值范围char字符型字符型1-128 127short int 短整型短整型2-32768 32767int 整型整型4-231 231-1long i
14、nt长整型长整型4-231 231-1float 实型实型(单精度型单精度型)4-1038 1038double双精度型双精度型8-10308 1030817常量常量 常量是指在程序运行过程中其值始终不变常量是指在程序运行过程中其值始终不变的量。的量。C+语言中有语言中有4种常量:整型常量、实种常量:整型常量、实型常量、字符型常量和字符串常量。常量在表型常量、字符型常量和字符串常量。常量在表达方式上既可以直接表示,也可用符号代表。达方式上既可以直接表示,也可用符号代表。直接表示的常量称为直接常量,用符号表示的直接表示的常量称为直接常量,用符号表示的常量称为符号常量。如常量称为符号常量。如1、3
15、.14、A、Hello均为直接常量,分别表示整数均为直接常量,分别表示整数1、实数、实数3.14、字符、字符A和字符串和字符串Hello。又如,习惯上用。又如,习惯上用PI代表圆周率代表圆周率3.14159,则,则PI是符号常量。是符号常量。18整型常量整型常量C+中整型常量可用以下三种形式表示:中整型常量可用以下三种形式表示:十进制整数。如十进制整数。如123,-456,0。八进制整数。由数字八进制整数。由数字07组成,且以组成,且以0开开头的整型常量是八进制常数,如头的整型常量是八进制常数,如0123。十六进制整数。以十六进制整数。以0 x开头,且符合十六开头,且符合十六进制数表示规范的常
16、数为进制数表示规范的常数为C+中的十六进制整中的十六进制整数。如数。如0 x123,0 xAB。19实型常量实型常量在在C+中含有小数点或中含有小数点或10的方幂的数为实的方幂的数为实型常量,又称为浮点数,它有两种表示形式:型常量,又称为浮点数,它有两种表示形式:(1)十进制小数形式。由十进制小数形式。由09数字和小数数字和小数点(必须有小数点)组成。如点(必须有小数点)组成。如0.12、.12、12.都是合法的实型常量。都是合法的实型常量。(2)指数形式(又称为科学表示法)。以指数形式(又称为科学表示法)。以10的方幂表示,其中基数的方幂表示,其中基数10用字母用字母E(或(或e)代替,如代
17、替,如123E3,12.3e-3代表实数。代表实数。20字符型常量字符型常量用单引号括起来的单个字符称为字符型常用单引号括起来的单个字符称为字符型常量。例如:量。例如:A,a,2,#等都是合法的字符型常量。字符型常量在等都是合法的字符型常量。字符型常量在计算机内是采用该字符的计算机内是采用该字符的ASCII编码值来表示编码值来表示的,占用的,占用1个字节的存储空间,其数据类型为个字节的存储空间,其数据类型为char型。型。ASCII码表21ASCII编码表中的字符由字母、数字、标编码表中的字符由字母、数字、标点符号以及控制字符(如回车、换行等)组成。点符号以及控制字符(如回车、换行等)组成。而
18、控制字符和单、双引号、反斜杠符用上述方而控制字符和单、双引号、反斜杠符用上述方法是无法表示的。为此,法是无法表示的。为此,C+中提供了另一种中提供了另一种表示字符型常量的方法,即所谓的表示字符型常量的方法,即所谓的“转义字符转义字符”。转义字符以转义符转义字符以转义符 开始,后跟一开始,后跟一个字符或字符的个字符或字符的ASCII码值的形式来表示一个码值的形式来表示一个字符。字符。22转义字符转义字符含含义义ASCII代码代码a响铃响铃7n换行,将当前位置移到下一行开头换行,将当前位置移到下一行开头10t水平制表(跳到下一个水平制表(跳到下一个tab位置)位置)9b退格,将当前位置移到前退格,
19、将当前位置移到前一列一列8r回车回车,将当前位置移到本行开头,将当前位置移到本行开头13f换页换页,将当前位置移到下页开头,将当前位置移到下页开头12v竖向跳竖向跳格格8反斜反斜杠字符杠字符“”92单引单引号(撇号)字符号(撇号)字符39”双引号字符双引号字符340空字符空字符0ddd1到到3位位8进制数所代表的字符进制数所代表的字符xhh1到到2位位16进制数所代表的字符进制数所代表的字符23若转义符后跟字符的若转义符后跟字符的ASCII编码值,则其必须是编码值,则其必须是一个八进制或十六进制数,取值范围必须在一个八进制或十六进制数,取值范围必须在0255之之间。该八进制数可以以间。该八进制
20、数可以以0开头,也可以不以开头,也可以不以0开头;开头;而十六进制数必须以而十六进制数必须以X或或x开头,开头,32,x24,0,等都是合法的字符型常量。等都是合法的字符型常量。例例2.1 将大写字母转换为小写字母。将大写字母转换为小写字母。对应的小写字母的对应的小写字母的ASCII码值码值 =大写字母的大写字母的ASCII码值码值A+a或者直接写成:或者直接写成:对应的小写字母的对应的小写字母的ASCII码值码值 =大写字母的大写字母的ASCII码值码值+3224字符串常量字符串常量用双引号括起来的一串字符称为字符串常用双引号括起来的一串字符称为字符串常量。例如量。例如:Visual C+,
21、1234,A,为表示字符串的结束,系统会自动在字符为表示字符串的结束,系统会自动在字符串的尾部添加一个数值为串的尾部添加一个数值为0的字符,即转义字的字符,即转义字符符0,如图所示。字符串常量在内存中占,如图所示。字符串常量在内存中占用的实际存储字节数要比字符串中的字符个数用的实际存储字节数要比字符串中的字符个数多多1个。个。25符号常量符号常量在在C+中有两种方法定义符号常量:一种是使用中有两种方法定义符号常量:一种是使用编译预处理指令;另一种是使用编译预处理指令;另一种是使用C+的常量说明符的常量说明符const。例如:。例如:#define PI 3.14159 const float
22、pi=3.1415926;其中,符号常量其中,符号常量PI是使用编译预处理指令定义的;是使用编译预处理指令定义的;而符号常量而符号常量pi使用使用C+的常量说明符的常量说明符const定义。注定义。注意,在程序中符号常量必须先定义后引用,并且符号意,在程序中符号常量必须先定义后引用,并且符号常量在程序中只能引用,不能改变其值。常量在程序中只能引用,不能改变其值。26变量变量 在程序的执行过程中,计算的中间值需要在程序的执行过程中,计算的中间值需要存储在内存中,给这些量值取个名字,称为变存储在内存中,给这些量值取个名字,称为变量。变量是内存一块存储区的代号,存储区中量。变量是内存一块存储区的代号
23、,存储区中存放的数据是这个变量的值。存放的数据是这个变量的值。变量名必须用标识符来表示。变量根据其变量名必须用标识符来表示。变量根据其取值的不同,分为不同类型的变量:整型变量、取值的不同,分为不同类型的变量:整型变量、实型变量、字符型变量、构造型变量、指针型实型变量、字符型变量、构造型变量、指针型变量等。变量等。27对于任一变量,编译程序要为其分配若干对于任一变量,编译程序要为其分配若干个连续字节的内存单元,以便保存变量的取值。个连续字节的内存单元,以便保存变量的取值。当要改变一个变量的值时,就是把变量的新的当要改变一个变量的值时,就是把变量的新的取值存放到为该变量所分配的内存单元中;当取值存
24、放到为该变量所分配的内存单元中;当用到一个变量的值时,就是从该内存单元中复用到一个变量的值时,就是从该内存单元中复制出数据。制出数据。不管什么类型的变量,必须遵循不管什么类型的变量,必须遵循“变量的变量的说明在前,使用在后说明在前,使用在后”的原则。的原则。28变量说明变量说明 在在C+中,变量说明语句的一般格式为:中,变量说明语句的一般格式为:类型说明符类型说明符 变量名变量名1,变量名,变量名2,变量,变量名名n;int i,j,k;/说明了说明了3个整型变量个整型变量char c1,c2;/说明了说明了2个字符型变量个字符型变量float x,y,z;/说明了说明了3个实型变量个实型变量
25、double distance,weight;/说明了说明了2个双精度型变量个双精度型变量29变量说明语句可以出现在程序中语句可出变量说明语句可以出现在程序中语句可出现的任何位置。一个函数中,一变量只能作一现的任何位置。一个函数中,一变量只能作一次定义性说明。给一个变量取一个新的值时,次定义性说明。给一个变量取一个新的值时,称为对变量的赋值。取用一个变量的值时,称称为对变量的赋值。取用一个变量的值时,称为对变量的引用。对变量的赋值与引用统称为为对变量的引用。对变量的赋值与引用统称为对变量的操作或使用。一旦对变量作了定义性对变量的操作或使用。一旦对变量作了定义性说明,就可以多次使用该变量。说明,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C+ 讲义
限制150内