1、1、自增和自减运算符是C语言中特有的一种运算符,他们的作用分别是对运算对象做加1和减1运算,其功能如下:+ 自增运算符,如:a+,+a;- 自减运算符,如:a-,-a。从表面上看,a+和+a的作用都是使变量a的值加1,但由于运算符+所处的位置不同,使变量a执行加1的运算过程也不同,+a的运算过程是:先使变量a执行a+1的操作,再使用a的值,a+的运算过程是:先使用变量a的值,再执行a+1的操作。自增和自减运算符只能用于变量,不能用于常数或者表达式。1、逗号运算符在C语言中,逗号运算符“,”可以将两个或多个表达式连接起来,称为逗号表达式。逗号表达式的一般形式为:表达式1,表达式2,表达式3.表达式n逗号表达式的运算过程是:先运算表达式1,再计算表达式2,.以此计算到表达式n。1、条件运算符是C语言中唯一的一个三目运算符,他要求有3个运算对象,用它可以将3个表达式连接构成一个表达式。条件表达式的一般形式如下:表达式1?表达式2:表达式3其功能是首先计算表达式1,当其值为真(非0值)时,表达式2的值作为挣个条件表达式的值,否则将表达式3的值作为整个条件表达式的值。C语言中共有6种位运算符,按
2、优先级从高到低依次是:按位取反(运算符)-左移(运算符)-按位与(运算符&)-按位异或(运算符)-按位或(运算符|)1、c语言中的移位运算符有两种,左移运算符、右移运算符。1)左移运算符(),其作用是讲一个数的各个二进制位全部左移若干位。例如a=a),其作用跟左移运算符相反,表示将一个数据的各个二进制位右移若干位,其中移到右端的低位被舍弃,高位以0进补。2、左移和右移运算符有时候可以代替一些乘除运算,这样可以节省cpu的运行时间,提高代码的执行效率。例如1个数据左移1位相当于乘于2,右移一位相当于除以2(此结论只适合在运算结果没有溢出的情况)。1、一个完整的C语言程序是由若干条语句按一定的方式组合而成的。按C语言语句执行方式的不同,C程序可分为以下三种:顺序结构、选择结构、循环结构。顺序结构:程序按语句的顺序逐条执行;选择结构:程序根据条件选择相应的执行顺序;循环结构:程序根据某种条件,只要满足这个条件,就重复执行某段程序,直到条件不满足为止。如果这个条件永远存在,就形成一个死循环。死循环在单片机的C语言程序中普遍存在,最典型的例子就是每个程序的主函数中都有一个死循环(也成无限循环)w
3、hile(1);一般的C程序可以包含全部以上三种结构,也可以只包含一种或两种结构。2、要保证C语言程序能够按照预期目的运行,还需要用到一些特殊语句对程序进行控制。1)控制语句控制语句完成一定的控制功能,C语言中有9中控制语句if().else.语句:条件语句for().语句:循环语句while().语句:循环语句do.while()语句:循环语句continue语句:结束本次循环语句break语句:中止循环执行语句switch语句:多分支选择语句goto语句:跳转语句return语句:从函数返回语句2)函数调用语句函数调用语句调用已定义过的函数(注意,一定是调用已定义过的函数,没有定义过的函数不能调用)。3)表达式语句一个表达式后面加一个分号“;”就构成了表达式语句4)空语句空语句不执行任何操作,常用于消耗机器周期,延时等待等用途。5)复合语句用一对大括号“”把一些语句括起来就构成了复合语句。在上一节的实例中我们已经学习了这种语句的用法。3、if语句if语句用来判断所给定的条件是否满足,根据判定结果选择执行给出的操作。if语句有3种基本形式1)if(表达式).该if语句的执行情况为:先
4、判断表达式的结果是否为真(非0值),如果为真,则执行大括号内的语句,否则不执行大括号内的语句。语句示例如下:if(i=0)m=10;.这条语句所实现的功能是:如果变量i等于0,则给变量m赋值为10,否则m=10这个语句不会被执行2)if(表达式) 语句1 else 语句2 其含义是:若条件表达式的结果为真,则执行语句1,否则,如果条件表达式的结果为假,则执行语句2.这里的语句1和语句2均可以是单个语句,也可以是复合语句3、if(表达式1) 语句1 else if(表达式2) 语句2 else if(表达式3) 语句3 . else 语句n 这种条件语句经常用来实现多种条件的判断,它是由if-else语句嵌套而成的,在这种结构里,else总是与距它最近的if相配对。switch-case开关语句1、switch-case开关语句是一种多分支选择语句,用来实现多方向条件分支。虽然采用if-else条件判断语句也可以实现多方向条件分支,但是当分支较多时,使用if-else条件语句的嵌套层次会大大增多,从而导致程序冗长、结构混乱。switch-case语句可以直接处理多分枝选择,使程序结构清晰
5、、使用方便。2、switch-case开关语句的组成形式。它的一般形式如下:switch(表达式) case常量表达式1:语句1; break; case常量表达式2:语句2; break; case常量表达式3:语句3; break; . case常量表达式n:语句n; break; default: 语句n+1;break;开关语句的执行过程是:1)当switch后面的表达式的值与某一case后面的常量表达式的值相等时,就执行该case后面的语句,然后遇到break语句退出该switch语句。若所有case中的常量表达式的值没有与表达式的值相匹配时,就执行default后面的语句。2)switch后面括号内的表达式,可以是整型或字符型表达式,也可以是枚举类型的数据。3)每一个case常量表达式的值必须不同,否则就会出现自相矛盾的现象。4)每个case和default的出现次序不影响执行结果,可以先出现default,再出现case。5)假如case语句的最后没有break这个关键字,则流程控制转移到下一个case继续执行,因此,在执行一个case分支后,如果不需要继续执行switc
6、h语句,则需要用一个break语句来完成。对于switch语句,有两点注意事项:一是常量表达式的值必须是整型或字符型;二是注意break语句的使用1、在许多实际问题中,需要程序进行有规律的重复执行,这时可以用循环语句来实现。在c语言中。用来实现循环的语句有for语句,while语句,do-while语句,goto语句等。2、for循环语句结构可使程序按指定的次数重复执行一个或一组语句。采用for语句构成循环结构的一般形式如下:for(初始化表达式;条件表达式;增量表达式)语句;for语句的执行过程是:1)先计算初始化表达式的值,然后将该值作为循环控制变量的初值,2)再计算条件表达式的结果,若其值为“真”,则执行for后面的语句;如果为“假”,那么跳出for循环语句3)若条件表达式为“真”,则在执行指定的语句后,执行增量表达式3)执行for后面的语句,执行完后再回到第(2)步执行。1、while语句while语句构成循环结构的一般形式如下:while(条件表达式)语句;其执行过程是:先求解条件表达式的值,当条件表达式的值为“真(非0)”时,程序就重复执行大括号里面的语句,一直执行到条件表
7、达式的结果变化为“假”才结束执行。这种循环结构是先检查条件表达式所给出的条件,然后根据检查的结果决定是否执行后面的语句。如果条件表达式的结果一开始就为“假”,则后面的语句一次也不会被执行。1、do-while语句do-while语句构成循环结构的一般形式如下:do语句;while(条件表达式);其执行过程是:先执行一次循环体中的语句,然后再判断条件表达式的值,如果为真,则继续执行循环体,否则直接退出循环体。因此do-while语句的特点是:无论初始条件是否满足条件表达式的要求,循环体都要至少被执行一次。所以在使用do-while语句的时候,需要认真对待这个问题。1、goto语句为无条件转向语句,它的一般形式为:goto 语句标号;它是将程序运行的流向转到它所指定的标号处去执行2、结构化程序设计方法主张限制使用goto语句,因为滥用goto语句将使程序流程无规律,可读性差。但也不是绝对禁止使用goto语句,一般来说,可以有两种用途1)与if语句一起构成循环结构2)从循环体内跳转到循环体外,但在c语言中可以使用break语句和continue语句跳出本层循环和结束本次循环,goto语句的使用机会已大大减少,只是需要从多层循环的内层循环跳到外层循环时才用到goto语句。但是这种用法不符合结构化原则,一般不宜采用,只有在不得已时(例如能够大大提高效率)才使用。1、前面我们了解了for,while,do-while这三种循环语句,他们有一个共同特点,就是只有当循环条件不满足时,才会自动退出循环。如果循环条件不止一个,或者需要中途退出循环时,该怎么实现呢?此时可以考虑使用break语句,或者continue语句来实现。2、break语句break语句在前面的switch语句中已经有过介绍。它同时还可以用在循环体中。在循环体中遇到break语句时,立即结束循环,跳到循环体外,执行循环结构后面的语句。break语句的一般形式是:break;break语句只能跳出它所处的哪一层循环,而不像goto语句可以直接从最内层循环中跳出来。所以,要直接退出多重循环,采用goto语句比较方便。break语句只能用于switch语句和循环语句之中,它是一种具有特出功能的跳转语句。
《C语言的自增和自减》由会员m****分享,可在线阅读,更多相关《C语言的自增和自减》请在金锄头文库上搜索。