x<0?功能的表达式是?________。(2009年春选择题第?23题)A.s=(x>0)?1:(x<0)?-1:0C.s=x<=0?-1:(x==0?0:1)?B.s=x<0?-1:(x>0?1:0)D.s=x>0?1:x==0?0:-1当?【解析】本题考点是嵌套的条件表达式。仔细分析它们的逻辑关系,选项?C的功能是x<=0时值为-1,否则即?x>0再判断x=0是否成立决定值为?0还是1,不合题意。【答案】?C14.若有声明“inta=5,b=2;,则表”达式“b+=(float)(a+b)/2运算后”b的值为________。(2007年秋填空题第?1题)除以?【解析】b+=(float)(a+b)/22,得3.5,然后将原来的?相当于b=2加?b=b+((float)(a+b)/2)。先执行a+b得3.5得5.5,b是int,截取整数部分?7,转换成实数5赋给b。?7.0【答案】515.设指针变量占?2个字节的内存空间,若有声明?“char*p="123";intc;“c=sizeof(p);后,”c的值为_____。(2010年春选择题第?24题)?,则执行”语句A.1?B.2?C.3?D.4【解析】题目告诉我们指针变量占?2个字节,而sizeof的功能就是计算变量在内存中所占的字节数,c的值为指针变量?p在内存中占用的字节数,为?2。【答案】B16.若有声明“intr=2;则执”,行语句“printf("%d",sizeof(2*3.14*r));?时输出?”?。(2009年秋填空题第?2题)【解析】本题输出表达式?2*3.14*r?的结果在内存中占用的字节数。?2*3.14*r的结果为实常量,其中有一个实常量?3.14,C中实常量默认为?double型。根据类型转换规则,其他类型的数据也要转换成?double型,最后结果为?double型,在内存占?8个字节。