语法note
输出\
printf("\\");
输出%
printf("%%");
输出“”
printf("\"\"");
输出整数值
printf("%d",5);
printf("%03d",25);//打印出025
% 是格式符的开始。
d 表示有符号整数。
3 表示最小输出3位数字。
0 表示如果数字不足3位,在左边用0补成3位。
printf("%-03d",1);//打印出1 而不是100哦
− - − 表示 左对齐,右边填充空格
输出小数值
printf("%.1f\n", 8.0/5.0);
.1 表示保留一位小数
在C99中,double型输出必须使用%f,输入需要使用%lf
在C89(ANSIC)和C++ 中,输入输出都能用%lf
8/5=1
(-8)/5=-1
8/5.0=8.0/5=8.0/5.0=1.6
float:
1bit(符号位) 8bits(指数位) 23bits(尾数位)
double:
1bit(符号位) 11bits(指数位) 52bits(尾数位)
float的范围为
−
2
128
至
+
2
128
-2^{128} 至 +2^{128}
−2128至+2128,也即-3.40E+38 ~ +3.40E+38;
double的范围为
−
2
1024
至
+
2
1024
-2^{1024} 至 +2^{1024}
−21024至+21024,也即-1.79E+308 ~ +1.79E+308。
float的精度为6至7位有效数字;double的精度为15至16位。
浮点运算可能存在误差。在进行浮点数比较时,应考虑到浮点误差。
尽量用const关键字声明常数
const double pi = acos(-1.0);
int一般是32位整数,范围-2147483648~2147483647,即
−
2
31
至
2
31
−
1
-2^{31}至2^{31}-1
−231至231−1
在C99中只规定int至少是16位,却没规定具体值
long long范围是
−
2
63
至
2
63
−
1
-2^{63}至2^{63}-1
−263至263−1
注意要把输入时的%d改成%lld。
但这也是不保险的——在MinGW的gcc中,要把%lld改成%I64d,但奇怪的是VC2008里又得改回%lld。
long long在Linux下的输入输出格式符为%lld,但Windows平台中有时为%I64d
=
赋右给左
if(a||b)
若a为真,不会去判断b的值
在循环体开始处定义的变量(比如下面的a),每次执行循环体时会重新声明并初始化
for(int i=1;i<=n;i++){
int a=1;
}
#include<stdio.h>
#include<time.h>
int main(){
printf("Time used = %.2f\n", (double)clock() / CLOCKS_PER_SEC);
//该函数返回程序目前为止运行的时间,以秒为单位
}
取整函数
ceil 返回的是大于或等于函数参数,并且与之最接近的整数
floor 返回的是小于或等于函数参数,并且与之最接近的整数
round 是四舍五入
int m = floor(sqrt(n) + 0.5);
也可以达成四舍五入的效果
原文地址:https://blog.csdn.net/Emma2oo6/article/details/142448508
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!