资源描述:
《2009年C语言程序设计实验指导答案》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、----------专业最好文档,专业为你服务,急你所急,供你所需-------------文档下载最佳的地方#includeintmian(){return0;}#includeVoidmain(){}实验二:变量类型与输入输出1.a=34,a=53,b=1234,b=4660☆因为0x1234超出了字符类型的表示范围,因此打印的结果看起来奇怪。2.输入:a回车输出:****ch1=a,97********ch2=10,****解释ch2的输出:由于输入a回车,因此ch2的值就接受了这个回车,而
2、回车的ascii码的值等于10,因此出现这种结果。如果要修改,需要在ch2=getchar()之前加入一句:getchar();☆☆☆3.把scanf(“%d”,a)改为scanf(“%f”,&a)4.把scanf(“%f”,&a)改为scanf(“%lf”,&a),因为a是double类型的。☆☆☆5.42^^^^^^^^^^^^^^^^42123.540000123.5400001.235400e+0021.235400e+0026.正确的形式:a=3.12,b=9.0c=10.0注意的事项是在scanf()中,””中的内容按照
3、原样输入,尽管在实践中没有按照此题那样进行类似输入。7.此题不用看8.#include#definePI3.14159intmain(){doubleradius,high,volume;printf("pleaseinputtheradiusandhigh!");scanf("%lf%lf",&radius,&high);----------专业最好文档,专业为你服务,急你所急,供你所需-------------文档下载最佳的地方----------专业最好文档,专业为你服务,急你所急,供你所需---------
4、----文档下载最佳的地方volume=PI*radius*radius*high;printf("thevolumeis:%lf",volume);return0;}9#includeintmain(){inti;printf("pleaseinputthevalue!");scanf("%d",&i);printf("%u,%o,%x",i,i,i);//分别以无符号、八进制、十六进制return0;}10#includeintmain(){charch;printf("pleaseinput
5、thecharacter!");scanf("%c",&ch);printf("itsASCIIcodeis:%d",ch);/*字符型就是短整形因此用%d格式控制就可打印asciicode*/return0;}1112easy忽略实验三:运算符与表达式----------专业最好文档,专业为你服务,急你所急,供你所需-------------文档下载最佳的地方----------专业最好文档,专业为你服务,急你所急,供你所需-------------文档下载最佳的地方1.输出:a=2,b=1,i=2,这是因为++放在后面是“先使用
6、后自加”。☆☆☆☆☆2.输出:f=5.750000,(int)f=5,这是因为利用了强制类型转换(int)3.输出:a=3,b=2,c=3,d=3解释:a和b值不同的原因是在给a赋值的时刻,2,3是用括号包围的,而b没有,而逗号表达式的值等于最后面的那个值。☆☆☆☆☆4.输出:-264原因是首先执行a-=a*a也就是a=12-(12*12)=-132,然后a+=a因此变为-264☆☆5.输出:a=2,b=0,c=2,d=1这是因为在执行b=a++&&c++时,由于首先使用a的当前值为0,而在“&&”运算符中当左侧的操作数为0时会发生
7、“短路”现象,即不再计算右侧的”c++”直接就可以判定b=0,因此在这一步中c的值并没有发生变化,而运算完此步a=1。而在下一步d=a++
8、
9、++c中,同样会发生短路现象,因为此时首先利用a的当前值1直接就可以判定d=1,而不再执行++c☆☆☆☆☆6.输出:3,18输出:3,3还是逗号运算符和赋值运算符的问题☆☆☆☆☆7.把s=1/2*a*b改为s=1.0/2*a*b千万不要忘了在c语言中1/2=0☆☆☆☆☆8.easy!9.#include----------专业最好文档,专业为你服务,急你所急,供你所需----
10、---------文档下载最佳的地方----------专业最好文档,专业为你服务,急你所急,供你所需-------------文档下载最佳的地方intmain(){charch;printf("pleaseinputthelower