3.i句的嵌套与嵌套匹配原则 ii句允许嵌套。所谓ⅱ语句的嵌套是指,在 语句组1”或(和)“语句组2”中,又包含有i语 句的情况。 i语句嵌套时,else子句与i的匹配原则:与 在它上面、距它最近、且尚未匹配的对。 为明确匹配关系,避免匹配错误,强烈建议: 将内嵌的语句,一律用花括号括起来 例:写一程序,从键盘上输入1年份year(4位 十进制数),判断其是否闰年。闰年的条件是: 能被4整除、但不能被100整除,或者能被400整
3.if语句的嵌套与嵌套匹配原则 if语句允许嵌套。所谓if语句的嵌套是指,在 “语句组1”或(和)“语句组2”中,又包含有if语 句的情况。 if语句嵌套时,else子句与if的匹配原则:与 在它上面、距它最近、且尚未匹配的if配对。 为明确匹配关系,避免匹配错误,强烈建议: 将内嵌的if语句,一律用花括号括起来。 例: 写一程序,从键盘上输入1年份year(4位 十进制数),判断其是否闰年。闰年的条件是: 能被4整除、但不能被100整除,或者能被400整 除
算法设计要点: (1)如果Ⅹ能被Y整除,则余数为0, 即如果ⅹ%Y的值等于0,则表示Ⅹ能被 Y整除! (2)首先将是否闰年的标志eap预置为 0(非闰年),这样仅当year为闰年时将 leap置为1即可。这种处理两种状态值的方 法,对优化算法和提高程序可读性非常有 效,请同学们仔细体会
算法设计要点: (1)如果X能被Y整除,则余数为0, 即如果X%Y的值等于0,则表示X能被 Y整除! (2)首先将是否闰年的标志leap预置为 0(非闰年),这样仅当year为闰年时将 leap置为1即可。这种处理两种状态值的方 法,对优化算法和提高程序可读性非常有 效,请同学们仔细体会
参考程序如下 main int year, leap=0;/*leap=0:预置为非闰年* printf( Please input the year scanf( od", &year) if(year %04==0) if (year %100=0)leap=1 else fif (year%0400==0)leap=1;i if (leap) printf( %od is a leap year. In" year) else printf("%od is not a leap year. n",year)
参考程序如下: main() {int year,leap=0; /* leap=0:预置为非闰年*/ printf("Please input the year:"); scanf("%d",&year); if (year % 4==0) {if (year % 100 != 0) leap=1;} else {if (year%400==0) leap=1; } if (leap) printf("%d is a leap year.\n",year); else printf("%d is not a leap year.\n",year); }