首页
登录
从业资格
阅读以下C代码,回答问题1至问题3,将解答填入答题纸的对应栏内。【C代码1】 f
阅读以下C代码,回答问题1至问题3,将解答填入答题纸的对应栏内。【C代码1】 f
练习题库
2022-08-02
43
问题
阅读以下C代码,回答问题1至问题3,将解答填入答题纸的对应栏内。【C代码1】 float adjustSalary(int service_year,int age,float salary) { if( service_year <=5 ) { if( age > 30 ) salary *= 1.2; } else salary *= 2.0; return salary;} 【C代码2】 void foo(int coin) { switch (coin) { case 1: printf("Cent\n"); case 5: printf("Nicke1\n");break; case 10: printf("Dime\n"); case 25: printf("Quarter\n"); }} 【C代码3】 int getSum(int n){ int t, i = 0, sum = 0; while ( i < n ) { scanf("%d", &t); if( t<0 ) continue; sum += t; i++; } return sum;} 问题:3.1 【问题1】(3分)对于【C代码1】,写出下面的函数调用后x1、x2和x3的值。x1 = adjustSalary(1,25,9000.0);x2 = adjustSalary(8,32,7000.0);x3 = adjustSalary(5,41,5000.0); 问题:3.2 【问题2】(6分)(1)写出函数调用为foo(1)的输出结果;(2)写出函数调用为foo(5)的输出结果;(3)写出函数调用为foo(10)的输出结果;(4)写出函数调用为foo(25)的输出结果。 问题:3.3 【问题3】(6分)(1)简要说明【C代码3】中的函数getSum()的功能;(2)程序员小王将函数getSum改写后得到下面的函数getSum_v2(即用for语句来描述循环)。请问,getSum_v2的功能是否与【C代码3】的getSum完全相同,若不同,请说明原因。int get Sum_v2(int n){int t,i=0,sum=0;for(i=0;1 scanf("%d",&t);if(t<0)continue;sum+=t;}return sum;}
选项
答案
解析
【参考答案】(1)x1=9000.000000(2)x2=14000.000000(3)x3=6000.000000【参考答案】(1)foo(1):Cent Nickel(2)foo(5):Nickel(3)foo(10):Dime Quarter(4)foo(25):Quarter
【参考答案】(1)函数getSum()是求n个不小于0的整数之和。(2)函数getSum_v2的功能与函数getSum不同,getSum()是求n个不小于0的整数之和,计算和的数目总数是n个,而getSum_v2是总共输入了n个数,这n个数种有大于等于0,也有小于0的数,最终只把大于等于0的数进行求和,因此最终计算的和的个数有可能是小于n的。
【解析】
【解析】 对于x1,service_year=1,age=25,salary=9000.0,首先判断service_year<=5,因此再判断age<30,不进行任何运算,salary仍为9000.0,由于salary为float类型数据,因此输出为9000.000000。 对于x2,service_year=8,age=32,salary=7000.0,首先判断service_year>5,因此直接进行else中的运算,salary=7000.0*2.0=14000.0,由于salary为float类型数据,因此输出为14000.000000。 对于x3,service_year=5,age=41,salary=5000.0,首先判断service_year<=5,因此再判断age>30,进行运算salary=5000.0*1.2=6000.0,由于salary为float类型数据,因此输出为6000.000000。【解析】foo(1):coin=1,执行printf(“Cent\n”),输出Cent并回车,继续执行printf(“Nickel\n”),输出Nickel并回车,再执行break,结束foo函数。foo(5):coin=5,执行printf(“Nickel\n”),输出Nickel并回车,再执行break,结束foo函数。foo(10):coin=10,执行printf(“Dime\n”),输出Dime并回车,继续执行printf(“Quarter\n”),输出Quarter并回车,结束foo函数。Foo(25):coin=25,执行printf(“Quarter\n”),输出Quarter并回车,结束foo函数。【解析】(1)函数getSum()是求n个不小于0的整数之和。(2)函数getSum_v2的功能与函数getSum不同,原因:在getSum中,当t<0时,继续运行scanf函数获得t,而不会运行i++运算,i的值不会改变,最终会获得n个不小于0的整数并求和;而在getSum_v2中,当t<0时,首先进行i++,再继续scanf函数,因此当输入的数出现负值时,会导致最终运算的值可能少于n个。
转载请注明原文地址:https://tihaiku.com/congyezige/2424924.html
本试题收录于:
初级程序员题库软件水平考试初中高级分类
初级程序员
软件水平考试初中高级
相关试题推荐
护理诊断PSE公式中的P代表A.健康问题的相关因素 B.症状与体征 C.患者
护士欲对患者的某一问题深入了解,选用A.封闭式提问B.开放式提问C.探索式提问D
解答服务对象的健康问题,帮助其澄清观念、做出决策的人际传播形式称为A.咨询B.个
患儿,女,1岁,体重为10kg,其母向社区护士咨询有关喂养问题。该儿每日需水量为
患儿,男,2岁。诊断急性喉炎,最主要的护理问题是A.焦虑 B.低效性呼吸型态
制订计划时要分清主次轻重,着力解决影响全局的问题。遵循的是A.合理性原则B.系统
面对难以回答的问题时常用的反馈技巧是A.肯定性反馈B.否定性反馈C.直接性反馈D
在如下所示的一段XML代码中,根元素名为()。 <?xmlversion="
负责解释执行JavaScript代码的是()。A.Web服务器 B.Web浏览
使用数据库的主要目的之一是为了解决数据的()问题。A.可靠性 B.传输 C.
随机试题
[originaltext][23]Americanswhoremember“thegoodolddays”arenotalonein
[originaltext]M:Hi,Claire,howdoesitfeeltobehackoncampus?W:Keith,h
[originaltext]W:Whatkindoftrainingdoesoneneedtogointothistypeofjo
B
A.神经性毒剂 B.糜烂性毒剂 C.全身中毒剂 D.窒息性毒剂 E.刺激
有一空载运行线路,首端电压和末端电压分别为U1和U2,下面正确的是()U
2013年该省的GDP同比增速为:() A.9.7% B.12.5%
注意事项 请编辑此处 给定材料 材料1: 4月21日出炉的2014国民阅
了解药物滥用内容,可查阅A.【注意事项】 B.【药物相互作用】 C.【禁忌】
(2018年真题)可以用于计算最终消费率的是()。A.运用支出法核算的国内生产
最新回复
(
0
)