c语言实验三
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验3最简单的C程序设计——顺序程序设计
1. 实验目的
(1)掌握C语言中使用最多的语
(2)掌握类型转换。
(3)掌握编写程序和调试程序的方法。
2. 实验内容
(1)输入以下程序;运行并分析结果。
#include
int main()
{int a,b;
float d,e;
char c1,c2;
double f,g;
long m,n;
unsiguld int p,q;
a = 61;
b = 62;
c1 = 'a';c2 = 'b';
d = 3.56;
e = -6.87;
f = 3157.890121;
g = 0.123456789;
m = 50000; n = -60000;
p = 32768; q = 40000;
printf ( "a=%d,b=%d\nc1=%c,c2=%c\nd=%6.2f,e= %6.2f\n",a,b,c1,c2,d,e);
printf ( "f=%15.6f,g=%15.12lf\nm=%1d,n=%ld\np=%u,q=%u\n",f,g,m,n,p,q);
}
运行结果:
}
错误分析:
1.第八行的unsigned拼写错误,其意思是无符号。
2.警告
3.56是常量double,而d定义的类型确是float。不能隐式转换。
3.main函数需要返回值,在结尾处添加return 0;即可。
修改后的程序:
#include
int main()
{int a,b;
double d,e;
char c1,c2;
double f,g;
long m,n;
unsigned int p,q;
a = 61;
b = 62;
c1 = 'a';c2 = 'b';
d = 3.56;
e = -6.87;
f = 3157.890121;
g = 0.123456789;
m = 50000;n = -60000;
p = 32768;q = 40000;
printf ( "a=%d,b=%d\nc1=%c,c2=%c\nd=%6.2f,e= %6.2f\n",a,b,c1,c2,d,e);
printf ( "f=%15.6f,g=%15.12lf\nm=%1d,n=%ld\np=%u,q=%u\n",f,g,m,n,p,q);
return 0;
}
运行结果:
(2)在此基础上将第10—14行改为:
a = 61;
b = 62;
c1 = a;c2 = b;
f = 3157.890121;
g = 0.123456789;
d=f;e=g;
p=a=m=50000;q=b=n=-60000;
分析:
1.a,b在倒数第五行又重新赋值了,这才导致啊a,b的输出不是61和62。
2.a = 61;b = 62;导致c1等于61最后以字符输出,即61这个ASCII码对应的字符。
3.%u表示无符号10进制整型,但是q=b=n=-60000;确是负值。那么输出只能是随机值。
运行结果:
判断字节数只需在程序中在写入以下输出语句即可:
printf("int的字节数是:%d\n",sizeof(int));
printf("float的字节数是:%d\n",sizeof(float));
printf("double的字节数是:%d\n",sizeof(double));
printf("char的字节数是:%d\n",sizeof(char));
printf("long的字节数是:%d\n",sizeof(long));
printf("unsigned int的字节数是:%d",sizeof(unsigned int));
输出结果为: