zoukankan      html  css  js  c++  java
  • C语言基本特性

    C的关键字

    • 数据类型关键字:char、short、int、long、float、double、unsigned、signed、struct、union、enum、void
    • 控制语句关键字:if、else、switch、case、default、for、do、while、break、continue、goto、return
    • 存储类关键字:auto、extern、register、static、const
    • 其他关键字:sizeof、typedef、volatile

    数据类型

    • 基本类型:int、short、long、char、float、double
    • 构造类型:数组、结构体(struct)、共用体(union)、枚举(enum)
    • 指针类型:char *、int *、int **等

    常量与变量

    • 常量:在程序运行过程中,其值不能被改变的量。

        整型常量:0、-485、147

        实型常量:3.14、0.256、-5.369

        字符型常量:'q'、'd'、'2'

        字符串常量:"abc"、"12345"、"a"

    • 变量:在程序运行过程中,其值可以改变

        命名规则:变量名只能由字母、数字、下划线组成;第一个字符必须为字母或下划线。

        特点:变量在编译时为其分配相应的内存地址,可以通过名字和地址访问相应空间。

    • 整型数据

        整型常量:

          十进制:以数字1-9开头,如:781,2563

          八进制:以数字0开头,如:0123

          十六进制:以0X开头,如:0x2d

        32位处理器下整型变量所占字节数:

          有/无符号短整型(un/signed)short (int):2字节

          有/无符号基本整型(un/signed)int:4字节

          有/无符号长整型(un/signed)long (int):4字节

    • 实型数据

        实型常量:实数或浮点数,不以f结尾的常量是double类型的,以f结尾的常量(如:3.14f)是float类型的。

        实型变量:有单精度(float)和双精度(double)

          float型:占4字节,7位有效数字

          double型:占8字节,15~16位有效数字

    • 字符数据

        字符常量:用单引号括起来,如:'a'、'b'。

        转义字符:以反斜杠“\”开头,后跟一个或几个字符,如:'\n','\t'(占一个字节)。

        字符变量:用char定义,每个字符变量被分配一个字节的内存空间,字符值以ASCII码的形式存放在变量的内存单元中。如:a = 'x';a变量中存放的是字符'x'的ASCII码值120。

    • 字符串常量:由双引号引起来的字符序列,如:"china"。

        字符常量和字符串常量的不同:每个字符串的结尾,编译器会自动的添加一个结束标志位'\0'。

    • typedef 类型重定义:给已有的类型重新起个名字。

    格式化输出字符

      %d:十进制有符号整数    %u:十进制无符号整数

      %x:以十六进制表示的整数  %0:以8进制表示的整数

      %f:float型浮点数       %lf:double型浮点数

      %e:指数形式的浮点数    %p:指针的值

      %s:字符串         %c:单个字符

      特殊应用:

        %3d:右对齐3位。

        %03d:右对齐3位,不够补0。

        %-3d:左对齐3位。

        %5.2f:右对齐5位数长(小数点也算一位),小数点后保留两位小数。

    数据的混合运算

    • 自动转换:遵循一定的规则,由编译系统自动完成。

        自动转换的原则:占用内存字节数少的类型向占用内存字节数多的类型转换。

        转换方向:

             

      

    • 强制类型转换:把表达式的运算结果强制转换成所需的数据类型,类型说明符必须加括号。

        格式:(类型说明符)(表达式)

        例如:(float)a;  //把a的值转化为实型

           (int)(x+y);  //把x+y的结果值转换为整型

      无论是自动转换还是强制类型转换,都只是对变量的数据长度进行的临时性转换,不改变数据定义的类型。

    运算符

    • 自增自减运算符:使变量的值增1或减1。

        ++i,--i:先加/减,后使用。

        如:i = 3;

          j = ++i;      //i的值先加1变为4,再赋给j,此时i、j的值均变为4

        i++,i--:先使用,后加/减。

        如:i = 3;

          j = i++;      //先将i的值赋给j,j的值为3,然后i再加1变为4

    • 移位运算

        左移<<:将一个数的二进制位左移,高位丢弃,低位补0。

        算数右移>>:有符号数,如果为正数,则左边移入0,右边丢弃;如果为负数,左边移入1,右边丢弃。

        逻辑右移>>:无论是正数还是负数,左边均移入0,右边丢弃。

    • 优先级及结合性表格如下

                  

  • 相关阅读:
    7年Java后端被淘汰,一路北漂辛酸史。。。
    vue jqury如何获取元素中的属性
    02-Elenment 引入使用
    01
    vuex 全局store,前后端交互
    五分钟搞懂Vuex
    VueX 的使用
    vue解决前后端跨域问题
    rest_framework/api.html
    Vue中使用markdown
  • 原文地址:https://www.cnblogs.com/lemongirl/p/7843731.html
Copyright © 2011-2022 走看看