几个关于C语言的题目,请求帮助

来源:百度知道 编辑:UC知道 时间:2024/06/14 08:04:46
1.若有定义:int a=10,b=9,c=8; 接着顺序执行下列语句后,变量b中的值是()

c=(a-=(b-5));
c=(a%11)+(b=3);

结果是多少啊?为什么这么做啊?

2.main()
{ int a=0;
a+=(a=8);
printf("%d\n",a);
}

结果是多少啊?为什么这么做啊?

3. 以下变量x.、y、z均为double类型且已正确赋值,不能正确表示数学式子的C语言表达式是 ()
A) x/y*z B) x*(1/(y*z))
C) x/y*1/z D) x/y/z

结果是多少啊?为什么这么做啊?

4.以下选项中不属于C语言的类型的是()
A) signed short imt B) unsigned long int
C) unsigned int D) long short

结果是多少啊?为什么这么做啊?

1.3
只有b=3一处赋值
2.16
表达式的值=表达式左边式子的值
3.B
4.D

1.
结果是c=9,b=3
看第一句 b-5=4 a-=4 相当于a=a-4 因为a=10,所以a-4=6 所以a=6
第二句 a%11他为6%11=6 b=3;所以c=6+3 c=9;
这里b=3是3赋值给了b 所以b变为3

2.
结果是16.a+=(a=8)相当于a=a+8 因为右边a被赋值为8,所以a=8+8,所以a=16
3
D x/y/z 运算符号优先级一样,所以顺序不一样结果不一样。
4 D
long short 意思是长 短 没有这种类型

1.3 b是变量,赋初值后又再次赋值,b中的值就变了,所以是3
2. a=a+(a=8);a=8+8=16;道理同上
3. 你能把内数学式子先写出来么
按你内意思猜应该选择D
4.D 翻译过来长整形的短整形 你认为这话通么

1.b=3 因为只有3赋值给b
lz你是不是想问c的值啊?
2.a=16
a+=(a=8);从右往左执行,首先把8赋值给a,即为a+=8;也就是a=a+8;显然最后a为16
3 D
4.D longshort 没有这种写法 选项a是不是笔误?imt?

1、
b-5=9-5=4;
a-=4;a=a-4=6;
c=a=6;
a%11=6 ; b=3;
c=6+3=9;
2、
a=8;
a=a+a=16;
3、
选A其他三个都一样
4、
选D

wan5kang 这个朋友的答案很标准,分给他吧