数学函数的使用+一些小知识
数学函数
要使用数学函数首先引入头文件 <math.h>
- 三角函数
自变量以弧度制,即
度数/180*π
,π≈3.1415926.自变量和返回值均为
double
型
常用
1 | double cos(double x); //返回x的余弦值 |
int都是32位整数,范围是-2147483648~2147483647。
计时函数clock()的使用。该函数返回程序启动到目前为止运行的时间,在程序结束之前调用此函数,便可获得整个程序的运行时间。这个时间除以常数CLOCKS_PER_SEC之后得到的值以“秒”为单位。#include<time.h>
鲁棒性:在算法竞赛中,偶尔会出现输入输出错误的情况。如果程序鲁棒性强,有 时能在数据有瑕疵的情况下仍然给出正确的结果。程序的鲁棒性在工程中也非常重要。
scanf函数有返回值?对,它返回的是成功输入的变量个数,当输入结束时,scanf函数无法再次读取x,将返回0。判断scanf函数的返回值可以增强程序的鲁棒性。
结束输入程序:在Windows下,输入完毕后先按Enter键,再按Ctrl+Z键,最后再按Enter键,即可结束输入。在Linux下,输入完毕后按Ctrl+D键即可结束输入。
当嵌套的两个代码块中有同名变量时,内层的变量会屏蔽外层变量
long long 型 输入输出用 %lld
。
.c
文件编译后的产生的可执行文件都保存了啥?
编译后的文件与操作系统有关,但都有段的概念,段是指二进制文件内的区域,所有某种特定类型信息被保存在里面。
1 | D:\>size a.exe |
此结果表示 a.exe
由正文段
、数据段
和 bss
段组成,总大小是3720,用十六进制表示为
e88,文件名为 a.exe
。其中:
- 正文段(Text Segment):用于存储指令;
- 数据段(Data Segment):用于存储已初始化的全局变量;
- BSS段(BSS Segment):用于存储未赋值的全局变量所需的空间。
对于程序运行中用到的堆栈会在运行时创建,调用栈所在的段称为堆栈段
(Stack Segment)。与其他段一样,堆栈段有自己的大小,且不能被越界访问,否则出现段错误(Segmentation Fault)。
参考文档
- C语言常用库函数
- [经典算法竞赛入门]