C++语言基础

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

C++语言基础盐城工学院惠为君C++概述•C++的特点•发展历史和未来(C\C++(AT&T)\Java(SUN)\C#(MS))•与其它语言比较(7点):•面向对象的概念:数据的封装和隐藏、继承、多态•VC上机过程C++的字符集26个小写字母abcdefghijklmnopqrstuvwxyz26个大写字母ABCDEFGHIJKLMNOPQRSTUVWXYZ10个阿拉伯数字0123456789其他符号+-*/=,._:;?\'~|!#%&()[]{}^空格C++语言使用下列基本字符来构成词法单位:结束第二章:数据类型运算符表达式•2.1VC++的数据类型计算机所处理的数据以一定形式存放在内存中,数据的存储方式以及能够进行的合法运算都与数据类型直接相关。C++的特点之一就是提供了丰富的数据类型,以便处理各种不同的数据。数据类型总是与运算封装在一起,本质上是面向对象的。本章将简要介绍C++中的数据类型及相关运算,以及常量、变量、表达式、语句等,最后介绍简单的输入输出方法。•2.1.1关键字数据类型说明符与修饰符boolcharwchar_tclassconstdoubleenumfloatintlongshortsignedstructunionunsignedvoidvolatile存储类型说明符autoexterninlineregisterstatic访问说明符friendprivateprotectedpublic其它说明符asmexplicitnamespaceoperatortemplatethistypedeftypenameusingvirtual语句与标号breakcasecatchcontinuedefaultdoelseforgotoifreturnswitchthrowtrywhile运算符及逻辑值deletefalsenewsizeoftrue还有一些关键字本书未介绍:const_castdynamic_castreinterpret_caststatic_castexportmutabletypeid下面可用一些关键字代替逻辑运算符:andand_eqbitandbitorComplnotoror_eqXorxor_eqnot_eq2.1.2标识符标识符(Identifier,ID)是程序员定义的“单词”,用来给变量、常量、数据类型、函数等命名。合法标识符由字母或下划线开始,由字母、数字、下划线组成,其有效长度为1-31个字符,长度超过31个字符者只识别前31个字符,VC++标识符长度为1-247个字符。建议使用有一定含义的英文单词或拼音序列作标识符,以提高可读性;另外尽量不用下划线或双下划线打头,以免与系统定义的关键字冲突。ok标识符例:判断下面哪些是合法的标识符:MyFileSalary94amountvoid94SalarySalary94$amountf3.5Num_of_Student2.1.2结束2.1.3标点符号标点符号包括:#、()、{}、,、:、;、、'等。标点符号的作用:有一定的语法意义。如字符和字符串常量分别用‘’和“”引起来。对语法符号起分隔作用。如;等2.1.3结束2.1.5C++的基本数据类型图2-1C++的数据结构实型float双精度型doubleC++的数据类型基本数据类型非基本数据类型数组type[]指针type*结构struct联合union枚举enum类class整型int字符型char逻辑型bool无值型void实型okC++对基本数据类型也分别进行了封装,称为内置数据类型,内置数据类型不仅定义了数据类型,还定义了常用操作。本节仅介绍各种基本数据类型的定义,常用操作将在后面介绍。C++为强类型语言,所有数据的使用严格遵从“先说明后使用”的原则,以便编译器进行编译。整型用来存放整数,整数(有符号的整数)在内存中存放的是它的补码,无符号数没有符号位,存放的就是原码。整数占用的字节数与机型有关,32位机上占用4个字节。字符型用来保存字符,存储的是该字符的ASCII码,占用一个字节。如大写字母A的ASCII码为65,在对应的一个字节中存放的就是65。字符型数据从本质上说也是整数,可以是任何一个8位二进制整数。由于汉语系字符很多,用ASCII字符集处理远远不够,因此又创立了双字节字符集(DBCS:double-bytecharacterset),每个字符用两个字节来编码。为便于软件的国际化,国际上一些知名公司联合制定了新的宽字节字符标准——Unicode。该标准中所有字符都是双字节的,不同的语言和字符集分别占用其中一段代码。这种用统一编码处理西文、中文及其它语言符号,就是unicode码。C++同时也支持宽字符类型(wchar_t),或称双字节字符型。实型和双精度型都用来存放实数,两者表示的实数精度不同。实数在内存中以规范化的浮点数存放,包括尾数、数符和阶码。数的精度取决于尾数的位数,32位机上实型为23位(因规范化数的数码最高位恒为1,不必存储,实际为24位),双精度为52位。逻辑型也称布尔型,其取值为true(逻辑真)和false(逻辑假),存储字节数在不同编译系统中可能有所不同,VC++6.0中为1个字节。布尔型在运算中可以和整型相互转化,false对应为0,true对应为1或非0无值型主要用来说明函数的返回值类型,将在函数一章中具体介绍。基本数据类型还可以加上一些修饰词,包括:signed(有符号)、unsigned(无符号)、long(长)、short(短)。参见下表:2.2结束类型名称占用字节数取值范围bool布尔型true,false(signed)char有符号字符型1-128127unsigedchar无符号字符型10255(signed)short(int)有符号短整型2-3276832767unsignedshort(int)无符号短整型2065535(signed)int(signed)有符号整型4-231(231-1)unsigned(int)无符号整型40(232-1)(signed)long(int)有符号长整型4-231(231-1)unsignedlong(int)无符号长整型40(232-1)float实型4-10381038double双精度型8-1030810308longdouble长双精度型8-1030810308void无值型0无值VC++中所有基本数据类型2.1.6常量•在程序的执行过程中,值保持不变的量称为常量•字面常量,指程序中直接给出的量;•常量的值在程序执行过程中保持不变;并且存储在程序区,而非数据区;•根据取值和表示方法的不同,可分为以下几种:a.整形常量d.字符串常量c.字符型常量b.实型常量oka整型常量十进制表示法八进制表示法十六进制表示法其他表示法•即整数,可以有多种表示方法:ok整数的十进制表示方法十进制表示与我们熟悉的书写方式相同。如15-24ok整数的八进制表示八进制表示以0开始,由数字07组成,用来表示一个八进制数。如:012//八进制数12,即十进制数10-0655//八进制数-655,即十进制数-429ok整数的十六进制表示十六进制以0X(大小写均可)开始,由数字09和字母AF(大小写均可)组成,用来表示一个十六进制数。以下是一些常整数的例子:0x32A//十六进制数32A,即十进制数810-0x2fe0//十六进制数-2fe0,//即十进制数-12256ok整数的其他表示方法整型常量还可以表示长整数和无符号整数。长整型常数以L或l结尾,无符号常整数以U或u结尾,以UL或LU(大小写均可)结尾则可表示无符号长整型常数。例如:-84L//十进制长整数-84026U//八进制表示的无符号整数260X32LU//十六进制表示的无符号长整型数32。整数结束b实型常量(1)一般形式与平时书写形式相同,由数字09和小数点组成。例如:0.23-125.760.0.46-35.(2)指数形式(也称为科学表示法)表示为尾数乘以10的次方形式,由尾数、E或e和阶数组成。指数形式要求在E或e前面的尾数部分必须有数字,后面的指数部分必须为整数。例:判断下列表示是否合法123E12-.34e-2E41.43E3.5•包含小数点和10的幂的数为实型常量,有两种表示方法:实数结束c字符型常量字符常量是用单引号引起来的单个字符。在内存中保存的是字符的ASCII码值。在所有字符中,有些是可显示字符,通常就用单引号引起来表示:′a′//字符a′@′//字符@′4′//字符4′′//空格字符有些是特殊情况字符,如不可显示的字符等,c++使用转义序列表示方法,如(祥见表2-3,此处略):′\n′//换行′\\′//字符\字符常结束d.字符串常量字符串常量与字符型常量的区别字符串常量″a″占两个字节,存放′a′和′\0′,值为0x6100字符型常量′a′占一个字节,存放′a′,值为0x61\0aa2.3.2结束•用双引号引起来的若干个字符称为字符串常量。例如:″IamaChinese.″,″123″,″a″,″″2标识符常量及常量说明符const•用常量说明符const给字面常量起个名字(标识符),这个标识符就称为标识符常量;•因为标识符常量的说明和引用形式很像变量,所以也称常变量;例如:constfloatPI=3.14159;constintNumber_of_Student=100;•常变量必须也只能在说明时进行初始化;•常变量初始化之后,不允许再被赋值;•常变量必须先说明后使用;•常变量存储在数据区,并且可以按地址访问,编译时系统对常变量进行类型检查。•C++建议使用常变量,而尽量不使用字面常量。2.3.3结束2.1.7变量1变量说明2变量赋初值•变量,在程序中是指可以改变值的量;•变量必须用标识符进行标识,称为变量名;•变量有类型之分,如整形变量、字符变量等;•任何变量都必须先说明后使用;一是便于编译程序为变量分配空间,二是便于编译时进行语法检查;•变量使用的第一步,是给变量赋初始值;ok1变量说明在C++中,变量说明的一般格式为:《存储类型》数据类型变量名1《,变量名2,,变量名n》;下面是变量说明的几个例子:inti,j,k;//说明三个整型变量i,j,kfloatx,y,z;//说明三个实型变量x,y,zcharc1,c2;//说明两个字符型变量c1,c2doubledx;//说明一个双精度型变量dx变量说明结束2变量赋初值(1)变量说明时直接赋初值。例如:inta=3,b=4,c=5;floatx=3.0;(2)用赋值语句赋初值。严格的说,只有前者可称赋初值例如:floatx,e;x=3.5;e=2.71828;结束给变量赋初值称为初始化,有两种方法:2.2基本运算符对常量和变量进行运算是通过运算符来实现的.常量和变量通过运算符组成C++表达式,由表达式再组成C++语句.运算符是完成对常量和变量进行运算的符号.把参与运算的对象称为操作数.按照要求的操作数的个数,运算符分为单目(一元)运算符、双目(二元)运算符和三目(三元)运算符。单目运算符只对一个操作数运算,如负号运算符“”等;双目运算符要求有两个操作数,如乘号运算符“*”等;三目运算符要求有三个操作数,三元运算符只有一个“?:”。1.算术运算符优先级运算符名称3+正,单目-负,单目5*乘,双目/除,双目%求余,双目6+加,双目-减,双目ok运算符重载:当两个操作数均为整数时,*和/重载为整乘和整除,结果为整数,除法运算后舍去小数取整。如:5/4//结果为1,整数当两个操作数均为整数,%定义为求余运算,也称求模运算,结果为两个整数相除后的余数。如果两个整数中有负数,则先用两数绝对值求余,最后结果的符号与被除数相同。例如6%3//结果为06%7//结果为67%6//结果为1C++中算术运算应注意数据溢出问题,即运算结果超出对应数据类型的表示范围。编译程序只会对除法运算时除数为0这种情况提示出错,而特别容易溢出的整数

1 / 496
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功