几道C语言基础计算题,求详解若定义a1,a2为int型数据,c1,c2为char型数据,且scanf("%d%c%d%c",&a1,&c1,&a2,&c2); 正确的输入格式为【 】.(其中□表示空格,c1和c2最后的值不能为空格,最终a1、a2、c1、c2的值
来源:学生作业帮助网 编辑:作业帮 时间:2024/07/04 21:43:47
![几道C语言基础计算题,求详解若定义a1,a2为int型数据,c1,c2为char型数据,且scanf(](/uploads/image/z/12292145-17-5.jpg?t=%E5%87%A0%E9%81%93C%E8%AF%AD%E8%A8%80%E5%9F%BA%E7%A1%80%E8%AE%A1%E7%AE%97%E9%A2%98%2C%E6%B1%82%E8%AF%A6%E8%A7%A3%E8%8B%A5%E5%AE%9A%E4%B9%89a1%2Ca2%E4%B8%BAint%E5%9E%8B%E6%95%B0%E6%8D%AE%2Cc1%2Cc2%E4%B8%BAchar%E5%9E%8B%E6%95%B0%E6%8D%AE%2C%E4%B8%94scanf%28%22%25d%25c%25d%25c%22%2C%26a1%2C%26c1%2C%26a2%2C%26c2%29%3B+%E6%AD%A3%E7%A1%AE%E7%9A%84%E8%BE%93%E5%85%A5%E6%A0%BC%E5%BC%8F%E4%B8%BA%E3%80%90+%E3%80%91.%EF%BC%88%E5%85%B6%E4%B8%AD%E2%96%A1%E8%A1%A8%E7%A4%BA%E7%A9%BA%E6%A0%BC%2Cc1%E5%92%8Cc2%E6%9C%80%E5%90%8E%E7%9A%84%E5%80%BC%E4%B8%8D%E8%83%BD%E4%B8%BA%E7%A9%BA%E6%A0%BC%2C%E6%9C%80%E7%BB%88a1%E3%80%81a2%E3%80%81c1%E3%80%81c2%E7%9A%84%E5%80%BC)
几道C语言基础计算题,求详解若定义a1,a2为int型数据,c1,c2为char型数据,且scanf("%d%c%d%c",&a1,&c1,&a2,&c2); 正确的输入格式为【 】.(其中□表示空格,c1和c2最后的值不能为空格,最终a1、a2、c1、c2的值
几道C语言基础计算题,求详解
若定义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;
几道C语言基础计算题,求详解若定义a1,a2为int型数据,c1,c2为char型数据,且scanf("%d%c%d%c",&a1,&c1,&a2,&c2); 正确的输入格式为【 】.(其中□表示空格,c1和c2最后的值不能为空格,最终a1、a2、c1、c2的值
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