资源描述:
《c实验参考答案(湖北民族学院计算机c语言课后习题答案)》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、实验二基本数据类型、运算符及表达式1.分析以下程序,判断输出结果,然后上机运行程序验证结果。(1)#includemain(){intsum=1;sum=sum+100;printf("SUM=%d",sum);}输出结果为:101(2)改正后的程序为:#includemain(){charch1,ch2;ch1='b';//不能把字符串"b"赋给字符变量ch2=ch1-32;printf("%c%d%c%d",ch2,ch2,ch1,ch1);}(3)#includemain(){inta=1
2、0,b=3;printf("%d",(a=a-1,b+a,b+2));}输出结果为5,(a=a-1,b+a,b+2)作为一个逗号表达式。(4)#includemain(){inta=5,b=3,c=4;a*=a+=3;b=++c;c=b++;a=b+++c;printf("%d,%d,%d",a,b,c);}输出结果为:11,7,5(5)程序改正为:#includemain(){inta=1,b=2,c=3,logic;logic=a+b>c&&b<=c;printf("logic=%d",logic);lo
3、gic=a>=b+c
4、
5、b==c;printf("logic=%d",logic);logic=!(a#includeHIGH10//改为:#includeHIGH10main(){inta=5;//可再定义一个变量bHIGH*=HIGH;//HIGH是宏名,不能被赋值,可改为:b=HIGH*HIGH;printf("
6、n%d,%d",a,HIGH);//输出a,b的值}改正后的程序为:#include#defineHIGH10main(){inta=5,b;b=HIGH*HIGH;printf("%d,%d",a,b);}输出结果为:5,100(2)此程序功能为将输入的华氏温度转换成摄氏温度,公式为c=5/9·(f–32)。#includemain(){floatc,f ;scanf("%f",f) ;//输入时,变量要用&取地址c=(5/9)·(F–32) ;//5/9是为0的,要变成实数。F没有定义,定义的是fprintf((
7、"F=%f,C=%f",f,c) ;//多了一个左括号}改正后的程序为:#includevoidmain(){floatc,f;scanf("%f",&f);c=(5.0/9)*(f-32);printf("F=%f,C=%f",f,c);}(3)此程序功能是求:y=。#include#includemain(){inta;doublex,y;Scanf("%d%f",&a,&x) ;//scanf不能大写,x的类型是double,格式化字符应该用%ldy=SIN(sqr(ax)+LN(a+x)
8、;//sin函数不能大写,sqr应该为sqrt,ax应为a*a,LN不是有效的函数名,要求自然对数用的是log(),另外括号不匹配printf("Y=%f",y) ;//y的类型是double,格式化字符应该用%ld}程序改正后为:#include#includemain(){inta;doublex,y;scanf("%d%lf",&a,&x);//scanf不能大写y=sin(sqrt(a*x)+log(a+x));//sin函数不能大写,ax应为a*a,LN不是有效的函数名,要求自然对数用的是log(),另外括号
9、不匹配printf("Y=%lf",y);}3.此程序用于说明数据类型转换,调试运行该程序,然后回答下列问题。①此程序中定义了哪几种数据类型的变量?②指出程序中哪处为自动类型转换,哪处为强制类型转换。③变量c按字符形式输出后,该字符是什么?它是ASCII码字符吗?④对变量x的输出结果给予解释。#includemain(){intw,x;floatf1,f2=1.23456789E9;charc=227;unsignedinty=65535;w=23.4567;f1=(float)w;x=y;printf("w=%d,f1=%f,f2=
10、%f",w,f1,f2);printf("c=%c,y=%u,