1.D
原因是:%3d将前三位数123赋给了x,所以x的值为123;后来的数将赋给浮点数y,而输入数据12345 678中,45后输入了空格导致之后的678无效,故y的值为45.000000
2.
原因是:先运行c1=getchar,从输入的12a345b789中读入一个字符,使得c1=1;接着运行scanf("%2d",&a1)本应读取两个数字整形了,a不为数字整形,故只读取了2,使得a1=2;以此类推,c2=a;a2继续取3个数字整形,即345
3.
分别是:17,21,11
后两个数分别为17转8进制和17转16进制的结果
4.
3.140000和3.142
浮点数6位小数;最小4位字符数后保留3位小数
5
##include <stdio.h>
main()
{
char ch;
printf("Press a key and then press Enter:");
ch = getchar();
ch = ch + 32;
putchar(ch);
putchar('\n');
return 0;
}
6
#include <stdio.h>
int main()
{
int a;char b;float c;
printf("Please input an integer:");
scanf("%d",&a);
printf("integer:%d\n",a);
printf("Please input a char:");
scanf("%c",&b);
printf("char:%c\n",b);
printf("Please input a float number:");
scanf("%f",&c);
printf("float:%f\n",c);
}
#include <stdio.h>
int main()
{
int a;char b;float c;
printf("Please input an integer:");
scanf("%d",&a);
printf("integer:%d\n",a);
getchar();
printf("Please input a char:");
scanf("%c",&b);
printf("char:%c\n",b);
printf("Please input a float number:");
scanf("%f",&c);
printf("float:%f\n",c);
}