#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++);
}
四、运算符(例2)
最新推荐文章于 2025-01-08 11:00:00 发布