C语言的基本运算
2016-02-16 21:43
736 查看
算术运算
+ - * / %
[/code]
注意:
1.%是占位符,取余操作如果%按原样输出,需要输入%%.
2.取余操作只能是整数.
3.高精度向低精度转换会丢失精度.
低精度向高精度转换会自动提升精度.
4.运算优先级是从左到右 *=/=%>+=-
5.运算时两个数据精度不一样,会自动类型转换,且是低精度向高精度转换
6.同精度运算只能得到同精度的结果,如果需要提高精度,需要强制类型转换
[/code]
[/code]
赋值及自增自减运算
赋值运算符 "="
加等于运算 "+="
减等于运算 "-="
自增运算符 "++"
自减运算符 "--"
变量才能自我变化,自增或自减,但常量不能.
++a; a的值+1,表达式的值+1
a++; a的值+1,表达式的值不变
--a; a的值-1,表达式的值-1
a--; a的值-1,表达式的值不变
关系运算
"==" ">" "<" ">=" "<=" "!="
特点:
关系运算符运算结果是一个int值 0或1
">" "<" ">=" "<=" 优先级相等 "==" "!=" 优先级相等
逻辑运算
"| |" 或 "&&"与(且) "!"非
"| |" 或:一真为真
"&&"与:同真为真
"!"非:真假调换
所有数据都有真假值,0为假,其他的数都为真(规定)
如果| |左边表达式已经为真,则右边不执行,而&&只要左边为假,右边不执行.
[/code]
优先级顺序 ( )> - > ! >算术运算符 >关系运算符 >&& >| |
三目运算符
有三个部分参与运算
<真假判断表达式>?<表达式1>:<表达式2>;
三目运算符可以简化代码
特点:
1.必须有结果,不能定义变量
+ - * / %
#include<stdio.h>
int main(){
int a=4;
int b=3;
printf("a+b=%d\n",a+b);
printf("a-b=%d\n",a-b);
printf("a*b=%d\n",a*b);
printf("a/b=%f\n",(float)a/b);
printf("a%%b=%d\n",a%b);
return 0;
}
[/code]
注意:
1.%是占位符,取余操作如果%按原样输出,需要输入%%.
2.取余操作只能是整数.
3.高精度向低精度转换会丢失精度.
低精度向高精度转换会自动提升精度.
4.运算优先级是从左到右 *=/=%>+=-
5.运算时两个数据精度不一样,会自动类型转换,且是低精度向高精度转换
6.同精度运算只能得到同精度的结果,如果需要提高精度,需要强制类型转换
#include<stdio.h>
int main(){
double a=2/3; //先算2/3=0,再转换 结果是0.000000
printf("%f\n",a);
}
[/code]
#include<stdio.h>
int main(){
double a=(double)2/3; //结果是0.666667
printf("%f\n",a);
}
[/code]
赋值及自增自减运算
赋值运算符 "="
加等于运算 "+="
减等于运算 "-="
自增运算符 "++"
自减运算符 "--"
变量才能自我变化,自增或自减,但常量不能.
++a; a的值+1,表达式的值+1
a++; a的值+1,表达式的值不变
--a; a的值-1,表达式的值-1
a--; a的值-1,表达式的值不变
关系运算
"==" ">" "<" ">=" "<=" "!="
特点:
关系运算符运算结果是一个int值 0或1
">" "<" ">=" "<=" 优先级相等 "==" "!=" 优先级相等
逻辑运算
"| |" 或 "&&"与(且) "!"非
"| |" 或:一真为真
"&&"与:同真为真
"!"非:真假调换
所有数据都有真假值,0为假,其他的数都为真(规定)
如果| |左边表达式已经为真,则右边不执行,而&&只要左边为假,右边不执行.
#include<stdio.h>
int main(){
int a=2;
int b=1<2||a++;
printf("a=%d,b=%d\n",a,b); //运行结果 a=2,b=1;
int c=1>2&&a++;
printf("a=%d,c=%d\n",a,c); //运行结果 a=2,c=0;
return 0;
}
[/code]
优先级顺序 ( )> - > ! >算术运算符 >关系运算符 >&& >| |
三目运算符
有三个部分参与运算
<真假判断表达式>?<表达式1>:<表达式2>;
三目运算符可以简化代码
特点:
1.必须有结果,不能定义变量
相关文章推荐
- 20160123.CCPP详解体系(0002天)
- 20160123.CCPP详解体系(0002天)
- 编程题#2:输出指定结果一(C++程序设计第10周)
- C++虚函数
- 20160122.CCPP详解体系(0001天)
- 20160122.CCPP详解体系(0001天)
- 编程题#1:输出200(C++程序设计第10周)
- C语言获取目录下目录&文件列表
- C++ pointer
- 20160205.CCPP体系详解(0015天)
- c语言入门之项目1.5——字符数据的输入
- C++多态性
- 20160204.CCPP体系详解(0014天)
- 使用devpartner的blockchecker检查c++内存错误
- c++实用语法
- 好用的C++数据库访问层
- 20160203.CCPP体系详解(0013天)
- C语言程序设计-第7章 用函数实现模块化程序设计
- C++运算符优先级列表
- 198. House Robber(C++实现)