程序最主要的工作就是完成运算,下面主要学习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 [非]
三目运算的基本格式为: 表达式?值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