c语言程序设计课后习题答案(编辑修改稿)内容摘要:
: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 include { char choice。 while(1) { cout Menu: A(dd) D(elete) S(ort) Q(uit), Select one:。 cin choice。 switch(toupper(choice)) { case 39。 A39。 : cout 数据已经增加 . endl。 break。 case 39。 D39。 : cout 数据已经删除 . endl。 break。 case 39。 S39。 : cout 数据已经排序 . endl。 break。 case 39。 Q39。 : 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:q 231用穷举法找出 1~100间的质数,显示出来。 分别使用 while, dowhile, for 循环语句实 现。 解: 源程序: 使用 while循环语句: include 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++。 } } 使用 do…while 循环语句: include include void main() { int i,j,k,flag。 i = 2。 do{ flag = 1。 k = sqrt(i)。 j = 2。 do{ if(i%j == 0) { flag = 0。 break。 } j++。 }while (j = k)。 if (flag) cout i 是质数 . endl。 i++。 }while(i = 100)。 } 使用 for 循环语句: include include 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是质数 . 232比较 Break语句与 Continue语句的不同用法。 解: Break使程序从循环体和 switch语句内跳出,继续执行逻辑上的下一条语句,不能用在别处 ; continue语句结束本次循环,接着开始判断决定是否继续执行下一次循环; 233定义一个表示时间的结构体,可以精确表示年、月、日、小时、分、秒;提示用户输 入年、月、日、小时、分、秒的值,然后完整地显示出来。 解: 源程序见 实验指导 部分实验二 234在程序中定义一个整型变量,赋以 1~100的值,要求用户猜这个数,比较两个数的大 小,把结果提示给用户,直到猜对为止。 分别使用 while、 do…while 语句实现循环。 解: //使用 while语句 include void main() { int n = 18。 int m = 0。 { cout 请猜这个数的值为多少。 (0~~100):。 cin m。 if (n m) cout 你猜的值太小了。 endl。 else if (n m) cout 你猜的值太大了。 endl。 else cout 你猜对了。 endl。 } } //使用 do…while 语句 include void main() { int n = 18。 int m = 0。 do{ cout 请猜这个数的值为多少。 (0~~100):。 cin m。 if (n m) cout 你猜的值太小了。 endl。 else if (n m) cout 你猜的值太大了。 endl。 else cout 你猜对了。 endl。 }while(n != m)。 } 程序运行输出 : 请猜这个数的值为多少。 (0~~100):50 你猜的值太大了。 请猜这个数的值为多少。 (0~~100):25 你猜的值太大了。 请猜这个数的值为多少。 (0~~100):10 你猜的值太小了。 请猜这个数的值为多少。 (0~~100):15 你猜的值太小了。 请猜这个数的值为多少。 (0~~100):18 你猜对了。 型 weekday,包括 Sunday到 Saturday七个元素在程序中定义 weekday类型 的变量,对其赋值,定义整型变量,看看能否对其赋 weekday类型的 值。 解: include enum weekday { Sunday, 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 = 4 i = 4 d = 6 d = 4 第三章函数 31 C++中的函数是什么。 什么叫主调函数,什么叫被调函数,二者之间有什么关系。 如何 解: 一个较为复杂的系统往往需要划分为若干子系统,高级语言中的子程序就是用来实现这种模 块划分的。 C和 C++语言中的子程序就体现为函 数。 调用其它函数的函数被称为主调函数, 被其它函数调用的函数称为被调函数。 一个函数很可能既调用别的函数又被另外的函数调 用,这样它可能在某一个调用与被调用关系中充当主调函数,而在另一个调用与被调用关系 中充当被调函数。 调用函数之前先要声明函数原型。 按如下形式声明: 类型标识符被调函数名 (含类型说明的形参表 )。 声明了函数原型之后,便可以按如下形式调用子函数: 函数名(实参列表) 32 观察下面程序的运行输出,与你设想的有何不同。 仔细体会引用的用法。 源程序: include int main() { int intOne。 int amp。 rSomeRef = intOne。 intOne = 5。 cout intOne:\t\t intOne endl。 cout rSomeRef:\t rSomeRef endl。 int intTwo = 8。 rSomeRef = intTwo。 // not what you think! cout \nintOne:\t\t intOne endl。 cout intTwo:\t\t intTwo endl。 cout rSomeRef:\t rSomeRef endl。 return 0。 } 程序运行输出: intOne: 5 rSomeRef: 5 intOne: 8 intTwo: 8 rSomeRef: 8 解: 值调用是指当发生函数调用时,给形参分配内存空间,并用实参来初始化形参(直接将实参 的值传递给形参)。 这一过程是参数值 的单向传递过程,一旦形参获得了值便与实参脱离关 系,此后无论形参发生了怎样的改变,都不会影响到实参。 引用调用将引用作为形参,在执行主调函数中的调用语句时,系统自动用实参来初始化形参。 这样形参就成为实参的一个别名,对形参的任何操作也就直接作用于实参。 34 什么叫内联函数 ?它有哪些特点。 解: 定义时使用关键字 inline的函数叫做内联函数; 编译器在编译时在调用处用函数体进行替换 ,节省了参数传递、控制转移等开销; 内联函数体内不能有循环语句和 switch语句; 内联函数的定义必须出现 在内联函数第一次被调用之前; 对内联函数不能进行异常接口声明; 35 函数原型中的参数名与函数定义中的参数名以及函数调用中的参数名必须一致吗。 解: 不必一致,所有的参数是根据位置和类型而不是名字来区分的。 36 重载函数时通过什么来区分。 解: 重载的函数的函数名是相同的,但它们的参数的个数和数据类型不同,编译器根据实参和形 参的类型及个数的最佳匹配,自动确定调用哪一个函数。 37 编写函数,参数为两个 unsigned short int型数,返回值为第一个参数除以第二个参 数的 结果,数据类型为 short int;如果第二个参数为 0,则返回值为 1。 在主程序中实现输入输 出。 解: 源程序: include { if (b == 0) return 1。c语言程序设计课后习题答案(编辑修改稿)
相关推荐
t class? When you define only function prototype in a base class without implementation and do the plete implementation in derived class. This base class is called abstract class and client won39。 t
资金,筹借资金 finished goods n. 制成品 firm n. 公司 fire v. 解雇 fix v. 确定,使固定在 fix up v. 解决,商妥 fiscal adj. 国库的,财政的 *flagship n. 同类中最成功的商品,佼佼者 flexible adj. 有弹性的,灵活的 flextime n. 弹性工作时间制 flier(=flyer) n. 促销传单
事物应用的单个帐号。 帐号可以为多种类型,但是至少包括支票和存款。 每个顾客可以拥有多个帐号。 客户:拥有银行的一个或多个帐号的人。 可以是一个人或多个人,或者是公司。 相同的人,拥有不同的银行帐号被 认为是不同的落户。 ATM: ATM 是 Automatic Teller Machine 的缩写,意为自动柜员机。 是一种高度精密的机电一体化设备,利用磁卡或智能 IC
配件开发以及相关产品 检验标准之确定等工作。 6 业务部 部长 负责与客户之信息沟通,协调与客户的关系等工作。 7 人事部 部长 负责组织项目开发人员的培训等工作。 8 财务部 部长 负责核算新产品的成本和项目开发成本等工作。 项目组长: 管理者代表: 总经理: 表单编号:
上大学不要钱; 当我们上大学的时候,读小学不要钱; 当我们没能工作的时候,工作是分配的; 我们可以工作的时候,要撞到头破血流才勉强找到一份饿不死的工作; 当我们不能工作的时候,房子是分配的; 当我们能挣钱的时候,房子已经买不起了; 当我们没有进入股市的时候,傻瓜都能挣钱; 当我们兴冲冲闯入的时候,却发现自己才是傻瓜; 当我们没到结婚年龄的时候,骑单车就能娶媳妇; 当我们到了结婚年龄的时候
( 2)一至三天 ( 3)不到一天 单击此处编辑母版标题样式 产品的 销售定位和难易程度 决定了 我们选择人才的方向和范围 ! 单击此处编辑母版标题样式 原来如此 探索标准 * 关于年龄 * 关于学历 * 关于经验 * 关于态度 * 关于相貌 单击此处编辑母版标题样式 单击此处编辑母版标题样式 项目 优秀集中度 项目 优秀集中度 年龄 2026 80% 婚姻 未婚 92% 性别 男 性 95%