C语言操作符详细介绍(三)

简介: C语言操作符详细介绍

九、逻辑操作符


&& 逻辑与
|| 逻辑或


1.区分逻辑与和按位与


按位与:1&2----->0

逻辑与:1&&2---->1


2.区分逻辑或和按位或


按位或:1|2----->3

逻辑或:1||2---->1


十、条件操作符(三目操作符)


exp1 ? exp2 : exp3


这个也是三目操作符


     ⭕如果表达式1为真,那么就计算表达式2,表达式2的结果为整个式子的 结果;

     ⭕如果表达式1为假,那么就计算表达式3,表达式3的结果为整个式子的结果。


例:问:将下列式子转化为条件表达式是什么样的?


if (a > 5)
  b = 3;
else 
  b = -3;

答案:


b = (a > 5 ? 3 : -3);


使用条件表达式得到两个数的较大值


#include<stdio.h>
int main(void)
{  
   int a = 0, b = 0, c = 0;
   printf("请输入两个数:\n");
   scanf_s("%d %d", &a, &b);
   c = (a > b ? a : b);
   printf("较大的数为:%d\n", c);
   return 0;
}


十一、逗号表达式


exp1, exp2, exp3, …expN


⭕逗号表达式,就是用逗号隔开的多个表达式。

⭕逗号表达式,从左向右依次执行。整个表达式的结果是最后一个表达式的结果。


int a = 1;
int b = 2;
int c = (a>b, a=b+10, a, b=a+1);//逗号表达式

       上面C的值最后等于13


十二、下标引用、函数调用和结构成员


1. [ ] 下标引用操作符


操作数:一个数组名 + 一个索引值


int arr[10];//创建数组
arr[9] = 10;//实用下标引用操作符。
[ ]的两个操作数是arr和9。


2. ( ) 函数调用操作符


       🍟接受一个或者多个操作数:第一个操作数是函数名,剩余的操作数就是传递给函数的参数。


#include <stdio.h>
void test1()
{
printf("hehe\n");
}
void test2(const char *str)
{
printf("%s\n", str);
}
int main()
{
test1(); //实用()作为函数调用操作符。
test2("hello bit.");//实用()作为函数调用操作符。
return 0;
}


3. 访问一个结构的成员



结构体.成员名
-> 结构体指针->成员名


#include <stdio.h>
struct Stu
{
    char name[10];
    int age;
    char sex[5];
    double score;
}
void set_age1(struct Stu stu)
{
    stu.age = 18;
}
    void set_age2(struct Stu* pStu)
{
    pStu->age = 18;//结构成员访问
}
int main()
{
    struct Stu stu;
    struct Stu* pStu = &stu;//结构成员访问
    stu.age = 20;//结构成员访问
    set_age1(stu);
    pStu->age = 20;//结构成员访问
    set_age2(pStu);
    return 0;
}


十三、操作符的属性


1. 复杂表达式的求值有三个影响的因素


1. 操作符的优先级

2. 操作符的结合性

3. 是否控制求值顺序。

       两个相邻的操作符先执行哪个?取决于他们的优先级。如果两者的优先级相同,取决于他们的结合性。


操作符优先级(表)


image.png

image.png

image.png

image.png

image.png


表格说明

       同一优先级的运算符,运算次序由结合方向所决定。


     😍 简单记就是:! > 算术运算符 > 关系运算符 > && > || > 赋值运算符


目录
相关文章
|
15天前
|
C语言
C语言之操作符1
C语言之操作符1
19 0
|
17天前
|
编译器 C语言
操作符详解(C语言基础深入解析)
操作符详解(C语言基础深入解析)
|
1月前
|
存储 编译器 C语言
爱上C语言:操作符详解(下)
爱上C语言:操作符详解(下)
|
2月前
|
算法 测试技术 C语言
【C语言】异或(^)操作符
【C语言】异或(^)操作符
18 0
|
2月前
|
存储 算法 编译器
【c 语言 】移位操作符详解
【c 语言 】移位操作符详解
40 0
|
2月前
|
存储 算法 程序员
【c 语言 】位操作符详解
【c 语言 】位操作符详解
55 0
|
2月前
|
存储 编译器 Linux
操作符详解【c语言】
操作符详解【c语言】
|
2月前
|
C语言
【C语言】位操作符详解
【C语言】位操作符详解
25 0
|
2月前
|
存储 C语言
【C语言】位与移位操作符详解
【C语言】位与移位操作符详解
【C语言】位与移位操作符详解
|
2月前
|
存储 编译器 程序员
c语言从入门到实战——操作符详解
C语言操作符指的是程序中用来进行各种计算、逻辑和条件操作的符号或符号组合。 操作符是编程中用于执行特定操作或比较数据的符号。它们根据操作类型分为算术、比较、逻辑和位操作符。算术操作符执行加、减、乘、除等数学运算;比较操作符比较两个值的大小或相等性;逻辑操作符连接多个条件,形成更复杂的逻辑判断;位操作符则直接对整数的二进制位进行操作。了解各种操作符的特性和用法,对于编写高效、准确的代码至关重要。
55 0