设有定义:“int a;float b;”,执行“scanf("%2d%f",&a,&b);”语句时,若从键盘输入876543.0,a和b 的值

题目

设有定义:“int a;float b;”,执行“scanf("%2d%f",&a,&b);”语句时,若从键盘输入876543.0,a和b 的值分别是( )。

A.876和543.000000

B.87和6.000000

C.87和543.000000

D.76和543.000000

如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

已知a、b、c为int型变量,若从键盘输入:1,2,3<回车>,使a的值为1、b的值为2、c的值为3,以下选项中正确的输入语句是 。

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

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

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

D.scanf(“a=%d,b=%d,c=%d”,&a,&b,&c);


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

第2题:

2、若a定义为int 型,x定义为float型,以下能给变量正确赋值的scanf 函数调用语句为 。

A.scanf("%d%f",a,x);

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

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

D.scanf("%f%d",&a,&x);


2 2 解析:本题考查表达式的运算。因为x=1,y=2,所以表达式(x+y)%2=3%2=1,(int)a/(int)b=(int)}(3/2)=1,因此整个表达式的结果为(x+y)%2+(int)a/(int)b=1+1=2。

第3题:

设有定义:“int a;float b;”,执行“scanf("%2d%f",&a,&b);”语句时,若从键盘输入876543.0<回车>,a和b 的值分别是( )。

A.876和543.000000

B.87和6.000000

C.87和543.000000

D.76和543.000000


正确答案:B
本题考查scanf函数,输入格式符%2d%f表示只接收了字符,其中a输入的值为2位的十进制整数,即87,然后将紧接着的6赋给b,因为b的值为单精度数在,即6.000000,故选择B选项。

第4题:

高有定义 int a; float b; 执行 scanf("%2d%f",&a,&b);语句时,若从键盘输入876<空格> 854.0<回车>,a 和 b 的值分别是( )。

A.876和543.000000

B.87和6.000000

C.87和543.000000

D.76和543.000000


正确答案:B
seanf函数用空格区分不同字符串的输入,因此876和543.0被看作两段输入。%2d只选取了第一个输人中的前两位,%f选取随后的数字作为浮点数,因此输出结果为87和6.000000。

第5题:

已知i、j、k为int型变量,若从键盘输入:1,2,3<回车>,使i的值为1、i的值为2、k的值为3,以下选项中正确

已知i、j、k为int型变量,若从键盘输入:1,2,3<回车>,使i的值为1、i的值为2、k的值为3,以下选项中正确的输入语句是

A.scanf(“%2d%2d%2d”,&i,&j,&k);

B.scanf(“%d %d %d”,&i,&j,&k);

C.scanf(“%d,%d,%d”,&i,&j,&k);

D.scanf(“i=%d, j=%d,k=%d”,&i,&j,&k);


正确答案:C
解析:本题考查的知识点是输入函数scanf()基本用法。使用该语句时,要求除格式控制符以外的字符都要原样输入,“,”为非格式符,要原样输入。选项A,输入格式描述为“%2d%2d%2d”,输入要用空格隔开,不满足键盘输入1,2,3的条件,故A错误:选项B中,输入格式描述符为“%d%d%d”,输入也要用空格隔开,故错误:选项D中,输入格式描述符为“i=%d,i=%d,k=%d”,应该从键盘输入i=1,j=2,k=3,才能使得i,j,k的值为1,2,3,故选项D错误。4个选项中C正确。

第6题:

设有定义:“int a;float b;”,执行“scanf("%2d%f",&a,&b);”语句时,若从键盘输入876543.0<回车>,a和b 的值分别是( )。

A.A.876和543.000000

B.87和6.000000

C.87和6543.000000

D.76和543.000000


正确答案:B
本题考查scanf函数,输入格式符%2d%f表示只接收了字符,其中a输入的值为2位的十进制整数,即87,然后将紧接着的6赋给b,因为b的值为单精度数在,即6.000000,故选择B选项。

第7题:

设有定义int a;float b;执行scanf("%2d%f",&a,&b);语句时,若从键盘输入876543.0<回车>,a

设有定义int a;float b;执行scanf("%2d%f",&a,&b);语句时,若从键盘输入876543.0<回车>,a和b的值分别是______。

A.876和543.000000

B.87和6.000000

C.87和543.000000

D.76和543.000000


正确答案:B
解析: “%2d”指定输入数据所占宽度为2,&是C语言中的求地址运算符。

第8题:

设有定义:int a; float b;执行scanf("%2d%f",&a,&b);语句时,若从键盘输入876 543.0<回车>, a和b的值分别是______。

A.876和543.000000

B.87和6.000000

C.87和543.000000

D.76和543.000000


正确答案:B
解析:对于unsigned型数据可以指定数据的输入域宽w,系统秒将自动按w值截取所需长度的数据,此题中指定输入域宽为2,所以把前两个数送给a,即a=87.后面的数值应送给变量b,由于6后面是空格分隔符,所以系统认为该数据到此结束,即将6赋给了b,所以答案选B。

第9题:

设有定义: int a; float b; 执行 scanf("%2d%f",&a,&b); 语句时,若从键盘输入876 543.0< 回车 > , a 和 b 的值分别是

A)876 和 543.000000

B)87 和 6.000000

C)87 和 543.000000

D)76 和 543.000000


正确答案:B
( 18 )
答案 B
解析 : 本题考查了 scanf 的附加格式说明字符 , 输入格式字符 %2d%f 表示 a 输入的值为 2 列的十进制整数,即 87 ,然后将紧接着的 6 赋值给 b, 因此 b 的单值精度数位 6 ,即 6,000000 。故本题的答案为 B 。