四、运算符(例2)

#include <stdio.h>
#include <stdlib.h>
int main()
{
   //取模(取余数)运算
   int iCount=0;
   printf("Rand number:");
   while(1)
   {
      int iRnd=rand()%100;//rand()产生的是伪随机数
      //取模常用来指示数组下标值范围,抽奖等应用
      
      if(++iCount<20)printf("%d ",iRnd); else break;
   }
   printf("\n");
      
   //除法运算
   int iVal1=4,iVal2=3,iVal3=iVal1/iVal2;
   printf("iVal3:%d iVal1/iVal2:%f\n",iVal1/iVal2,
           (float)(iVal1/iVal2));
   printf("iVal3:%d iVal1/iVal2:%f\n",iVal1/iVal2,
           (float)iVal1/iVal2);
   //printf("iVal3:%d iVal1/iVal2:%f\n",iVal1/iVal2,
   //        float(iVal1/iVal2));这是C++的强制类型转换,在C里还没有被定义

   //逻辑运算
   int iBool=0;
   1&&(iBool=2)?printf("iBool:%d\n",iBool):printf("iBool:%d\n",iBool);//能不能给iBool成功赋值

   iBool=0;
   0&&(iBool=2)?printf("iBool:%d\n",iBool):printf("iBool:%d\n",iBool);
   	//&&运算左值如果已经能决定整个逻辑表达式的结果,那后边的其它表达式就不会再运行 <--逻辑短路

   iBool=0;
   1||(iBool=2)?printf("iBool:%d\n",iBool):printf("iBool:%d\n",iBool);

   //对++ --的理解
   int iSum,iA=1,iB=0;
       iSum=iA+++iB--;
   int iSum2=-iA++ + iB--;//给一个整型数加上一个负号不代表它会变成另一个数(~,-,!)
   //表达式中的运算符会影响到操作数变量本身值的,不允许多重嵌套使用
   printf("iA:%d iB:%d iSum:%d iSum2:%d",iA,iB,iSum,iSum2);
   //--iA++;  <--不行     -iA++;  <--可以
   //++++--++--++++iB; //不要以为左值就一定放在左边
   //iB++--++++--++++;
   //++++iB;
   //iB----; 
   //--(iB++);
   //printf("\niB:%d",iB++);
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值