设 N 和 B 都是(无符号)整型变量,下面 C 代码段的功能是计算变量 B 的二进制 表示中 ( )。 N=O; while(B){ B==B&(B-l); // "&"是按位"与"运算 N++; }A. 数字 1 的个数 B. 数字 1 比数字 0 多的数目 C. 数字0的个数 D. 数字0比数字 1 多的数目

题目

设 N 和 B 都是(无符号)整型变量,下面 C 代码段的功能是计算变量 B 的二进制 表示中 ( )。 N=O; while(B){ B==B&(B-l); // "&"是按位"与"运算 N++; }

A. 数字 1 的个数 B. 数字 1 比数字 0 多的数目 C. 数字0的个数 D. 数字0比数字 1 多的数目


相似考题
参考答案和解析
正确答案:A
更多“设 N 和 B 都是(无符号)整型变量,下面 C 代码段的功能是计算变量 B 的二进制 表示中 ( )。 N=O; ”相关问题
  • 第1题:

    在以下程序中,变量S为( )。 DefDbl A-H O-Z DefInt I-N S=1 For I=1 To 20 S=S*I Next I Printf"S=",S

    A.字符串变量

    B.长整型变量

    C.单精度实型变量

    D.双精度实型变量


    正确答案:D

  • 第2题:

    以下程序段执行后整型变量n的值为( )。 n=0 For i=1 to 20 Step 5 n=n+1 Next i

    A.50

    B.4

    C.15

    D.210


    正确答案:B

  • 第3题:

    设x为整型变量,n=14,n的地址为4000;m=6,m的地址为2000;执行语句x=&n后的结果为( )。

    A.14

    B.6

    C.2000

    D.4000


    正确答案:D
    解析:&是取地址运算符,表达式x=&a是表示将a的地址赋给变量x。

  • 第4题:

    设函数中有整型变量n,为保证其在未赋初值的情况下初值为0,应选择存储类别是( )。 A.auto

    设函数中有整型变量n,为保证其在未赋初值的情况下初值为0,应选择存储类别是( )。

    A.auto

    B.register

    C.static

    D.auto或register


    正确答案:C
    C。【解析】未赋初值的静态局部变量,编译程序自给它赋初值0。所以选择C。

  • 第5题:

    设整型变量m,n,a,b,c,d均为1,执行“( m=a>b)&&(n=a>b)"后m,n的值是( )

    A.0,0

    B.0,l

    C.1,0

    D.1,l


    正确答案:B
    表达式(m=a>b)&&(n=a>b)是一个逻辑表达式,它的计算过程是先计算逻辑与的左分量(m=a>b,其中又是先计算a>b。因a>b不成立,结果为0,将0赋给变量m,最后逻辑与的左分量结果为0。由于逻辑运算采用特别的优化计算规则,当逻辑与的左分量结果为0时,不再计算逻辑与的右分量,而直接以0为逻辑与的结果。所以,上述表达式计算使m的值变为0,而n的值没有变,依旧为l。所以解答是B。

  • 第6题:

    设N和B都是(无符号)整型变量,下面c代码段的功能是计算变量B的二进制表示中( )。

    N=0;whileB.{B=B&(B-1); //"&"是按位"与"运算N++;}

    A.数字1的个数
    B.数字1比数字0多的数目
    C.数字0的个数
    D.数字0比数字1多的数目

    答案:A
    解析:
    本题考查基础数学应用的基本技能。
    如果B=0(二进制全0),则计算得到N=0。
    如果B非0(二进制表示中含有数字1),则B-1必然是将最靠右的数字1变成0,并将其右面(若存在)连续若干个0变成1。B&(B-1)的结果就是将原来B的最靠右的数字1变成0,其他数字不变。

    这样,B=B&(B-1)的结果就是清除了B中最靠右的1个数字1。
    题中的代码段中,每循环1次这样的运算,变量B中的数字1就减少1个,N就增加1,直到B变为全0为止。因此,该代码段的功能就是计算B中数字1的个数。

  • 第7题:

    C语言程序的无符号基本整型变量以()表示。


    正确答案:unsigned

  • 第8题:

    下面关于用户宏程序的说法,正确的是()。

    • A、用变量可以置换地址后的数值,如F#103…,当#103=15时,与指令F15是同样的
    • B、宏变量可分为公用变量和系统变量
    • C、宏程序中系统变量的用途在数控系统中是固定的
    • D、地址O和N可以引用变量,比如可以用O#100,N#120编程
    • E、在主程序中用M18调用宏程序

    正确答案:A,B,C

  • 第9题:

    设整型变量m,n,a,b,c,d均为1,执行(m=a>b)&&(n=c>d)后,m,n的值是()。

    • A、0,0
    • B、0,1
    • C、1,0
    • D、1,1

    正确答案:B

  • 第10题:

    有以下程序段,n=2;while(n--);printf("%d",n);其中n为整型变量。运行结果为()。

    • A、2
    • B、10
    • C、–1
    • D、0

    正确答案:B

  • 第11题:

    单选题
    @n是使用DECLARE语句声明的整型局部变量,能对该变量赋值的语句是()。
    A

    let @n=1

    B

    set @n=1

    C

    set n=1

    D

    select 1 from @n


    正确答案: A
    解析: 暂无解析

  • 第12题:

    填空题
    C语言程序的无符号基本整型变量以()表示。

    正确答案: unsigned
    解析: 暂无解析

  • 第13题:

    设有如下程序段:

    Dim a(10)

    For Each x 1n a

    Print x;

    Next x

    在上面的程序段中,变量x必须是

    A.整型变量

    B.变体型变量

    C.动态数组

    D.静态数组


    正确答案:B
    解析:在For Each…Next语句中,x为一个变体变量,它是为循环提供的,并在For Each…Next结构中重复使用,它实际上代表的是数组中的每个元素。

  • 第14题:

    在表示C语言的整型变量时,表示“无符号整型”的符号是( )

    A.unsigned int

    B.unsigned short

    C.long int

    D.unsigned long


    正确答案:A

  • 第15题:

    设变量已正确定义,则以下能正确计算f=n!的程序是( )。A.B.C.D.A.AB.BC.CSX

    设变量已正确定义,则以下能正确计算f=n!的程序是( )。A.

    B.

    C.

    D.

    A.A

    B.B

    C.C

    D.D


    正确答案:D
    由n!的数字定义可知n!=n*(n-1)*(n2)*…*1。在选项A中,由于f的初值为0,在for循环语句中,f依次乘以1,2,3,…,n,最后计算得到f=n!=0,所以选项A不正确。在选项B中,f的初值为1,在for循环语句中,f依次乘以1,2,3,…,(n-1),最后计算得到f=(n-1)!,所以选项B不正确。在选项C中,f的初值为l,在for循环语句中,f依次乘以n,n+1,n+2,…,所以选项C不正确。在选项D中,f的初值为1,在for循环语句中,f依次乘以n,n-1,n-2,…,2,最后计算得到f=n!,所以选项D正确。

  • 第16题:

    设整型变量n的值为2,执行语句“n+=n-=n*n;”后,n的值是__________

    A.0

    B.4

    C.- 4

    D.2


    正确答案:C

  • 第17题:

    设x为整型变量,n=14,n的地址为4000;m=6,m的地址为2000;执行语句x=&n后的结果为( )。

    A)14

    B)6

    C)2000

    D)4000


    正确答案:D

  • 第18题:

    设n为整型变量,且n:=1997,下面能将n的十位数字(即右边第2位数字)分离出来的语句是()

    • A、d:=n mod 100
    • B、d:=n div 100;
    • C、d:=n div 100 mod 10;
    • D、d:=n mod 100 div 10

    正确答案:D

  • 第19题:

    在线性规划中,设约束方程的个数为m,变量个数为n,m<n时,可以把变量分为基变量和非基变量两部分,基变量的个数为m个,非基变量的个数为()。

    • A、m个
    • B、n个
    • C、n-m个
    • D、0个

    正确答案:C

  • 第20题:

    @n是使用DECLARE语句声明的整型局部变量,能对该变量赋值的语句是()。

    • A、let @n=1
    • B、set @n=1
    • C、set n=1
    • D、select 1 from @n

    正确答案:B

  • 第21题:

    设整型变量m,n,a,b,c,d均为0,执行(m=a==b)||(n=c==d)后,m,n的值是()。

    • A、0,0
    • B、0,1
    • C、1,0
    • D、1,1

    正确答案:C

  • 第22题:

    下面是一段关于计算变量s的算法: ①变量s的初值是0  ②变量i从1起循环到n,此时变量s的值由下面的式子表达式计算 ③s=s+(-1)*i ④输出变量s的值 这个计算s值的算法中,s的代数式表示是()。

    • A、1-2+3-4+…+(-1)n*(n-1)
    • B、1-2+3-4+…+(-1)n-1*n
    • C、1+2+3+4+...+(n-1)+n
    • D、-1-2-3-4-...-n

    正确答案:D

  • 第23题:

    单选题
    设n为整型变量,且n:=1997,下面能将n的十位数字(即右边第2位数字)分离出来的语句是()
    A

    d:=n mod 100

    B

    d:=n div 100;

    C

    d:=n div 100 mod 10;

    D

    d:=n mod 100 div 10


    正确答案: C
    解析: 暂无解析