更多“请写出下列代码段的运行结果 int x=0; int y=-1; if(x!=0) if(x0)y=1; else y=0;”相关问题
  • 第1题:

    下列程序的运行结果是( )。 main() { int a=-5,b=1,c=1; int x=0,y=2,z=0; if(c>0)x=x+y; if(a<=0) { if(b>O) if(c<=0)y=x-y; } else if(c>0)y=x-y; else z=y; printf("%d,%d,%d\n",x,y,z); }

    A.2,2,0

    B.2,2,2

    C.0,2,0

    D.2,0,2


    正确答案:A
    解析: 本题考查if else语句的使用。先判断第1个if语句,因为c=1>0,所以x=x+y=0+2=2。第1个if语句,因为a=-50,所以进入下列的复合语句。经判断发现,复合语句中第2个if语句的条件均不满足,不执行任何语句退出,在这个过程中y和z的值没有发生变化。

  • 第2题:

    执行下列程序段,结果是includevoid main( ){int x=40; char y='C'; int n;?n=(x&am

    执行下列程序段,结果是 #include<iostream.h> void main( ) { int x=40; char y='C'; int n; ? n=(x&0) xff) &&(y>'B') ; cout < < n;}

    A.0

    B.1

    C.2

    D.3


    正确答案:B
    解析:按位与运算符“&”是双目运算符。其功能是参与运算的两数各对应的二进位相与。只有对应的两个二进位均为1时,结果位才为1,否则为0。参与运算的数以补码方式出现。逻辑与运算符“&&”需要两边的结果都为1时,其结果才为1。

  • 第3题:

    有下列程序: include int f(int x) { int y; if(x=0‖x==1)r

    有下列程序: #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
    解析:主函数调用f()函数,将实参3传递给x,进行if条件语句的判断不成立,接着执行y=3*3-f(1),再执行f(1)而f(1)满足if条件语句,所以f(1)的值为3,那么代入y=3*3-f(1)=9-3=6,故选项C)为正确的运行结果。

  • 第4题:

    若有以下程序段;includeusing namespace std;int main(){ int a[]={1,4,5}; int *p=&

    若有以下程序段; #include<iostream> using namespace std; int main() { int a[]={1,4,5}; int *p=&a[0],x=6,y,z; for(y=0;y<3;y++) z=((*(p+y)<x) ? *(p+y):x); cout<<z<<end1; return 0; } 程序运行后的输出结果是( )。

    A.1

    B.4

    C.5

    D.2


    正确答案:C
    解析:本题考核指针的运算。①程序首先定义了一整型数组a,并赋初值1,4,5。即a[0],a[1]和a[2]的值分别为1,4和5。程序还定义了一个整型指针p,并初始化它指向数组元素a[0]。②在for循环语句中,赋值语句“z=((*(p+y)x)?*(p+y):x);”可等价为:“z=(aly]x)?a[y]:x”。因为表达式中的“*(p+y)=p[y]=a[y]”。③for语句每循环一次,就给变量z重新赋值一次,z的值其实就是数组和x相比较,将数组a中的最大值赋给z。当y=2后,退出循环,输出结果是5。

  • 第5题:

    有以下程序

    #include

    main()

    { int x=1,y=0;

    if(!x) y++;

    else if(x==0)

    if (x) y+=2;

    else y+=3;

    printf("%d\n",y);

    }

    程序运行后的输出结果是

    A.3

    B.2

    C.1

    D.0


    正确答案:D

  • 第6题:

    根据源代码请回答以下问题。 void sort( int Num, int Type ){ int x = 0; int y = 0; while (Num > 0) { if( Type = = 0) x = y + 2; else { if( Type = = 1 ) x = y + 5; else x = y + 10; } Num--; } } (1) 请画出控制流图并计算控制流图复杂度V(G) 。 (2) 找出独立路径。 (3) 请使用基本路径测试法设计测试用例。 (4) 根据控制流图,找出变量x和y的DU path


    正确答案:
    V(G)=4(2)找出独立路径。1-71-2-3-71-2-4-5-71-2-4-6-7(3)请使用基本路径测试法设计测试用例。Num=1Num=1,type=0Num=1,type=1Num=1,type=2(4)根据控制流图,找出变量x和y的DUpathX无DUpathY的DUpath1-2-3-71-2-4-5-71-2-4-6-7

  • 第7题:

    与y=(x>0?1:x<0?-1:0):的功能相同的if语句是()A.if(x>0)y=1; else if(x<0)y=-1; else y=0; else

    与y=(x>0?1:x<0?-1:0):的功能相同的if语句是( )

    A.if(x>0)y=1; else if(x<0)y=-1; else y=0; else y=0;

    B.if(x) if(x>0)y=1; else if(x<0)y=-1;

    C.y=-1; if(x) if(x>0)y=1; else if(x==0)y=0; else y=-1;

    D.y=0; if(x>=0) if(x>0)y=1; else y=-1:


    正确答案:A

  • 第8题:

    在下面程序运行后,输出结果为 ______。includevoid count(int x[],int n,int &y

    在下面程序运行后,输出结果为 ______。 #include<iostream.h> void count(int x[],int n,int &y){ int k; y=0; for(k=0:k<n;k++) if(x[k]<0) y++; } void main(){ int b[]={2,1,-8,-3,7,2,4,6,0,-13}; int x; count(b,10,x); cout<<“x”<<x<<end1; }

    A.x=3

    B.x=5

    C.出错

    D.x=0


    正确答案:A

  • 第9题:

    阅读以下代码,回答问题:1至问题3 ,将解答填入答题纸的对应栏内。 【代码1】 include<stdio.h > void swap(int x, int y) { int tmp =x; x= y; y= tmp; } int maim() { int a= 3, b= 7; printf("a1= %d b1=%d\n",a,b); Swap( a, b); Printf("a2 = %d b2=%d\n”,a,b); return 0; } 【代码2】 include<stdio.h> define SPACE " //空格字符 Int main() { char str[128] =" Nothing is impossible! "; int i,num =0,wordMark=0; for(i=0;str[i];i++) If(str[i]==SPACE) WordMark=0; else If(wordMark=0){ wordMark=1; num++; } Printf(“%d/n”,num) return 0; } 【代码3】 include<stdio.h> define SPACE " //空格字符 int countStrs(char *); int main() { char str[128] = " Nothing is impossible! "; Printf("%d/n",(1)(str)) return 0; } int countStrs(char *p) { int num=0, wordMark= 0; for(;(2); p++) { If((3)==SPACE) wordMark= 0; else if( !wordMark ) { wordMark = 1; ++num } } return (4) ; }

    【问题1】(4分) 写出代码1运行后的输出结果。 【问题2】(3分) 写出代码2运行后的输出结果。 【问题3】(8分) 代码3的功能与代码2完全相同,请补充3中的空缺,将解答写入答题纸的对应栏内。


    正确答案:1、a1=3  b1=7    a2=3  b2=7
    2、3
    3、
    1) countStrs
    2) p[i]
    3) p[i]
    4) num

  • 第10题:

    以下if语句语法正确的是()

    • A、if(x>0)x=0;elsex=1
    • B、if(x>0){x=x+y;elsex=0;}
    • C、if(x>0){x=x+y;}elsex=1;
    • D、if(x>0){x=x+y;}}else{x=0;

    正确答案:C

  • 第11题:

    问答题
    请写出下列代码段的运行结果 int x=0; int y=-1; if(x!=0) if(x>0)y=1; else y=0;

    正确答案: x=0,y=-1
    解析: 暂无解析

  • 第12题:

    单选题
    以下不能实现符号函数y=sgn(x)的程序段是()。
    A

    if x>0 then y=1 else if x=0 then y=0 else y= -1

    B

    if x>0 then y=1 else if x<0 then y= -1 else y=0

    C

    if x>=0 then if x=0 then y=0 else y= -1 else y=1

    D

    if x<>0 then if x<0 then y= -1 else y= 1 else y=0


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

  • 第13题:

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

    main()

    { int a=-5,b=1,c=1;

    int x=0,y=2,z=0;

    if(c>0) x=x+y;

    if(a<=0)

    { if(b>0)

    if(c<=0) y=x-y;

    }

    else if(c>0) y=x-y;

    else z=y;

    printf("%d,%d,%d\n",x,y,z);

    }

    A.2,2,0

    B.2,2,2

    C.0,2,0

    D.2,0,2


    正确答案:A
    解析:本题考查if else语句的使用。 先判断第1个if语句,因为c=1>0,所以x=x+y=0+2=2。第1个 if语句,因为a=-50,所以进入下列的复合语句。经判断发现,复合语句中第2个汀语句的条件均不满足,不执行任何语句退出,在这个过程中y和x的值没有发生变化。

  • 第14题:

    下列程序段的运行结果是______。

    int x=0,y=0;

    while(x<15) y++,x+=++y;

    pfintf("%d,%d",y,x);


    正确答案:820
    8,20 解析:本题考查while循环和++运算符的运用。x=0符合条件x15,则执行y++,x+=++y后,y=1,x=0+2=2后y=2,符合条件继续循环,y=3,x=x+4=6后y=4,再循环y=5,x=x+6=6+6=12后,y=6,继续循环y=7,x=x+8=12+8=20,此时y=8。

  • 第15题:

    与“y=(x>0?1:x<0?-1:0)”;的功能相同的if 语句是( )。

    A.if(x>0)y=1; else if(x<0)y=1; else="" y="0;

    B." x="">0)y=1; else if(x<0)y=-l; else="" y="0;"

    C.y="-l" x="">O)y=1; else if(x=-0)y=0; else y=-l;

    D.y=0; if(x>=0) if(x>=0)y=1; else y=-l;


    正确答案:B
    y=(x=)071:x<0?-1:0)中有两个三目运算符,因此按从右到在的顺序运算,可写成y=(x>071:(x<0?-1:0)),故选择8选项。

  • 第16题:

    有以下程序

    #inclUde<stdio.h>

    main()

    {int x=1。y=0;

    if(!x)y++;

    else if(x==0)

    if(x)y+=2;

    else y+=3; .

    printf(“%d\n”,y);

    }

    程序运行后的输出结果是

    A.3

    B.2

    C.1

    D.0


    正确答案:D
    解析:本题主要考查的知识点为if语句的嵌套.变量x的值(为1。既不满址表达式!x为真.也不满足表达式x==0.故不执行if语句,而直接执行printf函数输出y的值0。 

  • 第17题:

    与“y=(x>0?1:x<0?-1:0)”;的功能相同的if 语句是( )。

    A.if(x>0)y=1; else if(x<0)y=1; else y=0;

    B.if(x) if(x>0)y=1; else if(x<0)y=-l; else y=0;

    C.y=-l if(x) if(x>O)y=1; else if(x=-0)y=0; else y=-l;

    D.y=0; if(x>=0) if(x>=0)y=1; else y=-l;


    正确答案:B
    y=(x=)071:x<0?-1:0)中有两个三目运算符,因此按从右到在的顺序运算,可写成y=(x>071:(x<0?-1:0)),故选择8选项。

  • 第18题:

    与y=(x>0? 1:x<0? -1:0);的功能相同的if语句是A.if(x>0)y=1 else if(x<0)y=-1; else y=O;B.i

    与y=(x>0? 1:x<0? -1:0);的功能相同的if语句是

    A.if(x>0)y=1 else if(x<0)y=-1; else y=O;

    B.if(x) if(x>0)y=1; else if(x<0)y=-1;

    C.y=-1; if(x) if(x>0)y=1; else if(x==0)y=0; else y=-1;

    D.y=0; if(x>=0) if(x>0)y=1; else y=-1;


    正确答案:A
    解析:条件运算符要求有三个操作对象,它是c++语言中惟一的一个三目运算符。条件表达式的一般形式为:表达式1?表达式2:表达式3,先求解表达式1,若为非0(真)则求解表达式2,此时表达式2的值就作为整个条件表达式的值。若表达式1的值为0(假),则求解表达式3,表达式3的值就是整个条件表达式的值。本题中用了两次三目运算符。

  • 第19题:

    有一函数:以下程序段中不能根据x值正确计算出y值的是

    A.if(x>0)y=1; else if(x= =0)y=0; else y=-1;

    B.y=0; if(x>0)y=1; else if(x<0)y=-1;

    C.y = 0; if (x> = 0) if (x>0) y = 1; else y = -1;

    D.if ( x > = 0) if ( x>0)y = 1; else y = 0; else y = -1;


    正确答案:C

  • 第20题:

    下面的程序段所表示的数学函数关系是( ) y=-l; if( x!= 0)if(x>0)y=l; else y=0 ; 1(x<0) 1(x<0)

    A.y= { 0(x= 0)

    B.y={-l(X=0) 1(X>0) 0(X>0) o(X< 0) -l(X< 0)

    C.y= {-1(x= 0)

    D.y={ 1(X= 0) 1(X> 0) 0(X> 0)


    正确答案:C
    程序段首先置变量y的值为一l,接着按变量x值的不同情况重置变量y的值。重置的首要条件是x!=0,若变量x的值为0,则不再重置变量y的值,所以在X值为0情况下,y的值是-l。在变量X的值不等于0的条件下,若X的值大于0,重置变量y的值为1;若变量X的值小于0,重置变量y的值为0。所以程序段实现当变量x的值为0时,变量y的值为-1;当变量X的值大于0时,置变量y的值为1;当变量X的值小于0时,置变量y的值为0。正确解答为C。

  • 第21题:

    (27)有以下程序

    #include <stdio.h>

    main()

    { int x=1,y=0;

    if(!x) y++;

    else if(x==0)

    if (x) y+=2;

    else y+=3;

    printf("%d\n",y);

    }

    程序运行后的输出结果是

    A)3

    B)2

    C)1

    D)0


    正确答案:D

  • 第22题:

    以下不能实现符号函数y=sgn(x)的程序段是()。

    • A、if x>0 then y=1 else if x=0 then y=0 else y= -1
    • B、if x>0 then y=1 else if x<0 then y= -1 else y=0
    • C、if x>=0 then if x=0 then y=0 else y= -1 else y=1
    • D、if x<>0 then if x<0 then y= -1 else y= 1 else y=0

    正确答案:C

  • 第23题:

    单选题
    有以下程序:#include main(){ int x=1,y=0; if(!x)y++; else if(x==0) if(x)y+=2;  else y+=3; printf(%d,y);}程序运行后的输出结果是(  )。
    A

    3

    B

    2

    C

    1

    D

    0


    正确答案: D
    解析:
    else子句总是与前面最近的不带else的if相结合,与书写格式无关。本题中的层次关系是:if(!x)与else if(x==0)是一组,位于条件判断的最外层。而if(x)与else是一组,位于else if(x==0)条件的内层。由此可知条件均不成立,所以y未进行任何操作,仍为0。答案选择D选项。