原创 嵌入式微控制器C语言学习笔记33-《C语言入门经典》第3章

2009-6-20 15:53 2242 6 7 分类: MCU/ 嵌入式

                                              第2章  条件判断


        用于比较数值的基本关系运算符:小于<;大于>;等于==。更多的关系运算符:大于等于>=;小于等于<=;不等于!=。


        基本if语句的一般形式:


        if(expression)
         statement1;
        next_statement;


        扩展if语句(if-else语句)的一般形式:


        if(expression)
        statement1;
       else
        statement2;
       next_statement;


       在if语句中,可以用一个语句块替代单个语句。只要可以使用单个语句的地方,都可以使用放在括号中的语句块。也就是说,可以把一个语句块嵌套在另一个语句块中。else总是属于它之前、还没有else子句的那个if。


        使程序便于理解是优秀编程风格的本质。


        尽量避免使用逻辑非运算符(“!”),它会使代码难以理解。


        条件运算符可用于测试数据,它根据一个逻辑表达式等于true还是false,执行两个表达式中的一个。被称为三元运算符,其一般形式:
        condition ? expression1 : expression2


        运算符的优先级确定了表达式中运算符的执行顺序。优先级相同的运算符的执行顺序有他们的相关性确定(左结合或右结合)。


        所有的比较运算符的优先级都低于二元算术运算符,二元逻辑运算符的优先级低于比较运算符。因此,先执行算术运算,再比较,之后执行逻辑操作。条件运算符的优先级高于赋值运算符。


        在C语言中,有两种方式处理多项选择问题:一种是采用else-if形式的if语句;另一种是switch语句。任意逻辑表达式都可以用作if条件,所以这个语句非常灵活,可以从任意多个选项中选择一项。switch语句没有这么灵活,但在很大情况下使用起来更简单。


       switch语句中如果省略了某个case后面的break语句,就继续执行下一个case的语句。case值必须是常量表达式,即可以在编译期间计算的表达式,这意味case值不能依赖程序执行时确定的值。break语句会跳转到闭括号后面的语句上。


        在使用goto语句时,会跳转到代码中用语句标签指定的位置。语句标签的定义方式与变量名相同,也是一组字母和数字,其中第一个字符必须是字母。语句标签后跟一个冒号(:),将它与它标记的语句分开。case标签就是语句标签。应尽可能避免使用goto语句。


        千万不要混淆按位运算符和逻辑运算符。按位运算符的主要用途是测试并设置整数变量中的各个位。

PARTNER CONTENT

文章评论1条评论)

登录后参与讨论

用户1212045 2011-2-9 18:31

继续学习,顶起
相关推荐阅读
用户518079 2011-05-14 00:13
嵌入式系统与FPGA的最新动向
嵌入式处理器:2011年有望增长12%,中国设计增幅高于全球   据Semico Reserch资深分析师Tony Massimini介绍[1],2010年,微逻辑组件(微处理器、微控制器和DSP)的...
用户518079 2011-05-14 00:11
苹果-三星的合作关系变质
苹果公司和三星公司一度曾是非常紧密的合作关系,不过现在,这两家公司却闹了起来,此举将较大幅度的降低三星公司市场份额。据报道,2010年苹果公司在三星订购了数量惊人的DRAM,NAND闪存以及其他半导...
用户518079 2011-05-14 00:10
英特尔3D晶体管引发的震动:ARM继续打低功耗牌么?
这两日,半导体产业界被一个消息所震撼:英特尔宣布自己将彻底告别传统的平面晶体管,只身进入一个3D架构、22nm制程的新纪元——这个芯片巨人新推出的处理器(代号Ivy Bridge),将由其自行研发的3...
用户518079 2010-12-19 22:00
经典回复!
( 我靠 ! )此回复虽有且仅有两个字,却深刻地表达了回复人的深深的祝福与刻骨的情感,可谓言简意赅,一字千金,字字扣人心弦,字字催人泪下,足可见回复人扎实的文字功底和信手拈来的写作技巧及惨绝人环的创新...
用户518079 2010-08-13 12:13
实例说明PID(转)
PID实指“比例proportional”、“积分integral”、“微分derivative”,如果我们要求被控制的对象最终趋于一个稳定的结果,一般就可以使用PID算法。假设说,有一辆速度为1m/...
用户518079 2010-08-13 12:06
延迟实现八位的PWM
八位的PWM:unsigned char i;while(1){        P1^1 = 1;        delay(i);        P1^1 = 0;        delay(256...
EE直播间
更多
我要评论
1
6
关闭 站长推荐上一条 /3 下一条