C++ 积累

一、while(scanf("%d",&n),n)   是什么意思?

while(scanf("%d",&n),n)  中的scanf("%d",&n)是输入一个n值,后的,n是一个,号表达式,结果是最后一个逗号的值,while( 表达式)表达式为非0是就看成是真值。
while(scanf("%d",&n)==1)在成功读入1个数据时执行循环体。
功能一样,为0结束。

二、(a & 1)?(b=9):(b=3)
a&1  二进制中,a的二进制表示法末尾为1,(a&1) 就为真,即得到结论a为奇数。
双目运算符,?前为条件,条件为真则第二个括号运算,若假,第三个括号运算。


三、  define lev(n) (n%4==0&&(n%100 !=0 || n%400 == 0) )

      宏,判断是否为闰年

关于宏:

    简单的宏                                                     

#define N 2+2                                              

void main()                                                      

int  a=N*N;  

printf("%d",a);

}

a的结果为 2+2*2+2=8      

      

     带参数的宏

  #difine  area(x)  x*x   

  void main(){

int   y=area(2+2);

 printf ( "%d",y);      

 printf("%d", area(2+2) / area(2+2) );

}

 y的结果为2+2*2+2=8            

 得到结果为2+2*2+2 /  2+2*2+2 = 2+4+1+4+2=13


#define dprint(expr)  printf(#expr "=%\n" , expr)


宏,按原样替换!!!!




四、 <math.h>   fabs(r)  得到r的绝对值    sqrt(e) 得到e的开方数

<math.h>跟<cmath>,前者是兼容C风格的库文件,后者是标准c++库文件 <stdio.h> , <stdio>类似





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值