C语言:分析下面程序的运行结果

#include<stdio.h>
int main()
{ int i,sum=0;
for(i=1;,=5;i++)
sum=sum+i;
printf("%d ", sum);
}
结果:

#include <stdio.h>
#define SQR(y)y*y
main()
{
int a,b=4;
a=SQR(b+1);
printf("a=%d\n",a);
}
结果:

main()
{ unsigned a=0361,x,y;
int n=5;
x=a<<(16-n);
printf(“x=%o\n”,x);
y=a>>n;
printf(“y1=%o\n”,y);
y|=x;
printf(“y2=%o\n”,y);
}
结果:
这一共是3道题
大家告诉结果那里填什么就好。我听不懂的,被人在考试,我给他找答案。

第1个回答  2014-06-18
1、输出为:1
if条件语句中,当()中的值为零时,条件为假,非零时条件为真;
由于逻辑运算2&&3结果为1,故条件为真,程序执行a=1语句;
最终输出为1
2、输出为:7
运行switch(1)时,将执行case(1)语句,并接着往下执行直至遇到break,或者整个switch语句结束
所以最终b=1+1+2+3=7
3、输出为:5
实际上for循环中 i 有两次自加运算,故步长为2,;即当 i 增加2时,a加1;当 i >=10时,跳出循环
最终循环一共进行了5次,所以结果a=5
4、输出为;101
for循环中,每循环一次 j 加1,j 的初值为0,当 j >100时跳出循环
故循环一共进行了101次,当 j =101时退出循环,此时 j =101
5、输出为:10
这是一个do—while循环语句,当while中 j 不等于5时进行循环,当 j =5时循环结束
该语句中一共循环了5次
a=0+1+2+3+4=10

这些程序都很简单,估计你是初学的吧,所以我写的详细点,有啥不懂的都可以再问。追问

我是在给别人找答案,我看不懂你的,你只要告诉我 结果那里填什么就好。谢谢了。

相似回答