第五堂后作业
姓名 周雪 学号:120705225 班级:12级电信2班
作业1.1:C语言标准库的目的是什么?编写一个小程序,说明如何使用标准库里的数学函数;
目的:它是由编译程序根据一般用户的需要编制并提供用户使用的一组程序。C的库函数极大地方便了用户,同时也补充了C语言本身的不足。事实上,在编写C语言程序时,应当尽可能多地使用库函数,这样既可以提高程序的运行效率,又可以提高编程的质量。
//*****************************
//如何使用标准库里的数学函数
//code by ZX 2013-4-9
//*****************************
#include<stdio.h>
int main()
{
printf("如何使用标准库里的数学函数?\n");
printf("首先,在编辑代码前输入#include<math.h>头文件名\n");
printf("之后在使用函数时调出相应函数即可\n\n");
printf("常用的数学函数:\n三角函数\ndouble sin (double); 正弦\ndouble cos (double); 余弦\ndouble tan (double); 正切");
printf("\n反三角函数\ndouble asin (double); 结果介于[-PI/2,PI/2]\ndouble acos (double); 结果介于[0,PI]\ndouble atan (double); 反正切(主值)");
printf("\n其他常用函数\n\ndouble log ( double ); 以e为底的对数\ndouble log10 ( double ); 以10为底的对数\nint abs( int I ); 求整型的绝对值\ndouble fabs ( double ); 求浮点的绝对值\ndouble pow( double x,double y); 以x为底数的y次幂\ndouble fmod ( double,double ); 返回两参数相除的余数\n ");
}
作业1.2:用一个程序计算下面两个表达式的值;
.
//***********************
//code by ZX 2013-4-9
//***********************
#include<stdio.h>
int main()
{
float a,b;
a=234.0/(1.0+257.0);
b=1065.0/(24+13);
printf("234/(1+257)=%f\n1065/(24+13)=%f\n",a,b);
}
作业1.3:利用C标准库里的数学函数<math.h>,用一个程序计算下面两个表达式的值;
//***********************
//code by ZX 2013-4-9
//***********************
#include<stdio.h>
#include<math.h>
#define PI 3.1415926
#define e 2.718281828459
int main()
{
double a,b;
a= log(pow(2.0*PI-1.0,1.0/2.0))/log(5.0);
b= pow(e,pow(PI+1.0,1.0/2.0));
printf("%lf\n%lf\n",a,b);
}
--------------------------------------------------------------------------------题目分割线-----------------------------------------------------------------------------------------------------------
作业2提示:
人们在程序设计实践中总结出三种基本流程,即顺序执行、选择执行和重复执行模式。如下图所示:
..
作业2:请根据你对三种模式的理解,在一个程序中分别写出三段代码模拟这三种模式。
代码为求区间中奇数合:包含三种模式
//***********************
//code by ZX 2013-4-9
//***********************
#include<stdio.h>
int prime(int m, int n)
{
int sum=0;
for(int i=m;i<=n;i++)
{
if(i%2==0)
continue;
sum=sum+i;
}
return sum;
}
int main()
{
int x, y;
printf("Input two number:");
scanf("%d %d",&x,&y);
printf("%d\n",prime(x, y));
}
作业3.1:下面例子有两个if,请说明 else 部分属于哪个 if ? 为什么?
if (x > 0)
if (y > 1) z = 1;
else z = 2;
答:else属于第二个if,,因为每个else 部分总属于前面最近的那个缺少对应的 else 部分的 if语句。
作业3.2:上面的例子没问题,但容易造成误解,请修改写法,使其易理解、更容易体现嵌套关系。
改写如下:
if(x.>0)
{
if(y>0)
z=1;
else
z=2;
}
----------------------------------------------------------------------------------------题目分割线------------------------------------------------------------------------------------------------
作业4:请根据你对循环的理解,在一个程序中先写一段while循环代码;再用for语句重写“while循环”代码;
//***********************
//code by ZX 2013-4-9
//***********************
#include<stdio.h>
int main()
{
int a=0,b=0;
while(a<10)
a++;
printf("%d\n",a);
for(b;b<10;b++)
{
}
printf("%d\n",b);
}
-------------------------------------------------------------------------------------------题目分割线-----------------------------------------------------------------------------------------
作业5.1:定义一个计算圆面积的函数,并在主函数中调用两次,从而分别计算两个不同圆的面积;
//***********************
//code by ZX 2013-4-9
//***********************
#include<stdio.h>
double S(double x)
{
double a;
a=3.1415926*x*x;
return a;
printf("%lf",a);
}
int main()
{
double a,b;
printf("请输入2个数字(带小数点):");
scanf("%lf %lf",&a,&b);
S(a);
S(b);
printf("%lf\n%lf\n",S(a),S(b));
}
作业5.2:下面的例子程序可以正常通过编译,但执行时却得不到正确结果。也就是说,这个程序有语义错误。为什么呢?
函数对参数有明确的类型要求,当实参表达式的计算结果类型与函数要求不符时,又出现了类型问题。C 语言规定,在出现这种情况时,先把实参求出的值自动转换为函数所要求类型的值,然后再送给函数去计算。
-------------------------------------------------------------------------------------------------题目分割线-----------------------------------------------------------------------------------
作业6:定义一个三角形面积函数,在主函数中调用5次。
//***********************
//code by ZX 2013-4-9
//***********************
#include<stdio.h>
#include<math.h>
double S(double a,double b,double c)
{
double d;
d=a*b*sin(c/180.0*3.14)/2.0;
return d;
}
int main()
{
double a,b,c;
for(int i=0;i<5;i++)
{
printf("请输入第%d组三角形的参数(两边长和双边夹角):",i);
scanf("%lf %lf %lf",&a,&b,&c);
S(a,b,c);
printf("第%d组三角形的实参为:边长A %.2lf 边长B %.2lf 夹角 %.2lf\n",i,a,b,c);
printf("第%d组的面积为:%.2lf\n",i,S(a,b,c));
printf("------------------分割线------------------\n");
}
}
------------------------------------------------题目分割线----------------------------------------------------------
作业7 阅读博客及其评论
一个大学生从堕落走向编程之路的感想 http://blog.csdn.net/java4found/article/details/8654196
要求:发表感慨、必须真实,感慨字数大于100,小于200!
大学是一个很容易让人堕落的地方,这是不容置疑的。同时,它也是能让人真正学到一些知识的地方,关键在于你自己怎么去把握。刚进大学,你刚经历黑色的六月,对大学充满好奇,加很多的社团,对这感兴趣,对那也觉得新奇,渐渐地你就会不知道自己真正想要的是什么了,活在虚拟的世界里无法自拔。趁着现在还有时间,好好地规划自己的人生,明白自己的梦想,清楚自己将来想要从事的职业,并为之付出努力吧!