c语言c++题目

1,
/* e2.c */
#include<stdio.h>
void main()
{
float a1,a2;
double b1,b2;
a1=3141.59;a2=0.000001;
b1=3141.59;b2=0.000001;
printf("%f,%lf\n",a1+a2,b1+b2);
}
结果:
解释:
2。
/* e3.c */
#include<stdio.h>
void main()
{
float x=5/2,y=5.0/2;
printf("x=%f,y=%f\n",x,y);
}
结果:
解释:
3。
/*e4.c*/
#include <stdio.h>
void main()
{
char ch1,ch2,ch;
unsigned char c;
int a;

ch1=80;
ch2=60;
ch=ch1+ch2;
c=ch1+ch2;
a=ch1+ch2;

printf("ch1+ch2=%d\n",ch1+ch2);
printf("ch=%d\n",ch);
printf("c=%d\n",c);
printf("a=%d\n",a);
}
问题1:运行该程序,写出输出结果。并说明为什么存在输出结果的差异?
问题2:如果要求四行输出的结果均为140,在不改变变量的数据类型的基础上,则应修改程序中的哪条语句?怎样修改?

我不说结果,我告诉你怎么做。
1,float、double你看他们对应什么类型的,一个是浮点数类型,一个是双精度类型。C语言书里应该有告诉你他们对应多少位的数据。
2,同上。
3,char类型,unsigned char类型。你书上看看。一个是字符类型,一个是无符号字符类型。
----------------------------------
你这些题目都是关于数据类型的定义问题,建议你好好看书。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-04-16
看书+自己实验=真理
第2个回答  2010-04-15
问教材比较快啊
相似回答