c语言——基础知识

C语言——基础知识

好久没看c语言了,遗忘了许多知识,从头再来一遍吧

  1. 基本数据类型

    整数
      整型   ——int    ——4字节
      长整型——long ——8字节 
      短整型——short——2字节
    浮点数(实数)
      单精度浮点数——float    ——4字节
      双精度浮点数——double——8字节
    字符
      字符型——char——2字节
    复合类型数据结构
       结构体
       枚举
       共用体
    

2.变量与常量
变量:所谓变量,指数值可以改变的量
常量:指不可改变的量
变量与常量,实质上都是一段内存空间,只不过变量提供了修改其内存空间的权限。内存空间都有编号,也就是内存的地址。

2.1变量为何要初始化
    变量如果未初始化,编译可以成功,但运行时会报错。这和内存空间的管理有关。
    当你运行一个程序时,操作系统会为这个程序分配内存,内存有内存地址与内存单元,当程序初始化运行时,就会往内存空间内写入数据,但当程序运行结束后,系统收回内存时,不会清空内存空间,所以会存在大量的垃圾数据。
    如果变量没有初始化,会默认读取这些垃圾数据,这些垃圾数据有可能会导致程序崩溃。
2.2变量命名的规则
   由数字,字母,下划线组成。
   且首个必须是字母或者下划线,而且不能使用c语言关键字。
2.3如何定义变量
   1.类型名    变量名;
      变量名=    ;
   2.类型名    变量名,变量名........;
    变量名=    ; 变量名=    ; 变量名=    ;........
    3.类型名   变量名,变量名=    ;
2.4如何定义常量
    #define   pi   3.14159;

3.进制
十六进制前面加ox或者OX
八进制前面机器o(不是数字零,是字母o)

3.1所谓几进制,就是逢几进一
3.2二进制,八进制,十六进制转换为十进制
    例:  111011(二进制)=1*2^0+1*2^1+0*1^2+1*2^3+1*2^4+1*2^5=(59) 
             136(八进制) =6*8^0+3*8^1+1*8^2=(94)
             1F2A(十六进制)=10*16^.0+2*16^1+15*16^2+1*16^3=(7978)
3.3二进制,八进制相互转换
  二进制---->八进制:  从右向左,每3位一组,(不足3位补0),转换为八进制
  八进制---->二进制: 用三位二进制数替代每一位八进制数
3.4二进制,十六进制相互转换
 二进制---->十六进制:从右向左,每4位一组,(不足4位补0),转换为十六进制
 十六进制---->二进制: 用4位二进制数替代每一位十六进制数
3.5十进制转化为二进制
整数:方法是除以二取余,逆序排序
以(89)为例
89/2      余1
44/2      余0
22/2      余0
11/2      余1
5/2      余1
2/2      余0
1/2      余1
(89)=1011001(二进制 )
小数:乘2取整,顺序排序
0.625*2=1.25  取整1
0.25*2=0.50    取整0
0.50*2=1.00    取整1
(0.625)=0.101(二进制)

你可能感兴趣的:(c语言——基础知识)