第一章程序基础第二节基本数据类型与输入输出_第1页
第一章程序基础第二节基本数据类型与输入输出_第2页
第一章程序基础第二节基本数据类型与输入输出_第3页
第一章程序基础第二节基本数据类型与输入输出_第4页
第一章程序基础第二节基本数据类型与输入输出_第5页
免费预览已结束,剩余31页可下载查看

下载本文档

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

文档简介

基本数据类型与输入输出

基本数据类型12GAMFE

Gamecollege-v8.0学习重点:变量和常量运算符运算符的优先级基本数据类型学习目的:掌握变量和常量的用法掌握运算符的使用方法掌握基本数据类型的使用方法了解基本数据类型在内存中的储存方式1一个程序是由基本的数据和操作这些数据的算法组成。数据则是由基本数据类型组成,算法是由逻辑和运算符组成。本节将要学习C++程序中的基本数据类型和运算符,为未来的程序设计打下良好的基础。1.2.1常用运算符上图为一个简单的循环计算程序设计图,其中涉及到计算的都要使用到运算符,而这些参与运算的值都是基本数据类型。21.2.1常用运算符数据在程序语言中以值的方式存在,就是常量。类型举例数字常量123,3.14,-319,0x23,,3.0e+8字符常量‘a’,‘c’,‘F’字符串常量“game”,“hello”宏定义常量PI,LINE_NUMBER转义字符\n,\r31.2.1常用运算符4符号名称表示方法Newline(换行符)\nhorizontaltab(水平制表键)\tverticaltab(垂直制表键)\vBackspace(退格键)\bcarriagereturn(回车键)\rFormfeed(进纸键)\falert(beel)(响铃符)\aBackslash(反斜杠键)\\questionmark(问号)\?singlequote(单引号)\'doublequote(双引号)\"布尔型:布尔型常量的值有true和false两种。分别表示真和假。

字符常量:字符常量可以用单引号和字符表示。如:‘a’,'b'1.2.1常用运算符字符串常量简称字符串,是由一对双引号括起来的零个或多个字符序列。"ThisisaC++Program.\n" //字符串常量"\td" //字符串常量"2002\12\22" //字符串常量51.2.1常用运算符字符串常量不同于字符常量。主要表现在以下3个方面:

1)字符常量的标识符是单引号,字符串常量使用的是双引号。2)存储方式不同。在每个字符串的尾部系统会自动加上字符串结束标志"\0",而字符型常量却不加"\0"。3)字符串常量和字符常量所能进行的运算是不同的。61.2.1常用运算符整数常量可以用十进制、八进制或十六进制表示。在整型常量后面加“L”或“l”,将指定该数字为long型。加“U”或“u”指定其为无符号型。24 030 0x18130L 35u 59UL 743Lu前面加0的数字将被编译器解析为八进制数,十六进制数的前缀为0x或0X,缺省情况下,整型常量是int型的数。71.2.1常用运算符常量可以写成普通的小数形式,也可以写成科学计数法,浮点常数默认类型为double。使用指数形式时,可以在小数后面加“E”或“e”,以及指数。如果要指定为float型,可以在数字后面加“F”或“f”。如果要指定为长双精度longdouble型,可以在数字后面加“L”或“l”。3.14159 3.14159f 3.0e+8 12.566370614DL81.2.1常用运算符除了直接用文字表示常量外,也可以为常量命名,这就是符号常量。符号常量在声明时一定要赋初值,在程序中间不能改变其值。const数据类型说明符常量名

=常量值;数据类型说明符

const常量名=常量值;91.2.1常用运算符在程序的执行过程中其值可以变化的量称为变量。在声明变量时,可以一次声明多个变量。类型说明符变量名标识符,变量名标识符,...;变量在使用之前需要首先声明其类型和名称。例如以下代码为一次声明多个变量: intdata1,data2,data3;101.2.1常用运算符C++的变量都有这样的特点:占用内存空间,有地址,可以取得变量的地址,也可以根据地址访问这个符号代表的变量。1)允许在类型说明符后,说明多个相同类型的变量。各变量名之间用逗号间隔。而类型说明符与变量名之间至少用1个空格间隔。2)最后一个变量名之后必须以“;”号结尾。3)变量说明必须放在变量使用之前。在书写变量说明时,应注意以下3点:111.2.1常用运算符运算符用于执行程序代码运算,会针对一个以上操作数项目来进行运算。例如:2+3,其操作数是2和3,而运算符则是“+”。在vs2005中运算符大致可以分为5种类型:算术运算符、连接运算符、关系运算符、赋值运算符和逻辑运算符。符号名称符号算术运算符+、-、*、/、%逻辑运算符&&、||、!关系运算符==、!=、<、<=、>=、>位运算符&、|、~、^、<<、>>赋值运算符=自增自减运算符++、--条件运算符?:其他*、&、::121.2.1常用运算符C++算术运算符有5种,分别是+、-、*、/、%。/运算符对整数运算时,结果只取整数部分。

%运算符用于求余,第一个数被第二个数除之后得余数。求余数也叫取模,只能用在整数和字符型操作数上,不能用于浮点数。运算符功能用法*乘

expr1*expr2/除

expr1/expr2%求余

expr1%expr2+加

expr1+expr2-减

expr1–expr21.2.1常用运算符赋值符号=,用于赋值运算,将一个操作数的值传递给一个变量。当赋值符号右边的操作数与左边变量类型不同时,编译器会把赋值符号右边的操作数转换成左边操作数的类型。赋值符号左边的操作数必须是变量,不能是常数。141.2.1常用运算符1.2.1.1赋值运算符赋值运算符除了进行赋值以外,也可以在一个变量中同时出现在赋值符两边,将赋值符与运算符组成赋值运算符(+=,-=,*=,/=,%=,&=,|=,^=,>>=,<<=)。例如: intnum=10; num+=20; //等同于num=num+20; num-=20; //等同于num=num-20; num*=20; //等同于num=num*20; num/=20; //等同于num=num/20;151.2.1常用运算符1.2.1.2增量运算符增量运算符:递增运算符记为“++”,其功能是使变量的值自增1。递减运算符记为“--”,其功能是使变量值自减1。运算符功能++ii自增1后再参与其他运算,++i的值为递增之后的值--ii自减1后再参与其他运算,--i的值为递减之后的值i++i参与运算后,i的值再自增1,i++的值为递增之后的值i--i参与运算后,i的值再自减1,i--的值为递减之后的值i=3i++i3=4=161.2.1常用运算符1.2.1.2增量运算符在代码编译栏中输入以下代码进行编译,查看结果。#include<iostream>usingnamespacestd;voidmain(){ intiValue=1;

//先将iValue的值进行输出,再让iValue本身的值自增 cout<<"后自增:"<<iValue++<<endl;

//将iValue的值重置为 iValue=1;

//先将iValue的值自增,再将iValue的值进行输出 cout<<"前自增:"<<++iValue<<endl; system("pause");}171.2.1常用运算符1.2.1.3关系运算符关系运算的结果为bool型,关系运算只用于比较两个数的大小关系。运算符功能用法<小于expr1<expr2<=小于等于expr1<=expr2>大于expr1>expr2>=大于等于expr1>=expr2==等于expr1==expr2!=不等于expr1!=expr2181.2.1常用运算符1.2.1.4逻辑运算符逻辑运算符用于逻辑运算。只有当逻辑与的两个操作数都为true时,结果值才会是true。对于逻辑或运算符||,只要两个操作数之一为true它的值就为true。运算符功能用法!逻辑非!expr&&逻辑与expr1&&expr2||逻辑或expr1||expr2191.2.1常用运算符1.2.1.4逻辑运算符参与运算的量,按二进制位进行运算。操作符功能用法~按位非~expr<<左移expr1<<expr2>>右移expr1>>expr2&按位与expr1&expr2^按位异或expr1^expr2|按位或expr1|expr2&=按位与赋值expr1&=expr2^=按位异或赋值expr1^=expr2|=按位或赋值expr1|=expr2201.2.1常用运算符1.2.1.4逻辑运算符按位与赋值,按位或赋值,按位异或赋值的含义为:~01111111=100000000101&1101=01010101^1101=10000101|1101=1101211.2.1常用运算符1.2.1.5条件运算符三目运算符?:(目:几个参数到这个运算符的元素)这是一个三目运算符,用于条件求值。在代码编辑区键入如下代码并编译、运行、观察效果:#include<iostream>usingnamespacestd;voidmain(){ intiValue=5; //如果iValue<3,将赋值给iResult,否则将iValue赋值给iResult intiResult=iValue<3?3:iValue; cout<<"iResult="<<iResult<<endl; system("pause");}221.2.1常用运算符1.2.1.6其他的运算符指针运算符:指针运算符包括取地址操作符(&)和解引用操作符(*)两种。求字节数运算符:用于计算数据类型所占的字节数(sizeof)。特殊运算符:有括号()、下标[]、成员(->,.)等几种,使表达式意义更明确。231.2.2运算符优先级C++语言中,运算符的运算优先级共分为16级。1级最高,16级最低优先级运算符结合性1()[]->.::++(后置)--(后置)左→右2!~++(前置)--(前置)-+*&(强制类型转换)sizeofnewdelete左→右3.*->*右→左4*/%左→右5+-左→右6<<>>左→右7<<=>=>左→右8==!=左→右9&左→右10^左→右11|左→右12&&左→右13||左→右14?:右→左15=*=/=+=-=|=<<=>>=右→左16,左→右241.2.2运算符优先级在表达式中,各操作数参与运算的先后顺序不仅要遵守运算符优先级别的规定,还要受运算符结合性的制约,以便确定是自左向右进行运算,还是自右向左进行运算。算术运算符的结合性是自左至右,先左后右。赋值运算符是右结合性运算符,先右后左。x-y+z(x-y)+zx=y=zy=z;x=y;25数据是程序处理的对象,它被区分为不同的类型,称为数据类型。布尔型(bool):布尔型(bool),只能取值true或false,用一个字节存储。字符型(char):字符型(char)用一个字节表示,常用于表示字符或小整数。1.2.3基本数据类型在代码编辑区键入如下代码并编译、运行、观察效果:#include<iostream>usingnamespacestd;voidmain(){ cout<<"bool型所占用的字节数为:"<<sizeof(bool)<<endl; cout<<"char型所占用的字节数为:"<<sizeof(char)<<endl; system("pause");}26整型:short、int、long,可以用来表示不同范围的整数值,它们占用的存储空间也是不同的。短整型类型说明符为short:它在内存中占2个字节。普通整数类型说明符为int:它在内存中占4个字节。长整型类型说明符为long:

在32位操作系统,32位编程环境下在内存中占4个字节。

在64位操作系统,64位编程环境下在内存中占8个字节。在代码编辑区键入如下代码并编译、运行、观察效果:#include<iostream>usingnamespacestd;voidmain(){cout<<"short型所占用的字节数为:"<<sizeof(short)<<endl;cout<<"int型所占用的字节数为:"<<sizeof(int)<<endl;cout<<"long型所占用的字节数为:"<<sizeof(long)<<endl;system("pause");}1.2.3基本数据类型27无符号类型说明符:unsigned对于字符型数据类型char,整型数据类型short、int、long,C++语言提供了另一个说明符:“unsigned”用来约束整型的取值范围。被修饰为unsigned的变量当赋值为负数时,数据结果是错误的。(特别注意:VS2005IDE不会提示错误,但输出结果不正确)1.2.3基本数据类型在代码编辑区键入如下代码并编译、运行、观察效果:#include<iostream>usingnamespacestd;voidmain(){unsignedintuiValue=10; //正确unsignedshortusValue=-10; //错误,但编译不会提示错误cout<<“uiValue=”<<uiValue<<endl;//正确输出cout<<“usValue=”<<usValue<<endl;//错误输出system("pause");}28浮点型:C++语言提供了3个表示实数的类型:单精度浮点数类型,简称单精度类型,类型名为float;双精度浮点数类型,简称双精度类型,类型名为double;长双精度浮点数类型,类型名为longdouble,简称长双精度类型。在代码编译栏中输入以下代码进行编译,查看结果。#include<iostream>usingnamespacestd;voidmain(){cout<<"float类型占用字节数为:"<<sizeof(float)<<endl;cout<<"double类型占用字节数为:"<<sizeof(double)<<endl;cout<<"longdouble类型占用字节数为:"<<sizeof(longdouble)<<endl;system("pause");}1.2.3基本数据类型291.2.3基本数据类型30

温馨提示

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

评论

0/150

提交评论