#include<stdio.h>
int main( )
{ int y=2,a=1;
while(y- -!=-1)
{ do{a * =y; a++;} while(y- -); }
printf(“%d,%d,a,y);
return 0
}
其中有不少小的错误,作为程序它是不能运行的。
#include<stdio.h>运行后的输出是:
1,-2
分析运行过程:
y=2,a=1;
判断,为真,y变为1
进入do循环:
a=1*1=1; a++变为2
内循环判断y--为真,y变为0;
再次内循环:
a=2*0=0; a++变为1
内循环判断y--为假,y变为-1;
外循环判断为假,y变为-2;
所以,最后的输出是1,-2
我要的是过程
追答你应该是不懂 while语句和do while 语句的用法。
++y 和 --y都是在 先进行自加或自减后,在进入while循环中判断。
y++和 y--是先进行while循环中判断后,在对y的值进行加减。
后面是我的思路你大概看下
while语句中的内容如果成立了,则执行while循环,不成立结束while循环,。y=2,一开始while不等于-1.所以循环,y自减为1.执行后面语句。a=1x1=1; ++后a=2。 y不等于0,所以要循环,y自减为0.后执行a=1x0=0.a自加为1.因为y=0所以不执行do{}里面的循环,y自减后y=-1.在执行whiel再循环重新判断-1等于-1所以不循环,y自减为-2.
最后输出a=1,y=-2
为什么,过程可以写一下么,或者我做不出来的关键步骤,麻烦您了
你答案对了
请问,下面程序的运行结果是( ).#include <stdio.h> main() { int a...
初始化a = 1,b =10;do是先执行,所以a = 2 ,b = 9;while(b--<0),因为是后置--,所以先判断b<0,为假,所以退出循环。b再自减,b=8 所以 a=2,b=8
C语言中,下列程序执行后的输入结果是___ #define MA(x) x*(x-1) m...
define MAX(X) X,在编译时候,只做简单替换。比如说 在main()函数中,int x=MAX(a+b)*MAX(a+b),c编译器在编译的时候,将MAX替换,变成a+b*a+b。
C语言,以下程序运行的结果是什么,麻烦详细解释一下
{ int k;char c[2];}a;a.k=-7;printf("%d,%d\\n",a.c[0],a.c[1]);return 0;} 解释 :联合体共用存储空间。int型占4个字节,char型占一个字节,因此a的内存分布如下图 整型数-7的十六进制表示为0xfffffff9 char[0] = 0xf9 \/\/转为十进制-7 char[1] = 0xff \/\/转为十进制...
C语言分析下面程序的运行结果
1、输出为:1 if条件语句中,当()中的值为零时,条件为假,非零时条件为真;由于逻辑运算2&&3结果为1,故条件为真,程序执行a=1语句;最终输出为1 2、输出为:7 运行switch(1)时,将执行case(1)语句,并接着往下执行直至遇到break,或者整个switch语句结束 所以最终b=1+1+2+3=7 3、...
15.写出下面程序的运行结果___ #include <stdio.h> main() { int a...
1.a= b+ c 所以表达式值为非零,为真,执行printf ("###\\n");2.自增运算符后缀,所以先引用,后自增,m为2,m>2为假,然后m自增一值为3,执行else部分,m+2=5 7.注意是x=2 ,是=,赋值号,也就是x被赋值为2,表达式非零,为真执行y= y+2;8.i为10,所以到case 10部分i+=1;i值为11...
下列程序执行的结果是() a=1;b=2;c=3; while(a<b<c) { t=a;a=b;b=...
先说条件:a<b<c,注意:<的结合性自左向右,而a<b条件为真。然后说下C语言逻辑值的表示:真为1,假为0。所以a<b的值为1,于是a<b<c化为1<c即真。最后t=a;a=b;b=t;是实现两个数相互交换的典型,所以a=2,b=1,而c--结果为2 所以最后输出结果为2,1,2....
以下运行程序后的输出结果是#include<stdio.h>main(){int x=1,y=1...
首先指出程序中的三处错误,第一个是int m n中间应该有逗号,第二个是swtich拼写有错误,第三个是打印输入语句printf("x=%d,y=%d",x,y)有误。修正后程序的运行结果是:x=6,y=6。代码运行结果如下图所示:程序运行过程解析:1、完成变量的赋值,其中有x=1,y=1,m=1,n=1。2、执行第一...
C语言题目 分少是少,诚心请教,麻烦告诉下,看看自己选的是对的吗?望请...
1、c语言规定:在一个源程序中,main函数的位置 c A)必须在最开始 B)必须在系统调用的库函数的后面 C)可以任意 D)必须在最后 2、下面程序的运行结果是___d_。main(){struct cmplx {int x;int y;}cnum[2]={1,3,2,7};printf(”%d\n”,cnum[0].y\/cnum[0].x *cnum[l].x)...
15道C语言的选择题,请各位帮忙阿。
6.若j已定义为int型,则以下程序段中循环体的执行结果是( )。for(j=1; j<=10; ){printf(“%2d”, j); j=j+2;} (A) 1 2 3 4 5 (B) 1 3 5 7 9 (C) 2 4 6 8 10 (D)3 4 5 6 7 7.下面程序的运行结果是( )。main(){ int a[5], i;for(i=0;i<5;i++)...
在C语言中,下列程序段的输出结果是( ) int x=0,y=0; switch(x==y)
选择B 真值在C语言中与1对等, 所以进入case 1分支