C语言选择题(3道题),帮忙解答一下,谢谢!

1.分析下面的C语言代码:inta=1,b=10;do{b-=a;a++;}while(b--<0);则执行循环语句后b的值为()。(单选题)。A.9B.-2C.-1D.... 1.分析下面的C语言代码:
int a=1,b=10;
do{
b-=a; a++;
}while (b- -<0);
则执行循环语句后b的值为()。 (单选题)。
A. 9 B. -2 C. -1 D. 8
答案: D

2.#include<stdio.h>
void main()
{
int a=3,b=2,c=1;
int x=10,y=20;
if(a<b)
if(b!=0)
if(!x)
y=1;
else if(x)
y=0;
y=-1;
printf("%d",y);
}
上面的C程序的输出结果是( )。 (单选题)。
A. 20 B. 1 C. 0 D. -1
答案: B

3、表达式18/4*sqrt(4.0)/8值的数据类型为()。 (单选题)
A. int B. float C. double D. 不确定
答案: C
分别解释一下,答案是怎么得来的……
展开
 我来答
pokn_n
2011-08-28 · TA获得超过254个赞
知道小有建树答主
回答量:463
采纳率:0%
帮助的人:240万
展开全部
你好:
第一题:
先执行循环体:b-=a; a++;
b=b-a=10-1=9,a=2,
再判断条件:b--<0 b=9>0 然后b-- (注意无论判断条件是否满足,都执行),b=8
第二题:
答案错了,应选D
程序应该这么看:
int a=3,b=2,c=1;
int x=10,y=20;
if(a<b) 一开始a>b就不满足条件,所以下面的不执行!
if(b!=0)
if(!x) y=1;
else
if(x) y=0;
y=-1; 只执行这句!
printf("%d",y);

所以y=-1
第三题:
18/4*sqrt(4.0)/8这个运算中有浮点型数据即sqrt(4.0),系统会自动把其他类型的数据想double转换。
比如:
float b=6.5;
int a=2;
那么a+b的类型就是float,因为这个表达式中最高的类型就是float,那么int 就会向float转换。

总结就是要是表达式中都要向类型高的转化。
明白了吗?
kaixingui2012
2011-08-28 · TA获得超过4.2万个赞
知道大有可为答主
回答量:1.4万
采纳率:81%
帮助的人:6405万
展开全部
3、答案C
其结果为1。说明:C中表达式运算过程中,只要遇到符点型数据就会按符点型数据进行运算,其结果也是符点型。sqrt()函数的返回值是double型,所以,整个运算结果也是double.
2、答案D
else if(x)
y=0;
y=-1;
从这里可以看出 y=-1; 是一条单独的语句,与前面的所有语句都没有关系,程序只要执行到这里y值必然会是-1,所以其输出结果是-1
1、答案D
b-=a; =》b=10-1=9;
while (b--<0); 先检查b<0? 然后运行b--:=》b>0 , b=9-1=8 这里我们也可以看出,类似a++,a--,等操作,只要用到了变量a,则++,--运算就会执行。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
txuefeng
2011-08-28
知道答主
回答量:3
采纳率:0%
帮助的人:5095
展开全部
第一题 执行循环语句时,b-=a , 相当于 b=b-a为10-1=9,执行一次以后在判断能否满足条件执行下一次循环,判断语句为b--,即为b=b-1=8,因为8<0是假命题,逻辑值为0,不满足循环条件,退出循环。
第二题 答案应该是B吧 else是与上面最近if 配对,在本题中即与if(!x)配对。 if(a<b)
if(b!=0)
if(!x)
y=1;
else if(x)
y=0;
这是一个可以看做一个整体,因为if(a<b)当中的a<b为假命题,所以以后的完全不用看了,直接执行 y=-1;
printf("%d",y);
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
253749107
2011-08-28
知道答主
回答量:23
采纳率:0%
帮助的人:9.4万
展开全部
给点分值啊,这样解的没意思。这都要用笔算的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式