c语言选择结构题
一开始, abcd分别赋值1,2,3,4
第一个if, 因为是操作,所以两个表达式都会被计算, 这两个表达式又是个赋值表达式, a变成2, b变成1, 而且都不为0, 所以条件成立, 执行c=2
此时, a=2, b=1, c=2, d=4
第二个if, || 运算, 从左向右计算, 只要满足一个条件, 判定终止. 首先判定c是否等于3, 失败(c的值是2, 不等于3), 从而判定第二个条件, 这个条件又是一个赋值表达式, d变成了-1, 不为0, 判定结果为真, 整个if的条件为真, 所以执行a=5
此时, a=5, b=1, c=2, d=-1
因此, 选择B
PS. 这是个很扣细节的题, 在现实中这么写会被人打死
有关c语言选择结构的题
这个选择结构如果改用比较标准的方式来写,应该是:
if (a b) {
if (b 0) {
c = 0;
} else {
c++;
}
}
由于a不小于b,所以c不变,仍然是2
【急】用C++或是C语言解决:选择结构练习题
#include iostream.h
#include iomanip.h
void main()
{
double weight,fee;
char c=’n’;
do{
cout”请输入托运行李重量: “;
cinweight;
if(weight0)
{
cout”重量不能小于0 !”endl;
continue;
}
if(weight50)
fee = 50 * 0.35 + ( weight – 50 ) * 0.5;
else
fee = weight * 0.35;
cout”托运费为 :”;
cout.setf(ios::fixed);
cout.setf(ios::showpoint);
cout.precision(2);
coutfeeendl;
cout”继续计算?(y/n) :”;
cinc;
}while(c==’y’||c==’Y’);
}
结果如下
希望满意!