假设奖金税率 c语言编程if,谭浩强C语言程序设计习题集

参考答案:【1】x:y【2】u:z

4.104 设有变量定义:int a=5,c=4;则(--a==++c)?--a:c++的值是【1】,此时c的存储单元的值为【2】。 参考答案:【1】5【2】6

4.105 执行以下程序后,a=【1】,b=【2】,c=【3】。

int x=10,y=9; int a,b,c;

a=(x-- == y++) ? x-- : y++;

b=x++; c=y; 参考答案:【1】10【2】9【3】11

*4.106 设有int x=1,y=0;则以下表达式的值为 。

x-->(y+x)?10:12.5>y++?'A':'Z' 参考答案:10

参考分析:在本题中x-->(y+x)的实际比较运算是1>0+0为真。 *4.107 设有int x=0,y=1;则以下表达式的值为 。

x++*x--!='y'?8-4:y 参考答案:4

参考分析:此处x++*x—实际计算为0*0。

4.108 若运行时输入:3 5/,则以下程序的运行结果是 。

main() {float x,y; char o; double r;

scanf(\switch(o)

{case '+':r=x+y;break; case '-':r=x-y;break; case '*':r=x*y;break; case '/':r=x/y;break; }

printf(\}

参考答案:0.600000

4.109 根据以下嵌套的if语句所给条件,填写switch语句,使它完成相同的功能。

(假设mark的取值在1-100之间) if语句:

if(mark<60) k=1; else if(mark<70) k=2; else if(mark<80) k=3; else if(mark<90) k=4; else k=5; switch语句:

switch(【1】) {【2】k=1;break; case 6 :k=2;break; case 7 :k=3;break; case 8 :k=4;break; 【3】k=5; }

参考答案:【1】mark/10 【2】default: 【3】case 9:case 10:

4.110 设有如下程序段,若grade的值为'C',则输出结果是 。

switch(grade)

{case 'A':printf(\case 'B':printf(\case 'C':printf(\

case 'D':printf(\default:printf(\}

参考答案: 60-69 <60 error!

4.111 以下程序段的运行结果是 。

int x=1,y=0; switch(x) {case 1:

switch(y)

{case 0:printf(\ case 1:printf(\ }

case 2:printf(\}

参考答案: **1** **3**

4.112 根据以下函数关系,对输入的每个x值,计算出相应的y值。请分析程序填空。

x y

x<0 0

0≤x<10 x

10≤x<20 10

20≤x<40 -0.5x+20

main() {int x,c; float y;

scanf(\if(【1】) c=-1; else c=【2】; switch(c)

{case –1:y=0;break; case 0:y=x;break; case 1:y=10;reak;

case 2:case 3:y=-0.5*x+20;break; default:y=-2; }

if(【3】) printf(\else printf(\}

参考答案:【1】x<0 【2】x/10 【3】y!=-2 4.113 以下程序的运行结果是 。

main()

{int a=2,b=7,c=5;

switch(a>0)

{case 1:switch(b<0)

{case 1:printf(\ case 2:printf(\ }

case 0:switch(c==5)

{case 0:printf(\ case 1:printf(\ default:printf(\ }

default:printf(\}

printf(\}

参考答案:#&

4.114 下面程序的运行结果是 。

#include main()

{int x=1,y=0,a=0,b=0; switch(x)

{case 1:switch(y)

{case 0:a++;break; case 1:b++;break; }

case 2:a++;b++;break; }

printf(\}

参考答案:a=2,b=1

4.115 假设奖金税率如下(a代表奖金,r代表税率)

a<500 r=0% 500≤a<1000 r=5% 1000≤a<2000 r=8% 2000≤a<3000 r=10% 3000≤a r=15%

以下程序对输入的一个奖金数,求税率和应交税款以及实得奖金数(扣除奖金税后)。请分析程序填空。

main()

{float a,r,t,b; int c;

scanf(\if(a>=3000) c=6; else c=【1】; switch(c)

{case 0:r=0;break; case 1:r=0.05;break;

case 2:case 3:【2】;break; case 4:case 5:r=0.1;break; case 6:r=0.15;break;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值