栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

C语言04、操作符

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

C语言04、操作符

操作符

C语言的操作符有很多种:算术操作符、移位操作符、位操作符、赋值操作符、单目操作符、关系操作符、逻辑操作符、条件操作符、逗号表达式、下标引用函数调用和结构成员

算术操作符(+ - * / %)

除了%只能作用于整数,其他几个操作符都可以作用于整数和浮点数

移位操作符

<<  左移操作符

>>  右移操作符

注意:移位操作符的操作数只能是整数,不仅被移的数要是整数,被移的个数也要是整数,并且不要移动负数位,这个是标准未定义的

左移操作符(<<)

移位规则:左边抛弃,右边补0

右移操作符(>>)

右移操作符分为两种:

1.逻辑移位    左边补0,右边丢弃

2.算术移位    左边补原符号位,右边丢弃

一般情况下是算数右移

位操作符(&   |    ^)

位操作符有:&(按位与)

                      |(按位或)

                      ^(按位异或)

注意:它们的操作数必须是整数

&:二进制下相同位数为1则为1,不相同则为0

|:二进制下相同位数至少有一个是1则为1,没有一个1则为0

^:二进制下相同位数相同为0,相异为1

赋值操作符( = )

赋值操作符的运算顺序是从右往左,并且可以连续赋值。

注意与==区分开来

复合赋值符

+=、*=、/=、%=、&= ......

单目操作符

!、-、+、&、sizeof、~、--、++、*、强制类型转换......

即只有一个操作数的操作符就叫单目操作符

关系操作符(>  <  >=  <=  !=  ==)

注意区分 = 与 ==

逻辑操作符(&&   ||)

&&:逻辑与

||:逻辑或

注意逻辑与、逻辑或的短路问题

逻辑与从前往后若遇到一个条件为假,则后面的都不执行了

逻辑或从前往后若遇到一个条件为真,则后面都不执行了

条件操作符

例如:a>b?a:b;相当于if(a>b)则选择a

注意:尽量带括号来防止优先级和结合性带来的错误

逗号表达式

exp1,exp2,exp3,exp4,exp5...expN

逗号表达式从左往右依次执行,整个表达式的结果是最后一个表达式的结果,但是中途该有的表达式运算还是有的

下标引用、函数调用和访问结构体成员 下标引用操作符([ ])
int arr[10];//创建数组
arr[9] = 10;//实用下标引用操作符。
[ ]的两个操作数是arr和9。
函数调用操作符
#include 
void test1()
{
    printf("hehen");
}
void test2(const char *str)
{
    printf("%sn", str);
}
int main()
{
    test1();            //实用()作为函数调用操作符。
    test2("hello bit.");//实用()作为函数调用操作符。
    return 0;
}
访问结构体成员操作符

.       结构体.成员名

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

#include 
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; 
}
表达式求值

表达式求值的顺序是由操作符的优先级和结合性决定的

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1034311.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号