单选题设有定义:int a,b; float x,y; 则以下选项中对语句所作的注释叙述错误的是(  )。A scanf(%d%d%f,&a,&b);   /* 多余的格式符%f完全不起作用 */B scanf(%d%d,&a,&b,&x); /* 多余的输入项不能获得输入数据 */C scanf(%d%f%d,&a,&b,&x); /* 输入项与格式符类型不匹配,变量b和x得不到正确的输入数据 */D scanf(Input:%d%d,&a,&b);  /* 格式串中允许加入格式符以外的字符串 */

题目
单选题
设有定义:int a,b;  float x,y; 则以下选项中对语句所作的注释叙述错误的是(  )。
A

scanf(%d%d%f,&a,&b);   /* 多余的格式符%f完全不起作用 */

B

scanf(%d%d,&a,&b,&x); /* 多余的输入项不能获得输入数据 */

C

scanf(%d%f%d,&a,&b,&x); /* 输入项与格式符类型不匹配,变量b和x得不到正确的输入数据 */

D

scanf(Input:%d%d,&a,&b);  /* 格式串中允许加入格式符以外的字符串 */


相似考题
参考答案和解析
正确答案: D
解析:
A项中%f是起作用的,程序从键盘正确的读入前两个数据并且保存在指定的地址,读入第三个数据后,将其放入缓冲区,然后寻找应该存放的地址,因为没有找到,程序会发生错误而中断,注释错误。B项由于scanf只接收两个数据,所以变量x得不到赋值,注释正确。C项scanf会按照float类型读取输入的第二个数据并且保存为int类型,由于两种类型的存储形式与所占内存单元均不同,b得不到正确的赋值,注释正确。D项在使用scanf函数时,如果除了格式说明字符和附加格式字符外,还有其他字符,则在输入数据时要求按一一对应的位置原样输入这些字符,注释正确。答案选择A选项。
更多“单选题设有定义:int a,b; float x,y; 则以下选项中对语句所作的注释叙述错误的是(  )。A scanf(%d%d%f,a,b);   /* 多余的格式符%f完全不起作用 */B scanf(%d%d,a,b,x); /* 多余的输入项不能获得输入数据 */C scanf(%d%f%d,a,b,x); /* 输入项与格式符类型不匹配,变量b和x得不到正确的输入数据 */D scanf(Input:%d%d,a,b);  /* 格式串中允许加入格式符以外的字符串 */”相关问题
  • 第1题:

    x,y,z被定义为int型变量,若从键盘给x,y,z输入数据,正确的输入语句是( )。A.INPUT x,y、z;

    x,y,z被定义为int型变量,若从键盘给x,y,z输入数据,正确的输入语句是( )。

    A.INPUT x,y、z;

    B.scanf(”%d%d%d”,&x,&y,&z.);

    C.sCanf(”%d%d%d”,x,y,z.);

    D.read(”%d%d%d”,&x,&y,&z.);


    正确答案:B
    考查格式输入函数scanf的使用。scanf函数的一般格式是:scanf(格式控制,地址表列)该格式中,地址表列中应是变量地址,而不是变量名。

  • 第2题:

    在scanf()函数调用的格式字符串中,若使用格式字符串为“%d,%d”,则规定输入的两个数据之间的分隔符为()。

    A、@

    B、#

    C、$

    D、,


    正确答案:D

  • 第3题:

    若有说明语句“int a;float b;”,以下输入语句正确的是( )。

    A.scanf("%f%f",&a,&b);

    B.scanf("%f%d",&a,&b);

    C.scanf("%d,%f",&a,&b);

    D.scanf("%6.2f%62f",&a,&b);


    正确答案:C
    解析:说明语句中变量a为整型,变量b为实型。选项A、B和D的格式控制中变量a的格式描述符为f,与定义的变量类型不符,故选项A、B和D错误。

  • 第4题:

    以下叙述中,正确的是______。

    A.输入项可以是一个实型常量,如scanf("%f,3.5):

    B.只有格式控制,没有输入项,能正确输入数据到内存,例如: scanf("a=%d, b=%d”);

    C.当输入一个实型数据时,格式控制部分可以规定小数点后的位数,例如: scanf("%4.2f",&f);

    D.当输入数据时,必须指明变量地址,例如:scanf("%f", &f):


    正确答案:D

  • 第5题:

    若有定义语句“doublex,y,*px,*Py;执行了px=&x;py=&y;”后,正确的输入语句是( )。

    A.scanf("%f%f",x,y);

    B.scanf("%f%f"&x,&y);

    C.scanf("%If%le",px,py);

    D.scanf("%lf%If"x,y);


    正确答案:C
    C。【解析】此题主要考查输入函数的字符格式,lf和le表示以带小数点的数学形式或指数形式输入浮点数。

  • 第6题:

    若有定义语句:double x,y,*px,*PY;执行了laX=&x;lay=&y;之后,正确的输入语句是( )。

    A.scanf(”%If%le”,px,lay);

    B.seanf(”%f%f¨&x,y);

    C.seanf(”%f%f",x,y);

    D.Scanf(”%If%If"·,x,y):


    正确答案:A
    因为X,Y都是double型数据,所以输入时的格式字符应为%If,所以B与C错误。D选项中scanf(”%lf%%’,x,Y);应为sc“(”%If%If"’,,&)r);。

  • 第7题:

    以下叙述中正确的是( )

    A.输入项可以是一个实型常量,如scanf("%f",3.5);

    B.只有格式控制,没有输入项,也能正确输入数据到内存,例如: scanf("a=%d,b=%d");

    C.当输入一个实型数据时,格式控制部分可以规定小数点后的位数,例如: scanf("%4.2f",&f)

    D.当输入数据时,必须指明变量地址,例如:scanf(“%f",&f);


    正确答案:D

  • 第8题:

    以下叙述中,正确的是______。

    A.输入项可以是一个实型常量,例如: scanf("%f",3.5);

    B.只有格式控制,没有输入项,也能正确输入数据到内存,例如: scanf("a=%d,b=%d");

    C.当输入一个实型数据时,格式控制部分可以规定小数点后的位数,例如: scanf("%4.2f",&d);

    D.当输入数据时,必须指明变量地址,例如: scanf("%f",&f);


    正确答案:D

  • 第9题:

    输入语句scanf("%d%d%f",&m,&y);中变量的个数和输入格式符个数不一致导致出现输入错误。


    正确答案:正确

  • 第10题:

    设floatx,由键盘输入:12.45,能正确读入数据的输入语句是()。

    • A、scanf("%5f",&x)
    • B、scanf("%5d",&x)
    • C、scanf("%f",x)
    • D、scanf("%s",&x)

    正确答案:A

  • 第11题:

    要使doublex;longa;获得数据,正确的输入语句是()。

    • A、scanf(“%d,%f”,&a,&x);
    • B、scanf(“%f,%1d”,&x,&a);
    • C、scanf(“%ld,%1f”,&a,&x);
    • D、scanf(“%1d,%1f”,a,x);

    正确答案:C

  • 第12题:

    单选题
    以下叙述中正确的是(  )。
    A

    在scanf函数的格式串中,必须有与输入项一一对应的格式转换说明符

    B

    只能在printf函数中指定输入数据的宽度,而不能在scanf函数中指定输入数据占的宽度

    C

    scanf函数中的字符串是提示程序员的,输入数据时不必管它

    D

    复合语句也被称为语句块,它至少要包含两条语句


    正确答案: B
    解析:
    在printf和scanf 函数中都可以指定数据的宽度,B项错误;scanf中的字符串在输入时可以使用其他非空字符,如逗号,但在输入时必须输入这些字符以保证匹配,C项错误;复合语句可以由任意多条语句构成,也可以一条没有,D项错误。答案选择A选项。

  • 第13题:

    scanf函数中的格式符“%d”不能用于输入实型数据。()

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


    参考答案:正确

  • 第14题:

    如果用scanf来输入长整型数据,则正确的格式控制符是()。

    A.x

    B.lx

    C.lD

    D.d


    正确答案:B

  • 第15题:

    若有定义语句:doub1e x,y,*px,*py;执行了px=&x;py=&y;之后,正确的输入语句是______。

    A.scanf("%f%f"&x,&y);

    B.scanf("%f%f"&x,&y);

    C.scanf("%1f%lf",px,y);

    D.scanf("%lf%lf",x,y);


    正确答案:C
    解析:scanf函数的—般调用形式为:
      scanf(格式控制输入项1,输入项2,…)
      选项B中,&x前面少了逗号,因此选项B错误。scanf函数要求输入项必须是地址表达式,因此选项A、D错误,又因为变量x和变量y是双精度型的,因此在输入时必须以f(lf)或e(le)的形式,因此选项C是正确的。

  • 第16题:

    已知int a;float b;所用的scanf调用语句格式为: scanf("a//%d,b=%f",&a,&b); 为了将数据3和25.08分别赋给x和y,正确的输入应当是

    A.3,25.08<Enter>

    B.a=3,b=25.08<Enter>

    C.a//3.b=25.08<Enter>

    D.a//3<Enter>b=25.08<Enter>


    正确答案:C
    解析:若在scanf的格式控制串中插入了其他字符,则在输入时要求按一一对应的位置原样输入这些字符。由于scanf的格式控制串中插入了“a\\”、逗号和“b=”等字符,所以输入时候应该一一对应地在对应位置上输入这些字符。

  • 第17题:

    下列有关格式输入函数scanf的叙述中正确的是( )。

    A.输入项可以是C语言中规定的任何变量,并且在任何变量前必须加地址符号“&”

    B.可以只有格式控制项,没有地址列表项

    C.在输入数据时,必须规定精度。如scanf("%4.2f",&d);

    D.当输入数据时,必须指明变量地址


    正确答案:D
    解析:如果是指针型变量或数组名,则变量前不加地址符号&,所以选项A的说法有误。必须有地址列表项才能实现正确输入,所以选项B的说法有误。在输入数据时,不可以指定实型数据的精度,所以选项C的说法有误。只有选项D的说法正确。

  • 第18题:

    若有定义语句:

    正确的输入语句是( )。

    A.scanf(”%lf%If"’,X,Y);

    B.scanf(”%f%f¨X,Y);

    C.scanf(”%f%f¨,X,y);

    D.scanf(”%lf%le”,px,PY);


    正确答案:D
    %1f,%le是针对double类型的数据,如果仅甩%f,输入的数据可能不能被完全接收,数据的精度可能不足。%f主要针对float类型的变量输入,选项8错误。根据瓣Hlf(格式,变量地址),选项A,C错误。故答案为D选项。

  • 第19题:

    x,y,z被定义为int型变量,若从键盘给x,y,z输入数据,正确的输入语句是

    A.INPUT x、v、z;

    B.scanf("%d%d%d",&x,&y,&z);

    C.scanf("%d%d%d",x,y,z);

    D.read("%d%d%d",&x,&y,&z);


    正确答案:B
    解析:scanf函数的一般格式是:scanf(格式控制,地址表列)该格式中,地址表列中应是变量地址,而不是变量名。注意:调用putchar和getchar函输出和输入字符。

  • 第20题:

    X、Y、Z被定义为int型变量,若从键盘给X、Y、Z输入数据,正确的输入语句是______。

    A.INPUT X,Y,Z;

    B.scanf("%d%d%d",&X,&Y,&Z);

    C.scanf("%d%d%d",X,Y,Z);

    D.read("%d%d%d",&X,&Y,&Z);


    正确答案:B
    解析:C语言中没有输入输出语句,它是通过C语言提供的函数来实现的,本题C中,应为变量地址。

  • 第21题:

    若定义x为double型变量,则能正确输入x值的语句是()。

    • A、scanf(“%f”,x);
    • B、scanf(“%f”,&x);
    • C、scanf(“%lf”,&x);
    • D、scanf(“%5.1f”,&x);

    正确答案:C

  • 第22题:

    若a是float型变量,b是unsigned型变量,以下输入语句中合法的是().

    • A、scanf("%6.2f%d",&a,&b);
    • B、scanf("%f%n",&a,&b);
    • C、scanf("%f%3o",&a,&b);
    • D、scanf("%f%f",&a,&b);

    正确答案:C

  • 第23题:

    假设定义变量如下:int  x; float  y;以下输入语句中()是正确的。

    • A、scanf(“%f%f”,&y,&x);
    • B、scanf(“%f%d”, y, x);
    • C、scanf(“%f%d”,&y,&x);
    • D、scanf(“%5.2f%2d”,&y,&x);

    正确答案:C