★C语言练习题,读程序写结果题,第四题

这是两道题,极为相似的。请问都应怎么算。
第一题:
定义 int a=10;下列循环的输出结果是
while(a>7)
{a--; printf("%d",a);}
答案:987

第二题:
定义 int a=10;下列循环的输出结果是
while(a>7)
a--; printf("%d",a);
答案:7

第1个回答  2010-09-12
第一题中,a--与输入语句,都在while循环里面,所以,循环执行三个,输出三次,分别就是987了;
第二题中,循环只控制了a--;也就是说,当a==7的时候,就跳出了循环,然后执行输入语句,就得到答案7了!
第2个回答  2010-09-12
第一题
while 循环体语句由

a--;和printf("%d",a);构成

第一次循环 a=10 a>7 a=a-1=9 打印结果9
第二次循环 a=9 a>7 a=a-1=8 打印结果8
第三次循环 a=8 a>7 a=a-1=7 打印结果7
第四次循环 a=7 a=7 循环结束

最后结果就是987

第二题

a-- 是在while的循环体语句,而printf("%d",a);不是 那么

第一次循环 a=10 a>7 a=a-1=9
第二次循环 a=9 a>7 a=a-1=8
第三次循环 a=8 a>7 a=a-1=7
第四次循环 a=7 a=7

打印结果7

所以这两个题目主要区别是 循环体内的语句个数不同导致打印结果不同本回答被提问者采纳

★C语言练习题,读程序写结果题,第四题
第一题中,a--与输入语句,都在while循环里面,所以,循环执行三个,输出三次,分别就是987了;第二题中,循环只控制了a--;也就是说,当a==7的时候,就跳出了循环,然后执行输入语句,就得到答案7了!

c语言读程序写出执行结果,求高手帮忙解答
3 6 9 第二题:21 第三题:1 第四题:j = 64 第五题:j =81 第六题:18 这个只能帮到你一时,平时还是靠自己去学的,加油吧!

C语言 读程序 写结果
2、98765 3、6 4、45,677 5、分数=75,等级=C 6、1!=1 2!=2 3!=4 4!=24 7、5 8、a=2 9、111213 10、a=11,b=111 max=111,min=11 请注意你的字母的大小写和符号。

c语言读程序写结果,如图?
7, 1

求大佬们详细的过程,C语言题谢谢。看程序写结果
如图所示:每行空格数递减,数字先递增后递减。

求CCF NOIP2011年提高组C语言阅读程序写结果第4题的答案(57344)是怎么...
年提高组C语言阅读

c语言看程序写结果
a[0]的值是什么?——显然是8,因为8是第一个>=0的数,赋给了a[0]。我做出来的答案是a[1]=8 a[2]=1 a[3]=9 a[4]=6, 8 1 9 6——肯定不是这个结果,依次应该是1 9 6 0。a[5]=0但是for循环输出j<5,只会到a[4],求解最后的0是怎么得出的——代码没有操作到a[5],...

C语言简单题
第一题:a*=16+(b++)-(++c)等价于a=a* (16+(b++)-(++c)); "()"优先级最高,所以先执行:(b++),在使用b之后,使b加一,因此(b++)=3;(++C),在使用c之前,使C加一,因此(++C)=5。然后将按照加减的结合性."自左向优"计算,因此16+(b++)-(++c)=14...

c语言看程序写结果
main(){ char ss[10]="12345"; \/\/定义一个10个字符空间的数组ss,并赋值12345\\0 gets(ss); \/\/这个操作之后,ss中的内容就成了:ABC\\0 strcat(ss,"6789"); \/\/cat表示拼接两个字符串,于是ss就变成了ABC6789 printf("%s\\n",ss); \/\/输出ss值 } 输出结果为:ABC6789,答案为A ...

c语言 题目
C. char b[10]; strcpy(b,“Hello!”); D. char b[10]=“Hello!”; 三、读程序题 1、float f=3.1415927; printf(“%f,%5.4f,%3.3f”,f,f,f); 则程序的输出结果是 . 2、int x=6, y=7; printf(“%d,”,x++); printf(“%d\\n”,++y); 程序的输出结果是 . 3、a=3; a+=(a<1...

相似回答