数学函数的使用+一些小知识

数学函数

要使用数学函数首先引入头文件 <math.h>

  1. 三角函数
  • 自变量以弧度制,即 度数/180*π,π≈3.1415926.

  • 自变量和返回值均为double

常用

1
2
3
4
5
6
double cos(double x); //返回x的余弦值
double sin(double x); //返回x的正弦值
double tan(double x); //返回x的正切值
int abs(int x); //返回整型数值得绝对值
double fabs(double x); //返回双精度double型数值的绝对值
pow(3.14,2);//3.14的平方

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
2
3
D:\>size a.exe
text data bss dec hex filename
2756 740 224 3720 e88 a.exe

此结果表示 a.exe正文段数据段bss 段组成,总大小是3720,用十六进制表示为
e88,文件名为 a.exe。其中:

  • 正文段(Text Segment):用于存储指令;
  • 数据段(Data Segment):用于存储已初始化的全局变量;
  • BSS段(BSS Segment):用于存储未赋值的全局变量所需的空间。

对于程序运行中用到的堆栈会在运行时创建,调用栈所在的段称为堆栈段(Stack Segment)。与其他段一样,堆栈段有自己的大小,且不能被越界访问,否则出现段错误(Segmentation Fault)。

参考文档

  1. C语言常用库函数
  2. [经典算法竞赛入门]

评论




博客内容遵循 署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0) 协议

本站使用 Volantis 作为主题,总访问量为

桂ICP备2021001128号