vc++运算符

一、赋值运算符 
ID:变量名=表达式 
1.先计算右端表达式,再把值赋给左端变量 
2.x=3*5/(2+8),x=7 
3.右端转换为左端定义的变量类型(int x=10/3.0) 
4.x=y=z=5 
5.x+=5(等价x=x+5) 
6.x+5=y(非法) 
7.(x+=5)*=2 复合赋值 
8.+=,-+,*=,/=,%= 
二、算数运算符 
ID:++/--;+;-;*;/;% 
CPP: 
#include <iostream> 
using namespace std; 
void main() 
{ int x=10,y=4; 
cout<<"x="<<x<<" "<<"x++="<<x++<<endl; 
x=10; 
cout<<"x="<<x<<" "<<"x--="<<x--<<endl; 
x=10; 
cout<<"x="<<x<<" "<<"--x="<<--x<<endl; 
x=10; 
cout<<"x="<<x<<" "<<"++x="<<++x<<endl; 
x=10; 
cout<<"x+y="<<x+y<<endl; 
cout<<"x-y="<<x-y<<endl; 
cout<<"x*y="<<x*y<<endl; 
cout<<"x/y="<<x/y<<endl; 
cout<<"x%y="<<x%y<<endl; } 
Results: 
x=11 x++=10 
x=9 x--=10 
x=9 --x=9 
x=11 ++x=11 
x+y=14 
x-y=6 
x*y=40 
x/y=2 
x%y=2 
说明: 
1.x++/x--/++x/--x都看成是表达式的值,遇到++/--在前则表达式先+1/-1,x值发生变化,遇到++/--在后则先表达式值保持不变,x值发生变化。 
2."除"因为是整形(int),故只能显示实数部分;若想获得精确值可以通过数据类型转换((float)x/y),结果为2.5 
3.取模,非常有用(如控制格式输出每行5个数值:if(i%5=0)cout<<endl;) 
三、关系运算符 
ID:<,<=,>,>=,==,!= 
1.运算结果为true或false 
四、逻辑运算符 
ID:!,&&,|| 
1.!单目运算—逻辑反 
2.&&,||,运算两边分量的值—逻辑运算结果(且,或) 
五、条件运算符 
ID:表达式1?表达式2:表达式3 
1.x=a>b?a:b  //若a>b为真,则x=a,否则x=b 
cpp:#include <iostream> 
using namespace std; 
void main(){ 
int a,b, max; 
cin>>a>>b; 
max=a>b?a:b; 
cout<<"Max="<<max<<endl;} 
六、逗号运算符 
ID:表达式1,表达式2,表达式3....表达式N 
int x=5,y; 
y=(t=x+5,t=t*t,t);//t1=10,t2=100,t3=100,则y=100 
七、sizeof运算符 
ID:sizeof() 
1.sizeof(char),sizeof(int).. 
2.int a;double b; 
sizeof(a),sizeof(b).. 
cpp:#include <iostream> 
using namespace std; 
void main(){ 
char ch; 
cout<<"please input int=i,char=c,float=f,double=d?"<<endl; 
cin>>ch; 
switch(ch) 
{case 'i': 
   cout<<"you want to the size of int="<<sizeof(int)<<endl; 
    break; 
  case 'c': 
   cout<<"you want to the size of char="<<sizeof(char)<<endl; 
    break; 
  case 'f': 
   cout<<"you want to the size of float="<<sizeof(float)<<endl; 
   break; 
  case 'd': 
   cout<<"you want to the size of double="<<sizeof(double)<<endl; 
   break; 
  default: 
  cout<<"Not in area!"<<endl; 
  break;} 
八、圆括号运算符 
ID:xx() 
1.函数调用;sqrt(2),strcpy(d,s),myfunction(a,b) 
cpp: 
/*using a function template,模板其实就是具有相同参数个数的一组函数的抽象,如果参数个数不一,可以使用函数重载(overloading function),函数是两者的基本单元*/ 
#include <iostream> 
using namespace std; 
//************************************* 
template  <class T> 
T maximum(T value1,T value2,T value3) 

T Max=value1; 
if(value2>Max)Max=value2; 
if(value3>Max)Max=value3; 
return Max; 

//**************定义模板******************************* 
int main() 

int int1,int2,int3; 
cout<<"Enter three integer value:"<<endl; 
cin>>int1>>int2>>int3; 
cout<<"The Max value is:"<<maximum(int1,int2,int3)<<endl;  //模板(副本)调用,返回最大值
 
double double1,double2,double3; 
cout<<"Enter three double value:"<<endl; 
cin>>double1>>double2>>double3; 
cout<<"The Max value is:"<<maximum(double1,double2,double3)<<endl;  //模板(副本)调用,返回最大值
 
char char1,char2,char3; 
cout<<"Enter three character value:"<<endl; 
cin>>char1>>char2>>char3; 
cout<<"The Max value is:"<<maximum(char1,char2,char3)<<endl;  //模板(副本)调用,返回最大值
 
return 0; 
}
 
2.强制类型转换(动态);int a;double(a)或(double)a;,char(65),double(8) 
3.一元强制性类型转换(静态):static_case<type>() 
九、数组下标运算符 
ID:[] 
十、指针运算符 
ID:*(取地址)和&(引用传递) 
十一、动态存储分配运算符 
ID:new,delete 
十二、作用域限定运算符 
ID: ::(一元作用域) 
cpp: 
#include <iostream> 
using namespace std; 
const double  pi=3.1415926535; 
int main() 

const float pi=static_cast <float>(::pi) 
cout<<"local float value of pi="<<pi<<endl; 
cout<<"global double value of pi="<<(::pi)<<endl;
return 0;
}

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值