C语言菜鸟求高手解答...

1、当x在[1,10]和[15,20]内为真,求在C语言中的表达式。
2、求以下程序输出结果:
main()
{ int m=5;
if(m++>5) printf("%d\n",m);
else printf("%d\n",m--);
}

希望高手给出详细过程,谢谢。

第一个问题只能说是一个判定条件,不知道你要的结果是什么。。
2.m++>5这个判定是先取值后运算,m=5>5这个是不成立的,所以结果为假,然后m自增m=6,接着运行else printf("%d\",m--);同样先取值运行,m=6所以输出6,之后再自减m=5但这是没有输出的,如果运行这个
main()
{ int m=5;
if(m++>5) printf("%d\n",m);
else printf("%d\n",m--);
printf("%d\n",m);
}
会输出6(换行)5
温馨提示:内容为网友见解,仅供参考
第1个回答  2012-09-05
先给你说第二个吧 结果是6 ,m++ ,m--都是后增减操作符。if(m++>5) printf("%d\n",m);中先进行m是否大于5的判断 当然是不了。然后自加等于六了。然后到else printf("%d\n",m--);因为m--是后减操作符,所以先输出m在进行--之前的值 是6.最后进行自减操作。
至于第一个,我给你一个参考答案吧(你的提问太泛化了,没办法具体而微)
if((m>=1&&m<=10)||(m>=15&&m<=20))
{
//to do what you want to do

}追问

printf("%d",m=10/5);这个语句为什么先算了m=10/5,再输出?
第一个问题就是要写成C的表达式(m>=1&&m=15&&m<=20),那个“和”不是代表且的意思吗?

追答

先表达一下我的心情吧 我给你回答的那么具体你居然没有选为满意的,我缺一个满意回答就完成任务了啊。
printf("%d",m=10/5);先算了m=10/5是因个很正常得 问题。m++和++m对于初学者是个难点。你可以这样理解m++加号在m的后面所以在m进行完所在表达式的运算后才进行++操作。++m加号在前面,所以先进行加的操作然后再进行其他运算

不会了接着问 呵呵

追问

呀呀呀,sorry呀,下次给 你。 第二个问题呢?

追答

和在这里是或的意思啊 这是个逻辑问题 要是且的意思的话[1,10]且[15,20]这样的熟根本不存在啊

第2个回答  2012-09-05
(x>=1 && x<=10) || (x>=15 && x<=20)

开始
m=5
m++=5>5 假 这时m=6
打印m--=6 这时m=5
所以结果为6
第3个回答  2012-09-05
1 (x>=1 && x<=10) || (x>=15 && x<=20)
2 开始m = 5,接下来m++>5,先判断,后加,即m先于5判断,再++,所以m++>5为false,结束后m=6,执行printf("%d\n",m--);同样,先输出,后--,即输出6,结束后m=5。

希望有所帮助本回答被提问者采纳

C语言菜鸟求高手解答...
1. 第一个问题似乎是一个关于C语言条件判断的疑问。你需要明确表达你的问题,以便得到具体的解答。2. 在C语言中,`m++` 表示先使用变量 `m` 的值,然后将 `m` 的值加1。所以,表达式 `m++ > 5` 首先将 `m` 的值(初始为5)用于比较,然后 `m` 自增。3. 由于 `m` 的初始值是5,...

用C语言求解一元二次方程,菜鸟问题,求高手解答。。。
void main(){float a,b,c,disc,x1,x2,realpart,imagpart;scanf("%f,%f,%f",&a,&b,&c);disc=b*b-4*a*c;if(fabs(disc)<=0.0001) printf("has two equal roots:%8.4f\\n",-b\/(2*a));else if(disc>0.0001){x1=(-b+sqrt(disc))\/(2*a);x2=(-b-sqrt(disc))\/(2*a...

我想学习C语言。求高手指点应该怎么做?
1、学习C语言,要从入门到精通,需要读哪些书(从简单的到难的排序,越详细越好,最好都能注释下选择这本书的理由)?入门阶段:还是老谭那本。理由:虽然不能说它写得有多好,但是你现在要做的是入门,要快速的掌握c的基本语法,这本书很好理解,能够让你在最短的时间内大致掌握这门语言的概更。

C语言菜鸟求高手解答...
2.m++>5这个判定是先取值后运算,m=5>5这个是不成立的,所以结果为假,然后m自增m=6,接着运行else printf("%d\\",m--);同样先取值运行,m=6所以输出6,之后再自减m=5但这是没有输出的,如果运行这个 main(){ int m=5;if(m++>5) printf("%d\\n",m);else printf("%d\\n",m-...

C语言不会,求高手,我是菜鸟
char b1,b2,b3,b4,b5;b1='A';b2='B';b3='C';b4='D';b5='E';printf("b1=%c\\nb2=%c\\nb3=%c\\nb4=%c\\nb5=%c\\n",b1,b2,b3,b4,b5);b1=b1+4;b2=b2+4;b3=b3+4;b4=b4+4;b5=b5+4;printf("b1=%c\\nb2=%c\\nb3=%c\\nb4=%c\\nb5=%c\\n",b1,b2,b3,b4,b5);...

几道c语言题目 菜鸟望高手解答
第一道题:输出的是:0 1 3 4 \/\/因为for循环 i从0到4 但是当i等于2的时候执行了continue,也就是直接跳转到下一次循环,所以2没有输出 第二题:t为2 因为 if-else 结构中的else是和最近一个if相匹配的,又因为if(x<y)不成立,所以直接执行输出语句,即输出2 第三题:3 6 9 因为x被...

C语言的菜鸟问题,大家帮帮忙 我是自学的
1.变量必须先声明后使用,并且变量的声明要放在开头。我不明白int x=a的本意,你是想直接定义个整形变量x,且值为a吗?如果是,有如下问题:如问题1所述,声明放在前面。x=a;a是浮点类型、x是整形,这样的赋值,浮点数的小数部分会丢失,就是说x中只有a的整数部分。看看我改的程序是不是你想...

C 语言 菜鸟题 高手看看
for(i=1;i<100;i=i+2)\/\/正数的分母间差2,分子都一样 { zheng=zheng+1\/i;} for(i=2;i<101;i=i+2)\/\/负数的分母间差2,分子都一样 { fu=fu+1\/i;} result=zheng-fu;\/\/结果就是正的减负的,很好理解吧。printf("%f",result);一般的话代码越多,越好理解,但是效率低,代码越...

C语言高手进!我是菜鸟请教
include<stdio.h> void main(){ int a,b,c;for(a=0;a<=20;a++)for(b=0;b<=33;b++)for(c=0;c<=300;c=c+3){if(5*a+3*b+c\/3==100&&a+b+c==100)printf("公鸡%d个母鸡%d个小鸡%d个\\n",a,b,c);} }

菜鸟问一段C语言的程序,高手进
建议把程序的printf("%c\\n",argv[i][j]);改为printf("%c_",argv[i][j]);将工程编译后在命令提示符下运行(开始-运行-输入cmd,按回车即可),然后进入程序所在磁盘,(命令cd 文件路劲即可进入)。输入编译好的程序名+几个字符串,中间用空格隔开。你就会有深刻的体会了!程序运行截图如下(...

相似回答
大家正在搜