您的位置:首页 > 编程语言 > C语言/C++

黑马程序员——c语言学习---运算

2015-02-05 16:27 330 查看
-----------Java培训Android培训IOS培训.Net培训、期待与您交流!------------
程序最主要的工作就是完成运算,下面主要学习c语言基本运算符号及使用,先从最基本的加减乘除开始。
1、基本运算
首先定义几个变量:

int a=10,b=12;
在进行基本的数据计算之前,我们首先要了解,C语言的算数和我们的数学还是有些区别的,首先,c语言中的基本运算有5种,分别为加(+)、减(-)、乘(*)、除(/)、取余(%);其次,由于变量在内存中存储的时候不像我们的草稿本那样随意,算出的结果为了能放到存储单元中,必须进行必要的取舍,这些一会讨论,先看看经过下面的运算得到的结果:

printf("a+b=%d\n",a+b);//+
printf("a-b=%d\n",a-b);//-
printf("a*b=%d\n",a*b);//×
printf("a/b=%d\n",a/b);//÷
printf("a%%b=%d\n",a%b);//取余运算,%%为转意字符
结果为:

a+b=22
a-b=-2
a*b=120
a/b=0
a%b=10
不出所料,当进行除法运算时,结果只取了整数的部分,那要是我们不想这样呢?方法有很多种,最常见的是将其中至少一个变量定义为float或者double类型,或者进行类型转换:

double a=10;
int b=3;
printf("a/b=%f\n",a/b);//÷
这样就能输出正确的数值

a/b=3.333333


2、自增减运算

也就是常见的++/--运算,该运算对变量进行+1或者-1操作,需要注意的是++/--是放在变量前面还是后面,请看下面的两个例子:
例1:

int k = 1;
int m=k++;
printf("m= %d \n", m);
例2:

int k = 1;
int m=++k;
printf("m = %d \n", m);
这两段代码的区别仅仅是++的位置,但是输出结果完全不同,例1输出m = 1;例2输出m = 2;请大家注意。

3、关系运算
c语言中关系运算符有>,>=,<,<=,==,!=六种,用于判断两个变量的大小关系,判断的结果为0或者1,0表示假,1表示真,这是一种布尔运算,在c语言中默认非零的数字都是真。

int a = 1, b = 2;

printf("a > b  : %d\n", a > b);
printf("a >= b : %d\n", a >= b);
printf("a < b  : %d\n", a < b);
printf("a <= b : %d\n", a <= b);
printf("a == b : %d\n", a == b);
printf("a != b : %d\n", a != b);
结果:

a > b  : 0
a >= b : 0
a < b  : 1
a <= b : 1
a == b : 0
a != b : 1
注意:两个非数值之间比较,将按照数值(将该内存空间当成一个数字,说白了,就是01的逐位比较)的方式进行比较。

4、逻辑运算

逻辑运算用于将两个表达式进行逻辑结合,其结果也为真假,逻辑运算包括与、或、非。

int a = 1, b = 0;

printf("a && b =  %d  [与]\n", a&&b);     //逻辑 与
printf("a || b =  %d  [或]\n", a||b);     //逻辑 或
printf(" !  a  =  %d  [非]\n", !a);       //逻辑 非
输出:

a && b =  0  [与]
a || b =  1  [或]
!  a  =  0  [非]


5、三目运算



三目运算的基本格式为: 表达式?值1:值2
当表达式为真时,三目运算返回值1,否则,返回值2.

int a = 1, b = 2;

int max = a>b ? a : b;

printf("max is %d\n", max);
该代码将得到a,b中的最大值,输出为:

max is 2


(完)

-----------Java培训Android培训IOS培训.Net培训、期待与您交流!------------
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: