C语言笔记3


- sizeof运算符:以字节为单位返回运算对象的大小 
  sizeof返回size_t类型的值     %zd转换说明用于printf()显示size_t类型的值   若系统不***,则可尝试%u或%lu
- ++的前后缀表示:
  a.前缀: a = i++    使用i的值之后递增i
  b.后缀: b = ++i    先递增i再使用i的值

  如果n++是表达式的一部分可以理解为先使用n的值再自增
- 强制类型转换运算符:(类型名)用int之类的替换类型名即可
- 函数中的变量名是私有的,不会和别处的相同名称产生冲突

  原型(prototype)即是函数的声明,描述了函数的返回值和参数

- scanf()的返回值:为正确输入的个数,如果全错则返回EOF(通常是-1)

  有时使用scanf()函数的返回值来告诉循环何时停止很有用
- #include<math.h>头文件 之后可用fabs()函数,其返回一个浮点值的绝对值
- 构建比较是否相等的表达式时,把常量放在左侧可以以防出现=和==的误用
- \_Bool类型:\_Bool类型的变量名取成让人一眼能看出真假的最好 如input_is_good
- 关系运算符比算术运算符优先级低,比赋值运算符高

  且 < <= > >= 高优先级  == !=低优先级  结合律从左到右
- for循环:

  1.可以省略一个或者多个表达式 但是不能省略分号 省略第二个则默认真

  2.第一个表达式不一定要用来赋值,可以使用printf()

  3.循环体中的行为可改变循环头中的表达式
- do-while循环:以;结尾   执行完循环体后才测试条件,至少执行一次

  适用于至少迭代一次的循环
- `for(index = 0; index < SIZE; index++)`

  这段代码就很好 其中 SIZE使用#define创建的明示常量,确定数组的大小
- ヽ(✿゚▽゚)ノ函数定义的末尾没有分号,函数原型的末尾有分号 

  如果把定义放到开头可以没有函数原型,但是不要这样做
- #include<ctype.h>包含isalpha()以及isspace()的函数原型 

  若isalpha()函数的参数是一个字母,则返回一个非零值

  若isspace()函数的参数是空白字符,则返回 真
- ' " ' 表示 "         ' \\' '表示 '            ' '              '\\n'
- #include<stdbool.h> 为bool提供定义,其值为true 和 false

  如果使用bool类型的变量,通常习惯把变量自身作为测试条件,比如

  用if (inword)代替 if (inword == true)   用if (!inword)代替 if (inword == false)