C语言基础之运算
来源:互联网 发布:java语言程序设计培训 编辑:程序博客网 时间:2024/05/17 21:59
1、算术运算
(1)+、-、*
(2)/、%
整数相除,取整数部分。11%5=商2,余1
/和%不能对整数0进行操作,否则会中断程序。但是得到的结果是inf,表示无穷大。
%不能对浮点数使用。
/向零取整(取更接近0的数字)
%的结果与其左操作数的符号保持一致。
2、赋值运算
(1)将赋值运算符右边的值赋给左边的变量。//=
int a;
a=5;//将5赋给a
(2)赋值表达式的值就是赋值表达式左操作数的值。
int a,b,c;
a=b=c=5;//a=(b=(c=5));
printf(“%d,%d,%d\n”,a,b,c);//5,5,5
(3)赋值运算符的左操作数必须是一个左值——可被赋值的对象——变量,常量或表达式不能被赋值。
100=200;//error
100=a;//error
a+b=c;//error
(4)赋值运算符是“=”而不是“==”。
(5)赋值运算符还可和其它运算符结合起来使用,构成复合赋值。
a+=b;//a=a+b
a%=b;//a=a%b
(6)初始化与赋值是不同的。
int a=10;//初始化//int a;
a=100;//赋值
3、自增减运算
(1)++/–:变量自增/减1。
int a=10;
a++;//a:11
a–;//a:10
++a;//a:11
–a;//a:10
(2)不能用于常量
10++;//error
–10;//error
(3)可以用于所有的整型类变量,以及浮点类,但是多数情况下用于int。
(4)前后缀自增减的区别:
前缀:先自增减,再计算表达式。++a
后缀:先计算表达式,再自增减。a++
a++表达式和++a表达式的值都是从操作数a的内存空间中得到的。二者的区别在于,一个是先取表达式的值再自增,另一个是先自增再取表达式的值。
(5)忠告:自增减运算最好不要再一个表达式中使用多次。
4、关系运算
、>=、<、<=、==、!=
关系运算表达式的值是整数:1或者0
逻辑真:1
5、逻辑运算
(1)逻辑与(&&)、逻辑或(||)、逻辑非(!)
A&&B:只有当A和B的值都为真(非零)时,表达式的值才为真。
A||B:只有当A和B的值都为假(零)时,表达式的值才为假。
!A:当A的值为真时,表达式的值为假;当A的值为假时,表达式的值为真。
(2)短路运算
A&&B:如果A的值为假,则B不处理。
A||B:如果A的值为真,则B不处理。
水仙花源码://所谓“水仙花数”是指一个三位数,其各位数字的立方和等于该数本身#include <stdio.h>void main(){int a,b,c,i;for(i=100;i<1000;i++)//当i小于1000时,将执行大括号里的语句块{a=i/100;b=i%100/10;c=i%10;if(a*a*a+b*b*b+c*c*c==i){printf("%d\t",i);}}}
- C语言基础之运算
- C语言基础之位运算
- 黑马程序员IOS基础---C语言学习之基本运算
- 黑马程序员-c语言基础总结之运算符
- C语言基础之编译预处理及位运算
- C语言基础 运算符
- C 语言之运算符
- C语言之运算符+-*/%、++、--
- C语言之运算符
- C语言之位运算
- C语言之位运算
- C语言之位运算
- C语言之位运算
- c语言之运算符
- c语言之位运算
- 基础之C语言
- C语言基础之基础语法、基本运算及流程控制
- C语言基础-运算符优先级
- hibernate一对多关联查询去重 criteria设置 解决分页条数不正确的问题
- Thrift那点事
- Unity_NGUI基础控件_PlayTween_044
- 2017java面试题
- 电影星星评分
- C语言基础之运算
- sublime侧边栏字体大小设置
- 多线程安全问题----同步方法
- Unity_NGUI基础控件_NGUI事件回调_045
- apache-comnons系列之commons-math3.6 学习笔记
- iOS 基本运算符~总结
- Unity_代码切换图片_046
- Summary
- 守护进程框架