闰年判断条件:
公历年份是4的倍数,且不是100的倍数,为普通闰年。公历年份是整百数,且必须是400的倍数才是世纪闰年。(摘自百度)
代码:
#include<stdio.h>
main(){
int n;
printf("请输入年份:");
scanf("%d",&n);
if(n%4==0&&n%100!=0||n%400==0){
if(n%400==0){
printf("是世纪闰年");
}else{
printf("是普通闰年");
}
}else{
printf("不是闰年");
}
}
总结:
在编写程序if判断语句时,对于条件的判断一开始用的单&和单|,原因:与学Java时的判断语句混了。
&与&&在Java中区别:
1、&和&&都可以用作逻辑与的运算符,表示逻辑,当运算符两边的表达式的结果都为true时,整个运算结果才为true,否则,只要有一方为false,则结果为false。
2、&&还具有短路的功能,即如果第一个表达式为false,则不再计算第二个表达式。
(记得Python中好像也遵循这个知识,抱歉学的时间太长了,记不清了,不对的话,勿喷)
3、&则需要判断所有条件(也就是正常规律)。
C中的&和&&的区别:
1.运算符性质不同。
&是一个位运算符。
&&是一个逻辑运算符。
2.作用不同。
&是将两个二进制的数逐位相与,结果是相与之后的结果。
&&就是判断两个表达式的真假性,只有两个表达式同时为真才为真,有一个为假则为假,具有短路性质。
3.用途限制。
&除了是一个位运算符,也是取地址符。
&&就是一个单纯的逻辑运算符,没有任何其他含义。
(|与||同上)
(作为大学生会学很多基础知识,长时间不看就会混,和我一样。如果你是大学生请及时复习自己的过往知识)
(以上&与&&不同区别均来自百度)