C知识补充

93 阅读1分钟
const int MONTHS = 12; //const 是限定符 把后面的变量限定为只读值,不得赋予别值


//布尔类型
bool 
#include <stdbool.h> // bool类型的头函数


/*条件运算符*/  // ?  :
x = ( expression1 ? espression2 : expression3 ); // "? :" 为三元运算符,含义可以写成if-else语句
 
if( expression1 == true )
    x = expression2;
else
    x = expression3;


    
/*类函数宏*/ //简单函数可以用宏
#define MAX(X,Y) ((X) > (Y) ? (X) : (Y))  //类max函数
#define ABS(X) ((X) < 0 ? -(X) : (X))     //类绝对值函数
...... 

/*高效组合数函数*/
long long int c(long long n,long long m)
{
    if( m > n-m ) m = n-m;
    long long ans=1;
    for(long long k=1; k<=m; k++)
    {
        ans=(ans*(n-m+k))/k;
    }
    return ans;
}

/*最大公约数,辗转相除法*/
long long gcd(long long m, long long n)
{
    return ( m == 0 ) ? n : gcd( n % m, m);
}
 
/*最小公倍数*/
long long lcm(long long a, long long b)
{
   return a / gcd(a, b) * b;
}



#include <math.h>
double pow  ( double x, double y ) //x的y次幂
double sqrt ( double x )           //x的平方
double cbrt ( double x )           //x的立方
double fabs ( double x )           //x的绝对值
double ceil ( double x )           //不小于x的最小整数
double floor( double x )           //不小于x的最大整数
//返回值全是double类型