有如下程序段:int a = b = 5;String s1 = "祝你今天考出好成绩!";String s2 = s1; 则表达式a == b与s2 == s1的结果分别是()A、true与trueB、false与trueC、true与falseD、false与false

题目

有如下程序段:int a = b = 5;String s1 = "祝你今天考出好成绩!";String s2 = s1; 则表达式a == b与s2 == s1的结果分别是()

  • A、true与true
  • B、false与true
  • C、true与false
  • D、false与false

相似考题
参考答案和解析
正确答案:A
更多“有如下程序段:int a = ”相关问题
  • 第1题:

    ( 19 )有如下程序段:

    int i=5;

    while ( int i=0 ) {cout 《 '*';i--;}

    运行时输出 "*" 的个数是

    A ) 0

    B ) 1

    C ) 5

    D )无穷


    正确答案:A

  • 第2题:

    现有如下程序段,则程序段的输出结果为 【16】 。

    #include "stdio.h"

    int fun()

    {static int k;

    return k;}

    main()

    {int m;

    m=fun();

    printf("%d\n",m);}


    正确答案:
    0

  • 第3题:

    有如下程序段int i=0,j=1;int &r=i; //①r=j; //②int*p=&i; //③*p=&r; //④其中会产生编译错误的语句是

    A.④

    B.③

    C.②

    D.①


    正确答案:A
    解析:本题考查的知识点是:指针和引用。指针声明的一般形式为: 数据类型>*声明的指针变量名>;
    引用声明的一般形式为:
    数据类型>&声明的引用变量名>=被引用的变量名>;
    引用声明时必须初始化,而指针则可有可无。通过引用来改变其所引用的对象,直接赋值即可,而通过指针改变其所指对象则须使用一元运算符“*”。在本题中,语句①就是一条合法的引用声明语句,使变量i被r所引用。语句②通过引用r将变量j的值赋给变量i。语句③声明了指针变量p,并初始化指向变量i。而语句④中的*p代表了变量i,欲将&r(变量r的地址值)赋给*p(变量i),这会引起VC6编译器产生一条类型不匹配的错误“无法将类型int*转换为int”。故本题应该选择A。

  • 第4题:

    有如下程序段:

    int a=14,b=15,x;

    char c='A';

    x=(a&&b)&&(c<'B'):

    执行该程序后,x的值为( )。

    A.true

    B.false

    C.0

    D.1


    正确答案:D
    在C语言中,当表达式成立时用l表示,不成立时用0表示,即x=(a&&b)&&(c<'B')=(14&&15)&&('A'<'B')=1&&1=1,故选择D选项。

  • 第5题:

    执行如下程序段后,int sum的值为______。

    A.80

    B.160

    C.161

    D.200


    正确答案:C
    解析:单循环次数“r=int((终值-初值+步长)/步长)”,嵌套循环次数是各层循环次数的乘积。该段程序的循环次数为9×5=45(次),当I不能被j整除时,j值相加。该段程序中只有以下条件不成立,即3/3、5/5、9/3、15/3、15/5,所以计算结果为“9×(2+3+4+5+6)-(3+5+3+3+5)=161”。

  • 第6题:

    若有如下程序段: 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指向的字符串。

  • 第7题:

    有如下程序段:

    int i=5;

    while(int i=0){cout<<‘*’;i--;}

    运行时输出“*”的个数是

    A.0

    B.1

    C.5

    D.无穷


    正确答案:A
    解析:语句while(int i=O)是重新定义了一个变量i,并赋值为O,因此while循环条件为假,不执行循环体,所以不会输出“*”。

  • 第8题:

    有如下程序段 #include void main( ) { int a=14,b=15,x; char c='A'; x=(a&&b) &&(c<'B') ; cout < < x;} 执行该程序段后,x的值为

    A.ture

    B.FALSE

    C.0

    D.1


    正确答案:D
    解析:在C++语言中,逻辑运算符有4个,它们分别是!(逻辑非)、‖(逻辑或)、&&(逻辑与)、^(异或)。在位运算里面还有&(位与)、|(位或)的运算。本题考查逻辑与运算符的用法,在语句x=(a&&b)&&(c'B');中,先判断a&&b条件,逻辑与条件的两边都要保证为1,即a和b都成立,当然c'B'是成立的,显然,该表达式的值为1。

  • 第9题:

    有如下程序段&includevoid main(){int a=14,b=15,x;char c='A':x=(a &&

    有如下程序段 &include<iostream.h> void main() {int a=14,b=15,x; char c='A': x=(a && b) && (c<'B'=; cout<<x;= 执行该程序段后,x的值为

    A.ture

    B.FALSE

    C.0

    D.1


    正确答案:D

  • 第10题:

    有一段程序如下,请设计测试用例以满足语句覆盖要求。 void DoWork (int x,int y,int z) { int k=0,j=0; if ( (x>3)&&(z5) ) { j=x*y+10; } //语句块2 j=j%3; //语句块3 }


    正确答案:要实现DoWork函数的语句覆盖,只需设计一个测试用例就可以覆盖程序中的所有可执行语句。

  • 第11题:

    有如下程序段 int*p,a=10,b=3; p=&a; a=*p+b;执行该程序段后,a的值为______。

    A.11

    B.12

    C.13

    D.14


    正确答案:C

  • 第12题:

    有如下程序段: int total = 0; for ( int i = 0; i < 4; i++ ){ if ( i == 1) continue; if ( i == 2) break;total += i;} 则执行完该程序段后total的值为()

    • A、0
    • B、1
    • C、3
    • D、6

    正确答案:A

  • 第13题:

    ( 6 )有如下程序段:

    int x=1,Y=2,z=3;

    x=x^z;

    y=y^z;

    z=x^y;

    cout<<x<<y<<z;

    执行这个程序段的输出是【 6 】 。


    正确答案:

  • 第14题:

    现有如下程序段

    #include "stdio.h"

    int fun(int k,int *m)

    {if(k%3)*m=k*k;

    else *m=k/3;}

    main()

    { int (*p)(int,int *),m;

    p=fun;

    (*p)(78, &m);

    printf( "%d\n",m);}

    则程序段的输出结果为

    A.24

    B.25

    C.26

    D.27


    正确答案:C

  • 第15题:

    现有如下程序段

    #include "stdio.h"

    int aa(int x,int y);

    main()

    {int a=24,b=16,c;

    c=aa(a,b);

    printf("%d\n",c);}

    int aa(int x,int y)

    {int w;

    while(y)

    {w=x%y;

    x=y;

    y=w;}

    return x;}

    则程序段的输出结果是

    A.8

    B.7

    C.6

    D.5


    正确答案:A

  • 第16题:

    有如下程序段: includedefine Max(a,b) a>b?a:bmain(){int a=5,b=6,c=4,d;d=c+Max(a,

    有如下程序段: #include<stdio.h> #define Max(a,b) a>b?a:b main() { int a=5,b=6,c=4,d; d=c+Max(a,b); printf("%d",d); } 其输出结果为______。

    A.10

    B.5

    C.6

    D.编译错误


    正确答案:B
    解析:在C语言中,宏定义是直接替换的,所以在c+a>b?a:b这个条件表达式中,c+a>b为真,所以用a的值作为整个表达式的值,而a的值为5,所以整个表达式的值为5。

  • 第17题:

    有如下程序段void func(int *a,int b[ ]){ b[0]=*a+6; }main(){ int a,b[5]={0}; a=0;b[0]=3; func(&a,b); printf("%d\n",b[0]); }程序运行后输出的结果是A.6 B.7 C.8 D.9


    正确答案:A
    在本题中,程序首定义了一个无返回值的函数func,该函数带有两个形参,第一个形参是一个指针变量,第二个形参是一个数组。
    在主函数中,定义一个整型变量a和一个整型数值b,并将b初始化为0,然后通过赋值操作改变变量a的值为0,b[0]的值为3。接着调用函数func,传递的实参分别为变量a的地址和数组b,这时执行func函数的函数体b[0]=*a+6;语句将数组b的第一个元素值变为0+6=6,由于采用的传值方式是传址传值,可以实现数据的双向传递,因此,实参数组b的第一个元素值被改为6。然后程序用输出语句输出数组b的第一个元素值,输出的结果应该是6,本题正确答案选A。

  • 第18题:

    有如下程序段:

    int i=4;int J=1:

    int main(){

    int i=8,J=i;

    cout<<i<<j<<endl;

    }

    运行时的输出结果是

    A.44

    B.41

    C.88

    D.81


    正确答案:C
    解析:在一般情况下,变量的作用域与其生存期一致。但由于c++语言允许在程序的不同部分为不同变量取同一名字,因此一个变量名的作用域可能小于其生存期。全局变量i和j对于3—5行是不起作用的。则第4行的tout输出i值为8,j值为j=i=8。所以输出结果为88。

  • 第19题:

    有如下程序段: int a=14,b=15,x; char c='A'; x=(a&&b)&&(c<'B'); 执行该程序段后,x的值为( )。

    A.ture

    B.假

    C.0

    D.1


    正确答案:D
    解析:本题考查逻辑与运算符的用法,在表达式x=(a&&b)&&(c"B")中,先判断a&&b,逻辑与条件的两边都为真,而c"B"是成立的,所以该表达式的值为1。

  • 第20题:

    有如下程序段void fun(int *a, int *b){ int *k; k=a; a=b; b=k;}main(){ int a=3, b=6, *x=&a, *y=&b; fun(x,y); printf("%d %d", a, b);} 程序运行后输出的结果是A.6 3 B.3 6 C.编译出错 D.0 0


    正确答案:B
    在本题中,程序首先定义了一个无返回值的函数fun,该函数带有两个整型的指针形参变量,在函数体中,首先定义一个整型指针变量k,然后试图利用k来交换a和b的结果。但处理语句k=a;很明显是对地址进行赋值操作。在C语言中,指针变量作为函数参数时,可以改变被指向的变量的值,但不能改变指针变量本身的值,即我们可以改变实参指向的变量的值,不能使实参指向其他的变量。因此,本函数并不能交换形参所指向变量的结果。
    在主函数中,首先定义了两个整型变量a和b,并分别被初始化为3和6,然后定义两个指针变量x和y,分别指向a和b,接着调用fun函数,传递的实参为指针变量x和y,根据前面对fun函数的分析可知,调用该函数后并不能实现a和b数组的交换,因此,执行输出语句后,输出的结果是3 6。本题正确答案选B。

  • 第21题:

    如下程序段运行时的输出结果是 int i=4;int J=1; int main( ){ inti=8,j=i; cout<<i<<j<<endl; }

    A.44

    B.41

    C.88

    D.81


    正确答案:C
    解析:在函数体外部定义的变量是全局变量。在主函数内部定义的变量是局部变量。当全局变量和局部变量同名时候,在函数体内,局部变量对全局变量起屏蔽作用,即全局变量在函数体内不起作用。 

  • 第22题:

    有如下程序段&includevoid main(){int a=14,b=15,x;char c='A'x=(a&&b)

    有如下程序段 &include<iostream.h> void main() {int a=14,b=15,x; char c='A' x=(a&&b)&&(c<'B'=; cout<<x;= 执行该程序段后,x的值为

    A.ture

    B.假

    C.0

    D.1


    正确答案:D

  • 第23题:

    现有如下程序段

    #include "stdio.h"

    int *fun(int *a,int *b)

    {int c;

    c=*a%*b;

    return &c;}

    main()

    {int a=5,b=19,*c;

    c=fun(&a,&b);

    printf("%d\n",++*c);}

    则程序段执行后的结果为

    A.8

    B.7

    C.6

    D.5


    正确答案:C

  • 第24题:

    单选题
    有如下程序段: int total = 0; for ( int i = 0; i < 4; i++ ){ if ( i == 1) continue; if ( i == 2) break;total += i;} 则执行完该程序段后total的值为()
    A

    0

    B

    1

    C

    3

    D

    6


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