版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第2章数据类型、表达式和基本运算主讲人:刘广峰2.1数据类型2.2常量2.2.1字面常量字面常量是指直接在程序中写出值的常量,又称为直接量。字面常量有整型常量,字符常量,逻辑常量,实型常量等。1.整型常量整型常量常用十进制、八进制或十六进制方式来书写。十进制整数。如-26、0、45、1364等。八进制整数。以0开头,后跟若干个0~7的数字。如0123表示的十进制数为1×82+2×8+3=83,+026表示2×8+6=22,而-035表示-(3×8+5)=-29。十六进制整数。以0x或0X开头,后跟若干个0~9及a~f(或A~F),a~f分别表示十进制整数10~15。如0xa61c6、0x8a等都是十六进制数。0x1e3表示的十进制整数为1×162+14×16+3=499。2.实型常量实数常量通常采用小数表示法或指数表示法。小数表示法。由整数部分、小数点“.”和小数部分构成。如26.36、-8.6。小数点前、后仅为0时,0可以省略。例如.1664、-64.分别表示0.1664和-64.0,但小数点不可以省略。指数表示法。格式为:<数字部分>E<指数部分>,数字部分采用小数表示法,中间的E也可以为小写e,指数部分只能是十进制整数,表示基数为10的指数。如6.022E3或6.022e3表示6022。注意:字母e(或E)前一定要有数字,其后一定要是整数。如0.6e,E8,1.23e9等都不是正确的表示形式。3.字符型常量字符型常量是用一对单引号(‘’)括起来的一个字符。字符型常量也可以是由一对单引号(‘’)括起来的一个字符编码,此时必须采用转义序列(以反斜杠“\”开头)来书写编码。编码可以采用八进制或十六进制表示。八进制。格式为‘\ddd’,ddd为1~3位8进制数。十六进制。格式为‘\xhh’,hh为1~2位16进制数,x也可以为大写X。例如字符‘a’的编码为97,要表示字符‘a’有三种方法:‘a’、‘\141’和‘\x65’。另外有些字符常量还可以采用特殊的转义序列表示,如‘\n’(表示换行符)、‘\t’(表示水平制表符)、‘\b’(表示退格符Backspace)。即单引号内以反斜杠“\”开头,加上一个特殊的转义字符符
号含
义符
号含
义\a响铃\v纵向制表\b退格\'单引号\f换页\"双引号\n换行\\反斜杠\r回车\0字符串结束符\t横向制表
例2.1输出各种类型的字面常量。#include<iostream>usingnamespacestd;intmain(){ cout<<16<<''<<016<<''<<0x16<<endl;//连续输出多个输出项 cout<<100<<''<<0145<<''<<0x65<<'\n'; cout<<258<<''<<134u<<''<<2048ul<<''<<127L<<'\012'; cout<<1.25<<''<<-.364<<''<<-3.74E12<<''<<897.4L<<endl; return0;}4.字符串常量字符串常量是用双引号(“”)括起来的字符序列,序列中每个字符的书写方式与字符常量的书写方式基本相同,可以为字符本身或转义字符序列,可以是英文字符,也可以是中文字符。2.2.2符号常量如果在程序中经常用到某些常数,则可以用一些符号来表示这些常数。在C++语言中,可以用标识符表示一个常量,即给常量起一个名,其格式为:const<类型名><常量名>=<常量值>;例2.2利用符号常量,计算并输出半径为6的圆的周长和面积。#include<iostream>usingnamespacestd;intmain(){ constfloatPI=3.14; constintR=6; cout<<"圆的周长为:"<<2*PI*R<<endl; cout<<"圆的面积为:"<<PI*R*R<<endl; return0;}2.3变量1.变量的定义
C++语言是一个强类型的语言,规定对于变量,都必须先定义后使用。变量定义的格式为:<类型名><变量名>[=<初始值>];例如:charch='b',ch1;2.变量三要素从上面可以看出,一个变量具有三个要素:数据类型、名称、值。数据类型决定了系统为该变量所分配的存储单元的大小,对于下面定义的变量sum:intsum=0;sum占用4个字节的存储单元。类型同时也决定了以后可以对该类型的变量进行什么样的操作。2.4数据的输入/输出C++语言中没有提供专门的输入输出语句,所有的输入输出都是调用标准库函数中的输入输出函数来实现的。在使用时,应在源程序的开头使用如下语句:#include<iostream>usingnamespacestd;数据的输入输入数据时,提取运算符>>和cin结合在一起使用,可从键盘输入数据。格式:cin>>变量名1>>变量名2>>...>>变量n;数据的输出输出数据时,通过插入运算符<<和cout结合在一起使用,可向显示器屏幕输出数据。格式:cout<<表达式1<<表达式2<<...<<表达式n;2.4运算符和表达式运算符也称为操作符,是用来描述对数据所进行的运算的符号。C++语言运算符根据所带的操作数的个数可以分为:单目运算符(一个操作数)、双目运算符(两个操作数)、三目运算符(三个操作数)。根据运算符的功能可以分为:算术运算符、关系运算符、逻辑运算符、位运算符、赋值运算符、逗号运算符以及其他运算符。表达式是由变量、常量、运算符、函数、()等按一定规则组成的式子。表达式书写规则:表达式必须满足运算符、标识符的使用规则,无上标、下标之分。括号必须成对使用,只能使用圆括号。乘号不能省略。2.4.1算术运算符及算术表达式/(除)运算符两个数相除的结果同操作数的类型有关。若两个操作数都为整型,则结果为整型。若至少一个操作数的类型为浮点型,则结果为浮点型: inta=53; cout<<a/2<<endl; //输出26 cout<<7/2<<endl;; //输出3 cout<<7.0/2<<endl;; //输出3.5%(取余)运算符取余又称为求模运算,就是取除法的余数,要求其两个操作数均为整型。例如: cout<<11%4<<endl; //输出3 cout<<33%3<<endl; //输出0 cout<<-11%2<<endl;//输出-1 cout<<11%-2<<endl;//输出1 cout<<4.0%3<<endl;//错误,%两边都必须为整型操作数++、--(自增、自减)运算符其功能是将操作数增加1或减少1。它们可以放在操作数的前面也可以放在后面。例如:inta=100; a++; //等价于a=a+1 cout<<"a="<<a<<endl;//输出a=101 ++a; //等价于a=a+1 cout<<"a="<<a<<endl;//输出a=102; --a; //等价于a=a-1 cout<<"a="<<a<<endl; //输出a=101 a--; //等价于a=a-1 cout<<"a="<<a<<endl;//输出a=100例2.3从键盘输入华氏温度,转换成摄氏温度并输出#include<iostream>usingnamespacestd;intmain(){intC,F;//提示用户输入华氏温度cout<<"请输入华氏温度:"<<endl;//从键盘读取华氏温度cin>>F;//计算摄氏温度C=5*(F-32)/9;//显示结果cout<<"摄氏温度为"<<C<<"度"<<endl;return0;}2.4.2赋值运算符及赋值表达式运算符运
算操作数个数=简单赋值,如a=100双目+=加赋值,如a+=100即a=a+100双目-=减赋值,如a-=100即a=a-100双目*=乘赋值,如a*=100即a=a*100双目/=除赋值,如a/=100即a=a/100双目%=取模赋值,如a%=100即a=a%100双目&=按位与赋值,如a&=100即a=a&100双目|=按位或赋值,如a|=100即a=a|100双目^=按位异或赋值,如a^=100即a=a^100双目<<=向左移位赋值,如a<<=2即a=a<<2双目>>=向右移位赋值,如a>>=3即a=a>>3双目2.4.3sizeof运算符及表达式在程序中,若要获取变量占用的存储单元大小,应该使用sizeof运算符来获取,格式为:sizeof(<类型名>)//或者:sizeof(<表达式>)例2.4输出bool、char、int、short、long、float、long、double型变量占用的字节数。#include<iostream>usingnamespacestd;intmain(){ cout<<"sizeofbool:"<<sizeof(bool)<<endl; cout<<"sizeofchar:"<<sizeof(char)<<endl; cout<<"sizeofshort:"<<sizeof(short)<<endl; cout<<"sizeofint:"<<sizeof(int)<<endl; cout<<"sizeoflong:"<<sizeof(long)<<endl; cout<<"sizeoffloat:"<<sizeof(float)<<endl; cout<<"sizeofdouble:"<<sizeof(double)<<endl; cout<<"sizeoflongdouble:"<<sizeof(longdouble)<<endl; return0;}2.4.4逗号运算符及逗号表达式逗号运算符用来将两个表达式连接起来,逗号表达式的一般表达形式为:<表达式1>,<表达式2>,<表达式3>,...,<表达式n>2.4.5关系运算符及关系表达式运算符运
算操作数个数<
小于,如4<3双目>
大于,如a>b双目==等于,如a==b双目<=小于等于,如i<=12双目>=大于等于,如v>=120双目!=不等于,如rate!=1双目2.4.6逻辑运算符及逻辑表达式运算符运
算操作数个数&&逻辑与,如a>3&&b<4双目||逻辑或,如len>100||len<200双目!逻辑非,如!(flag==0)单目特别注意:在C++中求逻辑表达式结果的过程中,由若干逻辑运算组成的表达式,从左至右,只要由部分运算能确定整个逻辑表达式的值,后面的运算就不再进行,这就是逻辑表达式的求值优化副作用。2.4.7条件运算符及条件表达式条件运算符(?:)有时也称为三目运算符,其基本语法为:e1?e2:e3其中e1、e2、e3为3个表达式,条件运算符的处理过程为:计算表达式e1的值,若e1的值为true,则计算表达式e2,结果作为整个表达式的值返回;否则计算并返回表达式e3的值。如求a、b两个量中最大的值,可用表达式:(a>b)?a:b2.6运算符的优先级和结合性2.7 类型转换2.7.1 自动类型
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年农业跨境投资合规操作指南
- 2026年农用传感器部署维护技巧
- 2026浙江台州市立医院招聘高层次卫技人员28人备考题库及1套参考答案详解
- 2026河南漯河市源汇区农信联社寒假实习生招募15人备考题库及参考答案详解1套
- 2026湖南郴州市桂阳县县直事业单位选聘5人备考题库及完整答案详解1套
- 2026年农业信贷风控模型构建方法
- 职业噪声工人心血管健康管理的实践指南
- 职业健康监护档案与危害因素监测数据整合分析
- 马鞍山2025年安徽马鞍山师范高等专科学校招聘紧缺专业硕士21人笔试历年参考题库附带答案详解
- 职业人群高血脂的饮食干预方案
- 市安全生产例会制度
- 高新区服务规范制度
- 小程序维护更新合同协议2025
- 中国自有品牌发展研究报告2025-2026
- 地形测量投标标书技术设计书
- 2025及未来5年马桶水箱组合项目投资价值分析报告
- 合伙建厂合同协议书
- 代建合同安全协议书
- 贷款挂靠合同(标准版)
- 学生手机理性使用教育教案
- 统编版(2024)七年级上册历史期末复习知识点讲义
评论
0/150
提交评论