评论

收藏

[C++] 暑假C计划.01

编程语言 编程语言 发布于:2021-07-01 21:17 | 阅读数:452 | 评论:0

  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 ;
}
  
关注下面的标签,发现更多相似文章