c语言6

30 阅读2分钟
  1. int cond可以简化代码 例:
#include<stdio.h>
int main(){
    printf("请输入一个2位数:");
    int a;
    scanf("%d",&a);
    int cond1=a%10!=7;
    int cond2=a/10!=7;
    int cond3=a%7!=0;
    printf("%d",cond1&&cond2&&cond3);
    return 0;
}

短路

  1. 定义:若代码的结果已经确定,代码会终止不往后运行 例如:a已经不小于1了,所以b++不会执行,最后结果为b=5
#include<stdio.h>
int main(){
    //短路
    int a = 1,b = 5;
    a<0&&b++;//a<0为假,所以b++不会执行,被短路
    printf("a=%d\nb=%d",a,b);
    return 0;
}

三元运算符

  1. 定义:三个操作数的运算符,表示为关系表达式?表达式1:表达式2; 例:下求a的绝对值
#include<stdio.h>
int main(){
    int a = -7;
    int b = a>0 ? a : -a;
    printf("a=%d\nb=%d",a,b);
    return 0;
}
#include<stdio.h>
int main(){
    printf("请输入2个数: ");
    int a,b;
    scanf("%d %d",&a,&b);
    int c=a>b?a:b;
    printf("更大的是%d",c);
    return 0;
}
#include<stdio.h>
int main(){
    printf("请输入3个数: ");
    int a,b,c;
    scanf("%d %d %d",&a,&b,&c);
    int d=a>b?a:b;
    d=d>c?d:c;
    printf("更大的是%d",d);
    return 0;
}

逗号运算符

  1. 格式:表达式1,表达式2,表达式3... 例:逗号运算符并列的最后一个为输出的结果
#include<stdio.h>
int main(){
    int a=1,b=2 ,c=3;
    int d =(a,b,++c);
    printf("%d",d);
}

输出结果为c++,即4

运算符的优先级

image.png

要点:1. 小括号优先于所有,添加必要的小括号 2. 一元 > 二元 > 三元 a. 一个变量就可以使用的运算符,就是一元运算符。例如 ++, --, ! b. 二个变量可以使用的运算符,就是二元运算符。例如: * / % c. 三元运算符,只有一个,就是 ?:

  1. && > || > 赋值
  2. 运算的优先级比关系的高