更多“有定义:int a[10], n, *p1=a,*p2=a[9];,则正确的赋值语句为()。A、n=p2-p1;B、n=p2*p1;C、n=p2+p1;D、n=p1/p2;”相关问题
  • 第1题:

    下列程序的输出结果是______。 main() {int a=2,b=4,c=6; int*p1=&a,*p2=&b,*p; *(p=&

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

    main()

    { int a=2,b=4,c=6;

    int*p1=&a,*p2=&b,*p;

    *(p=&C) =*p1*(*p2);

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

    }


    正确答案:8
    8 解析:本程序定义了3个指针变量p1、p2、p,并且将a、b的地址分别赋给p1、p2,则*p1=a=2,*p2=b=4,所以表达式*p1*(*p2)的值是8。在赋值语句的左边是 *(p=&c),即使指针p指向了变量c,因而*(p)代表了c的存储单元,赋值语句“*(p=&c)=*p1*(*p2);”是把整数 8赋给了变量c。

  • 第2题:

    栈的入栈序列是1,2,„,n,输出序列为p1,p2,„pn,若p1=n,则pi为()。

    A.i

    B.n-i

    C.n-i+1

    D.不确定


    参考答案:C

  • 第3题:

    下列程序的输出结果是______。main(){ static int num[5]=}1,3,5,7,9};int*p1,**p2;p1=num;p2=&am

    下列程序的输出结果是______。 main() { static int num[5]=}1,3,5,7,9}; int*p1,**p2; p1=num; p2=&p1; printf("%d,",*(++p1)); printf("%d\n",**p2); }

    A.3,1

    B.3,3

    C.1,1

    D.1,3


    正确答案:B
    解析:指针p1指向数组num的首地址(同第一个元素的地址),二级指针变量p2指向p1。第一个输出语句中p1先移动一个单位,指向第二个数组元素,再输出元素的值(3),p1的移动不改变p2的指向。因此,第二个输出语句输出的也是3。

  • 第4题:

    若已知一个栈的进栈序列是1,2,3…n,其输出序列是P1,P2,P3,…PN,若P1=n,则Pi(1

    若已知一个栈的进栈序列是1,2,3…n,其输出序列是P1,P2,P3,…PN,若P1=n,则Pi(1

    A.I

    B.n-i

    C.n-i+1

    D.不确定


    正确答案:C

  • 第5题:

    写出结果

    void foo(int p1[])

    {

    *p1 += 5;

    }

    void bar(int p2[])

    {

    p2[1] = 15;

    }

    void main()

    {

    int a[]={3,4,5};

    int b[]={3,4,5};

    int *p2;

    p2=&a[1];

    bar(p2);

    printf("%i %i %i\n",a[0],a[1],a[2]);

    p2=&b[0];

    p2++;

    foo(p2);

    bar(p2);

    printf("%i %i %i\n",b[0],b[1],b[2]);

    }


    正确答案:
     

  • 第6题:

    若有如下程序: sub(int * t,int n) {int *p1, *p2; for(p1=t,p2=t;p1-t<n;p1++) if(*p1<*p2) p2=p1; return(*p2);} main() {int a[9]={9,36,19,39,26,5,6,33,15}; printf("%d\n",sub(a,9));} 则程序运行后的输出结果是( )

    A.5

    B.9

    C.15

    D.39


    正确答案:A

  • 第7题:

    用指针作函数参数,编程序求一维数组中的最大和最小的元素值。

    #define N 10

    main()

    { void maxmin(int arr[],int *pt1,int *pt2,int n);

    int array[N]={10,7,19,29,4,0,7,35,-16,21},*p1,*p2,a,b;

    p1=&a; p2=&b;

    maxmin(array,p1,p2,N);

    printf("max=%d,min=%d",a,b);

    }

    void maxmin(int arr[],int *pt1,int *pt2,int n)

    { int i;

    *pt1=*pt2=arr[0];

    for(i=1;i<N;I++)

    { if(arr[i]>*pt1) (9) ;

    if(arr[i]<*pt2) (10) ;

    }

    }


    正确答案:
    4.(9) *ptr1=arr[i] (10) *ptr2=arr[i]

  • 第8题:

    水泵变频前的输入功率为P1,流量为Q1,转速为N2,调速后的输入功率为P2,流量为Q2,转速为N2,下列说法正确的是()

    • A、P2/P1=N1/N1
    • B、P2/P1=(N2/N13
    • C、Q2/Q1=N2/N1
    • D、Q2/Q1=(N2/N12

    正确答案:B,C

  • 第9题:

    水泵类负载在工况点1、2运行时,对应的功率和转速分别为P1、P2和N1、N2,它的功率(P)与转速(N)符合()关系式。

    • A、N2/N1=(P2/P1)3
    • B、P2/P1=N2/N1
    • C、P2/P1
    • D、P2/P1=(N2/N1)2

    正确答案:C

  • 第10题:

    下列语句定义整型指针p1、p2,()是正确的。

    • A、intp1,p2;
    • B、int*p1,*p2;
    • C、int*p1,p2;
    • D、int**p1,p2;

    正确答案:B

  • 第11题:

    n1、p1、n2、p2做什么控制?


    正确答案: 基于LEVEL的功率控制,n1、p1用于控制功率上升,n2、p2用于控制功率下降.

  • 第12题:

    单选题
    有定义:int a[10], n, *p1=a,*p2=&a[9];,则正确的赋值语句为()。
    A

    n=p2-p1;

    B

    n=p2*p1;

    C

    n=p2+p1;

    D

    n=p1/p2;


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

  • 第13题:

    若有说明:int*p1,*p2,m=3,n;则p1=&m;p2=p1;是正确的赋值语。()

    此题为判断题(对,错)。


    参考答案:正确

  • 第14题:

    有以下程序: float f1(float n) { return n*n; } float f2(float n) { return 2*n; } main() {float(*p1)(float),(*p2)(float),(*t)(float),y1,y2; p1:f1; p2=f2; y1=p2(p1(2.0)); t=p1; p1=p2; p2=t; y2=p2(p1(2.0)); printf("%3.0f,%3.0f\n",y1,y2); } 程序运行后的输出结果是 ______。

    A.8, 16

    B.8, 8

    C.16, 16

    D.4, 8


    正确答案:A
    解析:题中“(*p1)(float)”定义了一个指向函数的指针变量p1,此函数的返回值是float类型。在main函数中,使得p1指向了函数f1,P2指向了函数缀。语句“y1=p2(p1(2.0));”先调用了p1函数,将其返回值4.000000传递给了f2的形参n,并使其函数返回值8.000000赋值给y1。然后在main函数中交换了p1、p2指针变量的指向,使p1指向了函数侵,p2指向了函数f1,并先调用函数f2,得到返回值4.000000,使其传递给f1函数的形参n,并带回返回值16.000000赋值给y2。在输出y1、y2时,各浮点数占3列,小数位数为0,即输出了  8,16。

  • 第15题:

    有以下程序 float fl(float n) { return n*n; } float f2(float n) { return 2*n;} main() {float(*p1)(float),(*p2)(float),(*t)(float),y1,Y2; p1=f1; p2=f2; y1=p2(p1(2.O)); t=p1; p1=p2; p2=t; y2=p2(pl(2.0)); printf("%3.0f,%3,Of\n",y1,y2); } 程序运行后的输出结果是

    A.8,16

    B.8,8

    C.16,16

    D.4,8


    正确答案:A
    解析:题目一开始定义了两个函数,f1()实现的是返回参数的平方;f2()实现的是返回参数的2倍。接下来在主函数中定义了三个函数指针p1,p2,t。语句p1=f1;p2=f2;让指针p1指向函数n(),指针p2指向函数9()。然后调用p2(p1(2.0)),即让2先平方再乘以2,结果为8并赋给y1。然后语句序列t=p1;p1=p2;p2=t;交换了p1和p2的值,即p1指向f2(),p2指向f1()。再调用p2(p1(2.0)),让2先乘以2再平方,结果为16赋给y2.最后输出y1,y2的值为8和16,应该选择A。

  • 第16题:

    若输入“abcdef”“abdef”,下述程序的输出结果为( )。 #include<stdio.h> #include<string.h> main { int n; char s1[20],s2[20],*p1,*p2; scanf("%s",s1); scanf("%S",s2); p1=s1; p2=s2; n=strcmp(p1,p2); printf("Vood\n",n); }

    A. -1

    B.0

    C."abcdef"

    D."abdef"


    正确答案:D
    本题考查字符串比较函数strcmp(s1,s2),若s1>s2,则返回1;若s1=s2,则返回0;若s1<s2,则返回-1。字符串依次比较的是它们字符的ASCIl码值。

  • 第17题:

    有以下程序:include float f1 (float n ){return n*n;}float f2 ( float n){return 2

    有以下程序:#include <stdio.h>float f1 (float n ){ return n*n;}float f2 ( float n){ return 2 * n;}main( ){ float ( * p1)(float),( * p2)(float),(*t)(float) ,y1,y2; p1 = f1;p2 = f2; y1 = p2(p1(2.0) ); t =p1;p1 = p2;p2 =t; y2=p2(p1(2.0)); prinff("% 3.0f, %3.Of\n" ,y1,y2);}程序运行后的输出结果是( )。

    A.8,16

    B.8,8

    C.16,16

    D.4,8


    正确答案:A
    解析:程序中定义了三个指向函数的指针变量p1、p2、t,函数返回值均是float类型。在main函数中,p1指向了函数f1,p2指向了函数f2。语句y1=p2(p1(2.0));先调用f1函数,将其返回值4.000000传递给f2的形参n,并将其函数返回值8.000000赋值给y1。然后在main函数中交换p1,p2指针变量的指向,使p1指向了函数f2,p2指向了函数f1,执行语句y2=p2(p1(2.0));先调用函数f2,得到返回值4.000000,将其传递给f1函数的形参n,并将返回值16.000000赋值给y2。在输出y1,y2时,各浮点数占3列,小数位数为0,即输出了:8,16。

  • 第18题:

    若输入“abcdef”“abdef”,下述程序的输出结果为( )。

    #include

    #include

    main

    {int n;

    char s1[20],s2[20],*p1,*p2;

    scanf("%s",s1);

    scanf("%S",s2);

    p1=s1;

    p2=s2;

    n=strcmp(p1,p2);

    printf("Vood\n",n); }

    A.-1

    B.0

    C."abcdef"

    D."abdef"


    正确答案:A
    本题考查字符串比较函数strcmp(s1,s2),若s1>s2,则返回1;若s1=s2,则返回0;若s1<s2,则返回-1。字符串依次比较的是它们字符的ASCIl码值。

  • 第19题:

    已知X~N(1, 22),Y~N(3, 42),则P1=P1(02 =P(3 A. P12 B. P1>P2 C. P1=4P2 D. P1=P2


    答案:B
    解析:

  • 第20题:

    若有说明:int *p1,*p2,m=5,n; 以下都是正确的赋值语句的选项是()。

    • A、p1=&m; p2=&p1;
    • B、p1=&m; p2=&n; *p1=*p2;
    • C、p1=&m; p2=p1;
    • D、p1=&m; *p2=*p1;

    正确答案:C

  • 第21题:

    有以下变量说明,下面不正确的赋值语句是() int a=5, b=10,c; int ?p1=&a,?p2=&b;

    • A、?p2=b;
    • B、p1=a;
    • C、p2=p1;
    • D、c=?p1?(?p2)。

    正确答案:B

  • 第22题:

    若有说明:int*p1,*p2,m=5,n=9;以下均是正确赋值语句的选项是()

    • A、p1=&m;p2=&p1;
    • B、p1=&m;p2=&n;*p1=*p2;
    • C、p1=&m;p2=p1
    • D、p1=&m;*p2=*p1;

    正确答案:B

  • 第23题:

    单选题
    若有说明:int *p1,*p2,m=5,n; 以下都是正确的赋值语句的选项是()。
    A

    p1=&m; p2=&p1;

    B

    p1=&m; p2=&n; *p1=*p2;

    C

    p1=&m; p2=p1;

    D

    p1=&m; *p2=*p1;


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