C语言细节知识点总结

学过C语言,自己又再次复习了一次,这次重点记下自己模糊、忘记的知识。

一.宏定义的使用

    宏定义它只是一个替换的作用,不具有运算功能。

    例如

      #define A  1

      #define B  A+A

      int  c=10,d;

      d=A+B*c+A;

     这里的B*c其实是c*A+A,而不是c*(A+A),只有替换作用,所以定义的是什么就直接还过去,不做计算。

二.auto与register

    auto是局部变量,在函数体或复合语句中使用后在其他范围为外部不可使用

    auto int A     如果初值没有赋值则是随机值

    register 寄存器型,必须是一个单个值,不可以使用&来获取register变量的地址

三.static与extern

    static 默认值是0,它会记住当前循坏值,再其他文件不可用,不可以extern调用

   if(i=0;i<5;i++)

    {

      static a=1;

     a+=2;

  }

     第一次进入if循环a=3;当再进a=3而不是1;

    extern 可以调用其他文件中说明的变量,除了static说明的变量

四.运算符

   1.float与double定义的变量不可以取余

   2.  &&遇到零就停止不往后预算,A&&B+A,如果A是0则不在进行B+A的运算

   3. ||遇到1就截止

   4. ^按位异或,相同为假(0)不同为真(1)

   5.条件算数符“?”

      <表达式1>?<表达式2>:<表达式3>

      当表达式1为真时,运算表达式2,为假时云顺表达式3

   6.逗号运算符“,”

     最后一个表达式的值为整个表达式的值,如

     int x=5,y=2,a=5,z;

      z=(x+=5,y=x+0.8,a=x+y);最后为z=x+y;

      z=x>y,x+y;注意赋值的优先级大于逗号运算符,所以把x>y为真的1赋值给z

五.putchar(C)与sizeof用法注意事项

     C可以是字符常量、变量、表达式

     sizeof只针对数据类型不针对变量

六.%C与%p

    %p取地址

     空格、转义字符作为有效字符输出

     “0”的ascci码值是48

七.输入函数的垃圾清除方法

    可以用getchar(  )吸收掉

   “%*c”或者空格吸收

八.goto  loop

     可以无条件的跳转

     减少嵌套

     优化程序

九.字符与字符串的联系

    字符  ‘a’ ‘b’ ‘c’与 字符串”a” “b” “c”

   当字符加上‘/0’时就与字符串相等

十.字符串函数与使用注意

     只有又头文件#include<string.h>时才可以使用字符串函数

     strlen  求长度,不含‘/0’

     strcpy  拷贝    strcpy(str,der)从右边考到左边

     strncpy (p,pl,n)复制指定长度(n)字符串   strncpy(hello,word,3) 得到worlo

     strcat  串接

     strncat(p,pl,n)附加指定长度的字符串

     strcmp  比较  遇到不同字符或”/0“停止

     strcamp(p,pl,n)比较指定长度字符串

     strcasem(p,pl,n)忽略大小写字母比较字符串

     if字符串1<字符串2  返回负数

     if字符串1>字符串2  返回正数

     if字符串1=字符串2  返回0

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值