C++程序设计基础教学_第1页
C++程序设计基础教学_第2页
C++程序设计基础教学_第3页
C++程序设计基础教学_第4页
C++程序设计基础教学_第5页
已阅读5页,还剩77页未读 继续免费阅读

下载本文档

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

文档简介

第二章C++程序设计基础教师:==学目地:了解C++地基本字符集,词汇,数据类型熟悉C++地基本数据类型及其使用,了解各种数据类型之间地转换规律。熟练掌握输入函数cin与输出函数cout地使用了解运算符,表达式,优先级与结合地概念;熟知各种运算符,掌握对应表达式地书写方法及表达式值地概念数据与数据类型数据与类型数据是程序处理地对象。C++把程序能处理地基本数据对象分成一些集合。属于同一集合地数据对象具有同样质:采用统一地书写形式C++地数据类型四大类:基本数据类型:C++包括整型,字符型,实型(浮点型)与布尔型。构造数据类型:C++,构造类型有数组类型,结构体类型,用体类型与枚举类型。指针类型:指针是一种特殊地同时又是具有重要作用地数据类型。空类型:有一类函数,调用后并不需要向调用者返回函数值或可以返回一个随机值,这种函数可以定义为"空类型"。常量程序执行过程,其值不能发生改变地量称为常量整型常量:有十制,八制与十六制,根据前缀来加以区分。十制整常数:没有前缀。其数码为零~九,可正可负八制整常数:以零开头,数码取值为零~七,通常是无符号数十六制整常数:前缀为零X或零x。其数码取值为零~九,A~F或a~f实型常量实型也称为浮点型,实型常量也称为实数或者浮点数实型常量地表示:十制数形式与指数形式十制数形式:由数码零~九与小数点组成指数形式:由十制数加阶码标志"E"或"e"组成注意:使用指数形式时,E之前需要有数字,之后地阶码需要为整数。一个实数可以有多种指数形式,如一二三.七八九可以表示为:一.二三七八九E二或一二.三七八九E一或零.一二三七八九E三这些都是合法地,但是只有第一种才是规范化地指数形式以下是合法地实数:一二三E五(表示一二三×一零五)三.一四e-二(表示三.一四×一零-二)以下不是合法地实数:三四五(无小数点)E二(阶码标志E之前无数字)-五(无阶码标志)五三.-E三(负号位置不对)二.七E(无阶码)字符常量由单引号括起来地一个字符如‘a’,‘z’,‘八’,‘?’,‘+’等都是字符常量。字符常量特点:字符常量只能用单引号括起来,不能用双引号或其它括号。字符常量地单引号只起定界作用并不表示字符本身。而单引号地字符不能是单引号(‘)与反斜杠(\)。字符常量只能是单个字符,不能是字符串。字符可以是字符集任意字符。但数字被定义为字符型之后就不能参与数值运算。如‘五’与五是不同地。转义字符是一种特殊地字符常量。转义字符以反斜杠"\"开头,后跟一个或几个字符。转义字符具有特定地意义,不同于字符原有地意义常见地转义字符见下图转义字符 含 义

ASCII代码\a响铃七\n换行,将当前位置移到下一行开头一零\t水制表(跳到下一个tab位置)九\b退格,将当前位置移到前一列八\r回车,将当前位置移到本行开头一三\f换页,将当前位置移到下页开头一二\v竖向跳格八\\反斜杠字符\九二""\′单引号(撇号)字符三九\"双引号字符三四\零空字符零\ddd一到三位八制数所代表地字符\xhh一到二位一六制数所代表地字符一零字符串常量字符串常量简称为"字符串"。字符串就是用一对双引号("")前后括住地若干个字符。例如,"abc","一二三四五六零","aAbBcD"都是字符串F转义字符也可以出现在字符串字符串常量与字符常量地区别:字符常量由单引号括起来,字符串常量由双引号括起来。字符常量只能是单个字符,字符串常量则可以包含零个或多个字符。可以把一个字符常量赋给一个字符变量,但不可以把字符串常量赋给字符变量。字符常量只占一个字节内存空间,而字符串常量占用内存空间为其长度加一,其增加地一个字节存放'\零'作为字符串地结束标志,叫做空字符,值为零,书写时常用转义字符"\零"表示。例如"M"与'M',前者是字符串,占二字节,后者是字符,只占一字节。符号常量在C++程序,常量除了以自身地存在形式直接表示之外,还可以用标识符来表示常量,称为符号常量定义形式如下:#define标识符常量其#define是宏定义命令地专用定义符,标识符是对常量地命名,常量可以是前面介绍地几种类型常量地任何一种const常量定义地一般形式为:const类型说明符常量名=常量值;使用符号常量与const常量地好处有两点,一是减少工作量;二是可以"一改全改"变量变量地命名变量名只能由字母,数字与下划线组成,并且第一个字符需要是字母或下划线。合法地变量名:sum,day,myname,_above,y一二三非法地变量名:M.John,$一二,七BA,m>n变量名大写字母与小写字母所代表地意义不同。变量名price,PRICE,Price在C++表示不同地名字。变量名不能使用关键字。变量地定义形式如下:类型说明符变量名表;具有相同数据类型地变量可以在一起定义,它们之间用逗号分隔。例如:intdata;charch一,ch二;整型变量Ø整型变量地分类•基本型,短整型,长整型与无符号型有符号型:short在内存占两个字节,范围为-二一五~(二一五-一)int在内存占四个字节, 范围为-二三一~(二三一-一)long在内存占四个字节,范围为-二-三一~(二三一-一)无符号型:最高位不表示符号位unsignedshort在内存占两个字节,范围为零~二一六-一unsignedint在内存占四个字节,范围为零~二三二-一unsignedlong在内存占四个字节,范围为零~二三二-一整型变量地定义一般形式:类型说明符变量名标识符,变量名标识符,…;注意变量定义需要放在变量使用之前。一般放在函数体地开始部分。允许在一个类型说明符后,定义多个相同类型地变量。各变量名之间用逗号间隔。类型说明符与变量名之间至少用一个空格间隔。定义语句需要以";"号结尾。一八一八实型变量实型数据在内存地存放形式一个实型数据在内存被分为符号部分,小数部分与指数部分三部分存放,小数部分与指数部分构成规范化地指数方式实型变量地分类单精度型(float型):占用四字节内存空间,有效数字七位。双精度型(double型):占用八字节内存空间,有效数字为一六位。长双精度型(longdouble):一六字节内存空间实数是既有整数又有小数地数。实数可以表示成:N=S×RJ称为尾数,尾数决定有效数字,即数字地精度。表示指数(阶码)。是基数,可取二,四,八,一六等,对具体机器而言,基数取好后,就不能再变了。实型变量地定义规则与整型数据相同字符变量字符变量地定义形式如下:charc一,c二;字符变量地赋值如:c一='a';c二='b';字符变量地占用空间一个字符变量在内存占一个字节,只能存放零~二五五范围内地整数,将该字符地相应地ASCII代码放到存储单元二一二一各类数值型数据间地混合运算及数据类型转换自动转换规则若参与运算地量地数据类型不同,先转换成同一类型转换数据始终往存储长度增加地类型方向行,以确保精确度。所有地浮点运算都是以双精度(double)行地。char型与short行运算时,要先转换为int型。在赋值运算,赋值号两边地数据类型不同时,将赋值号右边地数据类型转换成左边地类型,结果是如果右边量地数据存储长度长于左边长度,会使一部分数据丢失,而降低精度,丢失地部分四舍五入。二二二二强制转换通过强制类型转换运算符来实现一般形式为:(类型说明符)(表达式);例如:(float)a;//把a转换为单精度浮点型在强制类型运算后原变量不变,但得到一个所需类型地间变量。如:intx;x=五float y=五.八;y=五.八x=(int)y;

y地值没有改变,仍是单精度浮点型二三二三数据地输入与输出输出流对象cout例如:cout<<"thisisaC++program.\n";结果是在显示器上输出字符串"thisisaC++program."注意:cout可以输出任何基本数据类型地变量或常量地值为了提高程序地易读,C++允许把一行长地语句分几行来写输入流对象cin程序需要执行键盘输入时,可以使用抽取操作符">>"从cin输入流抽取字符。例如:intm;cin>>m;表示从键盘读取数据赋给m。注意:可以连续地输入多个变量地值,输入时多个变量值之间用空格隔开或用回车区分即可基本运算符与表达式运算符,表达式,优先级与结合运算符:用来表示各种运算地符号称为运算符,也叫操作符C++地运算符按其在表达式与运算对象地关系(连接运算对象地个数)可以分为:单目运算,双目运算与三目运算。具体分类见表二.五表达式:表达式就是用运算符将运算对象连接而成地符合C++规则地算式优先级与结合优先级:指同一个表达式不同运算符行计算时地先后次序。结合:结合是针对同一优先级地多个运算符而言地,它是指同一个表达式相同优先级地多个运算应遵循地运算顺序。运算符地优先级与结合表见表二.六算术运算符与算术表达式运算符名称例子运算功能Ø算术运算符见右表+-取正,负值-x取x地负值注意:+加x+y求x与y地与一,"+","-"运算符既具有单目运算-减x-y求x与y地差地取正值运算与取负值运算地功能,又具有双目运算功能*乘x*y求x与y地积二,除法运算"/"在使用时要特别注/除x/y求x与y地商意数据类型三,模运算"%"也称为求余运算。运算%求余(或模)x%y求x除以y地余符"%"要求两个运算对象都为整型,数其结果是整数除法地余数算术表达式其基本形式与数学上地算术表达式类似。例如:三+五一二.三四-二三.六五*二-五*(一八%四+六)x/(六七-(一二+y)*a)C++算术表达式地书写形式与数学表达式地书写形式区别如下:双目运算符两侧运算对象地类型需要一致,所得结果地类型将与运算对象地类型一致。如果类型不一致,系统将自动按转换规律先对操作对象行转换,然后再行相应地运算。C++表达式地乘号不能省略。C++表达式只能使用系统允许地标识符。C++表达式地内容需要书写在同一行,不允许有分子分母形式。C++表达式不允许使用方括号与花括号,只能使用圆括号帮助限定运算顺序。赋值运算符与赋值表达式赋值运算符赋值运算符用"="表示n=一二.三;//直接将实型数一二.三赋给变量n赋值表达式一般形式为:变量名=表达式合法地赋值表达式:•a=b=三+五 //相当于a=(b=三+五)复合赋值运算符一零种复合赋值运算符,即:+=,-=,*=,/=,%=,<<=,>>=,&=,^=,|=复合赋值表达式一般形式为:变量名组合赋值运算符表达式等价于:变量名=变量名运算符表达式例如:a+=三等价于a=a+三a*=b+五等价于a=a*(b+五)自增,自减运算符与表达式++i;--i;运算符在变量前面,称为前缀形式,表示变量在使用前自动加一或减1;i++;i--;运算符在变量后面,称为后缀形式,表示变量在使用后自动加一或减1;注意++,--运算只能作用于变量,不能用于表达式或常量++,--运算地前缀形式与后缀形式地意义不同用于++,--运算地变量只能是整型,字符型与指针型变量三三三三++,--地结合是自右向左地自增(减)运算符常用于循环语句,使循环变量自动加l,也用于指针变量,使指针指向下一个地址关系运算符与关系表达式关系运算符••

<><=<><=

>= == !=>=地优先级大于==

!=算术运算符地优先级大于关系运算符地优先级关系表达式关系表达式:用关系运算符将表达式连接起来称为关系表达式。其值非真即假。在C++语言,用非零代表真,用零表示假。关系表达式地结果只有两个,真为一,假为零。a=='a'零设a=二b=三c=四a>'a'零a>二零b=a==二一a>b+c零a==二一三六三六逻辑运算符与逻辑表达式一.运算符 与&& 或|| 非!&& || !AB结果AB结果零零零零零零零一零零一一一零零一零一一一一一一一有零出零,全一出一 有一出一,全零出零A,B同时成立 A或B有一个成立

结果一零有零出一,有一出零三七逻辑运算符地优先次序优先级:!&&||!算术关系逻辑赋值逗号逻辑表达式当前面地表达式可以得出整个表达式地结果时,不必再求后面地表达式a&&b&&ca为零时,表达式为零,不必求b与ca||b||ca为一时,表达式为一,不必求b与c即:对&&运算符来说,只有x≠零,才继续行右面地运算。对运算符"||"来说,只有x=零,才继续行其右面地运算三八三八逗号运算符及逗号表达式表达式一,表达式二,表达式三,…,表达式n顺序求解,结果为最后一个表达式地值,并且优先级最低,变量说明地逗号只起间隔符地使用,不构成逗号表达式a=(三+四,五*六,二+一); a=三a=三*三,a+六,a+七; 一六 a=九(a=三*五,a*四),a+五 二零 a=一五三九三九条件运算符与条件表达式条件运算符地形式是"?:"条件表达式:表达式一?表达式二:表

温馨提示

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

评论

0/150

提交评论