电子说
4.3 C语言基本运算符
小学数学学过加、减、乘、除等运算符号以及四则混合运算,而这些运算符号在C语言中也有,但是有些表达方法不一样,并且还有额外的运算符号。在C语言编程中,加、减、乘、除和取余数的符号分别是:+、-、*、/、%。
C语言有一个很重要的赋值运算符“=”,前边程序有使用过。在C语言里,“=”代表的意思是赋值,而不是等于。最经典的一个例子就是a=1;b=2;如果写成a = a+b;这个在数学里的运算是a等于a加b,是个错误结论;而在c语言里的意思是把a加b的结果送给a,那么运算完了之后的结果是a等于3,b还等于2。
说到这里就不得不说C语言的比较运算符“==”。这个在C语言里是进行是否等于判断的关系运算符,而“!=”就是不等于的关系运算符。
此外,C语言中还有额外的两个运算符++和--,一个是自加1,一个是自减1,下面选++来讲一下。
++在用法上就是加1的意思,注意是变量自己加,比如b++的意思就是b=b+1,而在编程的时候有两种常用的方式先加和后加。比如
unsigned char a = 0; unsigned char b = 0;
那么
a = ++b;
其整个运算过程是先计算b=b+1,那么b就等于1了,然后再运行a=b,运行完毕后a=1,b=1。如果写成
a=b++;
那么运算过程就是先执行a=b;然后再执行b=b+1,执行完的结果就是a=0,b=1。
这些运算符这里就是简单介绍一下,而后边会通过使用实例来巩固这些知识。其他一些运算符,在使用过程中也会陆陆续续介绍到。
4.4 for循环语句
for语句是C语言编程的一个常用的语句,这个语句必须得学会其用法,它不仅仅可以用来做延时,更重要的是用来做一些循环运算。for语句的一般形式如下:
for (表达式1; 表达式2; 表达式3)
{
(需要执行的语句);
}
其执行过程是:表达式1首先执行且只执行一次;然后执行表达式2,通常都是一个用于判定条件的表达式,如果表达式2条件成立,就执行(需要执行的语句);然后再执行表达式3;再判断表达式2,执行(需要执行的语句);再执行表达式3.....一直到表达式2不成立时,跳出循环继续执行循环后面的语句。举个例子:
for (i=0; i<2; i++)
{
j++;
}
这里有一个符号++刚刚讲过了。假如j最开始初值是0,首先执行表达式1的i=0,然后判断i小于2这个条件成立,就执行一次j++,j的值就是1了,然后经过表达式3后,i的值也变成1了,再判断条件2,还是符合,j再加一次,j变成2了,再经过表达式3后i也变成2了,再判断条件2,发现2<2这个条件不成立了,所以就不会再执行j++这个语句了。所以执行完毕后,j的值就是2。
for语句除了这种标准用法,还有几种特殊用法,比如前面的闪烁小灯对for语句的用法for(i=0; i<30000; i++) ;没有加(需要执行的语句),就是什么都不操作。但是什么都不操作的话,这个for语句循环判断了30000次,程序执行是会用掉时间的,所以就起到了延时的作用。比如把30000改成20000,会发现灯的闪烁速度加快了,因为延时时间短了,当然,改成40000后会发现,闪烁慢了。但是有一点特别注意,C语言的延时时间是不能通过程序看出来的,也不会成比例,比如这个for循环里边的表达式2使用30000时延时是3秒的话,那么改成40000的时候,可能并不一定是4秒。
还有一种写法for( ; ; ),这样写后,这个for循环就变成了死循环了,就不停的执行(需要执行的语句),和前边讲的while(1)的意思是一样的了。那while这个语法是如何用的呢?
审核编辑 黄宇
全部0条评论
快来发表一下你的评论吧 !