24小时热门版块排行榜    

Znn3bq.jpeg
汕头大学海洋科学接受调剂
查看: 2387  |  回复: 11
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

时飞

银虫 (小有名气)

[求助] c语言

1、main()
{int i=1,j=2,k=3;
if(i++==1&&(++j==3||k++==3))
printf("%d%d\n",i,j,k,);
}


2、mian()
{int y=10;
while(y--);printf("y=%d\n",y);
}


3、main()
{int k=5,n=0;
while(k>0)
{switch(k)
{default:break;
case 1: n+=k;
case 2:
case 3:n+=k;
}k--;
}printf("%d\n",n);
}

哪位大侠把这三个程序如何运行详细说明一下?????谢谢!!!
回复此楼

» 猜你喜欢

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

zxliu

银虫 (小有名气)

感谢参与,应助指数 +1
zzy870720z: 应助指数-1, 鼓励交流,希望下次不要选择应助回帖 2012-03-21 16:25:20
哇塞在这程序得输入多长时间啊 哈哈 得有耐心啊
4楼2012-03-21 10:55:48
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 12 个回答

qqhegg

荣誉版主 (文坛精英)

珊瑚小美-----小元家的九妹

优秀版主优秀版主

【答案】应助回帖

★ ★ ★ ★ ★
感谢参与,应助指数 +1
jjdg: 金币+2, 感谢参与 2012-03-21 01:42:22
时飞: 金币+3, ★★★★★最佳答案, 谢谢啊 2012-03-21 12:38:59
1、main()
{int i=1,j=2,k=3;
if(i++==1&&(++j==3||k++==3))
printf("%d%d\n",i,j,k,);
}
解释:i++后加所以先运算在相加即i==1成立返回1,i+1=2
++j前加,先加为3,3==3返回1,因为或有1则为1所以后面不用运算即K=3
所以结果2,3,3
2.2、mian()
{int y=10;
while(y--);printf("y=%d\n",y);
}
循环结构但是循环什么都不做,循环结束后输出y的值,但因为是后--所以可不可以这样理解y==1,y--.当y==1时,依旧成立,y=0,0==1不成立,但是y--还要进行,y=-1
3.main()
{int k=5,n=0;
while(k>0)
{switch(k)
{default:break;
case 1: n+=k;
case 2:
case 3:n+=k;
}k--;
}printf("%d\n",n);
}

这个是多条case通用相同的语句相当于下面的:
main()
{int k=5,n=0;
while(k>0)
{switch(k)
{default:break;
case 1: n+=k;
case 2:n+=k;
case 3:n+=k;
}k--;
}printf("%d\n",n);
}
所以最后3+2+1=7n=7
每天都是新的一天,每天上帝都会给你不同的惊喜
2楼2012-03-20 22:21:52
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

lgdji

新虫 (初入文坛)

【答案】应助回帖

★ ★
感谢参与,应助指数 +1
时飞: 金币+2, ★★★很有帮助, 谢谢 2012-03-21 12:39:44
1.&&和||运算符都是短路判断:&&左边的表达式为假的情况下不会判断右边的表达式,||左边的表达式为真的情况下不会判断右边的表达式。i++==1:后缀运算符使得i先进行判断再加1,此时为真;然后进行判断(++j==3||k++==3):前缀表达式使j先加1再使用它的值进行判断,此时++j==3为真,那么表达式(++j==3||k++==3)一定为真,无需判断k++==3,所以结果为2 3 3。
2.while语句后面的是空语句,什么也不做;循环停止的点是(y--)等于0的时候,在后面打印的时候,此时y的值已经减1了,所以最终打印的值为-1。
3.楼主应该能明白循环过程中只有当k等于3、2和1的时候会改变n的值:当k=3的时候,n=0+3=3;k=2时,n=3+2=5;注意当k=1时,此时n改变两次,在case 1:处,n=5+1=6,但是由于语句没有break语句,后面的语句还会继续执行,所以,在case 3:下的语句执行为n=6+1=7。所以最终的结果为7.
3楼2012-03-21 10:37:08
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

hp2012

铜虫 (初入文坛)

【答案】应助回帖


感谢参与,应助指数 +1
jjdg: 金币+1, 感谢参与 2012-03-22 00:31:47
第一个程序:首先定义了三个有符号的整型变量分别为-i-j-k并进行了初始化如i=1等,下一句是判断语句,其中++j==3表示j先是加上1在与3进行比较,若相等则此语句为真,k++==3则表示先将k与3进行比较,若k等于3则此语句为真,而||是逻辑或运算符号,只要符号两边的语句有一句是真则整条语句(++j==3||k++==3)为真,&&是逻辑与运算符号,只要符号两边有一个是假则整个语句为假,很显然i++==1为真,而++j==3为真。即(++j==3||k++==3)为真,所以i++==1&&(++j==3||k++==3)为真,if语句是括号里面的语句为真的话,就执行最近的下面语句(包括复合语句)
执行printf();语句,此语句是用于输出的功能,printf("%d%d\n",i,j,k,);表示输出当前i,j的值因为只有两个%d,因而无法输出此时i==1;j==3;
5楼2012-03-21 18:23:37
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 求调剂推荐 +4 小聂爱学习 2026-04-14 4/200 2026-04-14 20:54 by fqwang
[考研] 材料工程281还有调剂机会吗 +41 xaw. 2026-04-11 42/2100 2026-04-14 20:05 by honglizhao
[考研] 求助调剂,跨调 +18 X十甫寸Y 2026-04-11 19/950 2026-04-14 19:26 by Art1977
[考研] 302分求调剂 +10 凡语祈愿 2026-04-08 11/550 2026-04-14 16:50 by jiangguiquan11
[考研] 335求调剂 +19 想上岸呀!! 2026-04-12 21/1050 2026-04-14 16:23 by Art1977
[考研] 296求调剂 +8 汪!?! 2026-04-09 9/450 2026-04-14 15:15 by 逆水乘风
[考研] 人工智能320调剂08工类还有机会吗 +18 振—TZ 2026-04-10 19/950 2026-04-14 10:34 by screening
[考研] 085404 298分求调剂 +11 呼啦呼啦呼呼呼 2026-04-10 12/600 2026-04-14 08:38 by wfj257
[考研] 生物学调剂 +11 小冉要努力 2026-04-10 13/650 2026-04-13 11:46 by 电化学及催化
[考研] 一志愿085802 323分求调剂 +13 drizzle_9 2026-04-12 14/700 2026-04-13 10:26 by Faiz5552
[考研] 求调剂,一志愿材料科学与工程985,365分, +8 材化李可 2026-04-11 10/500 2026-04-12 08:42 by 852137818
[考研] 调剂 +6 青灯不负 2026-04-09 6/300 2026-04-11 20:35 by dongdian1
[考研] 求调剂 +6 archer.. 2026-04-09 8/400 2026-04-11 10:55 by zhq0425
[考研] 求调剂 +5 不会飞的鱼@ 2026-04-10 5/250 2026-04-10 19:07 by chemisry
[考研] 282,电气工程专业,求调剂,不挑专业 +9 jggshjkkm 2026-04-10 9/450 2026-04-10 14:55 by 逆水乘风
[考研] 一志愿中南大学物理学,英一66,求调剂 +4 长烟旖旎 2026-04-08 5/250 2026-04-10 10:31 by 颖果儿
[考研] 初试分332,一志愿报考西北工业大学, +11 故人?? 2026-04-09 11/550 2026-04-09 21:54 by JineShine
[考研] 283电子信息求调剂 +4 三石WL 2026-04-08 4/200 2026-04-09 10:21 by wp06
[考研] 334求调剂 +16 Riot2025 2026-04-08 17/850 2026-04-09 09:28 by wdyheheeh
[考研] 考研求调剂 +4 雯??? 2026-04-08 4/200 2026-04-08 21:44 by 土木硕士招生
信息提示
请填处理意见