几道C语言基础计算题,求详解若定义a1,a2为int型数据,c1,c2为char型数据,且scanf("%d%c%d%c",&a1,&c1,&a2,&c2); 正确的输入格式为【 】.(其中□表示空格,c1和c2最后的值不能为空格,最终a1、a2、c1、c2的值

来源:学生作业帮助网 编辑:作业帮 时间:2024/04/26 01:00:29
几道C语言基础计算题,求详解若定义a1,a2为int型数据,c1,c2为char型数据,且scanf(

几道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