若有如下程序段    int j=10;   while(j=0)  j--;  则下面描述中,正确的是()。A、while循环执行10次B、循环是无限循环C、循环体语句执行一次D、循环体语句一次也不执行

题目

若有如下程序段    int j=10;   while(j=0)  j--;  则下面描述中,正确的是()。

  • A、while循环执行10次
  • B、循环是无限循环
  • C、循环体语句执行一次
  • D、循环体语句一次也不执行

相似考题
更多“若有如下程序段    int&e”相关问题
  • 第1题:

    若有如下语句

    int x=3;

    do{ printf("%d\n",x-=2);}

    while(!(--x));

    则上面程序段

    A.输出的是1

    B.输出的是1和-2

    C.输出的是3和0

    D.是死循环


    正确答案:B

  • 第2题:

    若有如下语句includevoid main(){ int x=3: do{ X=X-2; cout<

    若有如下语句 #include<iostream.h> void main() { int x=3: do{ X=X-2; cout<<X; }while(!(--x)); } 则上面程序段

    A.输出的是1

    B.输出的是1和-2

    C.输出的是3和0

    D.是死循环


    正确答案:B
    解析:do—while语句的一般格式为do循环体语句while(表达式);,先执行循环体语句一次,再判断表达式的值,若为真则继续执行循环,否则终止循环。本题中,先执行x=x-2,即为l。判断表达式的值,!(--x)为真,x=0,继续循环。再次执行循环体语句后,x=-2,此时表达式的值为0,结束循环。

  • 第3题:

    若有如下程序段: include using namespace std; int main() {char*p="abcdefgh",*r;l

    若有如下程序段:

    include <iostream>

    using namespace std;

    int main()

    {

    char *p="abcdefgh",*r;

    long *q;

    q=(long *)p;q++;

    r=(char *)q;

    cout<<r<<end1;

    return 0;

    }

    该程序的输出结果是______。


    正确答案:efgh
    efgh 解析:本题定义了一个字符型指针变量p,并通过赋初值让它指向了一个字符串,还定义了另一个字符型指针变量r和一个长整型指针变量q。首先通过语句“a=(long*)p;”,把p的地址值强制转换为长整型地址值并赋值给小然后执行“q++”,地址值增加了4,执行语句“r=(char*)q;”,把长整型指针变量q的值再强制转换成字符型地址值并赋给r,r的值应为字符串中字符“e”的地址。最后输出r指向的字符串。

  • 第4题:

    若有以下程序段

    输出结果:是( )。

    A.4

    B.8

    C.16

    D.2


    正确答案:A
    r右移l位,结果为4,所以选择A)。

  • 第5题:

    若有以下程序段,w和k都是整型变量: 则不能与上面程序段等价的循环语句是( )。A.B.C.D.A.ASXB

    若有以下程序段,w和k都是整型变量:

    则不能与上面程序段等价的循环语句是( )。A.

    B.

    C.

    D.

    A.A

    B.B

    C.C

    D.D


    正确答案:C
    当循环结束时,w的值应为-1,而其他选项中w的值为0,故选择C选项。

  • 第6题:

    若有如下程序:

    A.2

    B.5

    C.7

    D.3


    正确答案:B

  • 第7题:

    若有如下语句 #include<iostream.h> voidmain( ) { intx=3: do{ x=X-2: cout<<X; }while(!(--x)); } 则上面程序段( )。

    A.输出的是1

    B.输出的是1和-2

    C.输出的是3和0

    D.是死循环


    正确答案:B
    B。【解析】d0…while语句的一般格式为“d0循环体语句while(表达式);”,先执行循环体语句一次,再判断表达式的值,若为真则继续执行循环,否则终止循环。本题中,先执行x=x-2,即为1。判断表达式的值,!(--x)为真,x=0,继续循环。再次执行循环体语句后,x=-2,此时表达式的值为0,结束循环。

  • 第8题:

    若有定义:char*st=”how are you”;,下列程序段中正确的是( )。A. B. C. SX

    若有定义:char*st=”how are you”;,下列程序段中正确的是( )。

    A.

    B.

    C.

    D.


    正确答案:A
    本题综合考查字符数组的赋值和strcpy函数的用法。C语言不允许用赋值表达式对字符数组赋值,如strcpy函数的结构是:strcpy(字符数组1,字符串2)其中,需要注意的是,字符数组l的长度不应小于字符串2的长度,”字符数组1”必须写成数组名形式,如(strl),”字符串2”可以是字符数组名,也可以是字符串常量,不能用赋值语句将一个字符串常量或字符数组直接给一个字符数组。

  • 第9题:

    若有以下程序段:

    A)(*p).m

    B)*(p 1)->m

    C)*(p )->n

    D)(p ).(*m)


    正确答案:B
    本题考查如何通过指针引用数组元素。首先定义了一个结构体,然后定义了一个结构体变量s[3],并赋了初值。在主程序中,定义了一个指向结构体变量S的指针P,要使表达式的值为5,就应该引用s[1]m的值,使指针P指向s[1],p可以实现将P指针加1,指向s[1]。

  • 第10题:

    有如下程序段:执行该程序段后,X的值为( )。

    A.true

    B.false

    C.0

    D.1


    正确答案:D
    在c语言中,逻辑运算符有4个,它们分

  • 第11题:

    若有如下程序段,其中s、a、b、c均已定义为整型变量,且a、c均已赋值,c>0。 s = a;for(b = 1; b <= c; b++) s += 1;则与上述程序段功能等价的赋值语句是( )。

    A.s = a + b

    B.s = a + c

    C.s = s + c

    D.s = b + c


    正确答案:B

  • 第12题:

    若有以下程序段:charstr[]=”ab/n/012///””;printf(“%d”,strlen(str));该程序段的输出结果是()

    • A、3
    • B、4
    • C、6
    • D、12

    正确答案:C

  • 第13题:

    若有以下程序段:输出结果是( )。

    A.2

    B.4

    C.8

    D.16


    正确答案:B
    9用二进制表示为1001,右移1位后为0100,即十进制4。

  • 第14题:

    若有如下程序:include using namespace std;int main(){ char *p="abcdefgh",*r; lon

    若有如下程序: #include <iostream> using namespace std; int main() { char *p="abcdefgh",*r; long *q; q=(long *)p; q++; r=(char *)q; cout<<r<<end1; return 0; } 上述程序的输出结果是( )。

    A.abcdefgh

    B.0

    C.abcd

    D.efgh


    正确答案:D
    解析:本题定义了一个字符型指针变量p,并通过赋初值让它指向了一个字符串。还定义了另一个字符型指针变量r和一个长整型指针变量q。首先通过语句“q=(long*)p;”,把p的地址值强制转换为长整型地址值并赋值给q,然后执行“q++;”,地址值增加了4,执行语句“r=(char*)q;”,把长整型指针变量q的值再强制转换成字符型地址值并赋给r,r的值应为字符串中字符“e”的地址。最后输出r指向的字符串。

  • 第15题:

    若有以下程序段: int r=8; print("%d\n",r>>1): 输出结果是( )。 A.16B.8S

    若有以下程序段: int r=8; print("%d\n",r>>1): 输出结果是( )。

    A.16

    B.8

    C.4

    D.2


    正确答案:C
    本题考查移位运算。将8转为二进制数为1000,右移一位不足补0,结果为0100,转化为十进制结果为4。

  • 第16题:

    若有如下语句 includevoid main(){int x=3;do{x=x-2cout<

    若有如下语句 #include<iostream.h> void main() { int x=3; do{ x=x-2 cout<<x; {while (! (- -x); } 则上面程序段( )

    A.输出的是1

    B.输出的是1和一2

    C.输出的是3和0

    D.是死循环


    正确答案:B

  • 第17题:

    若有如下程序段,其中s. a. b. c均已定义为整型变量,且a. c均已赋值(c大于0) s=a; for (b=1;b <=c;b++) s=s+1; 则与上述程序段功能等价的赋值语句是

    A.s=a+b;

    B.s=a+c;

    C.s=s+c;

    D.s=b+c;


    正确答案:B
    解析:本题考核的知识点是for循环次数的计算.本程序中for循环的次数为c-1+1共循环了c次,而每循环一次s的值加1,所以s的值为s+c.而最开始s的值为a,故4个选项中选项B符合题意.

  • 第18题:

    若有说明语句:double*P,a;则通过scanf语句正确给输入项读人数据的程序段是( )。A.B.C.D.A.ASX

    若有说明语句:double*P,a;则通过scanf语句正确给输入项读人数据的程序段是( )。A.

    B.

    C.

    D.

    A.A

    B.B

    C.C

    D.D


    正确答案:D
    double*P,a定义了一个指向双精度型的指针变量P和双精度型变量a,p=&a表示将变量a的地址赋给指针变量P;scanf(”%If”,p)表示用键盘输入的数赋给指针变量P所指向的地址单元中,scanf()函数要求在输入double型数据时,格式控制符必须用%lf。否则,数据不能正确输入。所以选项D正确。

  • 第19题:

    若有如下函数定义以下程序段运行后屏幕输出为()

    A.0

    B.1

    C.5

    D.6


    参考答案:D

  • 第20题:

    若有以下程序段:

    程序运行后的输出结果是( )。

    A.16

    B.8

    C.4

    D.2


    正确答案:C
    本题考查位运算,属于基础知识,题目中将整型变量8,二进制表达为00(301000,右移一位为00000100,即4,选项c正确。

  • 第21题:

    若有如下程序段: int n=1O; while(1)n--; printf("%d";n); 则while循环执行的次数是( )。

    A.0

    B.1

    C.10

    D.无数


    正确答案:D
    解析:本题的while循环条件为1恒为真,所以是一个无限循环。应该选择答案D。

  • 第22题:

    若有如下程序:main(){int a=1,b=1;for(;a<=10;a++){if(b>=9)break;if(b%3==1){b+=3;continue;}b+

    若有如下程序: main() { int a=1,b=1; for(;a<=10;a++) { if(b>=9) break; if(b%3==1) {b+=3;continue;} b++; } printf("%d,%d",b,a); } 则程序运行后的输出结果是( )。

    A.10,4

    B.7,3

    C.10,3

    D.11,3


    正确答案:A
    解析:本题中for循环循环10次。如果b>=9结束循环。如果b能被3整除结束本次循坏。都不成立b加1。for循环执行过程为:当a=1,b=1时,b%3=1,b=b+3=1+3=4,进入下一次循环:当a=2,b=4时,b%3=1,b=b+3=4+3=7,进入下一次循环;当a=3,b=7时,b%3=1,b=b+3=7+3=10,进入下一次循环;当a=4,b=10时,因b>=9成立,执行“break;”退出循环。

  • 第23题:

    若有如下程序段,其中s、a、b、c均被定义为整型变量,并且a和c已经赋值(c>0),        s=a;         for(b=1;b<=c;b++) s=s+1;  则与上述程序段功能等价的赋值语句是()。 

    • A、s=a+b;
    • B、s=a+c;
    • C、s=s+c;
    • D、s=b+c;

    正确答案:B

  • 第24题:

    单选题
    若有如下程序段:该程序的输出结果是(  )。
    A

    a

    B

    b

    C

    c

    D

    d


    正确答案: C
    解析:
    字符指针p指向“abcdefgh”字符串,语句“r=p;”是r指向p指向的字符串,而*r则是指向字符串中的第一个字符。即a。