已知double a;使用scanf()函数输入一个数值给变量a,正确的函数调用是()A、scanf(“%ld”,a)B、scanf(“%lf”,a)C、scanf(“%c”,a)D、scanf(“%u”,a)

题目

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

  • A、scanf(“%ld”,&a)
  • B、scanf(“%lf”,&a)
  • C、scanf(“%c”,&a)
  • D、scanf(“%u”,&a)
参考答案和解析
正确答案:B
如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

已知:int x,y;double z;则以下语句中错误的函数调用是( )。A)scanf("%d,%1x,%1e",&x,&y,&z); B)scanf("%1d*%d&1f",&x,&y,&z);C)scanf("%x%*d%o",&x,&y); D)scanf("%x%o%6.2f",&x,&y,&z);


正确答案:B
B项的格式应该为scanf("%1d*%d%1f",&x,&y,&z);

第2题:

若有“double a;”,则正确的输入语句是( )。

A.scanf("%1f",a);

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

C.scanf("%lf",&a)

D.scanf("%le",&a);


正确答案:D
解析:scanf函数的调用形式是:scanf(格式字符串,输入项地址表)。其中,“格式字符串”是要输入的变量的格式符;“输入项地址表”是要输入的变量的地址。题中定义变量a为双精度型变量,双精度变量的格式符为“le”;变量的地址用取地址符“&”加变量名表示,例如变量a的地址为“&a”。

第3题:

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

若有说明语句 : 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
(24)D) 解析 : p=&a 表示将变量 a 的地址送给指针 p; scanf( “ %lf ” ,p) 表示用键盘输入的数给变量 p 地址中。

第4题:

若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

第5题:

已知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输出实数。

第6题:

若有说明语句: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是错误的。

第7题:

已知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

第8题:

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

A)scanf(“%f%f”,x,y); B) scanf(“%f%f”,&x,&y);

C) scanf(“%lf%le”,px,py); D) scanf(“%lf%lf”,x,y);


正确答案:C

第9题:

若有以下定义语句: double a[5]; int i=0; 能正确给a数组元素输入数据的语句是 ( )

A.scanf("%lf%lf%lf%lf%lf,a) ;

B.for(i=0;i<=5;i++)scanf("%lf,a+i);

C.while(i<5)scanf("%lf",&a[i++]);

D.while(i<5)seanf("%lf,a+i);


正确答案:C

第10题:

若有说明,double*m,n;则能通过sCanf语句正确给输入项读人数据的程序段是( )。

A.*m = &n;scanf("%lf",m);

B.m = (double * ) malloc(10);scanf("%f",m);

C.m = &n;scanf("%lf",n);

D.m = &n;scanf("%le",m);


正确答案:D
解析:选项A,*m=&n错误。选项B,输入double型,要用%lf或%le,否则数据不能正常输入。选项C,n是变量,不是指针,scanf("%if",n)错误。

更多相关问题