资源描述:
《C语言程序设计实验参考答案(3).pdf》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、实验三顺序结构程序设计(下)1.阅读程序,尝试写出程序的运行结果,然后输入并调试程序,对照其实际输出与分析的结果是否一致,若不一致,请找出原因。⑴阅读并分析以下程序的输出结果,上机调试,对比实际的输出与分析的结果是否一致。#include"stdio.h"voidmain()分析一致否{charch=65;1:65,A,65,Ainta=1234;longg=12345678;2:1234,1234,2322,4d2floatf=123.456789f;3:123.457,123.456787,1.234568e+002doubled=9.876543E2;printf("1:%d,%c,%5
2、d,%3c",ch,ch,ch,ch);4:987.65,987.654300,9.876543e+002printf("2:%8d,%-8d,%o,%x",a,a,a,a);5:Hello,world!,Helprintf("3:%10.3f,%f,%e",f,f,f);printf("4:%-10.2lf,%lf,%le",d,d,d);printf("5:%10s,%10.3s","Hello,world!","Hello,world!");}⑵阅读并分析以下程序的输入、输出结果,上机调试,对比实际的输出并分析其原因。#includemain()运行
3、程序后如果输入:1【Enter】{inta,b,c;ab【Enter】a=getchar();则程序的输出结果为:b=getchar();a=49b=10c=97c=getchar();a=1b=printf("a=%db=%dc=%d",a,b,c);c=aprintf("a=%cb=%cc=%c",a,b,c);简要说明原因:}b=getchar()获取的是【enter】键的值,c=getchar()获取的是字符‘a’如果要得到输出结果为a=1b=ac=b,则正确的输入方法是:1ab【enter】⑶阅读并分析以下程序的输出结果,上机调试,并输入100,200【erter】,对比实际
4、的输出并分析其原因。一致否#include"stdio.h"1:a的值=10,a的内存地址值=1245052voidmain()2:p的值=1245052,p的内存地址值=1245044,p所指向的内存单元的值=10{3:a的值=100,b的值=200,p所指向的内存单元的值=100inta=10,b;int*p;//p为指向整型变量的指针变量printf("1:a的值=%d,a的内存地址值=%d",a,&a);//&a:获取变量a的内存地址值p=&a;//将变量a的内存地址值赋给指针变量pprintf("2:p的值=%d,p的内存地址值=%d,p所指向的内存单元的值=%d",p,&p
5、,*p);1scanf("%d,%d",p,&b);//运行时输入100,200【enter】printf("3:a的值=%d,b的值=%d,p所指向的内存单元的值=%d",a,b,*p);}2.编写程序计算出下列表达式的值(输出格式符根据表达式值的可能类型自行给出)1200223.53⑴⑵5×520⑶ln(10+2)⑷sin(45°)+e⑸'Z'-'A'+'a'-'A'2445⑴表达式为1200.0/(24-4*5)表达式的值为:300.000000⑵表达式为5*sqrt(pow(5,2)+pow(20,2))表达式的值为:103.077641⑶表达式为log(pow(10,3.5
6、)+2)表达式的值为:8.059680⑷表达式为sin(3.14159*45/180)+exp(3)表达式的值为:20.792643⑸表达式为'Z'-'A'+'a'-'A'表达式的值为:573.编写程序并上机调试22⑴求一元二次方程ax+bx+c=0的实根x1,x2,。a,b,c的值由键盘输入,设b-4ac>0。输入输出示例如下:(提示:用到C语言的库函数sqrt()(参见附录2P374))请输入三个系数a,b,c的值:1,3,2【enter】a=1,b=3,c=2x1=-1.00x2=-2.00#include#include"stdio.h"voidmain(){doubl
7、ea,b,c,deta,x1,x2;printf("请输入三个系数a,b,c的值:");/scanf("%lf,%lf,%lf",&a,&b,&c);printf("a=%lf,b=%lf,c=%lf",a,b,c);deta=b*b-4*a*c;if(deta>=0){x1=(-b+sqrt(deta))/(2*a);x2=(-b-sqrt(deta))/2/a;printf("x1=%.2