简单的3d绘图软件:一道c语言最简单的题,但我就是不会做!!

来源:百度文库 编辑:神马品牌网 时间:2024/05/02 04:29:58
若a、b、c、d都是int类型变量且初值为0,以下选项中不正确的赋值语句是
A)a=b=c=100;B)d++;C)c+b;D)d=(c=22)-
(b++);
我现在刚刚学c语言,老觉得这东西好难啊,后边的题总是不会做,怎么办啊??

A是正确的,C语言的一个重要特点就是几乎任何东西都是表达式,c=100也是个表达式,它的值就是100当然可以赋值给b
B也是正确的,虽然没有使用返回值,但是b的值发生了变化。
C是错误的,因为c+b的返回值没有使用,而且c和b都没有变化
D是正确的,(c=22)的结果是22赋值给c,同时返回22,b++是把b+1赋值给b,同时返回b原来的值,两者相减给d,允许的

C错误
A偶试了的,正确!!
#include <stdio.h>

int main( void )
{

int a, b, c;

a = b = c = 100;

printf( "a = %d\n", a );
printf( "b = %d\n", b );
printf( "c = %d\n", c );

return 0;
}
输出:
a = 100
b = 100
c = 100

C错了。
A的结果都是100。见潭浩强《C语言程序设计》第二版第63页关于“赋值表达式”B,D的解析也在63页。
C不是赋值表达式,因为它没有赋值运算符。
学习C语言要注意理解,掌握C语言的数据类型,运算符,
和表达式。多上机实践。

认为a是错的。不可以这样赋值。a=100;b=100;c=100;或a=100;b=a;c=a就是a=b=c=100不行

A是正确的,赋值顺序是从右至左。
B也是正确的,b自增。
C是错误的,因为c+b的返回值没有使用,而且c和b都没有变化
D也是正确的。

楼上的,秀才就是秀才.知识面还不够广,你可以编一个程序试试看.赋值语句的顺序是至右往左的.
也就是a=b=c=100,先把100赋给c,c就是100了,然后,c再赋给b,也就是b=100,再所b赋给a,终值a就等于100啦.