- float,单精度浮点型,对应%f。
- double,双精度浮点型,对应%lf。
- 没有升幂运算符,只能用pow函数来解决升幂问题,还有注意返回值是double,可能需要类型转换
- sqrt函数解决平方根问题,pow函数解决升幂问题(也可解决平方根问题)
- 输出格式的长度总共为10,若少于10则用空格补充在前方,若大于10则原样输出printf("%10s",s)
- 输出格式默认是右对齐,使用“-”则变成左对齐(前提是有空格的存在才有左右对齐的说法)
- 在进行算术运算(加、减、乘、除、取余以及符号运算)时,不同类型数招必须转换成同一类型的数据才能运算
- 若运算数中有double型或float型,则其他类型数据均转换成浮点类型进行运算,如(34-32.0)/9*5输出为1.111111
- 若运算数中只有int型,则每一步的计算过程都将自动下取整,如(34-32)/9*5输出为0.000000
- int型与int型运算自动会抹掉小数点
- 注意b / a * c与b / (a * c)的区别
- double型不能实施%操作符
- scanf输入字符串(含有空格的字符串,例如:“I love you!”)时,总是在空格处停止扫描,str输出却只有 “I” 。所以用gets()替代scanf()可以解决在这个问题
- 输入的字符串会自动在末尾加“\0”
- 字符会与ASCII码自动转换
- C语言里面是没有bool(布尔)类型
- NULL必须为大写
- 想要输出%,就要写%%
- 将double类型转化为int类型会自动下取整
- 四舍五入(Int)(a+0.5)
- 可以用sizeof()函数来获得数组的长度,但是他获得的是总字节数,需要对int除以4,或对double除以8;例如:sizeof(str)/sizeof(char)
- 字符串有strlen()方法获得字符串长度,而数组没有len()方法来获得长度,只有通过上面方法来获得数组长度,需要添加#include <string.h>
- scanf函数不会读取"\n",get函数会读取"\n"
- puts函数只能输出字符串;printf函数可以格式化字符串
- 无法通过以下方法定义数组长度,只能使用malloc来动态申请空间
int n;
scanf("%d",&n);
int num[n];
num = (int *)malloc(n * sizeof(int));
- switch 语句中的表达式必须是常量表达式,不能是字符串
- ‘\0’一般放在字符串的结束处,用来表示字符串的结束,如果一个字符串中没有’\0’这个结束字符,那么就不能确定字符串的结束位置在哪儿,从而引起一些不必要的错误,所以要记得字符串后面加’\0’。