求这两题的详细解析 一定详细 会采纳的非常感谢

img

  • 第二题:
    外层循环判断的标准是 i != 0(在C语言里面,0是假,所以只写一个 i 就表示 i != 0),所以 i 的取值是5、4、3、2、1(取0时跳出循环,不执行循环体),一共五个;内层for循环,判断 j < 4(取4时跳出循环,不执行循环体),所以 j 取值0、1、2、3,一共四个,所以一共执行5*4=20次
  • 第三题:
    m初始化为0,循环体是m++,也就是执行多少次循环体,m就等于几。
    先看外层循环,判断 i <= 15,所以i取值为1、5、9、13(取17时跳出循环,不执行循环体),一共四个;内层循环,判断 j <= 19,所以 j 取值3、7、11、15、19(取23时跳出循环,不执行循环体),一共五个,所以一共执行4*5=20次循环体,即m = 20。最后输出 20

第一题外层循环一次内层循环循环4次如0.1.2.3,外层需要循环5次,所以5*4=20
第二题外层需要循环4次(1.5.9.13),内层循环需要循环5次(3.7.11.15.19),所以一个循环20次,就是执行20次m++,所以m最后为20

1、for(i=5;i;i--):解释一下,里面的循环条件只有i,其实在C语言里面,0是假,也就是说,当其他数字为0的时候,就退出,在本题的意思是i!=0,
完整的写法是for(i=5;i!=0;i--)
说一下,执行过程。当i=5的时候,i!=0不成立,继续执行第二个循环。j=0,j<4成立,循环,j++为1,1<4成立........当j==4的时候,j<4不成立,退出循环。
总结:当i=5的时候,第二个for循环,循环了4次。i=4的时候,第二个for循环,循环了4次,。。。。。最后i==0的时候,不成立退出全部循环。最后结果是执行5X4=20

2、i=1,加4为5,,5加4为9,9+4=13,13+4=17>15,第一个for循环一共执行4次。
j=3,3+4=7,7+4=11,11+4=15,15+4=19,19+4=23>19退出,第二个for循环一共执行5次。
4X5=20,一共执行20次m++,也就是20X1=20