July 1st :关于if语句的使用及格式int main()
{
int age = 10 ;
if (age < 18)
printf("未成年\n");
else
printf("成年\n");
return 0;
} 这是一段引用了if语句的基础代码,判断age是否满足if语句的条件。int main()
{
int age = 66;
if(age < 18)
printf("未成年\n");
else
{
if( age >= 18 && age < 26 )
printf("青年\n");
if( age >= 26 && age < 50 )
printf("中年\n");
if( age >= 50 && age < 80 )
printf("老年\n");
else
printf("老不死\n");
}
return 0 ;
} 这也是一段引用了if语句的基础代码判断age的条件是否满足第if语句的条件并对号入座,此处我使用了大括号包括了出未成年条件以外的条件,我认为这样写更加简洁易懂(想要执行多条语句必须用大括号括起来)。作为小白,很多时候会把&&忽略从而产生bug,&&称为逻辑与 ,判断条件的真假,只有两个条件都为真才可以被引用,如果把if (age>=18 && age<28)打成if (28>age>=18)则会使代码被忽略。int main()
{
int a = 1;
int b = 2;
if(a == 0);
if(b == 2);
printf("hehe\n");
else
printf("haha\n");
return 0 ;
} 这是一段错误的代码,它不会打印出hehe或haha,因为第一个if语句在判断a的时候没有匹配成功,所以不会再继续进行第二个if判断int main()
{
int a = 1 ;
int b = 2;
if(a == 0)
{
if(b == 2)
printf("hehe\n");
}
else
printf("haha\n");
return 0;
} else和离他最近的if进行匹配,如图所示如果最近的被括住了,就匹配第二近的。第一个if对了直接走第二个第二个错了便直接结束,不会继续else因为有大括号,else是和第一个if匹配的,如果第一个对了第二个也对了打印出结果为hehe。如果第一个错了,直接跳转到else结果为haha,因为第二个if被括了所以不会继续下去。//错误示范
int main()
{
int A = 1 ;
if ( A = 2)
printf ("haha\n");
else
printf ("hehe\n")
return 0;
} 这串代码的结果粗心的话会以为是haha,其实很多时候都会有粗心的时候,少打一个等于号,整串代码的意思就变了带入到程序里会出现不必要的bug,为了避免这种事情的发生,我们可以把判断条件里的常量和变量调换个位置,如if(2 == A)这样便会强制解决了这个问题//int main()
//{
//int num = 4;
//if(5 == num)//赋值bug 倒着写更加靠谱常量放在左边
//{
//printf("呵呵\n");//
//}
//return 0;
//} 很方便//打印100里的奇数(1)
int main()
{
int i = 1;
while(i<100)
{
printf("%d\n",i);
i+=2;
}
return 0;
}
//打印100里的奇数(2)
int main()
{
int i = 1 ;
while(i<100)
{
if ( i%2 == 1 )
printf("%d\n",i);
i++;
}
return 0 ;
}
|