自学内容网 自学内容网

语法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 2312311
在C99中只规定int至少是16位,却没规定具体值

long long范围是 − 2 63 至 2 63 − 1 -2^{63}至2^{63}-1 2632631
注意要把输入时的%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)!