阅读以下C代码,回答问题1至问题3,将解答填入答题纸的对应栏内。 【C代码2】 VOid foo(int coin){ switch (coin) { case 1:printf("Cent\n”); case 5:pr

admin2020-04-30  66

问题 阅读以下C代码,回答问题1至问题3,将解答填入答题纸的对应栏内。
【C代码2】
    VOid foo(int coin){
    switch (coin)  {
    case 1:printf("Cent\n”);
    case 5:printf("Nickel\n”); break;
    case 10:printf("Dime\n”);
    case 25:printf("Quarter\n”);
    }
    }
【问题2】
(1)写出函数调用为foo(1)的输出结果;
(2)写出函数调用为foo(5)的输出结果;
(3)写出函数调用为foo(10)的输出结果;
(4)写出函数调用为foo(25)的输出结果。

选项

答案(1)Cent Nickel (2)Nickel (3)Dime Quarter (4)Quarter

解析 【问题2】
本问题考查描述多分支流程控制的switch语句应用。
    通过传入不同值考查对switch语句的理解和应用,特别要注意其中break的作用。题目中的switch语句在逻辑上可以理解为下面流程图的含义,实际上通过将各情况的代码位置记在一个称为跳转表的数组中,根据coin的值实现直接跳转,可以得到更高效的执行效率。
(1)对于函数调用foo(1),其输出结果为:
    Cent
    Nickel
(2)对于函数调用foo(5),其输出结果为:
    Nickel
(3)对于函数调用foo(10),其输出结果为:
    Dime
    Quarter
(4)对于函数调用foo(25)的输出结果。
    Quarter
转载请注明原文地址:https://jikaoti.com/ti/m8W7FFFM
0

最新回复(0)