单选题若有函数模板mySwap和一些变量定义如下:templatevoid mySwap(T X,T Y);double d1,d2;int i1,i2;下列对mySwap的调用中,错误的是(  )。A mySwap(i1,i2)B mySwap(d1,d2)C mySwap(i1,d1)D mySwap<int>(i2,d2)

题目
单选题
若有函数模板mySwap和一些变量定义如下:templatevoid mySwap(T X,T Y);double d1,d2;int i1,i2;下列对mySwap的调用中,错误的是(  )。
A

mySwap(i1,i2)

B

mySwap(d1,d2)

C

mySwap(i1,d1)

D

mySwap<int>(i2,d2)


相似考题
参考答案和解析
正确答案: C
解析:
按照函数模板mySwap的定义,变量X和Y应属于同一类型,变量i1和d1属于不同的数据类型,与模板形参类型不匹配,所以不能调用模板。
更多“单选题若有函数模板mySwap和一些变量定义如下:templatevoid mySwap(T X,T Y);double d1,d2;int i1,i2;下列对mySwap的调用中,错误的是(  )。A mySwap(i1,i2)B mySwap(d1,d2)C mySwap(i1,d1)D mySwapint(i2,d2)”相关问题
  • 第1题:

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

    #define N 10

    #define s(x)x*x

    #define f(x)(x*x)

    main()

    { int i1,i2;

    i1=1000/s(N); i2=1000/f(N);

    printf("%d %d\n",i1,i2);

    }


    正确答案:
    1000 10

  • 第2题:

    有以下程序:includedefineN5defineMN+1definef(x)(x*M)main(){ inti1,i2;i1=f(2);i

    有以下程序: #include <stdio.h> #define N 5 #define M N+1 #define f(x) (x*M) main() { int i1,i2; i1=f(2); i2=f(1+1); printf("%d%d\n",i1,i2); } 程序的运行结果是( )。

    A.12 12

    B.11 7

    C.11 11

    D.12 7


    正确答案:B
    解析:题目中第1条要替换的语句i1=f(2);展开后是i1=(2*M);再展开为i1=(2*N+1);最后展开为i1=(2*5/1),结果使i1=11。而第2条语句i2=f(1+1);展开后为i2=(1+1*M);再展开为i2=(1+1*N+1);最后展开为i2=(1+1*5+1),结果使i2=7。故应该选择B。

  • 第3题:

    有以下程序:include define f(x) (x * x)main ( ){ int i1 ,i2;i1 = f(8)/f(4) ;i2

    有以下程序:#include <stdio, h>#define f(x) (x * x)main ( ){ int i1 ,i2; i1 = f(8)/f(4) ;i2 =f(4 +4)/f(2 +2); printf("% d,% d\n" ,i1 ,i2);

    A.64,28

    B.4,4

    C.4,3

    D.64,64


    正确答案:C
    解析:程序中i1=f(8)/f(4)宏替换后得到i1=(8*8)/(4*4),结果为4;i2=f(4+4)/f(2+2)宏替换后得到i2=(4+4*4+4)/(2+2*2+2),其结果为3。故本题输出的值为4,3。

  • 第4题:

    有以下程序: #define f(x)(x*x)main { int i1,i2; i1 = f(8)/(4);i2 = f(4+4)/f(2+2); printf("%d,%d\n",i1,i2); } 程序运行后的输出结果是( )。

    A.64,28

    B.4,4

    C.4,3

    D.64,64


    正确答案:C
    本题考套的是宏定义。对带参数的宏的展开只是将语句中宏名后面括号内的实参字符串代替#define命令行中的形参。本题中“i1=f(8)/f(4)”用"#definef(x)(x*x)"代替得i1=(8*8)/(4*4),结果为4;"i2=f(4+4)/f(2+2)"用“#definef(x)(x*x)”代替得i2=(4+4+4+4)/(2+2+2+2),求得结果为3。故本题输出的值为4,3

  • 第5题:

    有函数模板声明和一些变量定义如下:

    template<class T1,class T2,class T3>T1 sum(T2,T3);

    double d1,d2;

    则下列调用中,错误的是

    A.sum<double,double,double>(d1,d2);

    B.sum<double,double>(d1,d2);

    C.sum<double>(d1,d2);

    D.sum(d1,d2);


    正确答案:D

  • 第6题:

    x86,win32,vc++6,默认属性的控制台工程:

    class C1

    {

    public:

    virtual int sum(int i1, int i2)

    {

    return (i1 + i2);

    }

    private:

    double m_var1;

    char m_var2;

    };

    char sz[] = "abcd";

    问题:sizeof(C1) = ?

    sizeof(sz) = ?


    正确答案:
     

  • 第7题:

    下面程序的运行结果是_____和_____。 include define N 10 define s(x) x * x define

    下面程序的运行结果是_____和_____。

    include<iostream.h>

    define N 10

    define s(x) x * x

    define f(x) (x * x)

    void main( )

    { int i1,i2;

    i1=1000/s(N) ;i2=1000/f(N) ;

    cout < < i1 < < " " < < i2;

    }


    正确答案:1000;10
    1000;10 解析:对于define宏定义语句,系统会在编译前进行替换。本题替换过程如下:
    i1=1000/s(N)
    i1=1000/s(10)
    i1=1000/10 * 10
    i1=1000
    i2=1000/f(N)
    i2=1000/f(10)
    i2=1000/(10 * 10)
    i2=10

  • 第8题:

    某笔贷款按月、季、半年计息的利息总额分别为I1、I2、I3,下列关系中正确的是( )。

    A、I3>I2>I1
    B、I2>I3>I1
    C、I1>I3>I2
    D、I1>I2>I3

    答案:D
    解析:
    本题考查的是名义利率与实际利率。名义利率越大,计息周期越短,名义利率与实际利率的差异就越大。

  • 第9题:

    i1=Imisin(ωt+285°),i2=Im2sin(ωt+30°),则i1与i2的相位差为255°。


    正确答案:错误

  • 第10题:

    已知两个正弦量分别为i1=-4cos(100t+60°)A,i2=4cos(100t+30°)A,则i1和i2的相位差为()。

    • A、i1超前i230°
    • B、i1滞后i230°
    • C、i1超前i2150°
    • D、i1滞后i2150°

    正确答案:D

  • 第11题:

    电流互感器的角误差,可用下式表示:Δfi%=()。其中K为电流互感器的额定变比,I1为一次绕组中的电流;I2为二次绕组中的电流。

    • A、[(KI2~I1)/I1]100%;
    • B、(I2~I1)100%/I1;
    • C、I2~I1;
    • D、I2/I1。

    正确答案:A

  • 第12题:

    单选题
    有函数模板声明和一些变量定义如下:templateT1 sum(T2,T3);double d1,d2;则下列调用中,错误的是(  )。
    A

    sum<double,double,double>(d1,d2);

    B

    sum<double,double>(d1,d2);

    C

    sum<double>(d1,d2);

    D

    sum(d1,d2);


    正确答案: B
    解析:
    虚拟类型参数T1没有出现在模板函数的形参表中,在调用时不能从模板函数的实参表中获得相应的信息,因此调用时,参数T1无法省略。

  • 第13题:

    设有如下宏定义

    #define MYSWAP(z,x,y)

    {z=x;x=y;y=z;}

    以下程序段通过宏调用实现变量a,b内容交换,请填空。

    float a=5,b=16,c;

    MYSWAP(( ),a,b);


    正确答案:
    c

  • 第14题:

    设有如下宏定义

    define MYSWAP(z,x,y){z=x;x=Y;Y=z;}

    以下程序段通过宏调用实现变量a、b内容的交换,请填空。

    float a=5,b=16,c;

    MYSWAP( 【 】,a,b) ;


    正确答案:c
    c 解析:本题关键在考生是不是了解宏的基本运用,在使用宏的时候明显少了—个实参。在定义宏的时候变量z是用来做中间变量的,题目中缺的变量就是一个中间变量c。

  • 第15题:

    若有以下程序: include using namespace std; template T min(T x,T y) {i

    若有以下程序:

    include <iostream>

    using namespace std;

    template <class T>

    T min(T x,T y)

    {

    if(x<y)

    return x;

    else

    return y;

    }

    int main()

    {

    int n1=2,n2=10;

    double d1=1.5;d2=5.6;

    cout<<min(n1,n2)<<",";

    cout<<min(d2,d2)<<end1;

    return 0;

    }

    程序运行后的输出结果是【 】。


    正确答案:21.5
    2,1.5 解析:上述程序中主函数的作用是从函数变量的两个值中挑选小的。在 main()中有两次调用min()函数,第1次以两个整数调用该函数,第2次以两个双精度数调用该函数。程序将min()设计成函数模板。当执行“min(n1,n2)”时,便建立了该函数模板的一个实例,这个过程称为函数模板实例化。生成的模板函数中两个变量的类型是int,int代替了占位符T,这个模板函数可以比较两个整数的大小。同理,当执行“min(d1,d2)”时,创建了该函数模板的第2个实例。

  • 第16题:

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

    define N 10

    define s (x) x * x

    define f(x) (x * x)

    main( )

    { iht i1,i2;

    i1 = 1000/s(N); i2 = 1000/f(N);

    printf("%d %d\n",i1,i2);

    }


    正确答案:1000 10
    1000 10 解析:1000/s(N)<==>1000/10*10=1000,1000/f(N)<==>1000/(10*10)=10。

  • 第17题:

    有以下程序:includedefine N 5define M N+1define f(x)(x*M)main(){int i1,i2;i1=f

    有以下程序: #include<stdio.h> #define N 5 #define M N+1 #define f(x)(x*M) main() {int i1,i2; i1=f(2); i2=f(1+1); printf("%d%d",i1,i2); } 程序的运行结果是( )。

    A.12 12

    B.11 7

    C.11 11

    D.12 7


    正确答案:B
    解析:根据define的定义,可得f(2)=2*5+1=11,f(1+1)=1+1*5+17。

  • 第18题:

    假设有证书发放机构I1,I2,用户A在I1获取证书,用户B在I2获取证书,I1和I2已安全交换了各自的公钥,加入用I2《A》表示由I1颁发给A的证书,A可以通过 (41) 证书链获取B的公开密钥。

    A.I1《I2》I2《B》

    B.I2《B》I1《I2》

    C.I1《B》I2《I2》

    D.I2《I1》I2《B》


    正确答案:A
    本题考查证书认证的基础知识。两个认证机构相互交换了各自公钥之后,用户可使用已有的公钥,验证另一个机构的证书,并从中获取另一个机构的公钥,然后使用获取的另一个机构公钥对该机构下的用户证书进行验证,并从中得到用户公钥。可用以下关系式表达:用表示两个证书颁发机构,用A和B表示分别从处获取证书的两个用户。用《A》I1《A》表示由I1颁发给A的证书,关系式如下;

  • 第19题:

    他励直流电动机拖动恒转矩负载进行串联电阻调速,设调速前、后的电枢电流分别为I1和I2,那么(  )。

    A. I1<I2
    B. I1=I2
    C. I1>I2
    D. I1=-I2

    答案:B
    解析:
    由于拖动恒转矩负载,故电磁转矩Tem不变。电磁转矩公式为:Tem=CTΦIa。式中,CT为转矩常数;Φ为每极主磁通均为定值。因此,电枢电流Ia不变。

  • 第20题:

    假设有证书发放机构I1,I2,用户A在I1获取证书,用户B在I2获取证书,I1和I2已交换了各自的公钥。如果用I1《A》表示由I1颁发给A的证书,A可通过( )证书链接获取B的公开密钥。

    A.I1《I2》I2《B》
    B.I2《B》I1《I2》
    C.I1《B》I2《I2》
    D.I2《I1》I2《B》

    答案:A
    解析:
    证书规定有一个统一的第三方CA,即要求交换各自的公钥,而获取双方公钥的过程可理解为证书的验证过程,即双方证书是否有效,签名是否可靠,在证书A机构验证提取自己的信息,到证书B机构验证获取对方的信息。验证证书的可靠性是在当地发证机构进行,因此A的有效性需要在I1验证,并从I2机构获取B的信息,由于已经给出了I1颁发给A的证书为I2《A》,同时验证需要在I1机构进行,即I1《I2》,这里的I2不是指机构,而是证书I2《A》,《A》为A的公钥等信息,主要是证明A的身份可靠性。而获取B的信息需需要在I2机构验证进行,因此为I2《B》,《B》为B用户的公钥等信息。

  • 第21题:

    用一变压器向一负载供电,当增大负载(负载阻值减小)时原绕组中电流I1和二次绕组中电流I2的变化情况为()。

    • A、I2增大,I1也增大
    • B、I2增大,I1减小
    • C、I2减小,I1也减小
    • D、I2减小,I1增大

    正确答案:A

  • 第22题:

    理想变量器电路中,若初、次级匝数比为n,初级电流为i1,次级电流为i2,则下式正确的是()。

    • A、i2=i1/n
    • B、i2=n2i1
    • C、i2=ni1
    • D、i2=i1/n2

    正确答案:C

  • 第23题:

    单选题
    如果定义有变量double,d1,d2=4.0则下列说法正确的是()
    A

    变量d1,d2均初始化为4.0

    B

    变量d1没有初始化,d2初始化为4.0

    C

    变量d1,d2均未初始化

    D

    变量d2没有初始化,d1初始化为4.0


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

  • 第24题:

    单选题
    若有函数模板mySwap和一些变量定义如下:templatevoid mySwap(T X,T Y);double d1,d2;int i1,i2;下列对mySwap的调用中,错误的是(  )。
    A

    mySwap(i1,i2)

    B

    mySwap(d1,d2)

    C

    mySwap(i1,d1)

    D

    mySwap<int>(i2,d2)


    正确答案: D
    解析:
    按照函数模板mySwap的定义,变量X和Y应属于同一类型,变量i1和d1属于不同的数据类型,与模板形参类型不匹配,所以不能调用模板。