参考答案和解析
scanf(格式控制串,输入项地址表列);
更多“scanf () 函数的正确调用形式是()。”相关问题
  • 第1题:

    以下scanf函数调用语句中对结构体变量成员的引用不正确的是

    struct pupil

    { char name[20];

    int age

    int sex;

    } pup[5],*p;

    p=pup;

    A.scanf("%s",pup[0].name);

    B.scanf("%d",&pup[0].age);

    C.scanf("%dT",&(p->sex));

    D.scanf("%d",p->age);


    正确答案:D
    解析:考查结构体成员变量的引用方法。可用结构体变量名.数据成员名或者结构体指针->数据成员名两种方法来引用。 结构体类型的变量、数组和指针变量的定义。

  • 第2题:

    以下正确的描述是( )。

    A、函数的定义可以嵌套,函数的调用不可以嵌套

    B、函数的定义不可以嵌套,函数的调用可以嵌套

    C、函数的定义和函数的调用均可以嵌套

    D、函数的定义和函数的调用均不可以嵌套


    参考答案B

  • 第3题:

    以下关于 Function函数对象的说法不正确的是()

    A.函数可有可无返回值

    B.调用函数时传递的参数是实参

    C.函数调用时候,可以用一个变量来接收函数返回值

    D.函数必须要有形式参数


    答案:D

  • 第4题:

    已知int a,b;double c;,则以下语句中错误的函数调用是A.scanf("%d,%x,%lf",&a,&b,&c); B.scanf("%d,%d,%le",&a,&b,&c);C.scanf("%o,%x,%o",&a,&b,&c); D.scanf("%d,%o,%e",&a,&b,&c);


    正确答案:C
    本题主要考查格式输入函数scanf。此函数一般的输入形式是scanf(格式控制,地址表列);。函数“格式控制”的含义同printf函数,以%开始,以一个格式字符结束,中间可以插入附加的字符。常用的格式字符主要有:
    d:用来输入有符号的十进制整数。
    u:用来输入无符号的十进制整数。
    o:用来输入无符号的八进制整数。
    x:用来输入无符号的十六进制整数(大小写作用相同)。
    c:用来输入单个字符,包括回车键。
    s:用来输入字符串,将字符串送到一个字符数组中,在输入时以非空格字符开始,以第一个空格字符结束。字符串以串结束标志’\0’作为其最后一个字符。
    f:用来以小数形式输入实数(包括浮点型和双精度型)。
    e:用来以指数形式输入实数。
    scanf的附加格式说明字符:
    L、l:用于输入长整型数据(可用%ld,%lo,%lx)及double型数据(用%lf)。
    h:用于输入短整型数据(可用%hd,%ho,%hx)。
    域宽:指定输入数据所占宽度(列数),域宽应为正整数。
    *:%后的“*”附加说明符用来表示跳过它相应的数据。
    在本题中,由于变量a和b是整型变量,而c是双精度类型。很显然,选项C中的描述不正确,它用%o输出实数。

  • 第5题:

    若x,y均定义为int型,z定义为double型,以下不合法的scanf函数调用语句是()。

    A.scanf("%d%lx,%le",&x,&y,&z);

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

    C.scanf("%x%*d%o",&x,&y);

    D.scanf("%x%o%6.2f",&x,&y,&z)


    正确答案:D

  • 第6题:

    以下程序调用scanf函数给变量a输入数值的方法是错误的,其错误原因是()。includemain(){

    以下程序调用scanf函数给变量a输入数值的方法是错误的,其错误原因是( )。 #include <stdio.h> main() { int *p,*q,a,b; p=&a; printf("input a:"); scanf("%d",*p); }

    A.*p表示的是指针变量p的地址

    B.*p表示的是变量a的值,而不是变量a的地址

    C.*p表示的是指针变量p的值

    D.*p只能用来说明p是一个指针变量


    正确答案:B
    解析:本题经过定义语句和赋值后,p表示的是变量a的地址,*p表示的是变量a的值。

  • 第7题:

    下列函数的说法中正确的有()

    • A、C语言程序的基本组成单位是函数
    • B、函数的参数分为有参与无参二种形式
    • C、有参函数指的是定义函数中不能是void形式
    • D、有参函数的调用是通过函数名(实参表列);调用的

    正确答案:A,D

  • 第8题:

    已知char a;使用scanf()函数输入一个字符给变量a,不正确的函数调用是()

    • A、scanf(“%d”,&a)
    • B、scanf(“%lf”,&a)
    • C、scanf(“%c”,&a)
    • D、scanf(“%u”,&a)

    正确答案:B

  • 第9题:

    下面关于形参描述项正确的是()

    • A、在函数未被调用时,系统不对形式参数分配内存单元。
    • B、形参是在调用函数时放在函数名称之后的括号中的参数。
    • C、形参属于全局变量
    • D、在函数被调用时,系统会立刻给形式参数分配内存单元;调用结束后,再释放掉形式参数所占有的内存单元。

    正确答案:A,D

  • 第10题:

    若intx,y;doublez;以下不合法的scanf函数调用语句是()。

    • A、scanf(“%d%lx,%le”,&x,&y,&z);
    • B、scanf(“%2d*%d%lf”,&x,&y,&z);
    • C、scanf(“%x%*d%o”,&x,&y);
    • D、scanf(“%x%o%6.2f”,&x,&y,&z);

    正确答案:D

  • 第11题:

    已知double a;使用scanf()函数输入一个数值给变量a,正确的函数调用是()

    • A、scanf(“%ld”,&a)
    • B、scanf(“%lf”,&a)
    • C、scanf(“%c”,&a)
    • D、scanf(“%u”,&a)

    正确答案:B

  • 第12题:

    单选题
    已知char a;使用scanf()函数输入一个字符给变量a,不正确的函数调用是()
    A

    scanf(“%d”,&a)

    B

    scanf(“%lf”,&a)

    C

    scanf(“%c”,&a)

    D

    scanf(“%u”,&a)


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

  • 第13题:

    已知inta,b;doublec;则以下语句中错误的函数调用是 A.scanf("%d,%x,%lf",&a,&am

    已知int a,b;double c;则以下语句中错误的函数调用是

    A.scanf("%d,%x,%lf",&a,&b,&c);

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

    C.scanf("%o,%x,%o",&a,&b);

    D.scanf("%d,%o,%e",&a,&b,&c);


    正确答案:D

  • 第14题:

    在函数调用过程中,下列说法正确的是()。

    A.形式参数和实在参数各占一个独立的存储单元

    B.形式参数和实在参数存储空间都是在函数调用时分配的

    C.)在函数的执行过程中,形参变量值的改变不会影响实参值的改变

    D.函数调用结束时,临时存储区被撤消

    E.在函数调用过程中,实在参数与形式参数在个数、类型上必须匹配


    正确答案:ACDE

  • 第15题:

    若变量已正确定义并赋值,对库函数错误调用的是( )

    A.k=scanf("%d%d",&i,&j);

    B.printf("\\%d\\n",k);

    C.getchar(ch);

    D.putchar(ch);


    正确答案:C

  • 第16题:

    设x,y均是int类型变量,则以下不正确的函数调用为______。

    A.getchar();

    B.putchar('\108');

    C.scanf("%d%*2d%d",&x,&y);

    D.putchar('\'');


    正确答案:B
    解析:八进制中的基本数为0~7,不可能出现8。

  • 第17题:

    以下scanf函数调用语句中对结构体变量成员的不正确引用是 struct pupil { char name[20]; int age int sex; } pup[5],*p; p=pup;

    A.scanf("%s",pup[0].name);

    B.scanf("%d",&pup[0].age);

    C.scanf("%dT",&(p->sex));

    D.scanf("%d",p->age);


    正确答案:D
    解析:可用结构体变量名.数据成员名或者结构体指针->数据成员名两种方法来引用。注意:结构体类型的变量、数组和指针变量的定义。

  • 第18题:

    以下scanf函数调用语句中对结构体变量成员的不正确引用的是()。  struct node{      char name[20];      int age;      int sex; }student[5],*p;  p=student; 

    • A、scanf(“%s”,student[0].name);
    • B、scanf(“%d”,&student[0].age);
    • C、scanf(“%d”,&(p->sex));
    • D、scanf(“%d”,p->age);

    正确答案:D

  • 第19题:

    数据结构与算法里,A函数调用B函数,B函数又调用了A函数,这种调用是(),下列选项不是正确答案的是()。

    • A、直接递归
    • B、间接递归
    • C、非递归
    • D、嵌套调用

    正确答案:A,C,D

  • 第20题:

    设已定义chara[10]和intj则下面输入函数调用中错误的是()

    • A、scanf("%s”,a);
    • B、for(j=0;j<9;j++)scanf(“%c”,a[j]);
    • C、gets(a);
    • D、for(j=0;j<9;j++)scanf(“%c”,&a[j]);

    正确答案:B

  • 第21题:

    已有inti,j;floatx;为将-10赋给i,12赋给j,410.34赋给x;则对应以下scanf函数调用语句的数据输入形式是()。


    正确答案:scanf(“%d %d %f”,&i,&j,&x);

  • 第22题:

    在函数调用时,以下说法正确的是()

    • A、函数调用后必须带回返回值
    • B、实际参数和形式参数可以同名
    • C、函数间的数据传递不可以使用全局变量
    • D、主调函数和被调函数总是在同一个文件里

    正确答案:B

  • 第23题:

    单选题
    已知double a;使用scanf()函数输入一个数值给变量a,正确的函数调用是()
    A

    scanf(“%ld”,&a)

    B

    scanf(“%lf”,&a)

    C

    scanf(“%c”,&a)

    D

    scanf(“%u”,&a)


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

  • 第24题:

    单选题
    设有:char s[5],c;,则调用函数scanf能正确给s和c读入数据的是(  )。
    A

    scanf(%s%c,s,c);

    B

    scanf(%d%c,&s,&c);

    C

    scanf(%d%c,s,&c);

    D

    scanf(%s%c,s,&c);


    正确答案: C
    解析:
    s[5]是一个字符数组,也可以理解为字符串,格式控制为%s,c为字符,格式控制为%c。scanf输入时参数是地址,数组名就是地址,所以给s读入数据参数就是s首地址,而字符c的参数需要取c的地址,即&c。答案选择D选项。