C语言教程
C语言控制语句
C语言函数
C语言数组
C语言指针
C语言字符串
C语言数学函数
C语言结构
C语言文件处理
C预处理器

C语言表达式

表达式是一个公式,其中操作数通过使用运算符来相互链接以计算值。操作数可以是函数引用,变量,数组元素或常量。
我们来看一个示例:
a-b;
在上面的表达式中,减号(-)是运算符,a和b是两个操作数。
C中存在四种类型的表达式:
算术表达式 关系表达式 逻辑表达式 条件表达式
每种类型的表达式都采用某些类型的操作数,并使用一组特定的运算符。评估特定的表达式会产生特定的值。
例如:
x = 9/2 + a-b;
以上整行是语句,而不是表达式。等于之后的部分是一个表达式。
C_Expressions

算术表达式

算术表达式是由操作数和算术运算符组成的表达式。算术表达式计算类型为int,float或double的值。
当表达式仅包含整数操作数时,则仅包含实数操作数时称为纯整数表达式,即纯实数。表达式,当它同时包含整数和实数操作数时,称为混合模式表达式。
算术表达式的求值
表达式通过一次执行一项操作。运算符的优先级和关联性决定了单个运算的评估顺序。
执行单个运算时,可能会发生以下情况:
当两个操作数均为整数类型时,将执行算术运算,并且运算结果将为整数值。例如,3/2将产生1而不是1.5,因为小数部分将被忽略。 当两个操作数均为float类型时,将执行算术运算,并且运算结果将为实数值。例如,2.0/2.0将产生1.0,而不是1、 如果一个操作数是整数类型,而另一个操作数是实数类型,则将执行混合算术。在这种情况下,第一个操作数将转换为实数操作数,然后执行算术以产生实数值。例如,将6的第一个值转换为6.0,然后执行算术以生成3.0,则6/2.0将产生3.0。
让我们通过一个例子来理解。
6 * 2/(2 + 1 * 2/3 + 6)+ 8 *(8/4)
表达评估 每个操作的说明
6 * 2/(2 + 1 * 2/3 +6)+8 *(8/4) 给出了一个表达式。
6 * 2/(2 + 2/3 + 6)+ 8 *(8/4) 2乘以1,得到2、
6 * 2/(2 + 0 + 6)+ 8 *(8/4) 2除以3,得到0。
6 * 2/8+ 8 *(8/4) 2加到6,得到值8、
6 * 2/8 + 8 * 2 8除以4,得到2、
12/8 +8 * 2 6乘以2,得到值12、
1 + 8 * 2 12除以8,得到值1、
1 + 16 8乘以2,得到值16、
17 1加到16,得到值17、

关系表达式

关系表达式是用于比较两个操作数的表达式。 这是用来决定是否应该采取措施的条件。 在关系表达式中,数字值不能与字符串值进行比较。 关系表达式的结果可以是零或非零值。在这里,零值等于假,非零值等于true。
关系表达式 说明
x%2 = = 0 此条件用于检查x是否为偶数。如果x是偶数,则关系表达式的结果为1,否则为0。
a!= b 用于检查a是否不等于b。如果a不等于b,则此关系表达式的结果为1,否则为0。
a + b = = x + y 用于检查表达式" a + b"是否等于表达式" x + y"。
a> = 9 用于检查a的值是否大于或等于9、
让我们看一个简单的示例:
#include <stdio.h>
 int main()
{
    
    int x=4;
    if(x%2==0)
    {
        printf("The number x is even");
    }
    else
    printf("The number x is not even");
    return 0;
}
输出
C_Expressions

逻辑表达式

逻辑表达式是计算零或非零值的表达式。 做出决定是一个复杂的测试条件。
让我们看一些逻辑表达式的示例。
逻辑表达式 说明
(x> 4)&&(x <6) 这是一个测试条件,用于检查x是否大于4并且x小于6、仅当两个条件都为真时,条件的结果才为真。
x> 10 || y <11 这是一个用于检查x是否大于10或y小于11的测试条件。如果两个条件中的任何一个都为true,则测试条件的结果为true。
!(x> 10)&&(y = = 2) 这是一个测试条件,用于检查x是否不大于10并且y等于2、如果两个条件都为真,则条件的结果为真。
让我们看一个简单的" &&"运算符程序。
#include <stdio.h>
int main()
{
    int x = 4;
    int y = 10;
    if ( (x <10) && (y>5))
    {
        printf("Condition is true");
    }
    else
    printf("Condition is false");
    return 0;
}
输出
C_Expressions
让我们看一个简单的" | |"的示例运算符
#include <stdio.h>
int main()
{
    int x = 4;
    int y = 9;
    if ( (x <6) || (y>10))
    {
        printf("Condition is true");
    }
    else
    printf("Condition is false");
    return 0;
}
输出
C_Expressions

条件表达式

条件表达式是如果条件为true则返回1的表达式,否则为0。 条件运算符也称为三元运算符。
条件运算符的语法
假设exp1,exp2和exp3是三个表达式。
exp1? exp2: exp3
上面的表达式是一个条件表达式,它根据exp1表达式的值进行评估。如果表达式exp1的条件成立,则最终条件表达式由exp2表示,否则由exp3表示。
让我们通过一个简单的例子来理解。
#include<stdio.h>
#include<string.h>
int main()
{
    int age = 25;
    char status;
    status = (age>22) ? 'M': 'U';
    if(status == 'M')
    printf("Married");
    else
    printf("Unmarried");
    return 0;
}
输出
C_Expressions
昵称: 邮箱:
Copyright © 2022 立地货 All Rights Reserved.
备案号:京ICP备14037608号-4