c语言实验三.doc
实验3 最简单的C程序设计顺序程序设计 1. 实验目的(1) 掌握C语言中使用最多的语(2) 掌握类型转换。(3) 掌握编写程序和调试程序的方法。2. 实验内容(1) 输入以下程序;运行并分析结果。#include<stdio.h>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=%dnc1=%c,c2=%cnd=%6.2f,e= %6.2fn",a,b,c1,c2,d,e);printf ( "f=%15.6f,g=%15.12lfnm=%1d,n=%ldnp=%u,q=%un",f,g,m,n,p,q);运行结果:错误分析:1. 第八行的unsigned拼写错误,其意思是无符号。2. 警告3.56是常量double,而d定义的类型确是float。不能隐式转换。3. main函数需要返回值,在结尾处添加return 0;即可。修改后的程序:#include<stdio.h>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=%dnc1=%c,c2=%cnd=%6.2f,e= %6.2fn",a,b,c1,c2,d,e);printf ( "f=%15.6f,g=%15.12lfnm=%1d,n=%ldnp=%u,q=%un",f,g,m,n,p,q);return 0;运行结果:(2)在此基础上将第1014行改为: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的字节数是:%dn",sizeof(int); printf("float的字节数是:%dn",sizeof(float); printf("double的字节数是:%dn",sizeof(double); printf("char的字节数是:%dn",sizeof(char); printf("long的字节数是:%dn",sizeof(long); printf("unsigned int的字节数是:%d",sizeof(unsigned int); 输出结果为:4单 为 出) 计 ( 是设字计 ) " 是节 握" 语 ) 用 多"语是字 ") )握 转 。 %数的 掌" )序 和 程 %是 。" )(验 , 是 字 ( 可以句输以中;在数行果值机析只么果。确0 -= ,0号表符的码 出字最于 ; 和是输,致这,重又数,析000 00= 0 ; 为行 第上此果0 ), , %,% , =. " ), .%,. =,% =% (00 = 00 00 .'' ;'= ; , , ( 序的可可 处在返数换式不。 确类而 常是号号是误拼 析果),"%, =% = ), , ,".% = = %= 00 = =00 =00 ;0. = ' = '= ( . <