黑马程序员---C语言学习笔记之二

来源:互联网 发布:linux yum配置本地源 编辑:程序博客网 时间:2024/06/04 18:54
------- android培训、java培训、期待与您交流! ----------

1.include 预编译

2.<> 系统头文件目录  /usr/include CPATH INCLUDE_PATH
  "" 当前目录,引号之间可以指定文件夹

3.常量的定义方法:const double PI = 3.14 表示PI是一个常量,不允许修改,const为关键字,保证该值不被修改
  直接写出的值本身称做字面量,一个整数的字面量默认为int
  如果要想让一个整数默认为其它类型,要加后缀,如long int型的后缀为L
  同样的,小数的字面量默认为double,如果要表示float,要加后缀F。如:45641132L,3.1415F
    常量    字面量
3       int
3.5    double
3.5f float
3.5L long double
3L    long int
3LL    long long
逻辑真 非零1 1.0 a
逻辑假 0 ‘\0’ NULL

4.printf  格式串,%c %和说明符c之间
- 左对齐(默认右对齐)
数字 最小宽度,(默认用空格代替)
. 区分宽度和精度
数字 精度 最大字符数,小数点后的位数
* 宽度或精度,需要用参数指定
   scanf  格式串,%c %和说明符c之间
* 表示抛弃输入的数据
读取在[ ]内范围的字符  读取不在[^ ]范围内的数据
scanf("%*[^\n]%*c");//清除输入缓冲区中的内容,直到非空白字符为止
数字:最大字符宽度

5.sizeof(类型,表达式,变量名),括号里面如果是表达式也不会进行运算
  sizeof后面如果跟变量名或数组名的话,可以不带括号但不提倡

6.if(运算符两边有一个long double)
  {
运算结果就是long double
  }
  else if(运算符两边有一个double)
  {
运算结果就是double
  }
  else if(运算符两边有一个float)
  {
运算结果就是float
  }
  else if(运算符两边有一个long int)
  {
运算结果就是long int
  }
  else if(运算符两边有一个unsigned int)
  {
运算结果就是unsigned int
  }
  else
  {
运算结果就是int
  }

7.++与--是单目运算符,该操作数必须为整型变量。把变量中的数本身加1或减1,再保存到这个变量中去
  ++i返回的是变量i,i++返回的是i的值

8.只有整型非负的变量或数据才能做求余操作

9.逻辑运算符有短路特性
  如果&&运算符前面的表达式为假,则意味着不管&&后面的表达式为真或者为假,总的与结果都为假,所以后面的表达式一般不计算
  ||运算符与之类似,如果||前面的表达式为真,则总的或结果肯定为真,所以后面的表达式也一般不计算
  a>b && ++c<d 如果在a<b的情况下,可能忽略后面的++c操作,所以c的值可能不会被修改

10.按位与经常用来把一个数2进制形式的某一位置0或查看一个数2进制形式的某一位是个1还是0
   第3位置0 0000 0111查看第4位0000 0111
   与 1111 10110000 1000
与运算(&) 
双目运算。二个位都置位(等于1)时,结果等于1,其它的结果都等于0。 
1 & 1 == 1 
1 & 0 == 0 
0 & 1 == 0 
0 & 0 == 0 

11.按位或经常用来把一个数2进制形式的某一位置1
   第4位置1  0000 0111
   或    0000 1000
或运算( | ) 
双目运算。二个位只要有一个位置位,结果就等于1。二个位都为0时,结果为0。 
1 | 1 == 1 
1 | 0 == 1 
0 | 1 == 1 
0 | 0 == 0 

12.按位异或经常用来把一个数2进制形式的某一位反转
   第5位反转 0000 0111
   异或 0001 0000
异或运算(^) 
双目运算。二个位不相等时,结果为1,否则为0。 

1 ^ 1 == 0 
1 ^ 0 == 1 
0 ^ 1 == 1 
0 ^ 0 == 0 

13.>>右移一位相当于除以2,有符号数最左边补符号位,无符号数最左边补0
   <<左移一位相当于乘以2(在无溢出的情况下)

14.&返回的变量的地址,*返回的是地址指向的变量

15.运算符优先级  单目比双目高

16.三元运算符的冒号前后的类型必须一致,否则编译器在编译的时候会无法确定整个表达式的明确类型而报错

17.如果一个整型变量被赋的值超过了它的取值范围,那么会发生溢出现象,称为回绕
   无符号整型变量的回绕现象为回到0重新开始,而有符号整数的回绕是从最大的正值回绕到最小的负值
   浮点数没有回绕,如果超过了它的表示范围,就记作inf,意为无穷大

0 0