第二章数据类型及表达式_第1页
第二章数据类型及表达式_第2页
第二章数据类型及表达式_第3页
第二章数据类型及表达式_第4页
第二章数据类型及表达式_第5页
已阅读5页,还剩88页未读 继续免费阅读

下载本文档

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

文档简介

第二章数据类型及表达式第1页,课件共93页,创作于2023年2月C++程序设计一问题-模型-程序

客观世界认识世界计算机世界(问题)(模型)(程序)建模表现程序设计是建立问题的模型并把它用一种计算机语言表现出来的过程。第2页,课件共93页,创作于2023年2月二数据结构与算法1.数据结构:是现实世界中事物属性及相互联系的模型。如简单问题中的变量、数组,复杂问题中的集合、栈、队列、树、图等。2.算法:由一些特定的操作按一定的规则组成的有穷序列。包括基本操作和控制结构两要素。1)基本操作:算数运算、逻辑运算、关系运算和赋值运算。2)控制结构:顺序结构、选择结构和循环结构三面向过程与面向对象的程序设计1.面向过程的程序设计:是一种基于功能分析、以算法为中心的程序设计方法。第3页,课件共93页,创作于2023年2月2.面向对象的程序设计:是一种基于结构分析的、以数据为中心的程序设计方法。通常把面向对象的程序设计描述为

对象+消息传递第4页,课件共93页,创作于2023年2月问题一:解方程ax2+bx+c=0分析:①只考虑有实数根。②考虑可能有复数根。问题二:设有曲线f(x)=…,求f(x)、y=x1、y=x2及X轴围成的图形面积。f(x)xyx1x2第5页,课件共93页,创作于2023年2月问题三:两盘磁带内容互换。问题四:有100个整数,按从小到大顺序排列。第6页,课件共93页,创作于2023年2月第二章数据类型及表达式C++过程程序构成(1)过程程序功能:输入、运算、控制、输出、界面与接口C++过程程序结构例1.2.cpp计算a+b=?(P6)组成:注释、编译预处理、程序主体第7页,课件共93页,创作于2023年2月#include<iostream.h>//预处理voidmain()//主函数{inta,b,sum;//定义变量cin>>a>>b;//输入sum=a+b;//计算cout<<“a+b=“<<sum<<endl;//输出}第8页,课件共93页,创作于2023年2月2.1C++数据类型P19表2.1数据类型长度和范围2.2常量常量:1)常数(整型和实型)2)字符常量(单引号内的一个字符)转义字符是以反斜杠\开头的字符常量(如‘\n’表示换行)详见表2-2。第9页,课件共93页,创作于2023年2月3)字符串常量:一对双引号内的字符序列,如“Hello”注意字符串常量与字符型常量的存储形式是不同的。它在内存中构成是HELLO\04)符号常量:用const说明的标识符。如constintmutex=1;用define定义符号常量#defineMAX100程序变量:由名字来标识,在内存中占据一定的存储单元。其名字为变量名,其值为变量值。变量还有特定的类型,使用变量前应声明即创建。三要素:名字、类型和值。字符集:ASCII码字符集第10页,课件共93页,创作于2023年2月2.3变量变量定义:类型变量名表如intx,y,z;chara,b;floatarea;变量命名:变量名是标识符,不能使用C++关键字。变量名区分大小写,如DAY和day不同。变量赋值与初始化intx,y;x=5,y=10;也可以在定义时初始化intx=5,y=10;第11页,课件共93页,创作于2023年2月2.4运算符与表达式运算符功能、运算对象个数、类型、值的限制。表达式值的类型。运算的优先级。结合性。表达式(1)算数运算符与算数表达式(2)关系运算符与关系表达式(3)逻辑运算符与逻辑表达式(4)条件运算符与条件表达式(5)赋值运算符与赋值表达式第12页,课件共93页,创作于2023年2月2.5算术运算符与算术表达式基本的算术运算符运算符的优先级与结合性混合运算自增和自减运算符第13页,课件共93页,创作于2023年2月2.6赋值运算符与赋值表达式赋值过程中的类型转换复合赋值运算符:将复合赋值运算符后的若干项当成一个整体。如x*=y+3相当于x*=(y+3)赋值表达式第14页,课件共93页,创作于2023年2月a%b=a-int(a/b)*b如:7%4=37%-4=3-7%4=-3-7%-4=-3例ex202#include<iostream.h>main(){inti=3;floatr=2.0;cout<<2*-i<<endl;i=r/i;cout<<i;r=r/(r+3);cout<<r<<endl;i=2%3;cout<<i<<endl;}第15页,课件共93页,创作于2023年2月例ex203赋值右结合;关系表达式为真输出1,否则输出0#include<iostream.h>main(){inta=1,b=2,c;cout<<“a=1,b=2”<<endl;cout<<-(c=a=1)<<endl;cout<<(c=a>=b);}第16页,课件共93页,创作于2023年2月例ex204复合赋值运算符是把右边的表达式作为一个整体来进行运算的#include<iostream.h>Main(){intx,y;cout<<(x=3,y=8,x*=y+1)<<endl;cout<<(x=3,y=8,x=x*y+1)<<endl;}第17页,课件共93页,创作于2023年2月#include<iostream.h>main(){inti=3;cout<<(i++)+(i++)+(i++);}运行结果:9例sizeof运算符#include<iostream.h>main(){cout<<sizeof(int)<<‘‘;cout<<sizeof(double)<<endl;}运行结果:48第18页,课件共93页,创作于2023年2月#include<iostream.h>main(){inti=3;cout<<(++i)<<endl;cout<<(++i)<<endl;cout<<(++i)<<endl;}结果:456(6)逗号运算符及其表达式(7)关于表达式运算顺序的讨论第19页,课件共93页,创作于2023年2月2.7逗号运算符与逗号表达式一般形式表达式1,表达式2,…,表达式n其值是表达式n的值第20页,课件共93页,创作于2023年2月

第三章结构化程序设计

语句:定义语句、表达式语句、空语句、块语句(复合语句)、流程控制语句。流输入输出1)无格式输出coutcout<<表达式1<<表达式2<<表达式n2)数据输入cincin>>变量1>>变量2>>变量n输入的数据之间用空格来分隔,所以不能将空格输入给字符变量,若要输入空格给字符变量需要用getchar()函数。第21页,课件共93页,创作于2023年2月例:#include<stdio.h>#include<iostream.h>voidmain(){cout<<getchar()<<endl;}输入:空格↙运行结果:32(空格的ASCII码)第22页,课件共93页,创作于2023年2月3.5顺序结构程序设计实现顺序结构可通过定义语句、表达式语句、空语句、块语句(复合语句)来实现。顺序结构是按照语句出现的次序依此执行例3.5块A块B第23页,课件共93页,创作于2023年2月3.6关系运算和逻辑运算表达式关系运算符表达式表达式逻辑运算符表达式第24页,课件共93页,创作于2023年2月C++约定,对表达式进行最少的运算例:#include<iostream.h>main(){inta=1,b=2,c;c=a||b++;cout<<b<<c<<endl;}运行结果:21第25页,课件共93页,创作于2023年2月3.7选择结构程序设计if-else语句If(判断表达式)”真语句“;else“假”语句;注意:if-else结构可以嵌套:每个else和其前面最近的尚未配对的if匹配。第26页,课件共93页,创作于2023年2月if…else结构嵌套例:从3个数中找最大数intx,y,z;cin>>x>>y>>z;cout<<“Themaxis:”if(x>y)if(x>z)cout<<x<<endl;elsecout<<z<<endl;elseif(y>z)cout<<y<<endl;elsecout<<z<<endl;}第27页,课件共93页,创作于2023年2月例输入三个数,按从小到大的顺序输出#include<iostream.h>main(){floata,b,c,t;cin>>a>>b>>c;if(a>b){t=a;a=b;b=t;}if(a>c){t=a;a=c;c=t;}if(b>c){t=b;b=c;c=t;}cout<<a<<","<<b<<","<<c<<endl;}第28页,课件共93页,创作于2023年2月

表达式1?表达式2:表达式3

若表达式1为真,则表达式2作为整个表达式的值;否则表达式3作为整个表达式的值。

例:输入一个字符,判别它是否大写字母,如果是将它转换成小写字母;如不是,不转换。

#include<iostream.h>

main()

{charch;

cin>>ch;

ch=(ch>='A'&&ch<='Z')?(ch+32):ch;

cout<<ch<<endl;

}第29页,课件共93页,创作于2023年2月switch选择结构Switch(开关表达式){case常量1:语句序列1;break;case常量2:语句序列2;break;…case常量n:语句序列n;break;default:语句序列n+1}第30页,课件共93页,创作于2023年2月例#include<iostream.h>main(){intx=1,y=0,a=0,b=0;switch(x){case1:switch(y){case0:a++;break;case1:b++;break;};case2:a++;b++;break;}cout<<a<<“,”<<b<<endl;}结果:2,1第31页,课件共93页,创作于2023年2月While循环While(条件表达式)语句//循环体例3.28练习:计算10!第32页,课件共93页,创作于2023年2月例:欧几里德算法:求两个非负整数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的最大公因子。第33页,课件共93页,创作于2023年2月#include<iostream.h>voidmain(){intm,n,r,u,v;cin>>m>>n;u=m;v=n;if(u*v!=0){while(r=u%v) { u=v; v=r; } cout<<"最大公因子是:"<<v<<endl;} else cout<<"数据非法"<<endl;cout<<"最小公倍数是:"<<m*n/v<<endl;}第34页,课件共93页,创作于2023年2月例Fibonacci数列问题

1,1,2,3,5,8,13,21,34,…#include<iostream.h>main(){intf1=1,f2=1,n=0,num;cin>>num;while(++n<=num){cout<<f1<<","<<f2<<",";f1=f1+f2; f2=f2+f1; } }第35页,课件共93页,创作于2023年2月Do-while循环Do语句//循环体while(判断表达式);注意:最后有分号;循环体不需要加{};先执行循环体后判断条件(循环体至少执行一次)例3.29第36页,课件共93页,创作于2023年2月For循环结构for(表达式1;表达式2;表达式3){语句序列;}//循环体for循环完全可以代替while和do-while循环注意for语句的执行过程第37页,课件共93页,创作于2023年2月For循环嵌套for(表达式1;表达式2;表达式3){语句序列;for(表达式1;表达式2;表达式3){语句序列;}}第38页,课件共93页,创作于2023年2月流程转向控制Break语句:从循环体内跳出循环,即提前结束循环。Continue:结束本次循环,即跳过循环体中下面尚未执行的语句,进行下一次是否执行循环的判定。第39页,课件共93页,创作于2023年2月第40页,课件共93页,创作于2023年2月例把100~200之间的不能被3整除的数输出。#include<iostream.h>Main(){intn;for(n=100;n<=200;n++){if(n%3==0)continue;cout<<n;}}(见例ex126.cpp)第41页,课件共93页,创作于2023年2月例打印3~100中的素数#include<iostream.h>main(){cout<<"Theprimersfrom3to100is:"<<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; cout<<m<<',';}}第42页,课件共93页,创作于2023年2月读程序,写出运行结果(例ex127.cpp)#include<iostream.h>main(){inty=9;for(;y>0;y--){if(y%3==0){cout<<--y<<endl;continue;}}}第43页,课件共93页,创作于2023年2月读程序,写出运行结果(例ex128.cpp)#include<iostream.h>main(){intx=1,y=1,z=0;x=x&&y||z; cout<<x<<endl; cout<<(x||!y++&&++z)<<endl; cout<<y<<endl; cout<<z<<endl; x=1; y=1; z=x++-1; cout<<x<<endl; cout<<z<<endl; z+=(-x++)+(++y); cout<<x<<endl; cout<<z<<endl; cout<<y<<endl;}第44页,课件共93页,创作于2023年2月读程序,写出运行结果:输入2473(例ex129.cpp)#include<iostream.h>#include<stdio.h>main(){ints;while((s=getchar())!='\n'){switch(s-'2'){case0:case1:putchar(s+4); case2:putchar(s+4);break; case3:putchar(s+3); default:putchar(s+2);break;}}cout<<endl;}第45页,课件共93页,创作于2023年2月实验习题:1.i=1,j=1;cout<<i+++j<<endl;结果:2相当于(i++)+ji++++j;i+++++j均出错,但i+++(++j)是正确的。2.for(inti=0,

j=5;

i=j;){cout<<i<<j<<endl;i++;j--;}循环执行5次。如条件换成i!=j,则是无限循环。3.#include<iostream.h>voidmain(){inti,j,x=0;for(i=0;i<=3;i++){x++;for(j=0;j<=3;j++){if(j%2)continue;x++;}x++;}cout<<”x=”<<x<<endl;}结果:16第46页,课件共93页,创作于2023年2月4.#include<iostream.h>voidmain(){inti,s=0;for(i=0;i<5;i++)switch(i){case0:s+=i;break;case1:s+=i;break;case2:s+=i;break;default:s+=2;}cout<<”s=”<<s<<endl;}循环做5次结果:75.

#include<iostream.h>voidmain(){for(intj=10;j>3;j--){if(j%3)j--;j=j-2;cout<<j<<endl;}}

循环做2次结果:74第47页,课件共93页,创作于2023年2月例打印出所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数本身。如153是一个“水仙花数”。(见ex130.cpp)例猴子吃桃问题:猴子第一天摘下若干桃子,当即吃了一半,还不过瘾又多吃了一个。第二天又将剩下的桃子吃掉一半,又多吃了一个。以后每天都吃了前一天剩下的一半零一个。到第10天想再吃时,见只剩一个桃子了。求第一天共摘多少桃子。(见ex131.cpp)第48页,课件共93页,创作于2023年2月例输入n=5时,输出下列图形*************************(见Ex132.cpp)练习:输入n值,输出由*组成的高为n的平行四边形。******************************((见Ex133.cpp)第49页,课件共93页,创作于2023年2月例求下列算式中的X,Y,Z的值XYZ+YZZ532(ex134.cpp)例一球从100米高度自由落下,每次落地后跳回原高度的一半,再落下。求它在第10次落地时,共经过多少米?第10次反弹多高?(ex135.cpp)第50页,课件共93页,创作于2023年2月读程序,从键盘输入3.62.4(ex136.cpp)#include<iostream.h>#include<math.h>main(){floatx,y,z;cin>>x>>y;z=x/y;while(1){if(fabs(z)>1.0){x=y;y=z;z=x/y;}else break;}cout<<y<<endl;}第51页,课件共93页,创作于2023年2月读程序,从键盘输入6514(ex137.cpp)#include<iostream.h>main(){intm,n;cin>>m>>n;while(m!=n){while(m>n)m-=n;while(n>m)n-=m;}cout<<m<<','<<n<<endl;}第52页,课件共93页,创作于2023年2月例求sn=a+aa+aaa+…+aaa…a的值,n个a其中a是一个数字。如2+22+222+2222+22222(此时n=5)(ex138.cpp)第53页,课件共93页,创作于2023年2月例:求1n+3n+5n+7n+…+mn,其中m,n的值从键盘输入。ex139.cpp#include<iostream.h>voidmain(){ints=0,m=9,n=3,t,i=1;while(i<=m){t=1;for(intj=1;j<=n;j++) t=t*i;s=s+t; i=i+2;}cout<<s<<endl;}第54页,课件共93页,创作于2023年2月例求sin(x)的近似值#include<iostream.h>voidmain(){intn,s;doublex,y,d,t;cin>>x>>n;y=x;s=1;for(inti=2;i<=n;i++){d=1.0;t=1.0;for(intk=1;k<=2*i-1;k++) {d*=k;t*=x;} s=-s; y=y+s*t/d;}cout<<y<<endl;}第55页,课件共93页,创作于2023年2月第5章函数与预处理使用函数的目的:提高程序的可读性。下图为一个C++程序的结构示意图第56页,课件共93页,创作于2023年2月函数结构:函数头{函数体}其中:函数头形式为:类型函数名(形式参数列表)函数体:是一个语句块,即{…}函数返回形式:return表达式;(一个函数体中可以有多个return语句,每次只通过一个return执行返回操作)函数定义:即实现。它给定函数的类型与名字、形参的类型与名字、函数体。第57页,课件共93页,创作于2023年2月如定义intfunl(charc,floatf),表明函数返回值为整型,函数名为funl,形式参数为c和f,分别是字符型和实型。函数定义一般形式:类型函数名(形式参数表列)例:返回一个整数的绝对值的函数intabsolute_value(intx){if(x>=0)returnx;elsereturn–x;}关于函数的返回值函数的返回值是通过return语句获得的。函数值的类型:定义函数时应指定函数值的类型,如intmax(x,y);Charletter(c1,c2);doublemin(x,y)第58页,课件共93页,创作于2023年2月为了明确表示“不带回值”,用void定义无类型,此时函数只执行一个功能。此时可省略return语句。例:voidspc(intn){for(inti=0;i<n;i++)cout<<‘‘;}函数名重载即多个函数使用一个函数名例:定义两个同名的函数intmax(intx,inty){return((x>y)?x:y);}doublemax(doublex,doubley){return((x>y)?x:y);}第59页,课件共93页,创作于2023年2月#include<iostream.h>main(){cout<<max(10,20)<<endl;cout<<max(1.23,4.56)<<endl;}C++编译器根据实参与形参的匹配自动选择用哪个函数。函数调用形式:函数名(实参表列)函数调用的功能:1.用实参向形参传递数据;2.为形参及函数体中声明的变量分配存储空间;3.中断现行函数,把流程转向被调用函数的入口处,开始执行被调函数。第60页,课件共93页,创作于2023年2月例:ex501.cpp#include<iostream.h>intmax(intx,inty){intz;z=x>y?x:y; returnz; }main(){inta,b,c;cin>>a>>b;c=max(a,b);cout<<c<<endl;}第61页,课件共93页,创作于2023年2月说明:参数传递关系如下:形参未出现函数调用时,并不占用内存单元,只有在发生函数调用时函数max中的形参才被分配内存单元。调用结束后,形参所占的内存单元也被释放。第62页,课件共93页,创作于2023年2月注意:实参变量对形参变量的数据传递是单向“值传递”,即只能由实参传给形参,而不能由形参传回来给实参。(所以形参在函数内即使发生变化也不会影响到实参的值)函数声明:1.当函数定义在前调用在后时,编译器在调用函数之前,能从其定义中抽取函数原型2.当函数调用在前定义在后时,要求程序员在调用之前用函数原型对函数进行声明,以便编译器从函数原型中得到所提供的有关信息。见程序ex501.cpp与ex502.cpp的区别。第63页,课件共93页,创作于2023年2月例(ex503.cpp)#include<iostream.h>main(){inta=24,b=16,c;intabc(int,int); c=abc(a,b); cout<<c<<endl;}intabc(intu,intv){intw;while(v) { w=u%v; u=v; v=w; } returnu;}

第64页,课件共93页,创作于2023年2月函数的嵌套调用在调用一个函数的过程中,可以调用另一个函数。第65页,课件共93页,创作于2023年2月局部变量和全局变量局部变量:指在函数内部定义的变量,它只在本函数范围内有效。第66页,课件共93页,创作于2023年2月例#include<iostream.h>voidmain()intx=5,y=1;cout<<"x1="<<x<<",y="<<y<<endl;{intx=3;//初始化为5的x本块内不可见cout<<"x2="<<x<<",y="<<y<<endl;}cout<<"x3="<<x<<",y="<<y<<endl;}结果:x1=5,y=1x2=3,y=1x3=5,y=1第67页,课件共93页,创作于2023年2月全局变量:在函数之外定义的变量称为外部变量,外部变量是全局变量。第68页,课件共93页,创作于2023年2月例(ex504.cpp)#include<iostream.h>intd=1;fun(intp){intd=5;d+=p++; cout<<d<<endl;}main(){inta=3;fun(a); d+=a++; cout<<d<<endl;}第69页,课件共93页,创作于2023年2月注意:1)如果外部变量在文件开头定义,则在整个文件范围内都可以使用该外部变量,如果不在文件开头定义,则作用范围只限于定义点到文件终了。如果在定义点之前的函数想引用该外部变量,则应该在函数中用关键字extern作“外部变量说明”。表示该变量在函数的外部定义在函数内部可以引用它们。例:ex505.cpp此例中变量a,b只在main中有效;如不加extern说明,虽编译能通过,但得不到正确结果。一般做法是外部变量的定义放在引用它的所有函数之前,这样可以省一个extern说明。2)外部变量定义和外部变量说明并不同:外部变量定义只能有一次,它的位置在所有函数之外,而外部变量说明可以有多次,它的位置在需要引用的函数之内。第70页,课件共93页,创作于2023年2月#include<iostream.h>intmax(intx,inty){intz;z=x>y?x:y; returnz; }voidmain(){externinta,b;//外部变量说明cout<<max(a,b)<<endl;}inta=13,b=-8;//外部变量定义第71页,课件共93页,创作于2023年2月3)如果在同一个源文件中,外部变量与局部变量同名,则在局部变量的作用范围内,外部变量不起作用。例ex506.cpp第72页,课件共93页,创作于2023年2月#include<iostream.h>inta=3,b=5;intmax(intx,inty){intz;z=x>y?x:y; returnz; }voidmain(){inta=8;cout<<max(a,b)<<endl;}第73页,课件共93页,创作于2023年2月动态存储变量与静态存储变量从变量的生存期来考虑,静态存储方式是指在程序运行期间分配固定的存储空间的方式;而动态存储方式则是在程序运行期间根据需要进行动态的分配存储空间的方式。内存中供用户使用的存储空间有:1)程序区2)静态存储区3)动态存储区。规则:1)全局变量存放在静态存储区,程序执行完才释放。2)动态存储区中存放①形参②局部变量,函数结束时就释放。数据的存储类别有四种:自动的(auto)、静态的(static)、寄存器的(register)、外部的(extern)第74页,课件共93页,创作于2023年2月auto变量被声明在“内部”(即函数、块、声明语句之中),属于动态存储类别,其生存期局部于所在的块(所在块结束时存储空间即被释放)。以前函数中定义的变量没有说明为auto,都隐含为自动变量。例2.2.2其结果应是输出三个相等的值,但却是不可预知的(由于没对i初始化)。有时希望函数中的局部变量的值在函数调用结束后不消失,即其占用的存储单元不释放,应指定该局部变量为“局部静态变量”例2.2.11(i初始值应该先定为0)第75页,课件共93页,创作于2023年2月例ex507.cpp#include<iostream.h>f(inta){autointb=0;staticintc=3;b=b+1;c=c+1;return(a+b+c);}voidmain(){inta=2,i;for(i=0;i<3;i++)cout<<f(a)<<',';}第76页,课件共93页,创作于2023年2月例#include<iostream.h>fun(inta,intb){staticintm=0,i=2;i+=m+1;m=i+a+b;return(m);}voidmain(){intk=4,m=1,p;p=fun(k,m);cout<<p<<',';p=fun(k,m);cout<<p<<',';}第77页,课件共93页,创作于2023年2月函数递归调用在调用一个函数的过程中又直接或间接地调用该函数本身,称为函数的递归调用。例:有5个人坐在一起,问第5个人多少岁?他说比第4个人大2岁。问第4个人岁数,他说比第3个人大2岁。问第3个人,又说比第2个人大2岁。问第2个人,说比第1个人大2岁。最后问第1个人,他说是10岁。请问第5个人多大。显然,这是一个递归问题。要求第5个人的年龄,就必须先知道第4个人的年龄,而第4个人的年龄也不知道,要求第4个人的年龄必须先知道第3个人的年龄,而第3个人的年龄又取决于第2个人的年龄,第2个人的年龄取决于第1个人的年龄。而且每一个人的年龄都比其前1个人的年龄大2。即:

第78页,课件共93页,创作于2023年2月age(5)=age(4)+2age(4)=age(3)+2age(3)=age(2)+2age(2)=age(1)+2age(1)=10可以用式子表述如下:age(n)=10n=1age(n-1)+2n>1下图表示求第5个人年龄的过程第79页,课件共93页,创作于2023年2月#include<iostream.h>//ex209.cppage(intn){intc;if(n==1)c=10;elsec=age(n-1)+2;return(c);}voidmain(){cout<<age(5)<<endl;}第80页,课件共93页,创作于2023年2月函数调用过程如下图例2.1.9注意函数为实形较好voidmain(){intn;floaty;cin>>n;y=rfact(n);cout<<y<<endl;}第81页,课件共93页,创作于2023年2月例ex210.cpp#include<iostream.h>voidbin(intx){if(x/2>0)bin(x/2);cout<<(x%2);}voidmain(){bin(12);}其结果是以二进制形式输出整数n的值。第82页,课件共93页,创作于2023年2月例ex210.cpp(15)#include<iostream.h>intsub(intn){inta;if(n==1)return1;a=n+sub(n-1);returna;}voidmain(){inti=5;cout<<sub(i);}第83页,课件共93页,创作于2023年2月例ex212.cpp(8)#include<iostream.h>longfib(intn){if(n>2)return(fib(n-1)+fib(n-2));elsereturn1;}voidm

温馨提示

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

评论

0/150

提交评论