What does the following function return?char foo(void){unsigned int a = 6;iht b = -20;char c;(a+b > 6) ? (c=1): (c=0);return c;}

题目

What does the following function return?

char foo(void)

{

unsigned int a = 6;

iht b = -20;

char c;

(a+b > 6) ? (c=1): (c=0);

return c;

}


相似考题
参考答案和解析
正确答案:
 
更多“What does the following function return?char foo(void){unsigned int a = 6;iht b = -20;char c;(a+b 6) ? (c=1): (c=0);return c;}”相关问题
  • 第1题:

    有如下程序: include using namespaee std;class Animal{ public: virtual char*g

    有如下程序:

    include<iostream>

    using namespaee std;c lass Animal{

    public:

    virtual char*getType( )const{return"Animal";}

    virtual char*getVoice( )const{return"Voice";}

    };

    class Dog:public Animal{

    public:

    char*getType( )const{return"Dog";}

    char*getVoice( )eonst{return"Woof";}

    };

    void type(Animal&A) {cout<<a.getType( );}

    void speak(Animal A) {eout<<a.getVoice( );}

    int main( ){

    Dog d;type(D) ;cout<<"speak";speak(D) ;cout< return 0;

    }

    程序的输出结果是______。


    正确答案:Dog SpeakVoice
    Dog SpeakVoice 解析:派生类继承基类,并重新定义了基类的虚函数。void type(Animal&A) 是对象引用作为函数参数,传递的是地址,是“地址调用”,故a.getType( )调用的是派生类重新定义后的get—Type( )成员函数。void speak(Animal A) 是对象作为函数参数,是“传值调用”,在进行函数调用时,将派生类对象赋值给基类对象。但是,对象a只能调用派生类继承自基类的成员。故在a.getVoice( )中调用的是基类的虚函数getVoice( ),打印“Voive”。

  • 第2题:

    ( 27 )有如下程序:

    #include<iostream>

    #include<cstring>

    using namespace std;

    class XCD{

    char* a;

    int b;

    public:

    XCD ( char* aa, int bb ) {

    a=new char[strlen ( aa ) +1];

    strcpty ( a,aa ) ;

    b=bb;

    }

    Char* Geta () {return a; )

    int Getb () { return b;}

    };

    int main () {

    char *pl="abcd" , *p2="weirong" ;

    int dl=6, d2=8;

    XCD x ( pl,dl ) , Y ( p2 , d2 ) ;

    cout<<strien ( x .Geta ( ) ) +y. Getb () +endl;

    return 0;

    }

    运行时的输出结果是

    A ) 12

    B ) 16

    C ) 14

    D ) 11


    正确答案:A

  • 第3题:

    若下面程序运行时输出结果为1,A,10.1 2,B,3.5 include using namespace std; int mai

    若下面程序运行时输出结果为

    1,A,10.1

    2,B,3.5

    include <iostream>

    using namespace std;

    int main()

    {

    void test(int, char, doubie【 】);

    test(1, 'A', 10.1 );

    test(2, 'B');

    return 0;

    }

    void test(int a, char b, double c)

    {

    cout<<a<<','<<b<<','<<c<<endl;

    }


    正确答案:3.5
    3.5 解析:本题考查了函数默认参数的应用。本题定义的函数test()仅仅是按顺序输出了三个形参值,题目中第1次调用该函数会输出1,A,10.1,但第2次调用少了一个实参却要求输出2,B,3.5。由此可见,应该将test()函数的第3个参数声明为默认参数,且默认值为3.5。故应该填入=3.5,或加上形参名c=3.5。

  • 第4题:

    有以下程序include include using namespace std;class base{private:char

    有以下程序 #include <iostream> #include <string> using namespace std; class base { private: char baseName[10]; public: base () { strcpy(baseName,"Base"); } virtual char *myName() { return baseName; } char *className() { return baseName; } }; class Derived : public base { private: char derivedName[10]; public: Derived() { strcpy(derivedName,"Derived"); } char *myName() { return derivedName; } char *className() { return derivedName; } }; void showPtr(base &p) { cout<<p.myName () <<" "<<p.className (); } int main () { base bb; Derived dd; showPtr(dd); return 0; } 运行后的输出结果为

    A.Derived Base

    B.Base Base

    C.Derived Derived

    D.Base Derived


    正确答案:A
    解析:本题考核虚函数的应用。类Derived是从基类Base公有派生而来的。因此,Derived是基类Base的子类型。main()函数中定义了一个基类对象bb和一个派生类对象dd。从程序,中可看出派生类Derived的对象dd交给了处理基类Base的对象的函数showPtr进行处理。由于在基类中函数myName被定义成虚函数。所以在函数 showPtr中调用的myName函数为派生类的成员函数 myName,从而输出Derived。然后输出className,即基类名称Base。

  • 第5题:

    下列程序的输出结果是【】。 include include using namespace std; void fun(c

    下列程序的输出结果是【 】。

    include<iostream>

    include<cstring>

    using namespace std;

    void fun(const char *s,char &c){c=s[strlen(s)/2];}

    int main()

    {

    char str[]="ABCDE";

    char ch=str[1];

    fun(str,ch);

    cout<<ch;

    return 0;

    }


    正确答案:C
    C

  • 第6题:

    有如下程序:

    #include<iostream>

    #include<cstring>

    using namespace std;

    class XCD{

    char*a;

    int b;

    public:

    XCD(char;l:aa,int bB){

    a=flew char[strlen(aA)+1];

    strcpy(a,aA);

    b=bb;

    }

    char*lE Geta(){return a;}

    int Getb(){return b;}

    };

    int main(){

    char*pl=”abcd”.*p2=”weirong”;

    int dl=6,d2=8;

    XCD x(pl;d1),Y(p2,d2);

    cout<<strlen(X.Gem())+Y.Getb()<<endl;

    return 0;

    }、

    运行时的输出结果是

    A.12

    B.16

    C.14

    D.11


    正确答案:A
    解析:定义x、y时调用构造函数使x.a为“abcd”,x.b=dl=6;y.a为“weirong”,y.b=c12=8。所以strlen(x.Geta( ))等于p1的长度4,y.Getb( )等于8。4+8=12,所以输出结果为12。

  • 第7题:

    以下程序的执行结果为【】。 include using namespace std; void overload(int num) {cou

    以下程序的执行结果为【 】。

    include<iostream>

    using namespace std;

    void overload(int num)

    {

    cout<<num<<end1;

    }

    void overload(char ch)

    {

    char c=ch+1;

    cout<<c<<end1;

    }

    int main()

    {

    overload('X');

    return 0;

    }


    正确答案:Y
    Y 解析:本题考核函数重载。在本题中,函数overload()有两次实现。第一次实现中,其形参为int型;第2饮实现中,其形参为char型,所以构成了函数重载。主函数中调用overload()函数时传递的实参为字符'X',所以执行函数的第2次实现。输出Y。

  • 第8题:

    如下程序的输出结果是includeincludeusing namespace std;class XCD{char*

    如下程序的输出结果是 #include<lostream> #include<cstring> using namespace std; class XCD{ char*a; int b; public: XCD(char*aa,int bB) { a=new char[strlen(aA) +1]; strcpy(a,aA) ; b=bb; } char*Geta( ){return a;} int Getb( ){return b;} }; int main( ){ char*pl="abcd",*p2="weirong": int dl,6,d2=8; XCD x(pl,d1),y(p2,d2); cout<<strlen(x.Geta( ))+y.Getb( )<<endl; return 0; }

    A.12

    B.16

    C.14

    D.11


    正确答案:A
    解析:构造对象x,所以x.a="abcd",x.b=6,构造对象y,y.a="weirong",y.b=8,所以strlen(x.geta( ))+y.getb( )=12。 

  • 第9题:

    有以下程序: include void fun(char(*p)[6]) { int i; for(i=0;i<4;i++)printf("%c&

    有以下程序: #include void fun(char(*p)[6]) { int i; for(i=0;i<4;i++)printf("%c",p[i][i]); printf("\n"); } main( ) { char s[6][6]={"ABCDE","abcde","12345","FGHIJ","fghij","54321"}; fun(s); } 程序的运行结果是( )。

    A.Aa1F

    B.Ab3I

    C.ABCD

    D.fghij


    答案:B
    解析:函数fun的功能是输出s[i][i],二维数组的对角线元素,所以程序会输出s[0][0]、s[1][1]、s[2][2]、s[3][3],即Ab3I。

  • 第10题:

    下列程序的输出结果是______。 include int CalcDigital(char*str) { if(str= =NULL)

    下列程序的输出结果是______。

    include<iostream.h>

    int CalcDigital(char*str)

    {

    if(str= =NULL)

    return 0;

    int num_of_digital=0;

    for(int i=0;str{i]!=0x0;i++)

    if(str[i]<='9'&& str[i]>='0')

    num_of_digital++;

    return num_of_digital;

    }

    void main( )

    {

    char a[]="Beijing20080lympic";

    cout<<CalcDigital(a)<<endl;

    }


    正确答案:4
    4 解析:分析本题可知函数功能为计算一个字符串中包含的数字个数。字符串中包含的数字有2008,故输出为4。

  • 第11题:

    10. interface Foo { int bar(); }  11. public class Sprite {  12. public int fubar( Foo foo) { return foo.bar(); }  13. public void testFoo() {  14. fubar(  15. // insert code here  16.);  17. }  18. }  Which code, inserted at line 15, allows the class Sprite to compile?() 

    • A、 Foo { public int bar() { return 1; } }
    • B、 new Foo { public int bar() { return 1; } }
    • C、 newFoo() { public int bar(){return 1; } }
    • D、 new class Foo { public int bar() { return 1; } }

    正确答案:C

  • 第12题:

    单选题
    public class Delta {  static boolean foo(char c) {  System.out.print(c);  return true;  }  public static void main( String[] argv ) {  int i =0;  for ( foo(‘A’); foo(‘B’)&&(i<2); foo(‘C’)){  i++ ;  foo(‘D’);  }  }  }  What is the result?()
    A

     ABDCBDCB

    B

     ABCDABCD

    C

     Compilation fails.

    D

     An exception is thrown at runtime.


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

  • 第13题:

    [说明1]

    函数void convelt(chal *a,int n)是用递归方法将一个正整数n按逆序存放到一个字符数组a中,例如,n=123,在a中的存放为'3'、'2'、'1'。

    [C函数1]

    void convert(char *a,int n)

    { int i;

    if((i=n/10)!=0; convert( (1) ,i);

    *a= (2) ;

    }

    [说明2]

    函数int index(char *s,char *t)检查字符串s中是否包含字符串t,若包含,则返回t在s中的开始位置(下标值),否则返回-1。

    [C函数2]

    int index(char *s,char *t)

    { int i,j=0;k=0;

    for(i=0;s[i]!:'\0';i++)

    ( for( (3) ;(t[k]!='\0')&&(s[j]!='\0')&&( (4) );j++,k++);

    if( (5) ) return(i);

    }

    return(-1);

    }


    正确答案:(1) A+1 (2) n%10+'\0' (3) j=ik=0 (4) t[k]==s[j] (5) t[k]=='\0'或!t[k]
    (1) A+1 (2) n%10+'\0' (3) j=i,k=0 (4) t[k]==s[j] (5) t[k]=='\0'或!t[k] 解析:函数1采用递归方法将一个正整数n按逆序存放到一个字符数组a中,递归调用为convert(a+1,i),所以(1)“a+1”。按逆序输出字符保存在数组a中为*a=n%10+'\0',即(2)填“n%10+'\0'”。
    函数2检查字符串s中是否含有字符串t是在for循环中实现的。空(3)应填“j=i,k=0”。如果两个字符串中含有相同的字符,则字符串s和字符串t都指向下一个字符,循环继续,直到字符串t结束。所以空(4)应填“t[k]=s[j]”,空(5)应填“t[k]='\0'”或“!t[k]”。

  • 第14题:

    ( 12 )有如下程序:

    #include <iostream>

    using namespace std

    class Animal{

    public:

    virtual char* getType () const { return "Animal" ; }

    virtual char* getVoice () const { return "Voice" ; }

    };

    Class Dog : public Animal {

    public:

    char* getType ( ) const {return "Dog" ; }

    char* getVoice ( ) const {return "Woof"}

    };

    void type ( Animal& a ) {cout<<a.getType ( ) ; }

    void speak ( Animal a ) {cout<<a.getVoice ( ) ; }

    int main ( ) {

    Dog d; type ( d ) ; cout<<" speak" ; speak ( d ) ; cout<<endi;

    return 0;

    }

    运行时的输出结果是【 12 】 。


    正确答案:

  • 第15题:

    有以下程序 include int fun(char s[]) { int n=O; whil

    有以下程序 #include <stdio.h> int fun(char s[]) { int n=O; while(*s<='9'&&*s>='0') { n=10*n+*s-'0'; s++; } return (n); } main() { char s[10]={ '6', '1', '*', '4', '*', '9', '*', '0', '*'}; printf("%d\n",fun(s)); }

    A.9

    B.61490

    C.61

    D.5


    正确答案:C
    解析:题目fun()函数中while循环的意思是:判断s所指内容是否为数字字符,如果是数字字符,则计算表达式11=10*n+*s-'0';。其中。s-'0'的作用是将相应的数字字符转换为数值,例如字符'8'减去字符'0'后,得到的结果就是数值8了。n=10*n+的作用是将累计变量n中原来内容乘以10,然后再加上刚转换的数字字符的数值,例如原来n的值为1,*s现在的内容为'2',那么执行了n=10*n+*s-'0,;语句后,n的值变为12,如果接下来再来一个'8'字符,执行n=10*n+*s-'0';语句后,n的值就是128了。故不难看出fun()函数的作用是“将数字字符串转换为相应的十进制数值,碰到非数字字符时结束”。从主函数中定义的字符数组s的初始化内容可以看出,fun()函数返回值应该是61。故应该选择C。

  • 第16题:

    有如下程序:

    nclude<iostream>

    using namespace std;

    class Animal{

    public:

    virtual char*getType()const{return“Animal”;}

    virtual char*getVoice()const{return“Voice”;}

    };

    class Dog:public Animal{

    public:

    char*getType()const{rgturn“Dog”;}

    char*getVoice()const{retum“Woof”;}

    };

    void type(Animal&A){cout<<a.getType();}

    void speak(AnimalA){cout<<a.getVoice();}

    int main(){

    Dog d.type(D);tout<<“speak”;speak(D);cout<<endl;

    return 0;

    }

    运行时的输出结果是【 】


    正确答案:Dog speak Voice
    Dog speak Voice 解析:基类中有两个虚函数getType( )和getVoiee( ),在派生类中同样也有。函数type和speak的形参都是Animal类的对象,但是一个是引用调用,另一个不是。当用Animal的派生类Dog类定义的对象调用这两个函数时,type函数会转向:Dog类中的成员函数,而speak函数不会。

  • 第17题:

    下列程序的输出结果是______。includeinclude using namespace std;void

    下列程序的输出结果是______。

    include <iostream.h>

    include <cstring.h>

    using namespace std;

    void fun(const char*s,char &C) {c=s[strlen (s)/2];}

    int main {)

    {

    char str [] ="ABCDE";

    char ch=str[1];

    fun(str,sh);

    cout<<Ch;

    return 0;

    }


    正确答案:C
    C 解析:本题考核数组的定义、使用以及函数的调用。fun函数的作用是将字符串str中间的字符赋值给地址传入的变量ch。所以ch的值将被修改为‘C’。

  • 第18题:

    以下程序的输出结果是()。includeint fun (char*s){char *p=s;while (*p!='\0,) p++

    以下程序的输出结果是( )。 #include<iostream.h> int fun (char*s) { char *p=s; while (*p!='\0,) p++: return (p-s): } void main() { cout<<fun (" ABCDEF ")<<endl: }

    A.3

    B.6

    C.8

    D.0


    正确答案:B

  • 第19题:

    下面程序输出的结果是()。includeusing namespace std;int fuc (char *x);int main(){

    下面程序输出的结果是( )。 #include<iostream> using namespace std; int fuc (char *x); int main(){ cout<<fuc("hello")<<endl; return 0; } int fuc(char *x){ char *y=x; while(*y! ='\0')y++; return(y-x); }

    A.5

    B.6

    C.0

    D.语法错误,不能输出结果


    正确答案:A
    解析:函数fuc()的功能是计算字符串x的长度,因此程序的输出是5。

  • 第20题:

    在下面程序运行includeint func(char s[]){ int length=0; while(*(s+length))leng

    在下面程序运行 #include<iostream.h> int func(char s[]){ int length=0; while(*(s+length))length++; return length; } void main(){ char a[10], *ptr=a; cin>>ptr; cout<<fune(ptr)<<end1; } 如果输入字符串Hello!并回车,则输出结果为 ______。

    A.4

    B.7

    C.6

    D.5


    正确答案:C

  • 第21题:

    有以下程序 include int f(iht n) { if(n==1) return 1; else return f(n-1)+

    有以下程序 #include<iostream.h> int f(iht n) { if(n==1) return 1; else return f(n-1)+1;} void main( ) { iht i,j=0; for(i=1;i<3;i++)j+=f(i); cout < < j;} 程序运行后的输出结果是

    A.4

    B.3

    C.2

    D.1


    正确答案:B
    解析:在main函数中,对f(1)和f(2)的值进行了累加。过程如下:f(1)=1f(2)=f(1)+l=2最后,j的值为1+2=3。注意:函数的递归调用需要有一个结束的条件。

  • 第22题:

    阅读以下说明和C语言程序,将应填入(n)处的字句写在对应栏内。

    【说明】

    以字符流形式读入一个文件,从文件中检索出6种C语言的关键字,并统计、输出每种关键字在文件中出现的次数。本程序中规定:单词是一个以空格或'\t'、'\n'结束的字符串。其中6种关键字在程序中已经给出。

    【程序】

    include <stdio.h>

    include <stdlib.h>

    FILE *cp;

    char fname[20], buf[100];

    int NUM;

    struct key

    { char word[10];

    int count;

    }keyword[]={ "if", 0, "char", 0, "int", 0,

    "else", 0, "while", 0, "return", 0};

    char *getword (FILE *fp)

    { int i=0;

    char c;

    while((c=getc(fp))!= EOF &&(1));

    if(c==EOF)

    return (NULL);

    else

    buf[i++]=c;

    while((c=fgetc(fp))!=EOF && c!="&& c!='\t' && c!='\n' )

    buf[i++]=c;

    buf[i]='\0';

    return(buf);

    }

    void lookup(char *p)

    { int i;

    char *q, *s;

    for(i=0; i<NUM; i++)

    { q=(2);

    s=p;

    while(*s && (*s==*q))

    { (3))

    if((4))

    { keyword[i].count++;

    break;

    }

    }

    return;

    }

    void main()

    { int i;

    char *word;

    printf("lnput file name:");

    scanf("%s", fname);

    if((cp=fopen(fname, "r"))==NULL)

    { printf("File open error: %s\n", fname);

    exit(0);

    }

    NUM=sizeof(keyword)/sizeof(struct key);

    while((5))

    lookup(word);

    fclose(cp);

    for(i=0;i<NUM;i++)

    printf("keyword:%-20s count=%d\n",keyword[i].word,keyword[i].count);

    }


    正确答案:(1)(c==' '||c=='\t'||c=='\n') (2)&keyword[i].word[0] (3) s++; q++; (4) *s==*q (5)(word=getword(cp))!=NULL
    (1)(c==' '||c=='\t'||c=='\n') (2)&keyword[i].word[0] (3) s++; q++; (4) *s==*q (5)(word=getword(cp))!=NULL 解析:本题考查C语言对文件中字符串处理的相关知识。
    题目要求从文件中检索已经给出的6种C语言的关键字,并统计、输出每种关键字在文件中出现的次数。这需要我们将文件中的字符串与6种C语言的关键字匹配,如果匹配成功一次,则记录下相关的内容。
    从代码中我们可以分析出,函数getword()的主要功能是从文件中取出单个单词,并保存在数组buf[]中,第(1)空就在这个函数中,在文件中取单词时,首先要能区别单词的开始和结束标志。题目中规定单词是一个以空格或'\t'、'\n',结束的字符串,再结合函数getword()的代码我们可以知道,此空应该填(c==' '||c=='\t'||c=='\n')。
    函数lookup()是关键函数,其功能是匹配文件的字符串与C语言的关键字,并记录匹配结果。函数lookup()中的参数指针变量p是指向getword()的返回结果的。函数体中 for循环语句下面是分别用其不同的关键字做匹配,在匹配过程中,用指针变量q和s分别指向关键字字符串和文件字符串。因此,第(2)空处的作用是让指针变量q指向关键字字符串,因此,答案为&keyword[i].word[0]。第(3)空处的作用是让字符串能自动往后移动,因此,此空答案为s++;q++。第(4)空处是个条件判断语句,其下面的语句实现的功能是增加关键字出现次数,那么此句的功能应该是判断匹配是否成功,因此,第(4)空答案为*S==*q。
    第(5)空是在主函数中,主函数的功能是首先打开一个文件,打开文件后,应该调用getword()函数取单词,并调用lookup()函数让单词与关键字匹配,再输出结果。从代码来看,第(5)空处是一个循环的条件,循环的主体是调用lookup()函数。因此,此处的作用是是否取得单词。第(5)空答案为(word=getword(cp))!=NULL。

  • 第23题:

    public class Delta {  static boolean foo(char c) {  System.out.print(c);  return true;  }  public static void main( String[] argv ) {  int i =0;  for ( foo(‘A’); foo(‘B’)&&(i<2); foo(‘C’)){  i++ ;  foo(‘D’);  }  }  }  What is the result?()  

    • A、 ABDCBDCB
    • B、 ABCDABCD
    • C、 Compilation fails.
    • D、 An exception is thrown at runtime.

    正确答案:A