若定义a1,a2为int型数据,c1,c2为char型数据,且scanf("%d%c%d%c",&a1,&c1,&a2,&c2); 正确的输入格式为【 】。(其中□表示空格,c1和c2最后的值不能为空格,最终a1、a2、c1、c2的值分别为10、20、A、B)
(A)10A□20B<回车> (B)10□A□20□B<回车>
(C)10□A20B<回车> (D)10A20□B<回车>
6.假设定义int x;float y;且执行scanf("%3d%f",&x,&y);语句时,从第一列开始输入数据12345□67<回车>,则x和y的值分别为【 】。(其中□表示空格)
(A)12345 不确定 (B)123 45.000000
(C)45 678.000000 (D)345 123.000000
7.阅读以下程序,并根据数据的输入形式:25,13,10<回车>,正确的输出结果为【 】。
void main()
{
int x,y,z;
scanf("%d%d%d",&x,&y,&z);
printf("x+y+z=%d\n",x+y+z);
}
(A) x+y+z=48 (B) x+y+z=35
(C) x+z=35 (D) 不确定
8.以下说法正确的是【 】 。
(A) 输入项可以为一个实型常量,如:scanf("%f",3.5);
(B) 只有格式控制而没有输入项时,也能够进行正确输入,如:scanf("a=%d,b=%d");
(C)当输入一个实型数据时,格式控制部分应规定小数点后的位数,如:scanf("%4.2f",&f);
(D)当输入数据时,必须指明变量的地址,如:scanf("%f",&f);
9.假设有如下输入语句: scanf("x=%d,y=%d,z=%d",&x,&y,&z);
若要使变量x的值为1,y的值为3,z的值为2,从键盘输入数据的正确形式应当是【 】。
(A)132<回车> (B)1,3,2<回车>
(C)x=1,y=3,z=2<回车> (D)x=1 y=3 z=2<回车>
10.若m为float型变量,则执行以下语句后的输出为【 】。
m=1234.123;
printf("%-8.3f\n",m);
printf("%10.3f",m);
(A) □□1234.123 (B)1234.123
1234.123 □□1234.123
(C)1234.123 (D)-1234.123
1234.123 □□1234.123
11.若x为unsigned int型变量,则执行以下语句后的输出为【 】。
x=65535;
printf("%d",x);
(A)65535 (B)1 (C)无确定值 (D)-1
12.假设x和y均为float型变量,则以下赋值语句中不合法的是【 】。
(A) x=+1; (B) y=(x%2)/10;
(C) x*=y+8; (D) x=y=0;
x=15;
y=5;
printf("%d",x%=(y%=3));
结果是什么,X%=代表什么意思
%是求余运算符,x%y,x,y均为int型数据
x%y的值就是x/y的余数
x%=3,等价于x=x%3;就是把x/3的余数赋给x
x%=(y%=3)//先计算y%3的值为2,然后计算x%2的值为1
所以输出1