• C_Learning (1)


    /数据类型及占用字节
     char 
      1个字节{-128~127}
     int  
      2、4个字节,取决于平台是16位还是32位机子{-65536~65535}
     short int
      2个字节{-32768~32767}
     long int
      4个字节{-2147483648~21474833647}
     float 
      4个字节{-3.4*10^-38~3.4*10^38}
     double 
      8个字节{-1.7*10-308~1.7*10^308}
     long double 
      8个字节{1.7*10^-308~1.7*10^308}
      
    /数据类型强制转换时,由高阶向低阶转换可能导致数据丢失;

    /前缀自增与后缀自增的区别在于:前缀先自增再赋值,后缀先赋值再自增;

    /运算优先级口诀:
     括号成员第一;        //括号运算符[]() 成员运算符.  -> 
     全体单目第二;        //所有的单目运算符比如!、~、++、 --、 +(正)、 -(负) 、指针运算*、&
     乘除余三,加减四;     //这个"余"是指取余运算即%
     移位五,关系六;      //移位运算符:<< >> ,关系:> < >= <= 等
     等于(与)不等排第七;  //即== 和!=
     位与异或和位或;      //这几个都是位运算: 位与(&)异或(^)位或(|)   
     "三分天下"八九十; 
     逻辑或跟与;             //逻辑运算符:|| 和 &&
     十二和十一;             //注意顺序:优先级(||)  底于 优先级(&&)
     条件高于赋值,         //三目运算符优先级排到13 位只比赋值运算符和","高
     逗号运算级最低!      //逗号运算符优先级最低
      
    /字符(串)的输出和输入
       /putchar和getchar一次只能输出和接收一个字符;
       /puts和gets用来输出和接收字符串;
     
    /printf附加符号
       /+、- 向右、向左对齐
       /m.n m=数据最小宽度,n=取n个字符或小数
     
    /for语句中,表达式2为空 || 表达式3为空 || 表达式全为空,则说明是无限循环

    /字符串操作
       /字符串复制
       /strcpy(目的字符数组,源字符数组)
       /目的字符数组的长度必须足够长,且不写成数组名形式
       /不能用赋值语句将一个字符串常量或字符数组赋值给一个字符数组
       /strncpy(str2,s,i);将数组s的前i个字符复制到数组str2中
      
     /字符串连接
      /strcat(目的字符数组,源字符数组)
        /目的字符数组的长度必须足够长
     
     /字符串比较
        /strcmp(目的字符数组,源字符数组)
        /返回值:
         0  —— 字符串1 = 字符串2
         正数 —— 字符串1 > 字符串2
         负数 —— 字符串1 < 字符串2
     
     /字符串大小写转换
        /小写转大写:strupr(数组)
        /大写转小写:strlwr(数组)

     /字符串长度
        /strlen(数组) [不含字符串结束标志's']
      
    /函数
       /内部函数(静态函数):static
          使函数只局限在函数所在的源文件中,如果在不同的源文
          件中有相同的内部函数,则这些同名的函数是互不干扰的
       /外部函数:extern
           可以被其他源文件调用的函数,即外部函数是共享的

    /绝对值
       /abs();  求整数的绝对值
       /labs(); 求长整数的绝对值
       /fabs(); 求浮点数的绝对值

    /检测参数是否字母:isalpha()
       /是,返回非零值
       /否,返回零

    /检测参数是否数字:isdigit()
       /是,返回非零值
       /否,返回零
     
    /检测数字或字母:isalnum()
       /是,返回非零值
       /否,返回零
     
    /变量存储类型
       /存储空间:程序区、静态存储区、动态存储区
        /程序区:  放置用户要执行的程序段
        /静态存储区:放置静态存储的变量,全局变量都保存在静态存储区,因此,全局变量从程序执行时开始分配存储单元,直到程序终止时,才释放所占的存储单元
        /动态存储区:放置动态存储的变量,如与堆栈操作相关的数据以及局部变量,因此,如果一个函数被调用了两次,其中的变量存储空间可能为不同的地址 

       /自动变量:auto,动态分配存储单元,用完就释放,再次调用时重新计算
       /静态变量:static,静态分配存储单元,用完不释放,再次调用时在上一次的基础上继续计算

       /寄存器变量register(属于动态存储方式)
          /CPU访问寄存器的速度要快于内存,因此register用于需要频繁使用的变量
          /但由于寄存器数量有限,当计算机的寄存器不够用时,变量是作为自动变量处理的

    /外部变量:extern(属于静态存储方式)
        /就是全局变量
        /但是可以被其他源文件调用
    /静态外部变量:static
        /也是全局变量
        /但是只能被当前源文件使用

  • 相关阅读:
    大道至简读后感--吴占鑫
    易达项目第一次冲刺周期第九天
    易达项目第一次冲刺第八天
    易达项目第一次冲刺第七天
    易达项目第一次冲刺周期第六天
    易达项目第一次冲刺周期第五天
    易达项目第一次冲刺周期第四天
    搜狗输入法软件产品评价
    易达项目的工作进程第三天
    典型用户与用户场景
  • 原文地址:https://www.cnblogs.com/jan5/p/3378443.html
Copyright © 2020-2023  润新知