c语言之运算符

逻辑运算符

! && ||

C语言对真假的处理

非零是真

零是假

 

真是1表示

假是0表示

&& 左边的表达式为假,右边的表达式肯定不会执行

|| 左边的表达式为真,右边的表达式肯定不会执行

# include <stdio.h>

int main(void) 
{
    int i = 10;
    int k = 20;
    int m;

    m = (1 > 2) && (k = 5); //不含有分号的是表达式 含义分号的是语句
    printf("m=%d, k=%d\n", m, k);

    return 0;
}

自增或自减

分类:

前自增  ++i

后自增 i++

前自增和后自增的异同:

相同:

  最终都使i的值加1

不同:

  前自增整体表达式的值是i加1之后的值

  后自增整体表达式的值是i加1之前的值

为什么会出现自增

  代码更精炼

  自增的速度更快

学习自增要明白的几个问题

  1. 我们编程时应该尽量屏蔽掉前自增和后自增的差别
  2. 自增表达式最好不要作为一个更大的表达式的一部分来使用
    1. 如 int m=i++ + ++i + i + i++ ; //这样写不但是不规范的代码,而且是不可移植的代码
    2. 如 printf("%d %d %d",i++,++i,i) ; //同上

三目运算符

A?B:C

等价于

if(A)

  B;

else

  C;

逗号表达式

A,B,C,D

功能:

  从左到右执行

最终表达式的值是最后一项的值

# include<stdio.h>

int main(void)
{

    int i;

    i = (2, 3, 5, 6);
    printf("%d\n", i);

    return 0;
}

 

posted @ 2024-04-08 20:46  万溪汇海  阅读(2)  评论(0编辑  收藏  举报