zoukankan      html  css  js  c++  java
  • C89:论符号

    一.简介

    C运算符总共有13种:

    1.算术运算符:* - + /

    2.关系运算符:> < == != >= <=

    3.逻辑运算符:! && ||

    4.位运算符:<< >> ~ | ^ &

    5.赋值运算符:= 及扩展赋值运算符

    6.条件运算符:?:(C语言中唯一的三目/三元运算符)

    7.逗号运算符:,

    8.指针运算符:* &

    9.求字节运算符:sizeof

    10.强制类型转换运算符:(类型)

    11.分量运算符:->

    12.下标运算符:[]

    13.其他:如函数调用运算符

    二.算术运算符

    三.关系运算符

    四.逻辑运算符

    五.位运算符

    (1)左移(<<)右移运算(>>)

    (2)异或运算(^)

    (1) & 位操作符

    int fun(int value)
    {
      int cnt = 0;
      while(value)
      {
        cnt++;
        value = value & (value - 1);
      }      
      return cnt;
    }
    
    void main(void)
    {
      printf("%d", fun(65535));
    }

    三.浮点数

    合法的浮点数有两种表示形式:
        (1) 十进制小数形式。他有数字和小数点组成,必须有小数点。例如(123.)(123.0)(.123)。
        (2) 指数形式。如123e3。字母e(或E)之前必须有数字,e后面的指数必须为整数。

    规范化的指数形式里面,小数点前面有且只有一位非零的数字。如1.2345e8

    四.变量

    1.16位编译器

    char :1个字节

    char*(即指针变量): 2个字节

     short int : 2个字节

    int: 2个字节

    unsigned int : 2个字节

    float: 4个字节

    long: 4个字节

    unsigned long: 4个字节

    double: 8个字节

    long long: 8个字节

    2.32位编译器

    char :1个字节

    char*(即指针变量): 4个字节(32位的寻址空间是2^32, 即32个bit,也就是4个字节。同理64位编译器)

    short int : 2个字节

    int: 4个字节

    unsigned int : 4个字节

    float: 4个字节

    long: 4个字节

    unsigned long: 4个字节

    double: 8个字节

    long long: 8个字节

    3.64位编译器

    char :1个字节

    char*(即指针变量): 8个字节

    short int : 2个字节

    int: 4个字节

    unsigned int : 4个字节

    float: 4个字节

    long: 8个字节

    long long: 8个字节

    double: 8个字节

    unsigned long: 8个字节

    五.%(求余)

    %(求余)要求两边都是整型

    六.<<(左移) >>(右移)

    位运算中操作符左移一位表示乘以2,操作符右移一位表示除以2

    七.||(逻辑与)

    int i=0,a=1,b=2,c=3;
    i=++a||++b||++c;
     
    //i=1
    //a=2
    //b=2
    //c=3
    

    八.操作符Sizeof()

    1.结构体

    16位机子的编译器无内存对齐

    2.数组

    char s[]="12345";
    cout<<sizeof(s)<<endl;  //输出6
     
    char s[100];
    cout<<sizeof(s)<<endl;    //输出4
    

    3.指针

    char* s="12345";
    cout<<sizeof(s)<<endl; //输出4
     
    void* p=malloc(100);
    cout<<sizeof(a)<<endl;  //输出4
    

    4.变量

    九.[]和*

    char* a[10];  //[]的优先级高于*,所以这是一个指针数组,并不是一个指针变量指向的数组
    
  • 相关阅读:
    uniapp 常用的基础知识
    uniapp接口请求(第一种)
    系统对象的使用——Cookie,ViewState,Session,Application
    网页跳转
    存储过程的使用——游标
    存储过程的使用——循环,条件语句
    存储过程的使用——定义变量
    页面读取英语单词
    加密
    XMind: ZEN 快捷键
  • 原文地址:https://www.cnblogs.com/k5bg/p/11112532.html
Copyright © 2011-2022 走看看