本章节作业共四题,主要考查的知识点为:顺序结构程序设计的框架、 数据类型、常数和常量的表示方法、变量的定义和使用方法、算术表 达式的写法、数学函数、基本输入输出函数的用法等 温度转换题 验证字节题 求利息 选做题答案(求四种数据类型表达的数据范围) 1、温度转换题典型错常见错误: include 语句顺序错。 void maino ●强制转换错。 ●数学公式错 int F. float C: C=(float)(5/(9*(F-32))); printf("Please intput F: In"); scanf(%dIn", F) printf( %dIn",C); include void maino int F
本章节作业共四题,主要考查的知识点为:顺序结构程序设计的框架、 数据类型、常数和常量的表示方法、变量的定义和使用方法、算术表 达式的写法、数学函数、基本输入/输出函数的用法等。 温度转换题......................................................................................... 1 验证字节题......................................................................................... 2 求利息................................................................................................ 2 选做题答案(求四种数据类型表达的数据范围).................................. 3 1、温度转换题典型错误如下: #include void main() { int F; float C; C=(float)(5/(9*(F-32)));printf("Please intputF:\n"); scanf("%d\n",F); printf("%d\n",C);} #include void main() { int F; •常见错误: •语句顺序错。 •强制转换错。 •数学公式错 •输入输出的格式错
float C: printf("Please intput F: n); scanf(%fn", &F); c=(lat)5/9(F32);/或C=50/9(F32) printf( %n",C); 2、验证字节题 include maino printf("Data type Number of bytes); printf( printf(" char %d\n", sizeof(char) printf(" int %d\n", sizeof(int) printf(short int %odIn", sizeof(short)) printf( long int %d\n", sizeof(long)); printf( float %d\n", sizeof(float)) printf(ˇ double %d\n", sizeof(double)); char short int long int float double 83、求利息 include include define rateo,0275 void maino
float C; printf("Please intputF:\n"); scanf("%f\n",&F); C=(float) 5/9*(F-32);/*或 C=5.0/9*(F-32);*/ printf("%f\n",C);} 2、验证字节题 #include main() { printf("Data type Number of bytes\n"); printf("------------ ---------------------\n"); printf("char %d\n", sizeof(char)); printf("int %d\n", sizeof(int)); printf("short int %d\n", sizeof(short)); printf("long int %d\n", sizeof(long)); printf("float %d\n", sizeof(float)); printf("double %d\n", sizeof(double)); } char 1 int 4 short int 2 long int 4 float 4 double 83、求利息 #include #include #define RATE 0.0275 void main() {
double year, capital, money printf("please inputyear, capital: ) scanf ("%If, %If", &year, &capital); money=capital"pow(1+RATE,year); printf("money=%If, money); 部分同学在红色标记的地方出错,请自己对照44、选做题 答案(求四种数据类型表达的数据范围) include include void maino long double term=1, fraction=1 long double min,max;P定义两个变量分别最小值、最大值 min=-pow (2, 8*sizeof(char)); max=pow(2, 8* sizeof(char))-1; printf(" char所能表示的范围:%0|-%0n",min,max) min=-pow(2, 8* sizeof(short); max=pow(2, 8* sizeof(short))-1; printf("shor所能表示的范围:%%on",mn,max); min=-pow(2, 8* sizeof(int)); max=pow(2, 8* sizeof(int))-1 printf"int所能表示的范围:%0%0n"min,max); for(=1;K=23;H)foat共32位,用23位存尾数 term=term/2: fraction+=term: }P求foat类型所表达的尾部部分的值, fraction=21+22++2231 min= fraction*pow(2poW(2,7)-1);用7位存阶码 maxafraction"pow(2, pow(2, 7)-1); printi(" float所能表示的范围:%e-%eln",min,max) term=1 fraction=1 for(=1:;k=52;H+) double共64位,用52位存尾数
double year,capital,money; printf("please input year, capital:"); scanf("%lf,%lf",&year,&capital); money=capital*pow(1+RATE,year); printf("money=%lf",money); }/*部分同学在红色标记的地方出错,请自己对照 */4、选做题 答案(求四种数据类型表达的数据范围) #include #include void main() { int i; long double term=1,fraction=1; long double min,max; /*定义两个变量分别最小值、最大值*/ min=-pow(2,8* sizeof(char)); max=pow(2,8* sizeof(char))-1; printf("char 所能表示的范围:%.0lf~%.0lf\n",min,max); min=-pow(2,8* sizeof(short)); max=pow(2,8* sizeof(short))-1; printf("short 所能表示的范围:%.0lf~%.0lf\n",min,max); min=-pow(2,8* sizeof(int)); max=pow(2,8* sizeof(int))-1; printf("int 所能表示的范围:%.0lf~%.0lf\n",min,max); for(i=1;i<=23;i++)/*float 共 32 位,用 23 位存尾数*/ { term=term/2; fraction+=term; } /* 求 float 类 型 所 表 达 的 尾 部 部分 的 值 ,fraction=2 -1+2 -2+...+2 -23 */ min=-fraction*pow(2,pow(2,7)-1);/*用 7 位存阶码*/ max=fraction*pow(2,pow(2,7)-1); printf("float 所能表示的范围:%e~%e\n",min,max); term=1; fraction=1; for(i=1; i<=52;i++)/*double 共 64 位,用 52 位存尾数*/
term=term/2 fraction+=term; }P求 double类型所表达的尾部部分的值, fraction=21+22+,+2521 min= -fraction'pow(2pow(210)-1);用10位存阶码 max=fraction*pow(2, pow(2, 10)-1); }m4 rinf( double所能表示的范围:%-%en"mn,max); 结束
{ term=term/2; fraction+=term; } /*求 double 类型所表达的尾部部分的值,fraction=2 -1+2 -2+...+2 -52 */ min=-fraction*pow(2,pow(2,10)-1);/*用 10 位存阶码*/ max=fraction*pow(2,pow(2,10)-1); printf("double 所能表示的范围:%e~%e\n",min,max); } /*main 结束*/