第二章 数据类型、运算符和表达式(续)
1 算术运算符和算术表达式
示例
#include <stdio.h>
void main()
{
printf("\n\n%d,%d\n",20/7,-20/7);
printf("%f,%f\n",20.0/7,-20.0/7);
printf("7/2 = %d......%d\n",7/2,7%2);
}
结果
示例:自增自减运算符
#include <stdio.h>
void main()
{
int i = 8;
printf("%d\n",++i);
printf("%d\n",--i);
printf("%d\n",i++);
printf("%d\n",i--);
printf("%d\n",-i++);
printf("%d\n",-i--);
}
结果
示例
#include <stdio.h>
void main()
{
int i = 5,j = 5,p,q;
p = (i++)+(i++)+(i++);
q = (++j)+(++j)+(++j);
printf("%d,%d,%d,%d\n",p,q,i,j);
}
结果
示例
#include <stdio.h>
void main()
{
int i = 5,j = 5,p,q;
p = (i++)+(i++)+(i++)+(i++);
q = (++j)+(++j)+(++j)+(++j);
printf("%d,%d,%d,%d\n",p,q,i,j);
}
结果
类型转换
逗号表达式
表达式1,表达式2,表达式3,...... ,表达式n
要领:
(1) 逗号表达式的运算过程为:从左往右逐个计算表达式。
(2) 逗号表达式作为一个整体,它的值为最后一个表达式(也即表达式n)的值。
(3) 逗号运算符的优先级别在所有运算符中最低。
示例
#include <stdio.h>
void main()
{
int a = 2,b=4,c=6,x,y;
y=(x=a+b),(b+c);
printf("y=%d,x=%d\n",y,x);
}
结果
示例
#include <stdio.h>
void main()
{
int x,y,z;
x=1;
y=1;
z=x++,y++,++y;
printf("%d,%d,%d\n",x,y,z);
}
结果
2,3,1