四、运算符(例2)
来源:互联网 发布:传奇db数据库参数 编辑:程序博客网 时间:2024/04/30 07:33
#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++);}