~~~计算机c语言高手请进

来源:百度知道 编辑:UC知道 时间:2024/05/26 07:33:38
我是高一生,刚学计算机,请大家帮帮忙!!!!,解释几道题目,谢谢

读下列程序: #include main() { float a,b,t; scanf(”%f,%f”,&a,&b); if(a>b) { t=a; a=b; b=t; } prinff(”%5.2f,%5.2f'’,a,b); } 运行时从键盘输入3.8和-3.4,则正确的输出结果是( B )。
A、 B、 C、 D、
A、-3.40,-3.80
B、-3.40,3.80
C、-3.4,3.8
D、3.80,-3.40
我的疑问是选c还是b

如下程序的输出结果是( )。 #include main() { int a=12,b=5,c=-3; if(a>b) if(b<0)c=0; else c++; printf(”%d\n”,c); }(3分)
A、 B、 C、 D、
A、0
B、1
C、-2
D、-3
我 选c
能正确表示a≥10或a≤0的关系表达式是( c )。
A、 B、 C、 D、
A、a>=10ora<=0
B、a>=10|a<=0
C、a>=10&&a<=0
D、a>=10||a<=0

能正确表示a和b同时为正或同时为负的逻辑表达式是( )。
A、 B、 C、 D、
A、(a>=0||b>=0)&&(a<0||b<0)
B、(a>=0&&b>=0)&&(a<0&&b<0)
C、(a+b>0)&&(a+b&

1.应该选B,因为输出时是%5.2f,小数点后是2位,不足用0补齐.
2.你选对了.
3.你错了,应该是d,因为是"逻辑或"的 关系.用"||"表示
4.a是不对的,3里说过||是或的意思.如果非要这么写,应该是(a>=0&&b>=0)||(a<0&&b<0),至于d,不完全正确.但应该是选项.可以用以下例子作为反证:
int a=-2100000000;
int b=-100;
long c=a*b;
printf("%ld\n",c);

5.应该为b,见以下说明:
如果a为1时,执行以下操作:
==如果b为0时,打印"**0**"并退出
==如果b为1时,打印"**1**"并退出
如果a为2时,执行以下操作
==打印"**2**"并退出
在switch(b)中有2个break.所以如果b为0时,不执行case1的情况.
但在switch(a)中只有一个break且为第2个,所以当a==1时,会把case1和case2的情况都执行了.

所以以后编程时要记得,用case时一定要加上break哦!

第一题:if语句实现a b按升序输出。%5.2f 意识是输出的数有2位小数,以5个字符长度输出(包括.)所以(B)
第二题:
选(d)c++的定义是现显示,后运算,所以c的值在输出时没有改变。而是在下次循环时改变。
第三题:d。&&是且||是或
第四题 d。

第五题B a=1,switch(a)执行case1——》
printf(”**0**”);被执行了,注意:switch(a)的第一个case后面没break语句,所以运算不会结束,因此运行下面的语句printf(”**2**”);break; }
运行结果:**0****2**
建议你去看谭浩强的那本C语言书,很详细。
+分啦