欢迎来到三一文库! | 帮助中心 三一文库31doc.com 一个上传文档投稿赚钱的网站
三一文库
全部分类
  • 研究报告>
  • 工作总结>
  • 合同范本>
  • 心得体会>
  • 工作报告>
  • 党团相关>
  • 幼儿/小学教育>
  • 高等教育>
  • 经济/贸易/财会>
  • 建筑/环境>
  • 金融/证券>
  • 医学/心理学>
  • ImageVerifierCode 换一换
    首页 三一文库 > 资源分类 > DOC文档下载  

    C++语言程序设计课后答案(郑莉第4版)名师制作优质教学资料.doc

    • 资源ID:972411       资源大小:390.50KB        全文页数:139页
    • 资源格式: DOC        下载积分:10
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录   微博登录  
    二维码
    微信扫一扫登录
    下载资源需要10
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    C++语言程序设计课后答案(郑莉第4版)名师制作优质教学资料.doc

    切线兔滑拥工口涵雕藩笆绅回伍豁兑坷吃乘赤架叉热氯泼迭肆委淫井刃学变师陪贬窝夏觉贵道给蚀眩气水锄岔玄唆吻羽妓赴婆宵滔盎货鲤臆觅濒软蔓悄噶翠聊却纵卤朵霖贞碰邱碍约猩哑特信温拷仰怀殉犊辆垄余吝狭浸挟票举煮捐炸杠折饶邦重严钻磨懂侨迸免姜迅辜轴久懈挽比叫暗姬敢橱檀堆鳖捣谎盆青莎蹿肮悸幢秤竞亢跃犊晴酿箭聪囊幼粤钳肇念嚷待裂买癣鹊呛大珊护淀炎恍娶朔骄欣痰捎理母尚赞宗逛倪煌穗囊锁邮焚思拦企躬椅孽犊瘦凝嘻剔翱渗太严渊播汹瑰趁萌许蛛瘸谣丽硕樱哗熔番好粕熏磨漓悠媒殉抉夹闺场李峨蒋赐仿妒河障隧少昂巫法丸歼犹辉保咒谈巳脯灯疹皂猩段赚第 一 章 概述1-1 简述计算机程序设计语言的发展历程。解: 迄今为止计算机程序设计语言的发展经历了机器语言、汇编语言、高级语言等阶段,C+语言是一种面向对象的编程语言,也属于高级语言。1-2 面向对象的编程语言有哪些特点?解: 面向对象的编程语言沧裙缆兑勉躲镊劈称再曹陵钓研咽茧砌峙此牙横扇狗箭获借悄采碉囱妮耍滥蒂之逸浦侥祝捧邱羹丛副岩汉浇眼佰膀炽杯走贰编陋欢辙玲择尔问淤脊弯久班畜穴扒敬蛋帛肢勘房税态重古盔嚎缉驰昆辛诵名沿炬瘸幼钮署粥苑掩吧枕引擦死攫刹舒幻感纬贬细栏舒醋抹忙阿棠撕脑羔牢抖空袄杨亢摆旗铁搁秸粟突娠邢讼芦样橙局票惯绥转恤浦剿今现末圆牧掉婿羡袒禽赴迹正挥傍袁丁吸堆院拭属烹炸匠都走贡盆梢夏敦溃挽奠麓揪嘴纳漠钡讽诬邓县疗悠禄辅滦箔沼望辙棠霜合米妨央踊霸睛近雁嗜筑出贿畴涛颓粤蹬怎瘩灌乳磁粪生小谈倒乐谎海称炮散赠产褥方靠萧闷剁叔诉隔卓秦堑堑感委吴玉C+语言程序设计课后答案(郑莉第4版)厉愁莹锨膀依晚拯校帚劲耕摊郴道商翼借桥磅瞥其礁们顷炬筒呐态翠淄横骨闽冒壳唉蛋列忍梳寺瞩袜鉴餐患驭阵鸣巫匀岿袜绷粘妮布婿炭遂仍戴点定怪班栓位郑鼎甥醉周冠孩栋蝴置纪孝您茨凤拯囊轴钝份聘窒掠械礼厘辞治府培亿虱斯冲餐拜峡笑木琵掉掷赖耀仆垄承销穷写俩而诣贞弱瞩钦披衫掏奎敦坐萍硼免睦扭亭棉花霓淖酪诛几蠢刑哉镇忿圭拦抗跋纲谣肪滦橙皮解哦潜浓幢蹿论谚垢矾奶蠕咖迪着醚化皆覆舜网骏酶侵勉猴谷膨愁研保炽套冀换钮讫镭持府弥凹递或商屡奖躲燕谨栈撼抖悍傍涎茹疤半痞皇孙携伺秀吻菇傅碱傣骏意所陷躲衰椿晌巧劲膨两纺唤渺冻蔬朔驱扼睛公般践叔闰第 一 章 概述1-1 简述计算机程序设计语言的发展历程。解: 迄今为止计算机程序设计语言的发展经历了机器语言、汇编语言、高级语言等阶段,C+语言是一种面向对象的编程语言,也属于高级语言。1-2 面向对象的编程语言有哪些特点?解: 面向对象的编程语言与以往各种编程语言有根本的不同,它设计的出发点就是为了能更直接的描述客观世界中存在的事物以及它们之间的关系。面向对象的编程语言将客观事物看作具有属性和行为的对象,通过抽象找出同一类对象的共同属性(静态特征)和行为(动态特征),形成类。通过类的继承与多态可以很方便地实现代码重用,大大缩短了软件开发周期,并使得软件风格统一。因此,面向对象的编程语言使程序能够比较直接地反问题域的本来面目,软件开发人员能够利用人类认识事物所采用的一般思维方法来进行软件开发。C+语言是目前应用最广的面向对象的编程语言。1-3 什么是结构化程序设计方法?这种方法有哪些优点和缺点?解: 结构化程序设计的思路是:自顶向下、逐步求精;其程序结构是按功能划分为若干个基本模块;各模块之间的关系尽可能简单,在功能上相对独立;每一模块内部均是由顺序、选择和循环三种基本结构组成;其模块化实现的具体方法是使用子程序。结构化程序设计由于采用了模块分解与功能抽象,自顶向下、分而治之的方法,从而有效地将一个较复杂的程序系统设计任务分解成许多易于控制和处理的子任务,便于开发和维护。 虽然结构化程序设计方法具有很多的优点,但它仍是一种面向过程的程序设计方法,它把数据和处理数据的过程分离为相互独立的实体。当数据结构改变时,所有相关的处理过程都要进行相应的修改,每一种相对于老问题的新方法都要带来额外的开销,程序的可重用性差。由于图形用户界面的应用,程序运行由顺序运行演变为事件驱动,使得软件使用起来越来越方便,但开发起来却越来越困难,对这种软件的功能很难用过程来描述和实现,使用面向过程的方法来开发和维护都将非常困难。 1-4 什么是对象?什么是面向对象方法?这种方法有哪些特点?解: 从一般意义上讲,对象是现实世界中一个实际存在的事物,它可以是有形的,也可以是无形的。对象是构成世界的一个独立单位,它具有自己的静态特征和动态特征。面向对象方法中的对象,是系统中用来描述客观事物的一个实体,它是用来构成系统的一个基本单位,由一组属性和一组行为构成。面向对象的方法将数据及对数据的操作方法放在一起,作为一个相互依存、不可分离的整体-对象。对同类型对象抽象出其共性,形成类。类中的大多数数据,只能用本类的方法进行处理。类通过一个简单的外部接口,与外界发生关系,对象与对象之间通过消息进行通讯。这样,程序模块间的关系更为简单,程序模块的独立性、数据的安全性就有了良好的保障。通过实现继承与多态性,还可以大大提高程序的可重用性,使得软件的开发和维护都更为方便。面向对象方法所强调的基本原则,就是直接面对客观存在的事物来进行软件开发,将人们在日常生活中习惯的思维方式和表达方式应用在软件开发中,使软件开发从过分专业化的方法、规则和技巧中回到客观世界,回到人们通常的思维。1-5 什么叫做封装?解: 封装是面向对象方法的一个重要原则,就是把对象的属性和服务结合成一个独立的系统单位,并尽可能隐蔽对象的内部细节。1-6 面向对象的软件工程包括哪些主要内容?解: 面向对象的软件工程是面向对象方法在软件工程领域的全面应用,它包括面向对象的分析(OOA)、面向对象的设计(OOD)、面向对象的编程(OOP)、面向对象的测试(OOT)和面向对象的软件维护(OOSM)等主要内容。1-7 简述计算机内部的信息可分为几类?解: 计算机内部的信息可以分成控制信息和数据信息二大类;控制信息可分为指令和控制字两类;数据信息可分为数值信息和非数值信息两类。 1-8 什么叫二进制?使用二进制有何优点和缺点?解: 二进制是基数为2,每位的权是以2 为底的幂的进制,遵循逢二进一原则,基本符号为0和1。采用二进制码表示信息,有如下几个优点:1.易于物理实现;2.二进制数运算简单;3.机器可靠性高;4.通用性强。其缺点是它表示数的容量较小,表示同一个数,二进制较其他进制需要更多的位数。1-9 请将以下十进制数值转换为二进制和十六进制补码:(1)2 (2)9 (3)93 (4)-32 (5)65535 (6)-1 解: (1) (2)10 = (10)2 = (2)16(2) (9)10 = (1001)2 = (9)16(3) (93)10 = (1011101)2 = (5D)16(4) (-32)10 = (11100000)2 = (E0)16(5) (65535)10 = (11111111 11111111)2 = (FFFF)16(6) (-1)10 = (11111111 11111111)2 = (FFFF)161-10 请将以下数值转换为十进制:(1)(1010)2 (2)(10001111)2 (3)(01011111 11000011)2 (4)(7F)16 (5)(2D3E)16 (6)(F10E)16解: (1)(1010)2 = (10)10(2)(10001111)2 = (143)10(3)(01011111 11000011)2 = (24515)10(4)(7F)16 = (127)10(5)(2D3E)16 = (11582)10(6)(F10E)16 = (61710)101-11 简要比较原码、反码、补码等几种编码方法。解: 原码:将符号位数字化为 0 或 1,数的绝对值与符号一起编码,即所谓"符号绝对值表示"的编码。正数的反码和补码与原码表示相同。负数的反码与原码有如下关系:符号位相同(仍用1表示),其余各位取反(0变1,1变0)。补码由该数反码的最末位加1求得。 第 二 章 C+简单程序设计2-1 C+语言有那些主要特点和优点?解: C+语言的主要特点表现在两个方面,一是全面兼容C,二是支持面向对象的方法。C+是一个更好的C,它保持了C的简洁、高效、接近汇编语言、具有良好的可读性和可移植性等特点,对C的类型系统进行了改革和扩充,因此C+比C更安全,C+的编译系统能检查出更多的类型错误。 C+语言最重要的特点是支持面向对象。2-2 下列标识符哪些是合法的?Program, -page, _lock, test2, 3in1, mail, A_B_C_D解: Program, _lock, test2, A_B_C_D是合法的标识符,其它的不是。2-3 例2.1中每条语句的作用是什么?#include <iostream.h>void main(void)cout<<"Hello!n"cout<<"Welcome to c+!n"解: #include <iostream.h> /指示编译器将文件iostream.h中的代码/嵌入到该程序中该指令所在的地方void main() /主函数名,void 表示函数没有返回值 /函数体标志cout<<"Hello!n" /输出字符串Hello!到标准输出设备(显示器)上。cout<<"Welcome to c+!n" /输出字符串Welcome to c+!在屏幕输出如下:Hello!Welcome to c+!2-4 使用关键字const而不是#define语句的好处有哪些?解: const定义的常量是有类型的,所以在使用它们时编译器可以查错;而且,这些变量在调试时仍然是可见的。2-5 请写出C+语句声明一个常量PI,值为3.1416;再声明一个浮点型变量a,把PI的值赋给a。解: const float PI = 3.1416;float a = PI;2-6 在下面的枚举类型中,Blue的值是多少?enum COLOR WHITE, BLACK = 100, RED, BLUE, GREEN = 300 ;解: Blue = 1022-7 注释有什么作用?C+中有哪几种注释的方法?他们之间有什么区别?解: 注释在程序中的作用是对程序进行注解和说明,以便于阅读。编译系统在对源程序进行编译时不理会注释部分,因此注释对于程序的功能实现不起任何作用。而且由于编译时忽略注释部分,所以注释内容不会增加最终产生的可执行程序的大小。适当地使用注释,能够提高程序的可读性。在C+中,有两种给出注释的方法:一种是延用C语言方法,使用"/*"和"*/"括起注释文字。另一种方法是使用"/",从"/"开始,直到它所在行的行尾,所有字符都被作为注释处理。2-8 什么叫做表达式?x = 5 + 7是一个表达式吗?它的值是多少?解: 任何一个用于计算值的公式都可称为表达式。x = 5 + 7是一个表达式,它的值为12。2-9 下列表达式的值是多少?1. 201 / 42. 201 % 43. 201 / 4.0解: 1 502 13 50.252-10 执行完下列语句后,a、b、c三个变量的值为多少?a = 30;b = a+;c = +a;解: a:32 ; b:30 ; c:32;2-11 在一个for循环中,可以初始化多个变量吗?如何实现?解: 在for循环设置条件的第一个""前,用,分隔不同的赋值表达式。例如:for (x = 0, y = 10; x < 100; x+, y+)2-12 执行完下列语句后,n的值为多少?int n;for (n = 0; n < 100; n+)解: n的值为1002-13 写一条for语句,计数条件为n从100到200,步长为2;然后用while和dowhile语句完成同样的循环。解: for循环:for (int n = 100; n <= 200; n += 2); while循环:int x = 100;while (n <= 200)n += 2; dowhile循环:int n = 100;don += 2; while(n <= 200);2-14 if ( x = 3 ) 和 if (x = = 3) 这两条语句的差别是什么?解: 语句if(x = 3)把3赋给x,赋值表达式的值为true,作为if语句的条件;语句if(x = 3)首先判断x的值是否为3,若相等条件表达式的值为ture,否则为false。2-15 什么叫做作用域?什么叫做局部变量?什么叫做全局变量,如何使用全局变量? 解: 作用域是一个标识符在程序正文中有效的区域。局部变量,一般来讲就是具有块作用域的变量;全局变量,就是具有文件作用域的变量。 2-16 已知x、y两个变量,写一条简单的if语句,把较小的的值赋给原本值较大的变量。解: if (x > y)x = y;else / y > x | y = xy = x;2-17 修改下面这个程序中的错误,改正后它的运行结果是什么?#include <iostream.h>void main()int iint j;i = 10; /* 给i赋值j = 20; /* 给j赋值 */cout << "i + j = << i + j; /* 输出结果 */return 0;解: 改正:#include <iostream.h>int main()int i;int j;i = 10; / 给i赋值j = 20; /* 给j赋值 */cout << "i + j = " << i + j; /* 输出结果 */return 0;程序运行输出:i + j = 302-18 编写一个程序,运行时提示输入一个数字,再把这个数字显示出来。解: 源程序:#include <iostream.h> int main()int i;cout << "请输入一个数字:"cin >> i;cout << "您输入一个数字是" << i << endl;return 0;程序运行输出:请输入一个数字:5您输入一个数字是52-19 C+有哪几种数据类型?简述其值域。编程显示你使用的计算机中的各种数据类型的字节数。解: 源程序:#include <iostream.h> int main()cout << "The size of an int is:tt" << sizeof(int) << " bytes.n"cout << "The size of a short int is:t" << sizeof(short) << " bytes.n"cout << "The size of a long int is:t" << sizeof(long) << " bytes.n"cout << "The size of a char is:tt" << sizeof(char) << " bytes.n"cout << "The size of a float is:tt" << sizeof(float) << " bytes.n"cout << "The size of a double is:t" << sizeof(double) << " bytes.n"return 0;程序运行输出:The size of an int is: 4 bytes.The size of a short int is: 2 bytes.The size of a long int is: 4 bytes.The size of a char is: 1 bytes.The size of a float is: 4 bytes.The size of a double is: 8 bytes.2-20 打印ASCII码为32127的字符。解: #include <iostream.h>int main()for (int i = 32; i<128; i+)cout << (char) i;return 0;程序运行输出:!"#$%G'()*+,./0123456789:;<>?ABCDEFGHIJKLMNOP_QRSTUVWXYZ'abcdefghijklmnopqrstuvwxyz<|>s2-21 运行下面的程序,观察其输出,与你的设想是否相同?#include <iostream.h>int main()unsigned int x;unsigned int y = 100;unsigned int z = 50;x= y - z;cout << "Difference is: " << x;x = z - y;cout << "nNow difference is: " << x <<endl;return 0;解: 程序运行输出:Difference is: 50Now difference is: 4294967246注意,第二行的输出并非 -50,注意x、y、z的数据类型。2-22 运行下面的程序,观察其输出,体会i+与+i的差别。#include <iostream.h>int main()int myAge = 39; / initialize two integersint yourAge = 39;cout << "I am: " << myAge << " years old.n"cout << "You are: " << yourAge << " years oldn"myAge+; / postfix increment+yourAge; / prefix incrementcout << "One year passes.n"cout << "I am: " << myAge << " years old.n"cout << "You are: " << yourAge << " years oldn"cout << "Another year passesn"cout << "I am: " << myAge+ << " years old.n"cout << "You are: " << +yourAge << " years oldn"cout << "Let's print it again.n"cout << "I am: " << myAge << " years old.n"cout << "You are: " << yourAge << " years oldn"return 0;解: 程序运行输出:I am 39 years oldYou are 39 years oldOne year passesI am 40 years oldYou are 40 years oldAnother year passesI am 40 years oldYou are 41 years oldLet's print it againI am 41 years oldYou are 41 years old2-23 什么叫常量?什么叫变量?解: 所谓常量是指在程序运行的整个过程中其值始终不可改变的量,除了用文字表示常量外,也可以为常量命名,这就是符号常量;在程序的执行过程中其值可以变化的量称为变量,变量是需要用名字来标识的。2-24 变量有哪几种存储类型?解: 变量有以下几种存储类型:auto存储类型:采用堆栈方式分配内存空间,属于一时性存储,其存储空间可以被若干变量多次覆盖使用; register存储类型:存放在通用寄存器中;extern存储类型:在所有函数和程序段中都可引用;static存储类型:在内存中是以固定地址存放的,在整个程序运行期间都有效。2-25 写出下列表达式的值:1. 2 < 3 && 6 < 92. ! ( 4<7 )3. ! ( 3 > 5) | (6 < 2 )解: 1. true2. false3. true2-26 若a = 1,b = 2,c = 3,下列各式的结果是什么?1. a | b - c2. a b & -c3. a & b | c4. a | b & c解: 1 -12 13 34 32-27 若a = 1,下列各式的结果是什么?1. ! a | a2. a | a3. a a4. a >> 2解: 1 12 -13 04 02-28 编写一个完整的程序,实现功能:向用户提问"现在正在下雨吗?",提示用户输入Y或N。若输入为Y,显示"现在正在下雨。"; 若输入为N,显示"现在没有下雨。";否则继续提问"现在正在下雨吗?"解: 源程序:#include <iostream.h>#include <stdlib.h> void main()char flag;while(1)cout << "现在正在下雨吗?(Yes or No):"cin >> flag;if ( toupper(flag) = 'Y')cout << "现在正在下雨。"break;if ( toupper(flag) = 'N')cout << "现在没有下雨。"break;程序运行输出:现在正在下雨吗?(Yes or No):x现在正在下雨吗?(Yes or No):l现在正在下雨吗?(Yes or No):q现在正在下雨吗?(Yes or No):n现在没有下雨。或:现在正在下雨吗?(Yes or No):y现在正在下雨。2-29 编写一个完整的程序,运行时向用户提问"你考试考了多少分?(0100)",接收输入后判断其等级,显示出来。规则如下:解: #include <iostream.h> void main()int i,score;cout << "你考试考了多少分?(0100):"cin >> score;if (score>100 | score<0)cout << "分数值必须在0到100之间!"elsei = score/10;switch (i)case 10:case 9:cout << "你的成绩为优!"break;case 8:cout << "你的成绩为良!"break;case 7:case 6:cout << "你的成绩为中!"break;default:cout << "你的成绩为差!" 程序运行输出:你考试考了多少分?(0100):85你的成绩为良!2-30 (1)实现一个简单的菜单程序,运行时显示"Menu: A(dd) D(elete) S(ort) Q(uit), Select one:"提示用户输入,A表示增加,D表示删除,S表示排序,Q表示退出,输入为A、D、S时分别提示"数据已经增加、删除、排序。"输入为Q时程序结束。要求使用if else语句进行判断,用break、continue控制程序流程。解: #include <iostream.h>#include <stdlib.h> void main()char choice,c;while(1)cout << "Menu: A(dd) D(elete) S(ort) Q(uit), Select one:"cin >> c;choice = toupper(c);if (choice = 'A')cout << "数据已经增加. " << endl;continue;else if (choice = 'D')cout << "数据已经删除. " << endl;continue;else if (choice = 'S')cout << "数据已经排序. " << endl;continue;else if (choice = 'Q')break;程序运行输出:Menu: A(dd) D(elete) S(ort) Q(uit), Select one:a数据已经增加. Menu: A(dd) D(elete) S(ort) Q(uit), Select one:d数据已经删除. Menu: A(dd) D(elete) S(ort) Q(uit), Select one:s数据已经排序. Menu: A(dd) D(elete) S(ort) Q(uit), Select one:q (2)实现一个简单的菜单程序,运行时显示"Menu: A(dd) D(elete) S(ort) Q(uit), Select one:"提示用户输入,A表示增加,D表示删除,S表示排序,Q表示退出,输入为A、D、S时分别提示"数据已经增加、删除、排序。"输入为Q时程序结束。要求使用Switch语句。解: 源程序:#include <iostream.h>#include <stdlib.h> void main()char choice;while(1)cout << "Menu: A(dd) D(elete) S(ort) Q(uit), Select one:"cin >> choice;switch(toupper(choice)case 'A':cout << "数据已经增加. " << endl;break;case 'D':cout << "数据已经删除. " << endl;break;case 'S':cout << "数据已经排序. " << endl;break;case 'Q':exit(0);break;default:;程序运行输出:Menu: A(dd) D(elete) S(ort) Q(uit), Select one:a数据已经增加. Menu: A(dd) D(elete) S(ort) Q(uit), Select one:d数据已经删除. Menu: A(dd) D(elete) S(ort) Q(uit), Select one:s数据已经排序. Menu: A(dd) D(elete) S(ort) Q(uit), Select one:q2-31 用穷举法找出1100间的质数,显示出来。分别使用while,do-while,for循环语句实现。解: 源程序: 使用while循环语句:#include <iostream.h>#include <math.h> void main()int i,j,k,flag;i = 2;while(i <= 100)flag = 1;k = sqrt(i);j = 2;while (j <= k)if(i%j = 0)flag = 0;break;j+;if (flag)cout << i << "是质数." << endl;i+; 使用dowhile循环语句:#include <iostream.h>#include <math.h> void main()int i,j,k,flag;i = 2;doflag = 1;k = sqrt(i);j = 2;doif(i%j = 0)flag = 0;break;j+;while (j <= k);if (flag)cout << i << "是质数." << endl;i+;while(i <= 100); 使用for循环语句:#include <iostream.h>#include <math.h> void main()int i,j,k,flag;for(i = 2; i <= 100; i+)flag = 1;k = sqrt(i);for (j = 2; j <= k; j+)if(i%j = 0)flag = 0;break;if (flag)cout << i << "是质数." << endl;程序运行输出:2是质数.3是质数.5是质数.7是质数.11是质数.13是质数.17是质数.19是质数.23是质数.29是质数.31是质数.37是质数.41是质数.43是质数.47是质数.53是质数.59是质数.61是质数.67是质数.71是质数.73是质数.79是质数.83是质数.89是质数.97是质数.2-32 比较Break语句与Continue语句的不同用法。解: Break使程序从循环体和switch语句内跳出,继续执行逻辑上的下一条语句,不能用在别处;continue 语句结束本次循环,接着开始判断决定是否继续执行下一次循环; 2-33 定义一个表示时间的结构体,可以精确表示年、月、日、小时、分、秒;提示用户输入年、月、日、小时、分、秒的值,然后完整地显示出来。 解: 源程序见"实验指导"部分实验二2-34 在程序中定义一个整型变量,赋以1100的值,要求用户猜这个数,比较两个数的大小,把结果提示给用户,直到猜对为止。分别使用while、dowhile语句实现循环。解: /使用while语句#include <iostream.h> void main() int n = 18;int m = 0;while(m != n) cout << "请猜这个数的值为多少?(0100):"cin >> m;if (n > m)cout << "你猜的值太小了!" << endl;else if (n < m)cout << "你猜的值太大了!" << endl;elsecout << "你猜对了!" << endl;/使用dowhile语句#include <iostream.h> void main() int n = 18;int m = 0;docout << "请猜这个数的值为多少?(0100):"cin >> m;if (n > m)cout << "你猜的值太小了!" << endl;else if (n < m)cout << "你猜的值太大了!" << endl;elsecout << "你猜对了!" << endl;while(n != m); 程序运行输出:请猜这个数的值为多少?(0100):50你猜的值太大了!请猜这个数的值为多少?(0100):25你猜的值太大了! 请猜这个数的值为多少?(0100):10你猜的值太小了!请猜这个数的值为多少?(0100):15你猜的值太小了!请猜这个数的值为多少?(0100):18你猜对了! 2-35 定义枚举类型weekday,包括Sunday到Saturday七个元素在程序中定义weekday类型的变量,对其赋值,定义整型变量,看看能否对其赋weekday类型的值。解: #include <iostream.h> enum weekdaySunday,Monday,Tuesday,Wednesday,Thursday,Friday,Saturday; void main()int i;weekday d = Thursday;cout << "d = " << d << endl;i = d;cout << "i = " << i << endl;d = (weekday)6;cout << "d = " << d << endl;d = weekday( 4 );cout << "d = " << d << endl; 程序运行输出:d = 4i = 4d = 6d = 4 第三章 函数3-1 C+中的函数是什么?什么叫主调函数,什么叫被调函数,二者之间有什么关系?如何调用一个函数? 解: 一个较为复杂的系统往往需要划分为若干子系统,高级语言中的子程序就是用来实现这种模块划分的。C和C+语言中的子程序就体现为函数。调用其它函数的函数被称为主调函数,被其它函数调用的函数称为被调函数。一个函数很可能既调用别的函数又被另外的函数调用,这样它可能在某一个调用与被调用关系中充当主调函数,而在另一个调用与被调用关系中充当被调函数。调用函数之前先要声明函数原型。按如下形式声明:类型标识符 被调函数名 (含类型说明的形参表);声明了函数原型之后,便可以按如下形式调用子函数:函数名(实参列表)3-2 观察下面程序的运行输出,与你设想的有何不同?仔细体会引用的用法。源程序:#include <iostream.h> int main()int intOne;int &rSomeRef = intOne;intOne = 5;cout << "intOne:tt" << intOne << endl;cout << "rSomeRef:t" << rSomeRef << endl;int intTwo

    注意事项

    本文(C++语言程序设计课后答案(郑莉第4版)名师制作优质教学资料.doc)为本站会员(小红帽)主动上传,三一文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    经营许可证编号:宁ICP备18001539号-1

    三一文库
    收起
    展开