书签 分享 收藏 举报 版权申诉 / 34
上传文档赚钱

类型《Visual C++程序设计》课件第3章.ppt

  • 上传人(卖家):momomo
  • 文档编号:7385127
  • 上传时间:2023-12-16
  • 格式:PPT
  • 页数:34
  • 大小:659KB
  • 【下载声明】
    1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
    2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
    3. 本页资料《《Visual C++程序设计》课件第3章.ppt》由用户(momomo)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
    4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
    5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    Visual C+程序设计 Visual C+程序设计课件第3章 Visual C+ 程序设计 课件
    资源描述:

    1、 程序是计算机指令的序列,是用计算机语言来编写程序是计算机指令的序列,是用计算机语言来编写的,计算机语言通常被称为的,计算机语言通常被称为“程序语言程序语言”。程序程序=数据结构数据结构+算法算法 对于程序设计的初学者来说,首先要学会设计一个正对于程序设计的初学者来说,首先要学会设计一个正确的程序。一个正确的程序通常包括:书写正确与结果确的程序。一个正确的程序通常包括:书写正确与结果正确两个含义。除此之外,还应追求高质量:结构化程正确两个含义。除此之外,还应追求高质量:结构化程度高、可读性好、可靠性高、便于调试等。度高、可读性好、可靠性高、便于调试等。通常一个简单的程序设计一般包含以下几个步骤

    2、:通常一个简单的程序设计一般包含以下几个步骤:1分析问题,明确要求,建立数学模型。分析问题,明确要求,建立数学模型。2确定数据结构和算法确定数据结构和算法(有穷性、确定性、可执行性、有穷性、确定性、可执行性、有零个或多个输入、有一个或多个输出有零个或多个输入、有一个或多个输出)。3选择语言,编制程序。选择语言,编制程序。4调试程序。调试程序。5整理文档,编制说明。整理文档,编制说明。程序设计的基本目标是用算法对问题的原始数据进行程序设计的基本目标是用算法对问题的原始数据进行处理,从而获得所期望的效果。要做到这一点,就必须处理,从而获得所期望的效果。要做到这一点,就必须要掌握正确的程序设计方法和

    3、技术。要掌握正确的程序设计方法和技术。结构化程序设计方法是公认的面向过程编程应遵循的结构化程序设计方法是公认的面向过程编程应遵循的基本方法和原则。该方法包括:基本方法和原则。该方法包括:1 1只采用顺序结构、选择结构和循环结构这三种基只采用顺序结构、选择结构和循环结构这三种基本的程序控制结构来编制程序,从而使程序具有本的程序控制结构来编制程序,从而使程序具有“单入单入口和单出口口和单出口”良好的结构;良好的结构;2 2程序设计自顶向下;程序设计自顶向下;3 3用结构化流程图表示算法。用结构化流程图表示算法。1.声明语句声明语句 声明语句又称说明语句,它可以用来对程序中出现的各种名称进行声明。这

    4、些名称通常是表示变量、常量、函数、结构、类、对象等实际的标识符。如:char ch;/声明和定义char型变量 int count=1;/声明、定义和初始化int型变量const double PI=3.14159;/声明、定义和初始化double型变量 C+语言规定:一个实体的定义只能出现一次,而其声明却可以出现多次。但同一实体的多个声明必须在类型上保持一致。形式:形式:表达式;表达式;例如:例如:i+;sum=a+b;coutabendl;3.控制语句控制语句 控制语句用于完成一定的控制功能,以实现程序的各控制语句用于完成一定的控制功能,以实现程序的各种结构方式。种结构方式。C+语言有语言

    5、有9种控制语句,可分为三类:种控制语句,可分为三类:(1)条件判断语句:条件判断语句:if语句、语句、switch语句语句 (2)转向语句:转向语句:break语句、语句、continue语句、语句、goto语句、语句、return语句语句 (3)循环语句:循环语句:for语句、语句、while语句、语句、do-while语句语句2.表达式语句表达式语句4.空语句空语句 如:如:for(m=0;m1000;m+);形式形式:;作用作用:当程序中某个位置在语法上需要一条语句,而在语当程序中某个位置在语法上需要一条语句,而在语义上又不义上又不 要求执行任何动作时,可放上一条空语句。要求执行任何动作

    6、时,可放上一条空语句。一般适用于在循环语句中做空循环体;一般适用于在循环语句中做空循环体;5.复合语句复合语句 例如:例如:if(x=0)couta;coutb;形式:形式:变量定义变量定义 语句组语句组 作用:作用:当程序中某个位置在语法上只允许一条语句,而当程序中某个位置在语法上只允许一条语句,而在语义上要执行多条语句才能完成某个操作时,需要使在语义上要执行多条语句才能完成某个操作时,需要使用复合语句。用复合语句。常出现在选择、常出现在选择、循环语句中循环语句中顺序结构:按照语句出现的先后顺序依次执行。语句1语句2其中的语句可以是其中的语句可以是输入输入/出、表达式、出、表达式、空或复合等

    7、空或复合等【例3.1】输入两个整数给变量x和y,然后交换x和y的值。选择结构是根据条件的值来判断程序的流向。选择结构是根据条件的值来判断程序的流向。C+中,中,提供两类选择控制语句提供两类选择控制语句:if语句,实现语句,实现n分支,要求分支,要求n个表达式个表达式;switch语句,实现多分支;只用语句,实现多分支;只用1个表达式。个表达式。3.4.1 if 语句语句 表达式 语句 false true if语句的三种形式语句的三种形式:形式形式1 1:if(表达式表达式)语句语句 作用:作用:当表达式为真当表达式为真(非非0)时,执时,执行表达式后面的语句行表达式后面的语句,否则绕过该语否

    8、则绕过该语句,而执行其后面的语句。句,而执行其后面的语句。#include iostream.hvoid main()int x,y,t;cout输入输入 x yxy;if(xy)t=x;x=y;y=t;/x与与y交换交换 coutxyendl;程序:程序:【例例3.2】已知两个数已知两个数x和和y,比较它们的大小比较它们的大小,使得使得x大于大于y。if(xy)t=x;x=y;y=t;coutxy)max=x;min=y;else max=y;min=x;形式形式3:if(表达式表达式1)语句语句1 else if(表达式表达式2)语句语句2 else if(表达式表达式n)语句语句n el

    9、se 语句语句n+1作用:作用:当表达式当表达式1的值为的值为true时,执行语句时,执行语句1;否则判断当;否则判断当表达式表达式2的值为的值为true时执行语句时执行语句2;依此类推,若表达式的;依此类推,若表达式的值都为值都为false,则执行语句,则执行语句n+1。【例例3.4】已知成绩已知成绩mark,要求显示对应五级制的评定,要求显示对应五级制的评定,评定条件:评定条件:if(mark=90)cout 优优;else if(80=mark&mark90)cout 良良;else if(70=mark&mark80)cout 中中;else if(60=mark&mark70)cou

    10、t 及格及格;else cout=60)cout=70)cout=80)cout=90)cout 优优;else coutyz。可用一个可用一个IF语句和一个嵌套的语句和一个嵌套的IF语句实现。语句实现。if(xy)t=x;x=y;y=t;if(yz)t=y;y=z;z=t;if(xy)t=x;x=y;y=t;3.4.2 switch语句语句执行顺序:执行顺序:当表达式的值与某个常量表达式的值相等时,当表达式的值与某个常量表达式的值相等时,则执行该常量表达式后面相应的语句,若使用了则执行该常量表达式后面相应的语句,若使用了break,则则执行完该语句后便退出执行完该语句后便退出switch语句

    11、;否则,还要依次执行语句;否则,还要依次执行其后面的各条语句。若找不到相匹配的常量表达式,则执其后面的各条语句。若找不到相匹配的常量表达式,则执行行default后面的语句。后面的语句。必须为整型或字符型形式:形式:switch(表达式)表达式)case 常量表达式常量表达式1:语句组语句组1;break;case 常量表达式常量表达式2:语句组语句组2;break;case 常量表达式常量表达式n:语句组语句组n;break;default:语句组语句组n+1 2a+1 (1=a2)【例例3.6】用用switch结构求分段函数结构求分段函数b=a2-3 (2=a=1&a=2&a4:.defa

    12、ult:b=a;思考:思考:若省去若省去break语句语句,情况会怎样?,情况会怎样?C+语言提供了三种循环语句,语言提供了三种循环语句,流程图如下:流程图如下:whilewhile(表达式表达式)语句语句do 语句语句while(表达式表达式);for(表达式表达式1;表达式表达式2;表达式表达式3)语句语句do-whilefor【例例3.7】用上述三种循环语句求用上述三种循环语句求 while语句:1001nsnn=1;s=0;while(n=100)s=s+n;n=n+1;n=1;s=0;do s=s+n;n=n+1;while(n=100);do-while语句:for语句:for(n

    13、=1,s=0;nx;while(t1e-5)e+=t;t=t*x/i;i+;int i(1);float t(1),e(0),x;cinx;for(;t1e-5;)e+=t;t=t*x/i;i+;for(i=1,t=1,e=0;t1e-5;e+=t,t=t*x/i,i+);分号不能省略空语句3.5.3 循环的嵌套循环的嵌套循环的嵌套:循环的嵌套:循环体内包含另一个完整的循环结构。循环体内包含另一个完整的循环结构。三种循环语句皆可以相互嵌套三种循环语句皆可以相互嵌套 。【例例3.9】打印九九乘法表打印九九乘法表#include iostream.hvoid main()coutt 九九乘法表九九

    14、乘法表endl;coutt-endl;for(int i=1;i=9;i+)for(int j=1;j=9;j+)coutij=i*jt;cout0;m-)if(m%6=0)break;coutm0;m-)if(m%6=0)continue;coutmm;max=m;/第一个数假设为最大数 while(cinm,m!=0)if(mmax)max=m;max=0;/设一个较小的数为最大值的初值 for(int i=0;im;if(mmax)max=m;以输入0作为结束,输入数的个数未知 输入数的个数已知 2.最大公约数最大公约数 辗转相除法while(r=m%n)!=0)m=n;n=r;cout

    15、n n=n-m nm m、n为公约数 m=nwhile(m!=n)if(mn)m-=n;else n-=m;m n r12 5 2 5 2 1 2 1 0【例例3.12】用辗转相除法求两自然数的最大公约数。用辗转相除法求两自然数的最大公约数。算法思想:算法思想:(1)对于已知两数对于已知两数m,n,使得使得mn(2)m除以除以n得余数得余数r(3)若若r=0,则,则n为最大公约数,结束;否则执行为最大公约数,结束;否则执行(4)(4)n m,r n,再重复执行,再重复执行(2)#include iostream.hvoid main()int m,n,t,r;cout请输入请输入m n:mn;

    16、if(mn)t=m;m=n;n=t;while(r=m%n)!=0)m=n;n=r;cout“最大公约数为最大公约数为:mendl;程序:程序:【例例3.13】求求2100之间的素数,并以每行显示之间的素数,并以每行显示8个质数。个质数。质数:质数:除除1 1和它本身外,不能被其他任何一个整数整除的自然数。和它本身外,不能被其他任何一个整数整除的自然数。分析:分析:(1)判别某数判别某数m是否为素数最简单的方法是:用是否为素数最简单的方法是:用i=2,3,m-1逐逐个判别个判别m能否被能否被j整除,只要有一个能整除,整除,只要有一个能整除,m不是素数,退出循环;不是素数,退出循环;若都不能整除

    17、,则若都不能整除,则m是素数。可进一步证明:若是素数。可进一步证明:若m不能被不能被3.质数质数 m2 .for(i=2;m%i!=0;i+);if(i=m).k=sqrt(m);for(i=2;ik).中任一整数整除,则中任一整数整除,则m为质数。为质数。(2)每行显示每行显示8个,只要对求得的质数计数,满个,只要对求得的质数计数,满8个换行。个换行。程序:程序:#include iostream.hvoid main()int m,i,countm(0);bool tag;for(m=2;m=100;m+)tag=false;/tag初值为初值为false for(i=2;i=m-1;i+

    18、)if(m%i=0)tag=true;if(tag=false)/等价于等价于 if(!tag)coutmt;countm+;if(countm%8=0)cout=1e-5)sinx+=t;t=-t*x*x/(i+1)*(i+2);i=i+2;【例例3.14】计算计算sin(x)的值,公式为:的值,公式为:当第当第n项的绝对值小于项的绝对值小于10-5时结束。时结束。分析:分析:关键是找部分级数和的通项,如下表示:关键是找部分级数和的通项,如下表示:ti+2=-1*ti*x*x/(i+1)*(i+2)i=1,3,5,75.穷举法穷举法【例例3.15】百元买百鸡问题。假定小鸡每只百元买百鸡问题。

    19、假定小鸡每只5角,公鸡每角,公鸡每只只2元,母鸡每只元,母鸡每只3元。现有元。现有100元钱要买元钱要买100只鸡,列出只鸡,列出所有可能的购鸡方案。所有可能的购鸡方案。分析:分析:(1)设母鸡、公鸡、小鸡各为设母鸡、公鸡、小鸡各为x、y、z只,列出方程为:只,列出方程为:x+y+y=1003x+2y+0.5z=100三个未知数,两个方程,此题有若干个整数解。三个未知数,两个方程,此题有若干个整数解。(2)采用试凑法采用试凑法(也称为穷举法或枚举法也称为穷举法或枚举法)来实现,即将来实现,即将可能出现的各种情况一一罗列测试,判断是否满足条件,可能出现的各种情况一一罗列测试,判断是否满足条件,采

    20、用循环结构来实现。采用循环结构来实现。用三重循环来实现用三重循环来实现:for(x=0;x33;x+)for(y=0;y51;y+)for(z=0;z201;z+)if(3*x+2*y+0.5*z)=100)&(x+y+z)=100)coutsetw(9)xsetw(9)ysetw(9)zendl;用二重循环来实现用二重循环来实现:for(x=0;x=33;x+)for(y=0;y=50;y+)z=100-x-y;if(3*x+2*y+0.5*z)=100)coutsetw(9)xsetw(9)ysetw(9)z1e-5);思考思考:若迭代最高次数若迭代最高次数M后,即使达不到精度也要输出结果

    21、后,即使达不到精度也要输出结果,程序该如何修改?程序该如何修改?6.分类统计分类统计int alpha(0),num(0),ch(0),word(0);while(c=getchar()!=EOF)/EOF代表文本结束符代表文本结束符,对应输入对应输入Ctrl+Z if(c=|c=t|c=n)word+;if(c=a&c=A&c=0&c=9)num+;else ch+;【例例3.17】对输入一串字符,统计其中单词的个数、字母个数、对输入一串字符,统计其中单词的个数、字母个数、数字个数。规定单词之间用一个空白符分开(空白符包括空格数字个数。规定单词之间用一个空白符分开(空白符包括空格符、水平制表

    22、符、换行符)。以符、水平制表符、换行符)。以z表示输入结束。表示输入结束。分析:分析:(1)统计单词的个数,可通过统计空白符的个数得到。)统计单词的个数,可通过统计空白符的个数得到。(2)由于标准输入流)由于标准输入流cin输入时会把空白符作为输入结束符,输入时会把空白符作为输入结束符,所以应使用所以应使用getchar()函数逐一读取字符,该函数必须函数逐一读取字符,该函数必须用用”stdio.h”。习题三习题三 1.选择题在书本完成选择题在书本完成 2.三三1、2、3、6 四四 2、5、8、9实验实验3:顺序结构顺序结构 1.掌握基本数据类型及常量、变量、运算符和表达式的使用。掌握基本数据

    23、类型及常量、变量、运算符和表达式的使用。2.掌握掌握Visual C+程序中输入程序中输入/输出数据的基本方法。输出数据的基本方法。3.掌握编译预处理命令的使用。掌握编译预处理命令的使用。4.能阅读、分析、调试简单的程序。能阅读、分析、调试简单的程序。5.理解简单的理解简单的C+程序结构,能设计简单的顺序结构程序。程序结构,能设计简单的顺序结构程序。实验实验4:选择控制结构选择控制结构 1.熟练掌握关系及逻辑表达式在程序设计中的灵活运用。熟练掌握关系及逻辑表达式在程序设计中的灵活运用。2.熟悉利用熟悉利用if语句的各种形式实现不同分支选择的方法。语句的各种形式实现不同分支选择的方法。3.掌握使用掌握使用switch语句,实现多分支选择的方法。语句,实现多分支选择的方法。

    展开阅读全文
    提示  163文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:《Visual C++程序设计》课件第3章.ppt
    链接地址:https://www.163wenku.com/p-7385127.html

    Copyright@ 2017-2037 Www.163WenKu.Com  网站版权所有  |  资源地图   
    IPC备案号:蜀ICP备2021032737号  | 川公网安备 51099002000191号


    侵权投诉QQ:3464097650  资料上传QQ:3464097650
       


    【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。

    163文库