c语言作业,急!!!
【1】以下关于二元运算符优先顺序的描述中正确的是 b 。
A) 关系运算符<算术运算符<赋值运算符<逻辑与运算符
B) 赋值运算符<逻辑与运算符<关系运算符<算术运算符
C) 逻辑与运算符<关系运算符<算术运算符<赋值运算符
D) 算术运算符<关系运算符<赋值运算符<逻辑与运算符
【2】表示图中坐标轴上阴影部分的正确表达式是 。
//// ////
//// ////
X
a b c
A) (x<=a)&&(x>=b)&&(x<=c)
B) (x<=a)||(b<=x<=c)
C) (x<=a)||(x>=b)&&(x<=c)
A) (x<=a)&&(b<=x<=c)
【3】以下if语句语法正确的是 。
A) if(x>0)
printf(“%f”,x)
else printf(“%f”,-x);
B) if(x>0)
{ x=x+y; printf(“%f”,x); };
else printf(“%f”,-x);
C) if(x>0)
{ x=x+y; printf(“%f”,x) }
else printf(“%f”,-x);
D) if(x>0)
{ x=x+y; printf(“%f”,x); }
else printf(“%f”,-x);
【4】已知int x=10,y=20,z=30;以下语句执行后x,y,z的值是 。
if(x>y)
z=x; x=y; y=z;
A)x=10,y=20,z=30 B)x=20,y=30,z=30
C)x=20,y=30,z=10 D)x=20,y=30,z=20
【5】以下程序的运行结果是 。
int main()
{
int a=5,b=0,c=0;
if(a=b+c) printf(“***”);
else printf(“$$$”);
return 0;
}
【6】当a=1,b=3,c=5,d=4时,执行完下面一段程序后x的值是 。
if(a<b)
if(c<d) x=1;
else
if(a<c)
if(b<d) x=2;
else x=3;
else x=6;
else x=7;
【7】以下程序段的运行结果是 。
int x=1,y=0;
switch(x)
{
case 1:
switch(y)
{
case 0: printf(“**1**\n”); break;
case 1: printf(“**2**\n”); break;
}
case 2: printf(“**3**\n”);
}
【8】以下程序的运行结果是 。
int main()
{
int a=2,b=7,c=5;
switch(a>0)
{
case 1: switch(b<0)
{
case 1: printf(“@”); break;
case 2: printf(“!”); break;
}
case 0: switch(c==5)
{
case 0: printf(“*”); break;
case 1: printf(“#”); break;
default: printf(“#”); break;
}
default: printf(“&”);
}
printf(“\n”);
return 0;
}
【9】假设奖金税率如下(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%
以下程序对输入的一个奖金数,求税率和应交税款以及实得奖金数(扣除奖金税后)。题中r代表税率,t代表实得奖金数。请在【】内填入正确内容。
int main()
{
float a,r,t,b;
int c;
scanf(“%f”,&a);
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;
}
t=a*r;
b=a-t;
printf(“r=%f,t=%f,b=%f”,r,t,b);
return 0;
}
【10】请将以下语句改写成switch语句(注意:不允许出现任何形式的if语句)。
if((s>0)&&(s<=10))
if((s>=3)&&(s<=6)) x=2;
else if((s>1)||(s>8)) x=3;
else x=1;
else x=0; 展开
1、B:排除法做,赋值运算符最低,所以选B
3、D:else必须要和if配对使用,BC项目中括号断开了两者,A选项输出语句后没有用分号结束。
4、B :x>y时才执行语句 z=x;否则不执行。
5、 if(a=b+c),b+c还是0,if语句还是不成立,不执行printf(“***”);所以执行printf(“$$$”);语句,输出$$$
6、X=2:if与else组合,else只与最近的if语句组合。程序等价于
if(a<b)
{ if(c<d) x=1;
else
{if(a<c)
{
if(b<d) x=2;
else x=3;
}
else x=6;
}
}
else x=7;
7、输出“**3**”:x为1,y为0.switch(表达式)只要表达式不为0就运行旗下语句。所以SWITCH(Y)之后的语句不运行。
8、输出“*&”,运行语句看图片。注意break只是结束内层的switch语句,并不能全部结束语句。
9、a/500、r=0.08: 根据switch语句中的内容来填第一空,注意“整形/浮点型”结果为浮点型。
3、D:else必须要和if配对使用,BC项目中括号断开了两者,A选项输出语句后没有用分号结束。
4、B :x>y时才执行语句 z=x;否则不执行。
5、 if(a=b+c),b+c还是0,if语句还是不成立,不执行printf(“***”);所以执行printf(“$$$”);语句,输出$$$
6、X=2:if与else组合,else只与最近的if语句组合。程序等价于
if(a<b)
{ if(c<d) x=1;
else
{if(a<c)
{
if(b<d) x=2;
else x=3;
}
else x=6;
}
}
else x=7;
7、输出“**3**”:x为1,y为0.switch(表达式)只要表达式不为0就运行旗下语句。所以SWITCH(Y)之后的语句不运行。
8、输出“*&”,运行语句看图片。注意break只是结束内层的switch语句,并不能全部结束语句。
9、a/500、r=0.08: 根据switch语句中的内容来填第一空,注意“整形/浮点型”结果为浮点型。
10、
swich(s)
{case 0:
case 1:
case 2:x=3;break;
case 3:
case 4:
case 5:
case 6:x=2;break;
case 7:
case 8:x=1;break;
case 9:
case 10:x=3;break;
default:x=0;
}
2我看不懂题。。。
3、b
4、a
5、$$$
6、x=2
7、**1**
8、&(并回车)
9、(1.a/500)(2.r=0.8)
10、
swich(s)
{case 0:
case 1:
case 2:x=3;break;
case 3:
case 4:
case 5:
case 6:x=2;break;
case 7:
case 8:x=1;break;
case 9:
case 10:x=3;break;
default:x=0;
}
10 switch((int)s)
{
case 1: x=1;break
case 2:x=3;break;
case 3:
case 4:
case 5:
case 6:x=2;break;
case 7:
case 8:x=1;break;
case 9:
case 10:x=1;break;
default:x0;break;
}