请解释下面的题答案怎么得出来的,详细解释(刚刚学C语言不懂) 1. 当运行以下程序时,在键盘上从第一列开始输入9876543210↙(此处↙代表回车),则程序的输出结果是
main ( )
{ int a; float b,c;
scanf(” %2d%3f%4f”,&a,&b,&c);
printf(” \na=%d,b=%f,c=%f\n”,a,b,c);
}2. 下面程序的输出结果是 main ( ) { int x=10,y=3,z; printf( ”%d\n ” ,z=(x%y,x/y)) ; } 3.下面程序的输出结果是 main ( ) { double a; float b; int c; c=b=a=40/3; printf( ”%d %f %f\n ” ,c,b,a); }
c语言题解释
答案:5 悬赏:30
解决时间 2021-03-12 12:06
- 提问者网友:花之森
- 2021-03-11 12:02
最佳答案
- 二级知识专家网友:一身浪痞味
- 2021-03-11 12:18
第一道题:第一行,是你定义下面程序多要用到的变量,int是整型,也就是说只能是整数,比如2;float类型,就是小数,比如2.3等,下面的scanf是让你输入数值的意思,括号后面有三个字母变量,也就是说你要输入三个数字,分别赋给a,b,c;printf是输出你刚才的数值。解答完毕。
第二道题意思差不多,double类型也是小数类型,精确度比float类型要高。后面c=b=a=40/3,"/"是除的意思,把商分别赋给a,b,c。这时a,b,c的值就都是一样的了。
你这样问是不理智的,你可以找C语言的书籍来学。都很简单明了,实在不行,可以报这样的学习班。很多的。
第二道题意思差不多,double类型也是小数类型,精确度比float类型要高。后面c=b=a=40/3,"/"是除的意思,把商分别赋给a,b,c。这时a,b,c的值就都是一样的了。
你这样问是不理智的,你可以找C语言的书籍来学。都很简单明了,实在不行,可以报这样的学习班。很多的。
全部回答
- 1楼网友:初心未变
- 2021-03-11 15:23
对于第一个我感觉有必要给你解释一下:a=98,b=765.000000,c=4321.000000.你输入上述的数后,输出的数就和你输出时间隔有关了。自己试一下就好了,至于问什么,这要用内存方面的知识。第二题和第三题,没必要讲的。z=3,当两个数据用逗号隔开时,默认后面的那个数据!第三个我不想说了。x%y是求余数的。
- 2楼网友:星痕之殇
- 2021-03-11 14:05
main ( )
{ int a; float b,c;
scanf(” %2d%3f%4f”,&a,&b,&c);//输入一串数字分别保存到a,b,c中,但%2d%3f%4f表示接收2个整形数字到a中,三个浮点型数据到b中,四个浮点型数据到c中
printf(” \na=%d,b=%f,c=%f\n”,a,b,c);
}
所以结果将输出
a=98,b=765.000000,c=4321.000000
main ( ) {
int x=10,y=3,z;
printf( ”%d\n ” ,z=(x%y,x/y)) ; //当两个数据用逗号隔开时,程序将从后面开始读取数据给格式控制符
}
所以输出10/3=3
main ()
{
double a;
float b;
int c;
c=b=a=40/3; //这里其实是不对的,不能把浮点型数据给整形变量,但不会影响执行,编译器只会警告,等式是从右向左执行的,所以先把40/3=13给整形a,然后再给浮点型b,再赋值给整形c,所以都将输出13
printf( "%d %f %f\n " ,c,b,a);
- 3楼网友:气场征服一切
- 2021-03-11 13:09
(1) scanf(” %2d%3f%4f”,&a,&b,&c); //a读2个数字,b读3个数字,c读4个数字
拍入 9876543210 , a=98, b=765, c=4321; 输出 a=98,b=765.000000,c=4321.000000
(2) int x=10,y=3,z;
z=(x%y,x/y) 输出 逗号表达式的值 x/y, 即 3。
(3)double a; float b; int c;
c=b=a=40/3;
40/3 是整除运算,得 13
printf( ”%d %f %f\n ” ,c,b,a); 输出 13 13.000000 13.000000
- 4楼网友:萝莉姐姐鹿小北
- 2021-03-11 12:57
printf("%d,%f,%d,%c",a,x,a,c2);
首先,a最后的值是 a=c1也就是a='k'而'k'的ascii码是107,所以输出a自然是107
再看x,由于x=b,也就是x=322,而x是浮点数,所以输出322.000000
关键看最后这个c2,由于c2是字符型,也就是8位二进制数,将322转换为二进制为:101000010,共9位,放弃最高位得:01000010,换算成10进制数位66,也就是字母'b'的ascii码,所以输出的是字母'b'
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯