




已阅读5页,还剩55页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
,课件制作:C/C+教材编写组哈尔滨理工大学计算中心,基于计算思维,2,第1章初识C/C+程序设计语言,第2章数据类型、运算符与表达式,第3章顺序结构程序设计,第5章循环结构程序设计,第6章数组,第7章字符串,第8章指针,总复习,第4章选择结构程序设计,课程概述,第9章函数,第11章类与对象,第12章继承与多态,第13章C+输入/输出流类库,第14章异常处理,第15章图形界面编程简介,第10章自定义数据类型,第2章数据类型、运算符与表达式,3,数据类型、运算符与表达式,第2章,了解基本数据类型的表示范围掌握数据类型之间的转换原理掌握不同常量的表示方法掌握变量的定义、初始化与赋值掌握各种运算符的运算次序及优先级,4,2.1案例剖析,C+程序的组成,实例1:求两数之差,问题的提出如果饭卡里有10.5元钱,买了一个包子,则输入包子的价格后显示卡里的余额。,向内存申请存储数据的空间并说明数据类型计算输出计算结果,5,2.1案例剖析,算法及程序设计分析确定钱数是带小数点的数,即实型数;向内存申请能存放实型数的两个存储空间用来保存卡里的余额和包子的价格;分别给存储空间命名balance和price;把已知的余额10.5送到balance中从键盘输入包子的价格;把存储空间balance里的数据减去包子的钱数再送回到balance中,则得到卡里的余额;输出结果,double/float,doublebalance,price;,balance=10.5;,cinprice;,balance=balance-price*1;,coutprice;balance=balance-price*1;cout“卡里余额”balanceb,13,2.3常量和变量,C语言中的数据,#includeusingnamespacestd;voidmain()doublebalance=10.5,price;printf(输入包子的价格:);scanf(%f,字面常量,变量,变量可以被再次赋值,常量(constant)在程序中不能改变其值的量变量(variable)其值在程序执行过程中是可以改变的,14,2.3常量和变量,常量,实例2:计算圆的面积,问题的提出输入圆的半径,输出圆的面积算法分析及程序设计的值可以用一个符号PI表示确定圆的半径和面积都是实型数向内存申请能存放实型数的两个存储空间用来保存输入的半径和计算出来的面积分别给存储空间命名circle_r和circle_area从键盘输入圆的半径、计算面积、输出面积,源程序,15,2.3常量和变量,常量,/ch02_2.cpp#includeusingnamespacestd;#definePI3.1415926intmain()doublecircle_r,circle_area;/实型变量coutcircle_r;circle_area=PI*circle_r*circle_r;/积是算术表达式的值cout圆的面积=circle_areaendl;return0;,PI是符号常量PI不占内存预处理时完成替换,16,2.3常量和变量,常量,整型常量实型常量字符型常量字符串常量符号常量,17,2.3常量和变量,常量,整型常量指不带小数点的整数整型常量后面加上l或L表示该数为长整型常量整型常量后面加上u或U表示该数为无符号整型常量,18,2.3常量和变量,常量,实型常量指带小数点的数也称浮点型数十进制数形式如0.123,.123,123.0,0.0指数形式e或E之前必须有数字;指数必须为整数如:12.3e3,123E2,1.23e4如:e-5,1.2E-3.5,默认是double型后面加f或F表示为float型如:1.23f,1.23Ffloat型数据6/7位有效数字double型数据15/16位有效数字,19,2.3常量和变量,例2.1实型数有效位数的验证,/ex02_1.cpp#include#includeusingnamespacestd;intmain()floata=123456789.0f;coutaendl;couta+10endl;coutsetiosflags(ios:fixed);coutaendl;couta+10endl;return0;,/以定点格式输出,VisualC+6.0中,当实型数超过百万时,自动以指数形式输出VisualC+6.0中,单精度数有效数字为6位,思考:如果将float改为double,结果如何?,20,2.3常量和变量,常量,字符型常量用单引号括起来的一个字符或一个转义字符如:n、N、n、0,例2.2字符型变量和字符常量的输出,/ex02_2.cpp#includeusingnamespacestd;intmain()charc=Y;coutcnNendl;coutc,Y的ASCII值(int)cendl;coutsizeof(char)=sizeof(char)endl;return0;,输出c的值Y及Y的ASCII值,输出字符型占内存字节数,c是字符型变量,Y是字符常量,n、N是字符常量,n表示换行,21,2.3常量和变量,常量,字符型常量字符常量在内存中以1个字节的ASCII值形式存储单个的“”不能单独使用用以“”开头的后跟一个字符或字符的ASCII值表示一个控制字符或字符若转义符后面跟一个大写字母的话,则表示该大写字母本身如:Y表示字符Y常用的转义字符的含义,22,2.3常量和变量,常量,字符型常量常用的转义字符的含义,23,ASCII表,24,2.3常量和变量,常量,字符型常量给出下列程序的输出结果,变量c的输出类型与定义类型相同,/ex02_2.cpp#includeusingnamespacestd;intmain()charc=Y;coutc=cendl;coutc=int(c)endl;coutc=c+01)couttrueendl;elsecoutfalsecircle_r;circle_area=PI*circle_r*circle_r;coutcircle_arear;area=PI*r*r;coutareaprice;balance=balance-price*1;coutbalanceendl;return0;,是存储空间的名字在程序执行过程中将“=”右边表达式的值赋值给左边的变量中变量可以被再次赋值得到的是最后一次的值变量要先定义后使用,30,2.3常量和变量,变量,变量的定义(变量的声明)数据类型变量名1,变量名2,变量名n;变量名不能是关键字变量的类型决定了对变量可以进行的操作如:doublea,b;则不可以:a%b定义变量时不赋值则其具有不确定的值(静态变量除外)如:doublea;coutaendl;结果为多少?,31,2.3常量和变量,变量,变量的赋值变量名=表达式;“=”称为赋值运算符右结合性将“=”右边表达式的值赋值给左边的变量中遇到“=”读成赋值、把变量读成存储空间就不会出现理解上的错误。,32,2.3常量和变量,变量,变量的初始化如:doublebalance=10.5,price;等价:doublebalance,prince;balance=10.5;定义变量的同时赋值数据类型变量名=表达式;数据类型变量名(表达式);如:doublebalance(10.5);,33,2.3常量和变量,变量,变量的初始化doublea=b=10.5;,doublea,b;a=b=10.5;,变量不可以连续初始化变量可以连续赋值右结合,34,2.4运算符和表达式,运算符与表达式,C+具有丰富的运算符如算术运算符:+、-、*、/如赋值运算符:=系统把除了控制语句和输入输出对象以外的几乎所有的基本操作都当作运算符处理由运算符连接起来的式子称为表达式表达式要在同一行上书写如:,考虑:(1)操作数的个数(2)优先级(3)结合性,X1=(-b+sqrt(b*b-4*a*c)/(2*a),35,2.4运算符和表达式,算术运算符和算术表达式,C+的算术运算符,表2-3算术运算符,般情况下:单目运算取右结合性双目运算取左结合性,36,2.4运算符和表达式,例2.3输出算术表达式的值,表2-3算术运算符,/ex02_3.cpp#includeusingnamespacestd;intmain()cout5/2=5/2endl;cout2/5=2/5endl;cout5.0/2=5.0/2endl;cout5%2=5%2endl;cout-5%2=-5%2endl;cout5%-2=5%-2x;b0=x%10;b1=x/10%10;b2=x/100;sum=b2+b1+b0;coutb2=b2,b1=b1,b0=b0endl;coutsum=sumendl;reutrn;,39,2.4运算符和表达式,算术运算符和算术表达式,自增自减算术运算符+、-存储单元内容加1或减1一般情况下i+ii=i+1i-ii=i-1当引用变量i参与运算时要注意j=i+;j=+i;,表2-3算术运算符,j=i;i=i+1;,i=i+1;j=i;,5+;(a+b)+;,+-:不能用于常量不能用于表达式自右向左运算,40,2.4运算符和表达式,算术运算符和算术表达式,例j=3;k=+j;j=3;k=j+;j=3;cout+jendl;j=3;coutj+endl;a=3;b=5;c=(+a)*b;a=3;b=5;c=(a+)*b;,表2-3算术运算符,k=4,j=4,k=3,j=4,4,3,c=20,a=4,c=15,a=4,41,2.4运算符和表达式,算术运算符和算术表达式,分析下面程序运算结果,表2-3算术运算符,#includeusingnamespacestd;intmain()intj=3;cout+jendl;coutj+endl;cout+jendl;return0;,42,2.4运算符和表达式,赋值运算符和赋值表达式,赋值运算符=变量=表达式右结合性将表达式的值赋值给左边的变量如:5=1+x;(a+b)=5;,表2-3算术运算符,如:cout(a=3);输出结果?赋值表达式的值就是被赋值的变量的值因此:cout60)number-,cout及格,还剩number门课未修endl;elsecout该门课程没过,还剩number门课未修endl;return0;,表2-3算术运算符,例2.4一名学生统计学分情况,表达式a=5,6?,48,2.4运算符和表达式,逗号运算符和逗号表达式,逗号运算符可以将多个表达式连接起来形成一个表达式表达式1,表达式2,表达式n也称顺序求值运算结合性:从左向右得到的是表达式n的值优先级:在所有运算符中级别最低常用于循环for语句中如:for(i=0,j=0;i5;i+,j+),表2-3算术运算符,49,2.4运算符和表达式,逗号运算符和逗号表达式,分析下面表达式的值a=3*5,a*4a=3*5,a*4,a+5x=(a=3,6*3)x=a=3,6*a,表2-3算术运算符,a=15,表达式值60,a=15,表达式值20,赋值表达式,表达式值18,x=18,逗号表达式,表达式值18,x=3,50,2.4运算符和表达式,sizeof运算符,用于计算数据类型、变量、数组或数组元素占内存的字节数sizeof(类型名)sizeof(变量名)sizeof(数组名)/sizeof(数组元素名)sizeof(数组元素名),表2-3算术运算符,51,2.4运算符和表达式,sizeof运算符,表2-3算术运算符,例2.5计算内存空间字节数,/ex02_5.cpp#includeusingnamespacestd;intmain()inta;cout整型数占内存的字节数sizeof(int)=sizeof(int)endl;cout整型变量占内存的字节数sizeof(a)=sizeof(a)endl;cout字符占内存的字节数sizeof(char)=sizeof(char)endl;return0;,52,2.4运算符和表达式,数据类型的转换和运算,分析下面两个程序段的运行结果,表2-3算术运算符,inti=2;floatf=3.6f;doubled=3.6;i=f;f=i;d=f;coutiendl;coutfendl;coutdendl;,inti=2;floatf=3.6f;doubled=3.6;charc=A;couti+cendl;couti+fendl;couti+f+dendl;couti+f+d+clongintshortcharchar型、short型与其它类型数据运算时首先转换为int型数据float型与其它类型数据运算时首先转换为double型数据,表2-3算术运算符,54,2.4运算符和表达式,数据类型的转换和运算,表2-3算术运算符,例2.6不同类型数据间的运算,/ex02_6.cpp#includeusingnamespacestd;intmain()inti=2;floatf=3.14f;doubled=3.14;charc=A;cout整型与字符型运算结果是整型i+c=i+cendl;cout整型与单精度运算结果是双精度i+f=i+fendl;cout整型单精度与双精度运算结果是双精度i+f+d=i+f+dendl;cout有实型数据参与运算的结果是双精度endl;return0;,55,2.4运算符和表达式,数据类型的转换和运算,强制性转换将表达式的值强制转换成所需类型(类型名)表达式类型名(表达式),表2-3算术运算符,#includeusingnamespacestd;intmain()doublea=1.5,b=2.5,c;c=(int)a%(int)b;cout(int)a%(int)b=cendl;couta=a,b=bendl;return0;,强制转换只得到一个临时结果表达式本身的值和类型、表达式中变量的值和类型不变,56,2.4运算符和表达式,数据类型的转换和运算,赋值转换指“=”两边类型不一至时的转换将表达式的值转换为变量类型赋给变量表达
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年高校招生办主任面试指南与预测题集分析
- 2025年高级炼油操作工面试题预测及应对策略
- 电业规程培训课件
- 2025年炼钢初级技能提升模拟题集
- 初中生阅读兴趣培养与阅读能力提升的相关研究
- 写人物小传教学课件
- 田单史记课件
- 用车知识基础知识培训课件
- 用电防火基本知识培训
- 用电安全知识培训课件记录表
- 福建省南平市(2024年-2025年小学六年级语文)部编版期末考试(下学期)试卷及答案
- 盘扣用量表0822(含公式)
- 检验科6s管理实施
- 二十案例示轮回
- ABC法则新-培训课件
- 医疗器械经营质量管理制度和工作程序目录
- 核心能力建设规划
- 城市屋顶光伏发电施工方案
- 净菜项目可行性研究报告
- 蒋诗萌小品《谁杀死了周日》台词完整版
- 初中英语语法练习题100道(附答案)
评论
0/150
提交评论