更多“【单选题】假设int x = 2,三元表达式 x>0?x+1:5 的运行结果是以下哪一个?”相关问题
  • 第1题:

    有以下程序,其输出结果是( )。void main(){ floar x=1; int y; x++; y=x+1; printf("x=%d,y=%f",x,y);}A.x=2,y=3B.x=2,y=3.0C.x=2.0,y=3D.x=0,y=0.000000


    正确答案:D
    float 是4 个字节,int 是两个字节。当用int 取float 的值时,只取前两个字节
    
                    

  • 第2题:

    下列程序的运行结果是() include main() {int x=5,a=1,b=2,c=5,d=0; if(a

    下列程序的运行结果是( )

    #include<stdio.h>

    main()

    { int x=5,a=1,b=2,c=5,d=0;

    if(a<b)

    if(b!=3)

    if(!c)

    x=1;

    else

    if(d) x=l;

    else x=-1;

    printf("%d",x);

    }

    A.-1

    B.0

    C.1

    D.不确定的值


    正确答案:A
    解析:本题考查if else语句。第1个if语句,先判断条件,发现ab条件成立,执行下列的语句;第2个汀语句,先判断条件,发现b!=3条件成立,执行下列的语句;第3个汀语句,先判断条件,c=5,则!c条件不成立,执行与其配对的else语句:第4个if语句,先判断条件,d=0,条件不成立,则x=-1,结束循环。

  • 第3题:

    下列表达式没有错误的是________。int x,*p;

    A. 5.0%2

    B. x+1=5

    C. &p

    D. &(x+1)


    参考答案:C

  • 第4题:

    下列程序的运行结果是 includeclass Location{private:int X.Y;public:void init(i

    下列程序的运行结果是 #include<iostream.h> class Location{ private: int X.Y; public: void init(int=0,int=0); void valueX(int val){X=val;} int valueX( ){ return X;} void valueY

    A.5 0 6 4

    B.0 0 6 4

    C.5 0 6 2

    D.0 0 6 2


    正确答案:A
    解析:本题中有成员函数和它的重载函数,要注意它们的不同,在本题中先调用了init函数,初始化了X,Y,都为0,valueX(5);又将X变为5,所以输出5和0,然后初始化init(6,2),接着又valueY(4);将X,Y设为6和4,所以输出6和4。

  • 第5题:

    以下程序运行后的输出结果是( )。 include main() { int x=20; printf("%d", 0

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

    include<stdio.h>

    main()

    { int x=20;

    printf("%d", 0<x<20);

    printf("%d\n", 0<x && x<20);

    }


    正确答案:10
    10 解析:表达式0x20,首先计算0x,其值为1,再计算120,其值为1,输出1;表达式0x && x20,0x为1,x20为0,再计算1 && 0,其值为0,输出0。所以输出结果为10。

  • 第6题:

    有以下程序:includeusing namespace std;int f(int x);int sum(int n){ int x,s=0; f

    有以下程序: #include<iostream> using namespace std; int f(int x); int sum(int n) { int x,s=0; for(x = 0;x<=n;x++) s+=f(x); return s; } int f(int x) { return (x*x+1); } int main() { int a,b; cout<<"Enter a integer number:"; cin>>a; b=sum(a) ; cout<<a<<","<<b<<end1; return 0; } 如果输入数字3,其输出结果是( )。

    A.3,12

    B.3,16

    C.3,18

    D.4,20


    正确答案:C
    解析:这还是有关调用函数的程序,而且有两层关系。根据程序逐步分析:①本程序包含了3个函数,其中主函数main调用了sam()函数,而在sum()函数中又调用了f函数。②在主函数中,先从键盘输入一整数,并赋值给a。在这里题目开始已给出输入的是整数3,调用函数sum(),并把3传值给形参n,最后输出a,b的值。③在sum()函数中,有一个for循环语句,在每次循环时调用函数f,并把当前的x值传给形参x,循环结束后,返回s值。④在f()函数中,变量x接收实参的值后,执行表达式“x*x+1”,并返回表达式的运算结果。⑤在sum()函数中,由于n值为3,不难看出,当x=0、x=1、x=2和x=3时,都能执行循环体,即调用函数f,第1次循环更改s值为1,第2次循环更改s值为3,第3次更改为8,第4次更改为18,也就是最后一次循环,即最终sum()返回值将是18。⑥在主函数收到sum()函数的返回值,并输出3,18。

  • 第7题:

    下面程序的运行结果是【】。 include using namespace std; void fun(int&a,int b=3)

    下面程序的运行结果是【 】。

    include <iostream>

    using namespace std;

    void fun(int &a, int b=3)

    {

    static int i=2;

    a = a + b + i;

    i = i + a;

    }

    int main()

    {

    int x=5, y=2;

    fun(x, y);

    cout<<x<<",";

    fun(x);

    cout<<x<<end1;

    return 0;

    }


    正确答案:923
    9,23 解析:本题主要考察C++中变量的作用域、存储类别和参数默认值的使用。本题主函数中,第1次调用fun()函数时,利用实参x和y将5和2分别赋值给形参a和b;由于形参a为传址方式传值,因此在函数fun()内部,由于a的改变:a =a+b+i=5+2+2=9。导致实参x值也变为9,因此程序第1次输出x值为9。
    此后静态局部变量i值变为:i=i+a=2+9=11。
    主函数第2次调用fun()时,只给出了一个实参x,其值由上述计算应该为9,而另一个参数由于fun()函数定义中为形参b指定了默认值3,因此此时程序将把3作为形参b的值代入fun()函数中去。类似上面计算有:a=a+b+i=9+3+11=23。
    由于形参a采用传址方式传值,因此实参x值也随之变为23,则程序第2次输出值应该为23。故程序整体输出为“9,23”。

  • 第8题:

    以下程序的输出的结果是()。include int x=3;void main(){void incre();int i;for (

    以下程序的输出的结果是( )。#include <iostream.h>int x=3;void main(){ void incre(); int i; for (i=1;i<x;i++) incre();}Void incre(){ static int x=1; x*=x+1; cout<<x<<"";}

    A.3 3

    B.2 2

    C.2 6

    D.2 5


    正确答案:C

  • 第9题:

    以下程序的输出的结果是()。includeint x=3:void main(){void fun();int i;for(i=1;

    以下程序的输出的结果是( )。 #include<iostream.h> int x=3: void main() { void fun(); int i; for(i=1;i<x;i++) fun(); } void fun() { static int x=1; x*=x+1; cout<<x<<" "; }

    A.3,3

    B.2,2

    C.2,6

    D.2,5


    正确答案:C

  • 第10题:

    有以下程序: #include<stdio.h> #define S(x)4*(x)*x+1 main( ) {int k=5,j=2; printf("%d\n",S(k+j)); } 程序运行后的输出结果是( )。

    A.197

    B.143

    C.33

    D.28


    正确答案:B
    此程序考查带参数的宏定义,S(k+j)展开后即4*(k+j)*k+j+1,所以结果为l43,答案为B。

  • 第11题:

    针对以下C语言程序段,假设sta[10]=-1,对于x的取值,需要( )个测试用例能够满足分支覆盖的要求。
    int MathMine(int x){int m=0;int i;for(i=x-1;i<=x+1;i++){if(i<0)continue;if(i>31)break;if(sta[i]=-1)m++;}return m;}

    A.3
    B.4
    C.5
    D.6

    答案:A
    解析:
    本题考查分支覆盖的概念和相关计算方法。分支覆盖要求程序中的每个分支都被测试覆盖到。本题中,x分别取0、100、10即符合要求。

  • 第12题:

    单选题
    有以下程序:#include int f(int x){ int y; if(x==0||x==1)  return (3); y=x*x-f(x-2); return y;}main(){ int z; z=f(3); printf(%d,z);}程序的运行结果是(  )。
    A

    0

    B

    9

    C

    6

    D

    8


    正确答案: C
    解析:
    函数f是递归函数,递归的终止条件是x为1或2。f(3)=3*3-f(1),当x=0或x=1时返回值为3,即f(0)=3,f(1)=3;所以y=3*3-3=6。答案选择C选项。

  • 第13题:

    有以下程序:includeint f(int x){int y;if(x==0||x==1)return(3);y=x*x-f(x-2);return

    有以下程序: #include<stdio.h> int f(int x) {int y; if(x==0||x==1)return(3); y=x*x-f(x-2); return y; } main() {int z; z=f(3);printf("%d\n",z); } 程序的运行结果是( )。

    A.0

    B.9

    C.6

    D.8


    正确答案:C
    解析:本题主要考查函数的递归调用。当x=0或者x=1时返回值为3,即f(0)=3,f(1)=3;否则返回值为x*x-f(x-2)。f(3)=3*3-f(1)=9-3=6。

  • 第14题:

    假设int x=2,三元表达式x>0?x+1:5的运行结果是以下哪一个( )。

    A.0

    B.2

    C.3

    D.5


    参考答案:C

  • 第15题:

    以下程序的执行结果是______。 include void main() { int x=5 y=2; cout<

    以下程序的执行结果是______。

    include<iostream.h>

    void main()

    {

    int x=5 y=2;

    cout<<! (y==x/2)<<",";

    cout<<(y!=x%3)<<",";

    cout<<(x>0 && y<0=<<",";

    cout<<(x!=y||x>=y)<<endl;

    }


    正确答案:0001
    0,0,0,1

  • 第16题:

    下列程序的运行结果是()。includemain(){int x=5,a=1,b=2,c=5,d=0; if(a

    下列程序的运行结果是( )。 #include<stdio.h> main() { int x=5,a=1,b=2,c=5,d=0; if(a<B) if(b!=3) if(!C) x=1; else if(D) x=1; else x=-1; printf("%d",x); }

    A.-1

    B.0

    C.1

    D.不确定的值


    正确答案:A
    解析:本题考查ifelse语句。第1个if语句,先判断条件,发现ab条件成立,执行下列的语句;第2个if语句,先判断条件,发现b!=3条件成立,执行下列的语句:第3个if语句,先判断条件,c=5,则!c条件不成立,执行与其配对的else语句:第4个if语句,先判断条件,d=0,条件不成立,则x=-1,结束循环。

  • 第17题:

    以下程序的输出结果是______。 int x=3; main() { int i; for(i=1; i<x; i++) incre(); } incre() { static int x=1; x*=x+1; printf(" % d", x); }

    A.3 3

    B.2 2

    C.2 6

    D.2 5


    正确答案:C
    解析:C语言规定如果全局变量与局部变量同名,则在局部变量的作用域内全局变量不起作用。程序开头定义的变量x为全局变量,函数incre中定义的变量x是局部静态变量,存放在静态存储区,incre调用结束后不释放x占据的存储单元。main函数中使用的x是全局变量x=3,所以main函数中调用函数incre两次。调用过程如下。第1次调用:x=x*(x+1)=1×(1+1)=2,printf函数输出2;第2次调用:x=x*(x+1)=2×(2+1)=6,printf函数输出6。

  • 第18题:

    设有定义:int x-2;,以下表达式中,值不为6的是( )。

    A.2*x,X+=2

    B.x++,2*x

    C.x*=(1+x)

    D.x*=x+1


    正确答案:A
    选项A中,2*x对x的值没有影响,x仍为2,“x+=2”执行后,表达式值为4。故本题答案为A。

  • 第19题:

    设有定义:int X=2;,以下表达式中,值不为6的是( )。

    A.2*x.x+=2

    B.x++,2*x

    C.x*=(1+x)

    D.x*!x+1


    正确答案:A
    A选项中逗号表达式先计算第一表达式2*x,然后计算表达式x+=2的值,即x=x+2即4,整个逗号表达式为第二个表达式的值4,所以选择A。B选项中首先计算逗号表达式中第一表达式x++,此时x为3,在执行第二个表达式2·X=2*3=6,所以逗号表达式为第二个表达式的值6。C选项的赋值表达式可以表示为x=x*(1+x)=2}(1+2)=6。D选项中的表达式可以表示为x=X}(x+1)=2·3=60

  • 第20题:

    有以下程序: #include<stdio.h> double f(double x); main( ) {double a=0; int i; for(i=0;i<30;i+=10)a+=f((double)i); printf("%5.of\n",a); } double f(double x) { return x*x+1; } 程序运行后的输出结果是( )。

    A.503

    B.401

    C.500

    D.1404


    正确答案:A
    此题是一个简单的函数调用,当i=0并且i<30,执行i+=10,并且调用函数f,所以当i=0时,结果为1,当i=10时,结果为101,当i=20时,结果为401,所以a=1+101+401=503。

  • 第21题:

    运行以下的程序代码,结果是()。includeusing namespace std;intmain(){int x=5;int *q

    运行以下的程序代码,结果是( )。 #include<iostream> using namespace std; intmain() { int x=5; int *q=&x; int &y=x; y++; tout<<(*q)++<<end1; return 0; }

    A.5

    B.6

    C.7

    D.8


    正确答案:B

  • 第22题:

    以下程序输出的结果是()。includeusing namespace std;int main(){int **x,*y,z=10;y=

    以下程序输出的结果是( )。 #include<iostream> using namespace std; int main() { int **x,*y,z=10; y=&z; x=&y; cout<< **x+1<<endl; return 0; }

    A.11

    B.x的地址

    C.y的地址

    D.运行错误


    正确答案:A
    解析:执行语句y=&z;后,指针y指向了变量z。执行语句x=&y;后,指针**x指向z。所以**x的值为z的值10,那么程序最后输出为11。

  • 第23题:

    单选题
    有如下程序: #include main() {  int x=0x13;  printf(INT:%d,x+1); } 程序运行后的输出结果是(  )。
    A

    INT:14

    B

    INT:13

    C

    INT:12

    D

    INT:20


    正确答案: A
    解析:
    整型常量中,十进制整常量没有前缀,输出格式控制符为%d;八进制整常量以0作为前缀,输出格式控制符为%o;十六进制整常量以0X或0x作为前缀,输出格式控制符为%x。十六进制数0x13表示成十进制数为19,以十进制格式输出x+1=19+1=20,答案选择D选项。

  • 第24题:

    单选题
    有以下程序:#include main(){ int sum=0,x=5; do{ sum+=x; } while(!--x); printf(%d,sum);}程序的运行结果是(  )。
    A

    0

    B

    5

    C

    14

    D

    15


    正确答案: B
    解析:
    do-while循环,先执行循环体sum+=x,则sum=sum+x=0+5=5,再执行while中的表达式,结果为0,退出循环,所以运行结果是5。答案选择B选项。