首页 > 编程语言 > 详细

C语言学习DAY7

时间:2020-09-18 09:05:08      阅读:57      评论:0      收藏:0      [点我收藏+]
1.运算符

优先级 运算符 结合方式 类型
1 () [] . -> 自左向右 初等运算符
2 ! ~ - ++ -- (类型) *(解引用) & sizeof 自右向左 单目运算符
3 *(乘) / % 自左向右 算术运算符
4 + - 自左向右 算术运算符
5 >> << 自左向右 移位运算符
6 > < >= <= 自左向右 关系运算符
7 == != 自左向右 关系运算符
8 & 自左向右 位运算符
9 ^ 自左向右 位运算符
10 l按位或 自左向右 位运算符
11 && 自左向右 逻辑运算符
12 ll逻辑或 自左向右 逻辑运算符
13 ? : 自左向右 条件运算符
14 = 、符合赋值运算符 自左向右 赋值运算符
15 , (逗号) 自左向右 逗号运算符

2.

 /(除):两个操作数都为整型时结果也为整型,有一个操作数为浮点数(不论是除数
            还是被除数)则结果也为浮点型
 %(取余):两个操作数都必须为整型,去商取余
 >>(右移):①算术右移:右边丢弃,左边补原符号位,整数补0,负数补1
                  ②逻辑右移:右边丢弃,左边补0
 <<(左移):低位补0
 ^(按位异或):二进制位相同取0,不同取1
 sizeof:求字节个数,如32位机器的地址字节个数为4,64位的为8,char1,int4

3.

        short s = 0; //short s = 5;
        int a = 10;
        printf("%d\n", sizeof(s=a+5));  //输出2,short类型的字节数为2
        printf("%d\n", s);   //输出结果为0,如果s = 5;则输出结果为5
        //原因:sizeof中的表达式不运算,所以s=a+5中赋值时并没有发生截断,s就是初始值

4.exp1?exp2 :exp3;(条件运算符):如果exp1(表示式1)为真则计算exp2的值,否则计算exp3 的值

   if(a>b)            //求两个数中较大的数
            return a;
    else 
             return b;  //等价于  a>b?a:b

C语言学习DAY7

原文:https://blog.51cto.com/14829443/2534406

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!