操作符详解(全网最详细的操作符详解)下

简介: 操作符详解(全网最详细的操作符详解)

7. 关系操作符


>
>=
<
<=
!=   用于测试“不相等”
==      用于测试“相等”

小心不要吧‘=’和‘==’搞混。


8. 逻辑操作符


逻辑操作符有哪些:


&&     逻辑与
||     逻辑或
区分逻辑与和按位与
区分逻辑或和按位或
1&2----->0
1&&2---->1
1|2----->3
1||2---->1

下面是一道易错的题目:


#include <stdio.h>
int main()
{
    int i = 0,a=0,b=2,c =3,d=4;
    i = a++ && ++b && d++;
    //i = a++||++b||d++;
    printf("a = %d\n b = %d\n c = %d\nd = %d\n", a, b, c, d);
    return 0;
}
//程序输出的结果是什么?

答案是1 2 3 4,而不是1 3 3 5哦。


这是因为a++的++为后置,这样一来a的值为零,即为假,a++之后的代码不会执行。


9. 条件操作符


exp1 ? exp2 : exp3


1.
if (a > 5)
        b = 3;
else
        b = -3;
转换成条件表达式,是什么样?
2.使用条件表达式实现找两个数中较大值
//a>5? b=3:b=-3


10. 逗号表达式


exp1, exp2, exp3, …expN


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


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


//代码1
int a = 1;
int b = 2;
int c = (a>b, a=b+10, a, b=a+1);//逗号表达式
c是多少?
//代码2
if (a =b + 1, c=a / 2, d > 0)
//代码3
a = get_val();
count_val(a);
while (a > 0)
{
        a = get_val();
        count_val(a);
}
如果使用逗号表达式,改写:
while (a = get_val(), count_val(a), a>0)
{
}


11. 下标引用、函数调用和结构成员


1. [ ] 下标引用操作符  操作数:一个数组名 + 一个索引值。

2. ( ) 函数调用操作符 接受一个或者多个操作数:第一个操作数是函数名,剩余的操作数就是传递给函数的参数。


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



希望能为大家带来帮助!


最后,如果您觉得我的文章写的不错。


请给小陈:


点一个小小的赞!


我一定会带来更好的文章的!


c8be54d758ad7ceae19cbbdad132d0a7_aeb724f3f30b4f23a2bc65277b6458b4.jpeg



相关文章
|
5月前
|
编译器 C语言
【C语言】:中移位操作符,位操作符详运算规则详解
【C语言】:中移位操作符,位操作符详运算规则详解
42 1
|
5月前
|
编译器 C语言
C语言学习记录——操作符详解知识点选记(算术操作符、单目操作符、移位操作符、关系操作符、逻辑操作符、条件操作符......)二
C语言学习记录——操作符详解知识点选记(算术操作符、单目操作符、移位操作符、关系操作符、逻辑操作符、条件操作符......)二
47 3
|
5月前
|
存储 编译器 C语言
C语言学习记录——操作符详解知识点选记(算术操作符、单目操作符、移位操作符、关系操作符、逻辑操作符、条件操作符......)一
C语言学习记录——操作符详解知识点选记(算术操作符、单目操作符、移位操作符、关系操作符、逻辑操作符、条件操作符......)一
40 1
|
6月前
|
C语言
条件操作符和逻辑操作符(C语言零基础教程)
条件操作符和逻辑操作符(C语言零基础教程)
|
存储 编译器 C语言
初始C语言——详细讲解操作符以及操作符的易错点
初始C语言——详细讲解操作符以及操作符的易错点
105 0
|
6月前
|
存储 C语言
C learning_12 操作符前篇(算术操作符、移位操作符、位操作符、赋值操作符、单目操作符、关系操作符、逻辑操作符)
C learning_12 操作符前篇(算术操作符、移位操作符、位操作符、赋值操作符、单目操作符、关系操作符、逻辑操作符)
|
6月前
|
编译器 C++ 索引
C learning_13 操作符前篇(条件操作符、 逗号表达式、 下标引用、函数调用和结构成员、 表达式求值)
C learning_13 操作符前篇(条件操作符、 逗号表达式、 下标引用、函数调用和结构成员、 表达式求值)
|
6月前
|
存储 编译器 C语言
|
索引
操作符之关系操作符,逻辑操作符,条件操作符,逗号表达式,下标引用操作符,函数调用操作符,访问结构体成员操作符
操作符之关系操作符,逻辑操作符,条件操作符,逗号表达式,下标引用操作符,函数调用操作符,访问结构体成员操作符
|
编译器 C语言
操作符的属性,C语言中运算符的优先性和结合性,常见的问题表达式
操作符的属性,C语言中运算符的优先性和结合性,常见的问题表达式