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)