1、实验二第一题(1)#include “stdio.h“main( )int a,b;float 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;d=f;e=g;p=a=m=50000;q=b=n=-60000;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.2fn m=%ld,n=%ldnp=
2、%u,q=%un“,f,g,m,n,p,q);getch();运行结果:(2)#include “stdio.h“main( )int a,b;float 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;d=f;e=g;p=a=m=50000;q=b=n=-60000;printf(“a=%d,b=%dnc1=%c,c2=%cn d=%15.6f,e=%15.6fn“,a,b,c1,c2,d,e);printf(“
3、f=%f,g=%fn m=%d,n=%dn p=%d,q=%dn“,f,g,m,n,p,q);getch();运行结果:(3)#include “stdio.h“main( )int a,b;float 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,
4、b,c1,c2,d,e);printf(“f=%15.6f,g=%15.2fnm=%ld,n=%ldnp=%o,q=%on“,f,g,m,n,p,q);getch();运行结果:(4)#include “stdio.h“main( )int a,b;float d,e;char c1,c2;double f,g;long m,n;unsigned int p,q;scanf(“%d,%d,%c,%c,%f,%f,%lf,%lf,%ld,%ld,%u,%u“,printf(“a=%d,b=%dnc1=%c,c2=%cnd=%6.2f,e=%6.2fn“,a,b,c1,c2,d,e);printf
5、(“f=%15.6f,g=%15.2fnm=%ld,n=%ldnp=%u,q=%un“,f,g,m,n,p,q);getch();运行结果:第二题.求球的体积问题:第 3 个空白处填写 4/3 是否合理,为什么 答:合理,根据运算符优先级知 PI*r*r*r*4/3 是真确算法,这是 4*PI*r*r*r 除以3而 4/3*PI*r*r*r 是错误的,因为这个式子是求 4 除以 3*PI*r*r*r.(2)任意输入一个整数 X,求它的平方根.提示:平方根函数在库函数 math.h 文件中定义, 他的格式为:double sqrt(double x)#includemain( ) int x;p
6、rintf(“Input x:“);scanf(“%d“,printf(“sqrt(x)=%.2lfn“,_sqrt(x)_);3,运行程序并回答问题#include main( )int n,x,y,z;printf(“请输入一个不大于 1000 的整数:“);scanf(“%d“,x=n/100;y=(n-x*100)/10;z=(n-x*100-y*10);printf(“%dn%dn%dn“,x,y,z);问题:此程序的功能是什么 你能用其他方法实现同样的功能吗 请上机调试.答:此程序的功能是分别输出小于 1000 的整数的百位十位个位上的数字。4,编写程序,用 getchar 函数读
7、入两个字符给 c1,c2,然后分别用 putchar 和printf 函数输出这两个字符.(即 P84 习题 3.8,附带的三道小题也需回答 )#include “stdio.h“main( )char c1,c2;c1=getchar();c2=getchar();printf(“%cn%cn“,c1,c2);getch();运行结果:#include “stdio.h“main( )char c1,c2;c1=getchar();c2=getchar();putchar(c1);putchar(c2);putchar(n);getch();运行结果:答:(1)在本题中可以分别用两者定义(2)用 printf 函数输出 c1,c2 的 ASCLL 码编程如下#include “stdio.h“main()int c1,c2;c1=getchar();c2=getchar();printf(“%dn%dn“,c1,c2);getch();(3)不是的。如下两个程序的运行结果就不一样。#include “stdio.h“main()char c1,c2;scanf(“%d%d“,printf(“%dn%dn“,c1,c2);getch();运行结果: 如果将 char 改为 int 运行结果则为 ,所以它们不能绝对的等价