几道C语言基础计算题,求详解
若定义a1,a2为int型数据,c1,c2为char型数据,且scanf("%d%c%d%c",&a1,&c1,&a2,&c2);正确的输入格式为【】。(其中□表示空格,...
若定义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; 展开
(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; 展开
推荐于2018-05-09
展开全部
5、scanf的格式化输入"%d%c%d%c"中没有指定分隔符,默认以空格、回车、tab为输入分隔,所以选B
6、"%3d%f"第一个输入指定长度为3,所以会截取12345的前三位置入x中,后2位置入y中,空格分开的67相当于第三个输入数字,没有置入任何变量,所以选B
7、printf的格式化输出"x+y+z=%d\n"中的x+y+z=为普通字符,原样输出,%d指定以整型方式输出x+y+z的和值,所以选A
8、A和B的写法程序不会报错,但输入的东西没有赋给任何变量,等于无效;C浮点输入时不必指定格式也可得到正确结果,所以选D
9、"x=%d,y=%d,z=%d"格式化输入,除了%d用具体数字替换外,其他都要在输入中正确写出来了,所以选C
10、"%-8.3f\n",长度为8,小数保留3位,不足的右侧补空格
"%10.3f",长度为10,小数保留3位,不足的左侧补空格
所以选B
11、unsigned int长度为2字节,65535的二进制码为1111 1111 1111 1111
%d按有符号整型来输出,上面的二进制码相当于-1的补码,所以输出为-1,选D
注,这个长度是turbo C中的标准,换到VC6.0已经是4字节了,所以没有发生溢出,还是输出65535
12、%运算符只支持整型,所以选B
6、"%3d%f"第一个输入指定长度为3,所以会截取12345的前三位置入x中,后2位置入y中,空格分开的67相当于第三个输入数字,没有置入任何变量,所以选B
7、printf的格式化输出"x+y+z=%d\n"中的x+y+z=为普通字符,原样输出,%d指定以整型方式输出x+y+z的和值,所以选A
8、A和B的写法程序不会报错,但输入的东西没有赋给任何变量,等于无效;C浮点输入时不必指定格式也可得到正确结果,所以选D
9、"x=%d,y=%d,z=%d"格式化输入,除了%d用具体数字替换外,其他都要在输入中正确写出来了,所以选C
10、"%-8.3f\n",长度为8,小数保留3位,不足的右侧补空格
"%10.3f",长度为10,小数保留3位,不足的左侧补空格
所以选B
11、unsigned int长度为2字节,65535的二进制码为1111 1111 1111 1111
%d按有符号整型来输出,上面的二进制码相当于-1的补码,所以输出为-1,选D
注,这个长度是turbo C中的标准,换到VC6.0已经是4字节了,所以没有发生溢出,还是输出65535
12、%运算符只支持整型,所以选B
展开全部
1.B
6.B
7.A
8.D
9.C
10.输出结果为1234.123
□□1234.123
只有B勉强对
11.A
12.B
6.B
7.A
8.D
9.C
10.输出结果为1234.123
□□1234.123
只有B勉强对
11.A
12.B
追问
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
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询