C语言操作符

  1.   操作符的分类                                                                                                   
  2. 算数操作符  + - * / % 
    #define _CRT_SECURE_NO_WARNINGS 1
    #include <stdio.h>
    int main()
    {
    	int n = 10 / 3;
    	int m = 10.0 / 3;
    	float z = 10.0 / 3;
    	printf("%d %d %f\n", n, m,z);//3 3 3.333333
    	
    	int ret = 10 % 3;
    	printf("%d\n", ret);//1
    	return 0;
    }
  3. 移位操作符(整数转化为二进制以后再移位 )移位的位数不要写为负数
    #define _CRT_SECURE_NO_WARNINGS 1
    #include <stdio.h>
    int main()
    {
    	int a = 5;
    	int b = a << 2;
    	printf("%d\n", b);//20
    	return 0;
    }
    -------------------------------------------------------------------------------------------
    #define _CRT_SECURE_NO_WARNINGS 1
    #include <stdio.h>
    int main()
    {
    	int a = -5;
    	int b = a << 2;
    	printf("%d\n", b);//-20
    	return 0;
    }
    -------------------------------------------------------------------------------------------
    #define _CRT_SECURE_NO_WARNINGS 1
    #include <stdio.h>
    int main()
    {
    	int a = 5;
    	int b = a >> 2;
    	printf("%d\n", b);//1
    	return 0;
    }
    -----------------------------------------------------------------------------------------
    #define _CRT_SECURE_NO_WARNINGS 1
    #include <stdio.h>
    int main()
    {
    	int a = -5;
    	int b = a >> 2;
    	printf("%d\n", b);//-2
    	return 0;
    }
     
    #define _CRT_SECURE_NO_WARNINGS 1
    #include <stdio.h>
    int main()
    {
    	int a = -1;
    	int b = a << 1;
    	printf("%d", b);//-2
    	return 0;
    }
  4.   位操作符(按二进制位操作) 相同的数异或结果为0;0异或任何数为原数。
    #define _CRT_SECURE_NO_WARNINGS 1
    #include <stdio.h>
    int main()
    {
    	int a = 7;
    	int b = -5;
    	int c = a & b;
    	int d = a | b;
    	int e = a ^ b;
    	printf("%d %d %d", c, d, e);//3 -1 -4
    	return 0;
    }
      
  5. 赋值操作符 (可以连续赋值)                                                                                                                                 
    #define _CRT_SECURE_NO_WARNINGS 1
    #include <stdio.h>
    int main()
    {
    	int a = 99;
    	int b = 0;
    	b = a;
    	printf("%d", b);//99
    	return 0;
    }
  6. 单目操作符(sizeof(int)必须带有括号,sizeof(a)可以不带有括号)                          
    #define _CRT_SECURE_NO_WARNINGS 1
    #include <stdio.h>
    #include <math.h>
    int main()
    {
    	int a = -8;
    	float b = -0.2678;
    	printf("%d %f", abs(a), fabs(b));//8 0.267800
    	return 0;
    }
  7.  ++和 --操作符                               
  8.  *间接访问操作符(和指针搭配使用)                             
  9.  (类型)强制类型转化                                                                                                                                     
  10.  关系操作符                                                                                                                                                                                                       
  11. 逻辑操作符  &&全为真才为真,||一个为真即为真                                                                                                                                                            
  12.   条件操作符(三目操作符)                                                                                                                      
  13.    逗号表达式                                    
  14.  下标引用操作符,函数调用和结构成员访问操作符
  15.  %1d常用于一位整数的输入,与scanf()配合使用。 
  16. 表达式求值 :隐式类型转换 (隐式类型转换,也称自动类型转换,是指不需要书写代码,由系统自动完成的类型转换。包括整型提升和算数转换)(显式类型转换,也称强制类型转换,是指必须书写代码才能完成的类型转换。):案例整型提升 (整型提升是按照变量的数据类型的符号位来提升的) 只要有char和short就会有整型提升为int类型                         
    #include<stdio.h>
     
    int main()
    {
     char a = 5;
    //00000000000000000000000000000101
    //截断
    //00000101
     char b = 126;
    //00000000000000000000000001111110
    //01111110
    
    //整型提升
    //00000000000000000000000000000101
    //00000000000000000000000001111110
    //00000000000000000000000010000011
    //截断
    //10000011
    //整型提升
    //11111111111111111111111110000011(补码)
    //10000000000000000000000001111100
    //10000000000000000000000001111101(原码)
     char c = a + b;
     printf("%d\n", c);
     return 0;//-125
    }
         算数转换
  17.  操作符的属性
  18. 控制求值顺序的操作符:&&   ||   三目操作符   逗号表达式
  19. 表达式要有唯一的计算路径,唯一解(问题代码)                                               
    //错误代码
    int fun()
    {
    static int count = 1;
    return ++count;
    }
    int main()
    {
    int answer;
    answer = fun() - fun() * fun();
    printf( "%d\n", answer);//输出多少?
    return 0;
    }
                          

  

  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值