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

三个程序题,我不会,麻烦各位老大给讲解一下!救救燃眉之急呀!

首页

三个程序题,我不会,麻烦各位老大给讲解一下!救救燃眉之急呀!

1、以下程序的输出结果是____C_
main()
{ int a=100,x=10,y=20,ok1=5,ok2=0;
if(x<y)
  if (y!=10)
    if (y!ok1)
       a=1;
    else
      if (ok2)  a=10;
a=-1;
printf("%d\n",a);
}
A 1    B 0    C -1    D值不确定
2、执行以下程序段后,变量a,b,c的值分别是____B__
int x=10,y=9;
int a,b,c;
a=(--x==y--)?--x:++y;
b=x++;
c=y;
A a=9,b=9,c=9   B a=8,b=8,c=10
C a=9,b=10,c=9  D a=1,b=11,c=10
3、请阅读一下程序:
main()
{ int a=5,b=0,c=0;
  if (a=b+c)printf("***\n");
  else      printf("$$$\n");
}
A 有语法错不能通过编译   B 可以通过编译但不能通过连接
C 输出***                D 输出$$$

提交回答
好评回答
  • 2005-10-27 01:14:45
      1、对整型变量a,x,y,ok1,ok2分别赋初值,执行条件判断x  再次遇到条件判断y!=ok1(你忘打那个“=”号了),y是20,ok1是5,y当然不等于ok1,条件成立,继续执行。当y!=ok1成立时执行的是a=1;当y!=ok1不成立时执行的是if (ok2) a=10;这里y!=ok1是成立的,所以执行语句a=1;再顺序执行a=-1;也就是把刚刚才改变赋值的a再次改变赋值,这时a的值变为-1。
      所以最后的输出语句输出的a的值就是 -1 2、定义整型变量a、b、c、x、y,并对x、y分别赋初值,语句a=(--x==y--)?--x:++y;的意思是将x自减1后与y比较,若两者相等则执行--x,否则执行++y,然后将执行后的结果(即--x或是++y的值)赋给a。
      这里x的初值是10,自减1后变为9,与y的初值相等,判断条件(--x==y--)成立,所以执行--x,即x先再自减1,然后再用,所以x的值变为8。将8赋给a。x++的意思是先用x进行运算,运算完后x再自增1。所以对于语句b=x++;就是将x(值已变为8)的值赋给b后,x再自增1。
      y--意思是先将y代入参加运算,然后y再自减1。所以之前在做完判断条件(--x==y--)之后,y的值变为8。所以最后结果是a=8,b=8,c=8 3、对整型变量a,b,c分别赋初值,然后是条件判断语句:如果a=b+c则打印***,如果a不等于b+c则打印$$$。
      b+c的值是0,显然不等于值为5的a,所以输出的是$$$ 以上3个结果是在 VC++ 6。0 环境下运行得到的。

    y***

    2005-10-27 01:14:45

其他答案

    2005-10-29 19:23:01
  • 谢谢大家的热情回答!此题出自谭浩强的《C程序设计试题汇编》if (y!ok1)语句书上就是这么写的,我没有抄错。
    第二题(--x==y--)我抄错了,应该是(--x==y++),所以结果C=10
    

    a***

    2005-10-29 19:23:01

  • 2005-10-27 08:46:14
  • 上楼的兄弟yyaquamarine 第三个回答有欠思考,首先a=b+c,=在TC属赋值语句,在条件表达式中出现赋值语句会出现警告,但不妨碍可执行(编译环境不同,对=号的处理也是不同。C里条件等号应该为==,具体仔细看语法)。这里if(a=b+c),if的真假值取a的值,当
    >0时为真,否则为假。所以这里的一段程序应该是a=b+c进行赋值,a这里的值=0,
    if(0)自然就执行条件否的语句输出$$$,但是你把b初始值改为1或更大值。你会发现,条件为真,这时输出的应该是***。
    你可以把两处输出改为printf("\n***%d",a) printf("\n$$$%d",a),输出a的值,看这时a的值的赋量变化。
    

    厅***

    2005-10-27 08:46:14

  • 2005-10-27 00:51:01
  • 我试试分析一下把不一定对哦         
    (1)if(x
    		                
    		            

    云***

    2005-10-27 00:51:01

类似问题

换一换
  • C/C++ 相关知识

  • 电脑网络技术
  • 电脑网络

相关推荐

正在加载...
最新问答 推荐信息 热门专题 热点推荐
  • 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
  • 178-197
返回
顶部
帮助 意见
反馈

确定举报此问题

举报原因(必选):