爱问知识人 爱问教育 医院库

新手的几个 C语言问题!~~求助!

首页

新手的几个 C语言问题!~~求助!

1.设x为int 型变量,执行以下语句,x=10;x+=x-=x-x;
x 的值为??
2.若定义x 和y 为double 型变量,表达式t=1,t+5,t++的值是??
3.若t为double 型变量,则表达式x=1,y=x+3/2的值是??
4.设x,y,z,均为int型变量,执行以下语句:x=y=z=1;
  t=x++||++y&&++z;后t的值为??

提交回答
好评回答
  • 2006-04-17 09:26:42
      1,
    我们先来说明一下“复合赋值运算符”
    种类:+=  -=  *=  /=  %= 《=  》=  &=  ^=  |=
    含义: exp1 op= exp2 等价于 exp1 = exp1  op  exp2
    总的来说,x+=x-=x-x 等价于 x=x+(x=x-(x-x))
    我们一步一步来看:
    第一步:
    x-=x-x 等价为 x=x-(x-x),把右边计算一下,它等价为 x=x。
       “x=x”作为一个表达式,它的值就是 x。 也就是说,x-=x-x 的值为 x。 (在这个运算过程中只有一个赋值过程,就是把x的值赋给x,所以x的值并没有变化) 第二步: 把“x-=x-x”的值为 x代入“x+=x-=x-x”中,有 x+=x 即 x=x+x ——它表示把两个x相加,并把相加的和赋值给x。
       所以,x=10+10=20。 2, 因为:t为double 型变量, t=1,是把 1(它本来是int型的) 转换为 double型的 1,再赋值给 t。 所以,t=1的值是,double型 的 1 在“t+5”中,应把int型的 5 转换为double型的 5,再和t相加。
       所以,最后的“t+5”是 double型 在“t++”等价于“t=t+1”,与上面相同,“t+1”是double型的,然后把,t+1 的值赋给 t,同样还是 double型的。 3, 因为:x 和y 为double 型变量 “x=1”,这与2小题中“t=1”是一样的。
      x=1的值是double型的。 “y=x+3/2”中,根据优先级别,应先计算除号 即先算“3/2”。因为 3、2 都是int型。所以,3/2 也为int型,其值为int型的 1。 这个int型的 1 再与double型的x 相加。这时,int型的 1 被转换成double型的 1。
       所以,“y=x+3/2”的值为 double型的 x+1。0 4, 当执行 x=y=z=1 后,x、、z的值都是 1。 这个题主要是是要搞清楚“t=x++||++y&&++z”中运算的先后顺序。 下面我用括号来表示他们之间的先后顺序。
       t={(x++)||[(++y)&&(++z)]} (注意,这里的“x++”,它的优先级虽然高,但它的作用是在整个语句执行完后,再改变x的值。) 所以,t={(x++)||[(++y)&&(++z)]} 等价于 以下两个语句, t={x||[(++y)&&(++z)]};x=x+1; “++y”和“++z”的值都为 2, 再算 2&&2,其结果为真,数值上表示为 1。
       再算 x||1,起结果也为真,数值上表示为 1。 最后,t=1。

    w***

    2006-04-17 09:26:42

类似问题

换一换
  • 学习帮助 相关知识

  • 教育培训
  • 教育科学
  • 教育考试

相关推荐

正在加载...
最新资料 推荐信息 热门专题 热点推荐
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200

热点检索

  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
返回
顶部
帮助 意见
反馈

确定举报此问题

举报原因(必选):