当前位置:IT认证>计算机二级

问题:

[单选] 下面程序段的输出结果是(  )。
int i=32770:printf(”%d\n”,i);

A . 32769
B . 32767
C . -32766
D . 输出不确定数

下列变量声明合法的是(  )。 short a=1.4e-1;。 double b=1+3e2.8;。 10ng do=0xfdaL;。 float 2_aaa=1e-3;。 若已定义:int a口一(0,1,2,3,4,5,6,7,8,9),*p=a,i;其中0≤i≤9,则对a数组元素的引用不正确的是(  )。 a[p-a]。 *(&a[i])。 p[i]。 *(*(a十i))。 下列关于定点数与浮点数的叙述中错误的是(  )。 在实数的浮点表示中,阶码是一个整数。 整数是实数的特例,也可以用浮点数表示。 实数的补码是其对应的反码在最后一位加1。 相同长度的浮点数和定点数,前者可表示数的范围要大于后者。 有以下程序:#include<stdio.h>main(){int a[J一{1,2,3,4,5,6,7,8,9,10,11,12),*P=a+5;*q=NULL;+q=*(p+5);printf(”%d%d\n”,*q,*q);}程序运行后的输出结果是(  )。 运后后报错。 6 6。 6  11。 5  10。 下列程序的输出结果是(  )。#include<stdio.h>main(){  int a=0,i;for(i=1;i<5:i++){  switch(i){  case 0:case 3:a+=1;case】:case 2:a=2;default:a+=3;}}printf(”%d”,a);) 19。 18。 6。 8。 下面程序段的输出结果是(  )。
int i=32770:printf(”%d\n”,i);
参考答案:

  参考解析

C。【解析】在TurboC2.0环境中,int数据类型在内存中只占两个字节,其表示形式为二进制补码形式,所以范围是:一32768~32767,即l0000000000000002~01111111111111112(首位为符号位)。而32770转换为二进制为10000000000000102,其符号位为l故输出时为.一个负数,而它的绝对值是求负后的结果,补码求负的方法是:先按位求反,再加一。所以求得的绝对值为01111111111111012+1—0111111111111102,即十进制的32766。综上所述,选项C正确。

在线 客服