itgle.com
更多“若有说明语句:int a,b,c,*d=&c;,则能正确从键盘读入3个整数分别赋给变量a、b、c的语句是()。A.s ”相关问题
  • 第1题:

    若有说明语句:double*P,a;则能通过scanf语句正确给输入项读入数据的程序段是( )。

    A.*p=&a;scanf("%lf",p);

    B.*p=&a;scanf("%f",p);

    C.p=&a;scanf("%lf",*p);

    D.p=&a;scanf("%lf",p);


    正确答案:D
    解析:*p间接引用指针指向的变量,因此“(*p)=&a”不对。scanf()的输入变量必须为地址,因此C是错误的。

  • 第2题:

    有如下定义语句:int a[]={1,2,3,4,5};,则对语句int*p=a;正确的描述是( )。

    A.语句int*p=a;定义不正确

    B.语句int*p=a;初始化变量p,使其指向数组对象a的第一个元素

    C.语句int*p=a;是把a[0]的值赋给变量p

    D.语句iht*p=a;是把a[l]的值赋给变量p


    正确答案:B

  • 第3题:

    若有定义:“int a,b;”,通过语句“scan[("%d;%d".,&a,&b);”,能把整数3赋给变量a,5赋给变量b的输入数据是( )。

    A.3 5

    B.3,5

    C.3;5

    D.35


    正确答案:C
    在输入时必须遵守scanf函数中的格式才能正确地赋值给相应的变量,由于scanf函数为“%d;%d”,所以在输入时要输入3;5,答案为C。

  • 第4题:

    设变量均已正确定义,若要通过 scaIIf(”%d%c%d%c”,&al,&el,&a2,&c2); 语句为变量

    设变量均已正确定义,若要通过

    scaIIf(”%d%c%d%c”,&;al,&;el,&;a2,&;c2);

    语句为变量al和a2赋数值l0和20,为变量cl和c2赋字符x和Y。以下所示的输入形式中正确的是( )。(注:口代表空格字符)


    正确答案:C
    输入数据的格式必须与scanf()的格式控制串完全匹配,如果A、B、Cc选项中在数字l0后面均输入了空格,则会将空格赋给变量cl,而不是把x赋给cl,所以选择C选项。

  • 第5题:

    若有定义语句:double a,*P=&a;以下叙述中错误的是( )。

    A.定义语句中的*号是-个间址运算符

    B.定义语句中的木号是-个说明符

    C.定义语句中的P只能存放double类型变量的地址

    D.定义语句中,P=&a把变量a的地址作为初值赋给指针变量P


    正确答案:A
    在变量定义doublea,*P:&a;中,}号是一个指针运算符,而非间址运算符,所以A错误。

  • 第6题:

    若有定义语句:double a,+P=&a;以下叙述中错误的是( )。A.定义语句中的*号是一个问址运算符

    若有定义语句:

    double a,+P=&;a;

    以下叙述中错误的是( )。

    A.定义语句中的*号是一个问址运算符

    B.定义语句中的*号是一个说明符

    C.定义语句中的P只能存放double类型变量的地址

    D.定义语句中。P=&a把变量a的地址作为初值赋给指针变量P


    正确答案:A
    指针运算符(通常称为间接引用运算符:indirectionopemlor或复引用运算符:derefereneingoperator)返回其操作数(即一个指针)所指向的对象的值。定义语句中的+号不是一个问址运算符,而是定义指针变量的说明符,因此,A项错误,B选项正确,原则上说变量P可以放double兼容性的变量地址,C选项正确,根据指针的赋值运算,可知D选项正确。故答案为A选项。’

  • 第7题:

    若有定义和语句:int a,b;scanf("%d,%d",&a,&b);以下选项中的输人数据,不能把值3赋给变量a、5赋给变量b的是( )。

    A.3,5,

    B.3,5,4

    C.3,5

    D.3 5


    正确答案:C
    在输入3和5之间除逗号外不能有其他字符。

  • 第8题:

    若有说明语句:doubleop,a;,则能通过scanf语句正确给输入项读入数据的程序段是( )。

    A.*p=&a;scanf("%1f",p);

    B.*p=&a;scanf("%f",p);

    C.p=&a;scanf("%1f",*p);

    D.p=&a;scanf("%1f",p);


    正确答案:D
    解析:double*p,a;语句表示定义了一个指向双精度型的指针变量p和双精度型变量a,而语句p=&a表示将变量a的地址赋给指针变量p;scanf ("%1f",p)表示用键盘输入的数赋给指针变量p所指向的地址单元中。scanf()函数要求在输入double型数据,格式控制符必须用%if (或%le)。否则,数据不能正确输入。所以选项D)为正确答案。

  • 第9题:

    若有说明语句:      Double *p,a;  则能通过scanf语句正确给输入项读人数据的程序段是()    

    • A、*p=&a;scanf(”%if”,p);
    • B、*p=&a;scanf(”%f”,p);
    • C、p=&a;scanf(”%if”,*p);
    • D、p=&a;scanf(”%if”,p);

    正确答案:D

  • 第10题:

    若已定义inta=5;下面对(1)int*p=&a;(2)*p=a;两个语句的正确解释是()

    • A、语句(1)和(2)中的*P含义相同,都表示给指针变量p赋值
    • B、语句(1)和语句(2)的执行结果,都是把变量a的地址值赋给指针变量p
    • C、语句(1)在对p进行说明的同时进行初始化,使p指向a,语句(2)将变量a的值赋给指针变量p
    • D、语句(1)在对p进行说明的同时进行初始化,使p指向a,语句(2)将变量a的值赋于*p

    正确答案:D

  • 第11题:

    单选题
    若有说明语句:double *p,a;则能通过scanf语句正确给输入项读入数据的程序段是()
    A

    *p=&a;scanf(“%lf”,p)

    B

    *p=&a;scanf(“%lf”,*p)

    C

    p=&a,scanf(“%lf”,*p)

    D

    p=&a;scanf(“%lf”,p)


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

  • 第12题:

    单选题
    若有定义:int a,b;通过语句scanf(%d;%d,&a,&b);能把整数3赋给变量a,5赋给变量b的输入数据是(  )。
    A

    3,5

    B

    3;5

    C

    3 5

    D

    35


    正确答案: C
    解析:
    在采用scanf这个函数输入数据时,要严格遵守其输入的规则定义。本题中,由表达式"%d;%d"可知,函数定义的规则是在两个整数之间加分号输入。答案选择B选项。

  • 第13题:

    若有说明语句:double *p,a;则能通过scanf语句正确给输入项读入数据的程序段是 ( )。

    A.6357

    B.6135

    C.1357

    D.691357


    正确答案:C
    解析: 本题先将指针p指向二维数组ch[2][5],相当于p[0]="1234",p[1]="5678",通过双重for循环,是要将p中的字符隔一个输出一个,通过s=p[i][j]-'0'这条语句是将所要输出的字符转换成相应的十进制数。

  • 第14题:

    有如下定义语句:int a[]={1,2,3,4,5);,则对语句int *p=a;正确的描述是( )。

    A.语句int *p=a;定义不正确

    B.语句int *p=a;初始化变量p,使其指向数组对象a的第一个元素

    C.语句int *p=a;是把a[0]的值赋给变量p

    D.语句int *p=a;是把a[1]的值赋给变量p


    正确答案:B

  • 第15题:

    若有说明语句:double*p,a,则能通过scanf语句正确给输入项读入数据的程序段是( )。

    A.*p=&a;scanf("%1f",p);

    B.*p=&a; scanf("%f",p);

    C.p=&a; scanf("%1f",*p);

    D.p=&a; scanf("%1f",p);


    正确答案:D
    解析:double*p,a;语句表示定义了一个指向双精度型的指针变量p和双精度型变量a,而语句p=&a表示将变量a的地址赋给指针变量p;scanf("%1f",p)表示用键盘输入的数赋给指针变量p所指向的地址单元中。scanf()函数要求在输入double型数据,格式控制符必须用%1f(或%le).否则,数据不能正确输入。所以选项D)为正确答案。

  • 第16题:

    若变量已正确定义为int型,要通过语句:scanf(”%d,%d,%d”,&a,&b,&C.;给a赋值l、给b赋值2、给

    若变量已正确定义为int型,要通过语句:scanf(”%d,%d,%d”,&;a,&;b,&C.;给a赋值l、给b赋值2、给C赋值3,以下输入形式中错误的是( )。(注:口代表一个空格符)


    正确答案:D
    scanf()的格式控制串可以使用其他非空白字符,如本题中的逗号,但在输入时必须输入这些字符;以保证匹配。所以逗号必须输入。

  • 第17题:

    若有定义:int a,h;通过语句:scanf(”%d;%d”,&a,&B.;,能把整数3赋给变量a,5赋给变量b的输入数据是( )。

    A.3 5

    B.3,5

    C.3;5

    D.35


    正确答案:C
    输入数据的格式必须与seanf()的格式控制串完全匹配,所以输入时必须在3和5之间输入“;”。

  • 第18题:

    若有说明语句:int a,b,c,*d=&c;则能正确从键盘读入主个整数分别赋给变量a、b、c的语句是

    A.scanf(“%d%d%d”,&a,&b,d);

    B.scanf(“%d%d%d”,&a,&b,&d);

    C.scanf(“%d%d%d”,a,b,d);

    D.scanf(“%d%d%d”,a,b,*d);


    正确答案:A
    解析:scanf()函数有两个参数,第一个参数是输入格式字符串,第二个参数是输入变量地址列表。输入格式字符串主要由“%”符号和格式字符组成。地址列表是由多个地址组成的。选项B中d已经为地址,不应再加上求地址符号“&”;选项C中,a和b都为变量不是地址,应该在a和b之前加上求地址符号“&”;选项D中指针d所指向的存储空间的位置为变量c的值,不为地址。

  • 第19题:

    若有说明语句:int i,x[3][4];,则不能将x[1][1]的值赋给变量i的语句是(37)。

    A.i=*(*(x+1)+1)

    B.i=x[1][1]

    C.i=*(*(x+1))

    D.i=*(x[1]+1)


    正确答案:C
    解析:本题考查对数组元素的相关操作。题目中给出的是一个二维数组x[3][4],数组名为x,取数组第一行第一列元素的几种方法分别是*(x[1]+1)、x[1][1]、*(*(x+1)+1)、*(x+1)[1]等。

  • 第20题:

    若有以下定义和语句; double r=99,*p=7; *p=r; 则以下正确的叙述是( )

    A.两处的*p含义相同,都说明给指针变量P赋值3

    B.在“double r=99,*p=7;*p=r;”中,把r的地址赋给了p所指的存储单元

    C.语句“*p=r;”把变量r的值赋给指针变量p

    D.语句“*p=r;”把变量r的值放回P中


    正确答案:D

  • 第21题:

    若有说明语句:double *p,a;则能通过scanf语句正确给输入项读入数据的程序段是()

    • A、*p=&a;scanf(“%lf”,p)
    • B、*p=&a;scanf(“%lf”,*p)
    • C、p=&a,scanf(“%lf”,*p)
    • D、p=&a;scanf(“%lf”,p)

    正确答案:D

  • 第22题:

    单选题
    若已定义:int x=12;对①int *p=&x;和②*p=x;这两条语句的正确理解是()
    A

    语句①是在对指针变量p定义时初始化,使p指向x;而语句②是将变量x的值赋给指针变量p所指向的变量

    B

    语句①和②中的*p含义相同,都表示给指针变量赋值

    C

    语句①是在对指针变量p定义时初始化,使p指向x;而语句②是将变量x的值赋给指针变量p

    D

    语句①和②的执行结果都是把变量x的地址赋给指针变量p


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

  • 第23题:

    单选题
    若有定义和语句int a,b;scanf(%d,%d,&a,&b);以下选项中的输入数据,不能把值3赋给变量 a、5赋给变量b的是(  )(说明:符号u表示空格)。
    A

    3,5,

    B

    3,5,4

    C

    3,u5

    D

    3,5


    正确答案: A
    解析:
    输入数据时,必须与格式控制中的格式一样,需要在数据后面紧跟一个逗号,否则不能正确读入数据,C项,3后面有一个多余的空格,不符合给定的格式。答案选择C选项。

  • 第24题:

    单选题
    若有定义语句int a,b,c,*p=&c;接着执行以下选项中的语句,则能正确执行的语句是(  )。
    A

    scanf("%d%d%d",a,b,c);

    B

    scanf("%d",p);

    C

    scanf("%d",a,b,c);

    D

    scanf(%d,&p);


    正确答案: C
    解析:
    scanf中地址列表需要取地址,即&a形式,故AC项错误;p为指针类型,本身就是c的地址,因此不用再取地址。答案选择B选项。