关于分支与循环的一些细节

简介: 关于分支与循环的一些细节

前言:

`关于C语言分支于循环是比较简单,却有一些小细节,下面我们通过几道题目来进行探索

细节一:if与else匹配的细节

我们都知道知道if与else进行匹配,但是里面有个小点,希望各位注意:(请看代码)

题目:请看题目说出输出的结果:

#include<stdio.h>
int main()
{
  int a = 0;
  int b = 2;
  if (a == 1)
    printf("要选我吗?\n");
      if (b == 2)
       printf("真的要打印我呀\n");
  else
    printf("打印我打印我!!!\n");
  return 0;
}

细节二:多个关系运算符连续使用

问题:请看代码说出输出结果:

#include<stdio.h>
int main()
{
  int a = 0;
  int b = 100;
  int c = 3;
  if (a < b < c)
    printf("选我!!!\n");
  else
    printf("可能是我哦\n");
  return 0;
}

细节三:逻辑运算符中的短路现象

题目:请看代码计算出输出结果:

#include<stdio.h>
int main()
{
  int i = 0;
  int a = 0;
  int b = 0;
  int c = 0;
  int d = 0;
  i = a++ && ++b && d++;
  printf("a = %d b = %d c = %d d = %d\n", a, b, c, d);
  printf("i = %d\n", i);
  return 0;
}

答案:

答案1:真的要打印我呀

答案2:选我!!!

答案3:a = 1 b = 0 c = 0 d = 0 i = 0

总结

  • 问题一总结:else与最近的if匹配;
  • 问题二总结:逻辑运算操作符的逻辑是真返回1,假返回0;
    逻辑运算符在本题目中的运算逻辑是,a<b,是真,返回1,1<c,所以打印“选我!!!”;
  • 问题三总结:与运算符一个为假也就是0,那么后面不再进行计算;
    在本题中a为后置++,先使用后加加,先使用0,i接收到0后判断认为是假,对后面的与操作数字不进行计算,直接掠过。

欢迎指正,建议,评论,谢谢!

相关文章
|
3月前
|
C语言
分支与循环讲解
分支与循环讲解
|
5月前
|
程序员 编译器 C语言
分支和循环(一)
分支和循环(一)
|
5月前
|
C语言
分支和循环(二)
分支和循环(二)
|
6月前
|
C语言
分支和循环(2)
分支和循环(2)
54 3
|
6月前
|
C语言
分支和循环(1)
分支和循环(1)
36 0
|
6月前
|
Python
[重学Python] Day1 变量+分支+循环
[重学Python] Day1 变量+分支+循环
54 3
|
编译器 C语言
分支与循环(1)
分支与循环(1)
分支与循环(1)
|
程序员 编译器
分支与循环
分支与循环
|
监控 C++
分支与循环(2)(下)
分支与循环(2)(下)
|
编译器 C语言