运算符(操作符)和表达式
表达式:由操作符和运算符组成的序列
操作数:常量&变量,操作数是运算符的操作对象。
++ --
操作数加一 操作数减一
i++ i-- 先使用变量当前的值,然后进行自增、自减运算
++i --i 先进行自增、自减运算,然后再使用增减后的新值
int i = 5;
int b = i++; //b先取i的值5,执行完表达式后i的值为6
printf("b = %d\n",b);
int c = i;
printf("c = %d\n",c);
int sum = ++i + (b++);//执行完表达式后,i为7,b++为5;注意这里是指b++的值
printf("sum = %d\n",sum);
int i = 5;
int b = i++;
printf("b= %d\n",b);
intc = i;
printf("c= %d\n",c);
intsum = ++i + (b++);//执行完表达式后,i为7,b为6;注意这里是指b的值
sum= i + b;
printf("sum= %d\n",sum);
int i,j;
i = 1;
i++; //i=2
j = i++; //执行完毕后, j = 2,i = 3
j = ++i; //执行完毕后, j = 4,i = 4
j = i--; //执行完毕后, j = 4, i = 3
printf("i = %d\n",i);
printf("j = %d\n",j);
i=i+5 ===== i+=5 //可以产生高效率的目标代码
一元运算符 sizeof ++ --
sizeof(int) 4
关系运算符 & 逻辑运算符
0为false 非0为true
接上边代码:
if(sum){
printf(" It is true\n");
}else{
printf(" It is false\n");
}
&& 逻辑与运算
|| 逻辑或运算
关系运算符(返回布尔类型值)
> < >= <= != ==
!一元否定运算符
编程习惯:两种写法,哪一种更好
if(sum == 1)
if(1 == sum)
第二种写法好;如果第一种的话,在误写为 sum = 1 时,会给sum赋值为1;
而第二种写法,编译器会提示错误!!!
条件表达式 if else
判断三个整数的大小
方法一:使用中间变量
int a = 10;
int b = 11;
int c = 12;
int max = 0;
if(a>b){
max = a;
}else{
max = b;
}
if(c>max){
max = c;
}
printf("max = %d",max);
//方法二:直接比较
int a = 14;
int b = 13;
int c = 12;
int max = 0;
if(a>b){
if(a>c){
max = a;
}else{
max = c;
}
}else{
if(b>c){
max = b;
}else{
max = c;
}
}
printf("max = %d",max);
int a = 14;
int b = 13;
if(a!=10&&b==13){//如果其中有一项不成立,则执行else
a++;
b--;
printf("%d\n%d\n",a,b);
}else{
a--;
b++;
printf("%d\n%d\n",a,b);
}
显式类型转化
float i = 0;
int j = (int)i; //int j = int(i);
隐式类型转化
char c = 'c';
int i = c;
elseif 嵌套结构,测试多个表达式,一旦满足某个表达式,则执行表达式,后边的表达式不再测试
switch
---------------- char grade;
scanf("%c",&grade);
switch(grade){
case 'A':
printf("choose A\n");
break;
case 'B':
printf("choose B\n");
break;
case 'C':
printf("choose C\n");
break;
case 'D':
printf("choose D\n");
break;
default:
printf("error\n");
}
注:本博文为个人总结,如果有不当之处请指出,本文会有些散乱,请谅解!如需转载,请注明出处。
2012年3月3日