第二章数据类型及表达式优秀PPT.ppt
《第二章数据类型及表达式优秀PPT.ppt》由会员分享,可在线阅读,更多相关《第二章数据类型及表达式优秀PPT.ppt(93页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第二章数据类型及表达式第一页,本课件共有93页C+程序设计一问题-模型-程序客观世界客观世界 认识世界认识世界 计算机世界计算机世界 (问题)(问题)(模型)(模型)(程序)(程序)建模表现程序设计是建立问题的模型并把它用一程序设计是建立问题的模型并把它用一种计算机语言表现出来的过程。种计算机语言表现出来的过程。第二页,本课件共有93页二数据结构与算法1.数据结构:是现实世界中事物属性及相互联系的模型。如简单问题中的变量、数组,复杂问题中的集合、栈、队列、树、图等。2.算法:由一些特定的操作按一定的规则组成的有穷序列。包括基本操作和控制结构两要素。1)基本操作:算数运算、逻辑运算、关系运算和赋
2、值运算。2)控制结构:顺序结构、选择结构和循环结构三面向过程与面向对象的程序设计1.面向过程的程序设计:是一种基于功能分析、以算法为中心的程序设计方法。第三页,本课件共有93页2.面向对象的程序设计:是一种基于结构分析的、以数据为中心的程序设计方法。通常把面向对象的程序设计描述为对象+消息传递第四页,本课件共有93页n问题一:解方程ax2+bx+c=0分析:只考虑有实数根。考虑可能有复数根。n问题二:设有曲线f(x)=,求f(x)、y=x1、y=x2及X轴围成的图形面积。f(x)xyx1x2第五页,本课件共有93页n问题三:两盘磁带内容互换。n问题四:有100个整数,按从小到大顺序排列。第六页
3、,本课件共有93页第二章数据类型及表达式nC+过程程序构成(1)过程程序功能:输入、运算、控制、输出、界面与接口nC+过程程序结构例1.2.cpp计算a+b=?(P6)组成:注释、编译预处理、程序主体第七页,本课件共有93页#include/预处理voidmain()/主函数inta,b,sum;/定义变量cinab;/输入sum=a+b;/计算cout“a+b=“sumendl;/输出第八页,本课件共有93页2.1C+数据类型P19表2.1数据类型长度和范围2.2常量n常量:1)常数(整型和实型)2)字符常量(单引号内的一个字符)转义字符是以反斜杠开头的字符常量(如n表示换行)详见表2-2。
4、第九页,本课件共有93页3)字符串常量:一对双引号内的字符序列,如“Hello”注意字符串常量与字符型常量的存储形式是不同的。它在内存中构成是HELLO04)符号常量:用const说明的标识符。如constintmutex=1;用define定义符号常量#defineMAX100n程序变量:由名字来标识,在内存中占据一定的存储单元。其名字为变量名,其值为变量值。变量还有特定的类型,使用变量前应声明即创建。三要素:名字、类型和值。n字符集:ASCII码字符集第十页,本课件共有93页2.3变量n变量定义:类型变量名表如intx,y,z;chara,b;floatarea;n变量命名:变量名是标识符
5、,不能使用C+关键字。变量名区分大小写,如DAY和day不同。n变量赋值与初始化intx,y;x=5,y=10;也可以在定义时初始化intx=5,y=10;第十一页,本课件共有93页2.4运算符与表达式n运算符功能、运算对象个数、类型、值的限制。n表达式值的类型。n运算的优先级。n结合性。n表达式(1)算数运算符与算数表达式(2)关系运算符与关系表达式(3)逻辑运算符与逻辑表达式(4)条件运算符与条件表达式(5)赋值运算符与赋值表达式第十二页,本课件共有93页2.5算术运算符与算术表达式n基本的算术运算符n运算符的优先级与结合性n混合运算n自增和自减运算符第十三页,本课件共有93页2.6赋值运
6、算符与赋值表达式n赋值过程中的类型转换n复合赋值运算符:将复合赋值运算符后的若干项当成一个整体。如x*=y+3相当于x*=(y+3)n赋值表达式第十四页,本课件共有93页a%b=a-int(a/b)*b如:7%4=37%-4=3-7%4=-3-7%-4=-3例ex202#includemain()inti=3;floatr=2.0;cout2*-iendl;i=r/i;couti;r=r/(r+3);coutrendl;i=2%3;coutiendl;第十五页,本课件共有93页例ex203赋值右结合;关系表达式为真输出1,否则输出0#includemain()inta=1,b=2,c;cout
7、“a=1,b=2”endl;cout-(c=a=1)endl;cout=b);第十六页,本课件共有93页例ex204复合赋值运算符是把右边的表达式作为一个整体来进行运算的#includeMain()intx,y;cout(x=3,y=8,x*=y+1)endl;cout(x=3,y=8,x=x*y+1)endl;第十七页,本课件共有93页#includemain()inti=3;cout(i+)+(i+)+(i+);运行结果:9例sizeof运算符#includemain()coutsizeof(int);coutsizeof(double)endl;运行结果:48第十八页,本课件共有93页#
8、includemain()inti=3;cout(+i)endl;cout(+i)endl;cout(+i)endl;结果:456(6)逗号运算符及其表达式(7)关于表达式运算顺序的讨论第十九页,本课件共有93页2.7逗号运算符与逗号表达式n一般形式表达式1,表达式2,表达式n其值是表达式n的值第二十页,本课件共有93页第三章结构化程序设计n语句:定义语句、表达式语句、空语句、块语句(复合语句)、流程控制语句。n流输入输出1)无格式输出coutcout表达式1表达式2变量1变量2变量n输入的数据之间用空格来分隔,所以不能将空格输入给字符变量,若要输入空格给字符变量需要用getchar()函数。
9、第二十一页,本课件共有93页例:#include#includevoidmain()coutgetchar()endl;输入:空格运行结果:32(空格的ASCII码)第二十二页,本课件共有93页3.5顺序结构程序设计n实现顺序结构可通过定义语句、表达式语句、空语句、块语句(复合语句)来实现。顺序结构是按照语句出现的次序依此执行例3.5块A块B第二十三页,本课件共有93页3.6关系运算和逻辑运算n表达式关系运算符表达式n表达式逻辑运算符表达式第二十四页,本课件共有93页C+约定,对表达式进行最少的运算例:#includemain()inta=1,b=2,c;c=a|b+;coutbcxyz;co
10、uty)if(xz)coutxendl;elsecoutzz)coutyendl;elsecoutzendl;第二十七页,本课件共有93页n例输入三个数,按从小到大的顺序输出#includemain()floata,b,c,t;cinabc;if(ab)t=a;a=b;b=t;if(ac)t=a;a=c;c=t;if(bc)t=b;b=c;c=t;couta,b,cendl;第二十八页,本课件共有93页表达式1?表达式2:表达式3若表达式1为真,则表达式2作为整个表达式的值;否则表达式3作为整个表达式的值。例:输入一个字符,判别它是否大写字母,如果是将它转换成小写字母;如不是,不转换。#inc
11、ludemain()charch;cinch;ch=(ch=A&ch=Z)?(ch+32):ch;coutchendl;第二十九页,本课件共有93页nswitch选择结构Switch(开关表达式)case常量1:语句序列1;break;case常量2:语句序列2;break;case常量n:语句序列n;break;default:语句序列n+1第三十页,本课件共有93页n例#includemain()intx=1,y=0,a=0,b=0;switch(x)case1:switch(y)case0:a+;break;case1:b+;break;case2:a+;b+;break;couta“,
12、”bendl;结果:2,1第三十一页,本课件共有93页While循环nWhile(条件表达式)语句/循环体例3.28练习:计算10!第三十二页,本课件共有93页例:欧几里德算法:求两个非负整数m,n的最大公因子。算法:m,n的最大公因子表示为(m,n),m=n*q+r,则r为m/n后的余数,且有(m,n)=(n,r),当r=0时,n就是最大公因子。例如:(64,24)=(24,16)=(16,8)=(8,0)即8就是64,24的最大公因子。第三十三页,本课件共有93页#includevoidmain()intm,n,r,u,v;cinmn;u=m;v=n;if(u*v!=0)while(r=u
13、%v)u=v;v=r;cout最大公因子是:vendl;elsecout数据非法endl;cout最小公倍数是:m*n/vendl;第三十四页,本课件共有93页例Fibonacci数列问题1,1,2,3,5,8,13,21,34,#includemain()intf1=1,f2=1,n=0,num;cinnum;while(+n=num)coutf1,f2,;f1=f1+f2;f2=f2+f1;第三十五页,本课件共有93页Do-while循环Do语句/循环体while(判断表达式);注意:最后有分号;循环体不需要加;先执行循环体后判断条件(循环体至少执行一次)例3.29第三十六页,本课件共有9
14、3页For循环结构for(表达式1;表达式2;表达式3)语句序列;/循环体for循环完全可以代替while和do-while循环注意for语句的执行过程第三十七页,本课件共有93页For循环嵌套for(表达式1;表达式2;表达式3)语句序列;for(表达式1;表达式2;表达式3)语句序列;第三十八页,本课件共有93页流程转向控制nBreak语句:从循环体内跳出循环,即提前结束循环。nContinue:结束本次循环,即跳过循环体中下面尚未执行的语句,进行下一次是否执行循环的判定。第三十九页,本课件共有93页第四十页,本课件共有93页例把100200之间的不能被3整除的数输出。#includeMa
15、in()intn;for(n=100;n=200;n+)if(n%3=0)continue;coutn;(见例ex126.cpp)第四十一页,本课件共有93页例打印3100中的素数#includemain()coutTheprimersfrom3to100is:endl;for(intm=3;m=100;m+)intf=1;for(intn=2;n=m/2;n+)if(m%n=0)f=0;break;if(f=0)continue;coutm,;第四十二页,本课件共有93页读程序,写出运行结果(例ex127.cpp)#includemain()inty=9;for(;y0;y-)if(y%3=
16、0)cout-yendl;continue;第四十三页,本课件共有93页读程序,写出运行结果(例ex128.cpp)#includemain()intx=1,y=1,z=0;x=x&y|z;coutxendl;cout(x|!y+&+z)endl;coutyendl;coutzendl;x=1;y=1;z=x+-1;coutxendl;coutzendl;z+=(-x+)+(+y);coutxendl;coutzendl;coutyendl;第四十四页,本课件共有93页读程序,写出运行结果:输入2473(例ex129.cpp)#include#includemain()ints;while(s
17、=getchar()!=n)switch(s-2)case0:case1:putchar(s+4);case2:putchar(s+4);break;case3:putchar(s+3);default:putchar(s+2);break;coutendl;第四十五页,本课件共有93页实验习题:1.i=1,j=1;couti+jendl;结果:2相当于(i+)+ji+j;i+j均出错,但i+(+j)是正确的。2.for(inti=0,j=5;i=j;)coutijendl;i+;j-;循环执行5次。如条件换成i!=j,则是无限循环。3.n#includenvoidmain()ninti,j,
18、x=0;nfor(i=0;i=3;i+)nx+;nfor(j=0;j=3;j+)nif(j%2)continue;nx+;nx+;ncout”x=”xendl;结果:16第四十六页,本课件共有93页4.n#includenvoidmain()ninti,s=0;nfor(i=0;i5;i+)nswitch(i)ncase0:s+=i;break;ncase1:s+=i;break;ncase2:s+=i;break;ndefault:s+=2;nncout”s=”sendl;n循环做5次结果:75.#includenvoidmain()nnfor(intj=10;j3;j-)nif(j%3)j
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第二 数据类型 表达式 优秀 PPT
限制150内