免费智能真题库 > 历年试卷 > 嵌入式系统设计师 > 2016年下半年 嵌入式系统设计师 上午试卷 综合知识
  第19题      
  知识点:   逻辑运算符   表达式求值
  关键词:   表达式        章/节:   嵌入式系统程序设计       

 
逻辑表达式求值时常采用短路计算方式。“&&”“||”“!”分别表示逻辑与、或、非运算,“&&”“||”为左结合,“!”为右结合,优先级从高到低为“!”“&&”“||”。对逻辑表达式“x&&(y||!z)”进行短路计算方式求值时,(19)。
 
 
  A.  x为真,则整个表达式的值即为真,不需要计算y和z的值
 
  B.  x为假,则整个表达式的值即为假,不需要计算y和z的值
 
  C.  x为真,再根据2的值决定是否需要计算y的值
 
  D.  x为假,再根据y的值决定是否需要计算z的值
 
 
 

 
  第41题    2009年下半年  
   48%
在ANSIC中,sizeoffint)是在(41)时确定其占用内存空间大小的。
  第60题    2015年下半年  
   38%
变量W_data定义如下:

则变量W_data所占的内存存储空间可表示为(60)。
  第50题    2015年下半年  
   44%
假设以下代码运行环境为32位系统,其中,_attribute_((packed))的作用是告诉编译器取消结构在编译过程中的优化对齐,按照实际占用..
   知识点讲解    
   · 逻辑运算符    · 表达式求值
 
       逻辑运算符
        逻辑与(&&)、逻辑或(||)、逻辑非(!)的运算结果为1(表示true)或为0(表示false)。“逻辑非”是单目运算符,它将操作数的逻辑值取反。“逻辑与”是双目运算符号,其含义是“当且仅当两个操作数的值都为true时,逻辑与运算的结果为true”。“逻辑或”的含义是“当且仅当两个操作数的值都为false时,逻辑或运算的结果为false”。
        例如,逻辑表达式!20的结果是0,10&&5的结果是1,10||5.5的结果是1,10&&0的结果是0。
        在C程序中,由逻辑运算符“&&”“||”构造的表达式采用短路计算方式求值,即对于“a&&b”,a为1(假)时不需要再计算b的值就可以确定该表达式的结果为0(假),对于“a||b”,a为1(真)时不需要再计算b的值就可以确定该表达式的结果为1(真)。
        例如,对于逻辑表达式((year%4==0)&&(year%100!=0)||(year%400==0)),若year%4的结果不是0(例如year的值为2001),就不需要再计算year%100的值了,因为此时“&&”运算的结果已经确定为0(即条件不成立)。
 
       表达式求值
        表达式求值是程序设计语言编译中的一个最基本问题。它的实现方法是栈的一个典型的应用实例。
        在计算机中,任何一个表达式都是由操作数(operand)、运算符(operator)和界限符(delimiter)组成的。其中操作数可以是常数,也可以是变量或常量的标识符;运算符可以是算术运算体符、关系运算符和逻辑符;界限符为左右括号和标识表达式结束的结束符。在本节中,仅讨论简单算术表达式的求值问题。在这种表达式中只含加、减、乘、除四则运算,所有的运算对象均为单变量。表达式的结束符为“#”。
        表达式一般分为中缀表达式和后缀表达式,具体如下:
               中缀表达式
               中缀表达式是通常使用的一种表达式,中缀表达式的计算规则如下。
               (1)括号内的操作先执行,括号外的操作后执行。如有多层括号,则先执行内层括号内的操作,再执行外括号内的操作。
               (2)先乘除,后加减。
               (3)在有多个乘除或加减运算可选择时,按从左到右的顺序执行,即优先级相同的操作符按先后次序进行。
               后缀表达式
               后缀表达式中只有操作数和操作符,它不再含有括号,操作符在两个操作数之后。它的计算规则非常简单,严格按照从左向右的次序依次执行每一个操作。每遇到一个操作符,就将前面的两个操作数执行相应的操作。
   题号导航      2016年下半年 嵌入式系统设计师 上午试卷 综合知识   本试卷我的完整做题情况  
1 /
2 /
3 /
4 /
5 /
6 /
7 /
8 /
9 /
10 /
11 /
12 /
13 /
14 /
15 /
 
16 /
17 /
18 /
19 /
20 /
21 /
22 /
23 /
24 /
25 /
26 /
27 /
28 /
29 /
30 /
 
31 /
32 /
33 /
34 /
35 /
36 /
37 /
38 /
39 /
40 /
41 /
42 /
43 /
44 /
45 /
 
46 /
47 /
48 /
49 /
50 /
51 /
52 /
53 /
54 /
55 /
56 /
57 /
58 /
59 /
60 /
 
61 /
62 /
63 /
64 /
65 /
66 /
67 /
68 /
69 /
70 /
71 /
72 /
73 /
74 /
75 /
 
第19题    在手机中做本题