当前位置:文档之家› c语言第八章函数上机作业

c语言第八章函数上机作业

c语言第八章函数上机作业
c语言第八章函数上机作业

第八章

通过本章实验作业应达目标

1. 掌握定义和调用函数的方法

2.掌握函数嵌套调用的方法

3.掌握通过“值传递”调用函数的方法

4.理解变量作用域和存在期的概念,掌握全局变量和局部变量,动态变量和静态变量的定义、说明和使用方法

本章上交作业

程序8_1.c、8_2.c、8_4.c、8_5.c上传至211.64.135.121/casp。

实验一判断素数的函数

【实验目的】

掌握用函数实现判断素数的方法。

【实验内容】

编写一个函数int prime(int a),判断参数是否为素数。函数有一个形参a,当a 为素数时,返回1,反之,返回0。以8_1.c命名本程序并上交。

函数声明如下:

int prime( int a );

主函数如下:

#include

#include

void main ( )

{

int a, b;

printf("please input a number:\n");

scanf("%d", &a);

b = prime( a );

if ( b = =1 )

printf("the number is a prime number.");

else

printf("the number is not a prime number.");

}

int prime( int a ) { …… }

实验二求最大公约数与最小公倍数

【实验目的】

熟练函数的嵌套调用。

【实验内容】

编写两个函数,分别求两个正整数的最大公约数和最小公倍数,结果作为函数返回值返回。在main函数中实现输入与输出。以8_2.c命名本程序并上交。

主函数如下:

#include

void main( )

{

int gongyueshu( int a, int b );

int gongbeishu( int a, int b );

int a, b, c, d;

printf("please input two integer numbers:");

scanf("%d%d", &a, &b);

c=gongyueshu(a, b);

d=gongbeishu(a. b);

printf("gongyueshu is %d\n gongbeishu is %d",c,d);

}

int gongyueshu( int a, int b )

{ ……}

int gongbeishu( int a, int b )

{ …… }

【实验提示】

可以在最小公倍数中嵌套调用最大公约数函数。最小公倍数=a*b/最大公约数

实验三求数组逆序的函数

【实验目的】

熟练掌握操作数组的方法及数组名作函数参数的使用方法。

【实验内容】

从键盘输入int型数组a[ 20 ]的20 个元素值,编写一个函数实现对数组元素数据的逆序放置。即第1个元素与第20个元素互换,第2个元素与第19个元素互换,……,第10个元素与第11个元素互换。请完善下述程序并以8_3.c命名本程序。

#include

void main( )

{

void nixu( int a[ ], int n ); /* 逆序函数声明 */

int a[20],x;

for (x=0;x<20;x++ )

scanf("%d",&a[x]);

printf("Before invert,the array is:\n");

for (x=0;x<20;x++ )

printf("%d ",a[x]);

printf(“\n”);

nixu(a,20); /* 调用逆序函数,注意实参是什么 */

printf("\nAfter invert,the array is:\n");

for (x=0;x<20;x++ )

printf("%d ",a[x]);

printf(“\n”);

}

void nixu(int a[ ], int n)

{

int i, t;

for (i=0;i<________; i++)

{ t=a[i]; ________; a[n-1-i]=t; }

}

实验四数组中插入元素的函数

【实验目的】

学习在一维数组中插入元素的方法。

【实验内容】

参照给定的主函数,编写一个函数void insert(int a[ ], int n, int y ),它的功能是:把y值插入到有n个数的有序的a数组中, y的值从键盘读入。插入后,数组中的数仍然有序。以8_4.c命名本程序并上交。

对照下面三种情况运行程序:

1)插在最前2)插在最后3)插在中间。

int a[11]={2,4,6,8,10,12,14,16,18,20};

void insert( int a[ ], int n, int number );

void main( )

{

int i, x ;

printf("original array is:\n");

for(i=0;i<10;i++)

printf("%5d",a[i]);

printf("\n");

printf("insert a new number:");

scanf("%d",&x);

insert(a,10,x);

for(i=0;i<11;i++)

printf("%d ",a[i]);

}

void insert( int a[ ], int n, int number )

{ …… }

若输入数11,输出 2 4 6 8 10 11 12 14 16 18 20

输入数1,输出 1 2 4 6 8 10 12 14 16 18 20

输入数33,输出 2 4 6 8 10 12 14 16 18 20 33

【实验提示】

1.若x插入数组的中间,插入后此元素之后的数,依次后移一个位置。例如查找到 11应该放置在a[ 5 ] 的位置上,原来a[5]的数据 12 以及其后的所有元素后移一位。2.后移元素的过程,应该注意从数组的末尾开始依次a[n]=a[n-1],a[n-1]=a[n-2]……

实验五报数问题

【实验目的】

掌握数组和函数的应用。

【实验内容】

n个人围成一圈,1,2,3循环报数,报到3的人退出。到最后只余1人,输出最后留下的是第几号(最初的序号,以1起始)。若n=6,则输出1;若n=10,则输出4;若n=100,则输出91。编写函数,n作函数参数,函数返回结果。以8_5.c命名本程序并上交。

#include

int baoshu( int n )

{ …… }

void main( )

{

int m ;

scanf( "%d", &m ) ;

printf( "n=%d\n", baoshu(m) ) ;

}

【实验提示】

在初始化数组时,以1至n为序给每个人编号,分别设置三个计数器,一个用来表示数组的下标,一个用来表示退出的人数,另外一个表示报数时的计数器变量。每次当某变量报数为3时,将该数组元素置0,当退出人数达到n-1时,推出循环。最后返回数组中的唯一一个非零元素。

实验六全局变量与局部变量

【实验目的】

掌握全局变量和局部变量在程序中的关系。

【实验内容】

下面的程序运行后的结果是_____________。

int x=3, y=5;

int max( int x, int y )

{

int z;

z=x>y?x:y;

return(z);

}

void main( )

{

int x=8;

printf( "max=%d\n",max(x,y) );

}

实验七变量的静态存储方式

【实验目的】

熟悉static定义静态变量的用法。

【实验内容】

下面程序运行后的输出结果是_____________。

#include

varfunc( )

{ int var=0;

static int static_var=0;

printf("\40:var equal %d \n",var);

printf("\40:static var equal %d \n",static_var);

printf("\n");

var++;

static_var++;

}

void main( )

{ int i;

for(i=0;i<3;i++)

varfunc();

}

习题

1.有如下程序

#include

long fib( int n)

{if(n>2) return(fib(n-1)+fib(n-2));

else return(2);

}

void main( )

{ printf("%d\n",fib(3));}

该程序的输出结果是()

A、2

B、 4

C、 6

D、8

2.在C语言中,函数的隐含存储类别是()

A、 auto

B、 static

C、 extern

D、无存储类别

3.以下所列的各函数首部中,正确的是()

A、 void play(var:Integer,var b:Integer)

B、 void play(int a,b)

C、 void play(int a,int b)

D、 Sub play(a as integer,b as integer)

4.以下程序的输出结果是()

A、 0

B、 29

C、 31

D、无定值

fun(int x,int y,int z)

{ z=x*x+y*y;}

main( )

{ int a=31;

fun(5,2,a);

printf("%d",a);

}

5.以下程序的输出结果是()

f(int b[ ],int m,int n)

{int I,s=0;

for(i=m;i

return s;

}

main( )

{int x,a[ ]={1,2,3,4,5,6,7,8,9};

x=f(a,3,7);

printf("%d\n",x);

}

A、10

B、18

C、8

D、15

6.以下程序的输出结果是()

A、1

B、2

C、3

D、4

long fun( int n)

{ long s;

if(n==1 || n==2)s=2;

else s=n-fun(n-1);

return s;}

main( )

{ printf("%ld\n",fun(3));}

7.以下程序的输出结果是()

int f( )

{ static int i=0;

int s=1;

s+=i;i++;

return s;

}

main( )

{ int i,a=0;

for(i=0;i<5;i++)a+=f();

printf("%d\n",a);

}

A、20

B、24

C、25

D、15

8. 以下程序的功能是调用函数fun计算:m=1-2+3-4+…+9-10,并输出结果。请填空。

int fun( int n)

{ int m=0,f=1,i;

for(i=1; i<=n; i++)

{ m+=i*f;

f= _____________ ;

}

return m;

}

main()

{ printf("m=%d\n", _________); }

9.以下程序输出的最后一个值是_____________

int ff(int n)

{ static int f=l;

f=f*n;

return f;

}

main( )

{ int i;

for(i=1;i<=5;i++ ) printf("%d\n",ff(i));

}

10.以下函数的功能是:求x的y次方,请填空。

double fun( double x,int y)

{ int i;

double z;

for(i=1, z=x; i

return z;

}

11.以下正确的说法是()

A、用户若需要调用标准库函数,调用前必须重新定义

B 、用户可以重新定义标准库函数,如若此,该函数将失去原有定义

C 、系统不允许用户重新定义标准库函数

D 、用户若需要使用标准库函数,调用前不必使用预处理命令将该函数所在的头文件包

含编译,系统会自动调用。

12. C 语言规定,简单变量做实参时,它和对应的形参之间的数据传递方式是()

A、地址传递

B 、值传递

C 、有实参传给形参,再由形参传给实参

D 、由用户指定传递方式

13. 下面程序的输出是()

int i=2 ;

printf(“%d%d%d”,i*=2,++i,i++) ;

A、 8 , 4 , 2 B 、 8 , 4 , 3

C、 4 , 4 , 5 D 、 4 , 5 , 6

14.以下不正确的说法是()

A 、 register 变量可以提高变量使用的执行效率

B 、 register 变量由于使用的是 CPU 的寄存器,其数目是有限制的

C 、 extern 变量定义的存储空间按变量类型分配

D 、全局变量使得函数之间的“ 耦合性” 更加紧密,不利于模块化的要求

15. C 语言函数返回类型的默认定义类型是____________

16. 函数的实参传递到形参有两种方式:____________和____________。

17. C 语言变量按其作用域分为____________和____________。按其生存期分为

____________和____________。

18.已知函数定义:void dothat(int n,double x) { …… }, 其函数声明的两种写法

为____________ , ____________。

19. C 语言变量的存储类别有____________,____________,____________和

____________。

20. 在一个C 程序中,若要定义一个只允许本源程序文件中所有函数使用的全局变量,则该变量需要定义的存储类别为____________。

c语言 第8章 函数习题

第8章函数习题 A卷 1. 单项选择题 (1)C 语言总是从函数开始执行。 A A. main B. 处于最前的 C.处于最后的 D. 随机选一个 (2)函数在定义时,省略函数类型说明符,则该函数值的类型为。A A. int B. float C. long D. double (2)以下函数,真正地没有返回值。 B A. int a(){int a=2;return (a);} B. void b(){printf("c");} C. int a(){int a=2;return a;} D. 以上都是 (3)在C 语言中,有关函数的说法,以下正确的是。A A. 函数可嵌套定义,也可嵌套调用 B. 函数可嵌套定义,但不可嵌套调用 C. 函数不可嵌套定义,但可嵌套调用 D. 函数不可嵌套定义,也不可嵌套调用 (4)以下函数调用语句中,含有实参的个数为。C fun((2,3),(4,5+6,7)); A. 1 B. 2 C. 5 D. 6 (5)函数调用可以在。D A. 函数表达式中 B. 函数语句中 C. 函数参数中 D. 以上都是 (6)被调函数返回给主调函数的值称为。C A. 形参 B. 实参 C. 返回值 D. 参数 (7) ,可以不进行函数类型说明。D A. 被调函数的返回值是整型或字符型时 B. 被调函数的定义在主调函数定义之前时 C. 在所有函数定义前,已在函数外预先说明了被调函数类型 D. 以上都是 (8)被调函数通过语句,将值返回给主调函数。D A. if B. for C. while D. return (9)被调函数调用结束后,返回到。D A.主调函数中该被调函数调用语句处 B.主函数中该被调函数调用语句处

C语言上机作业题及答案

实验一: 1、已知华氏温度,根据转换公式计算相应的摄氏温度。 摄氏温度= 5*(华氏温度-32)/9 2.任意输入一个有五位数字的正整数,逆序输出每一数位上的数字。 如: 输入 12345 输出 5 4 3 2 1 #include"stdio.h" main() { double t,T; printf ("已知华氏温度,根据转换公式计算相应的摄氏温度"); scanf ("%lf",&t); T=(5*(t-32)/9); printf ("摄氏温度=%lf",T); } #include"stdio.h" main() { int value,a,b,c,d,e,m,n,h; printf ("任意输入一个有五位数字的正整数,逆序输出每一数位上的数字"); scanf ("%d",&value); a=value/10000; m=value%10000; b=m/1000; n=m%1000; c=n/100; h=n%100; d=h/10; e=h%10; printf ("%d%d%d%d%d",e,d,c,b,a); } 实验二: 1.一个成年人的身高与其父母的身高密切相关,根据以下人体标准身高预测公式计算自己或某个同学的身高,并跟实际身高比较,给出结论是否符合该公式(误

差在3厘米范围内即视为相符)。 男性身高=(父亲身高+母亲身高)×1.08÷2(厘米) 女性身高=(父亲身高×0.923+母亲身高)÷2(厘米) 2.从键盘上输入税前收入,根据以下公式及规则,计算个人所得税税额并输出。应纳个人所得税税额=(税前收入—起征点额度)*适用税率—速算扣除数 其中,起征点额度是3500元,其他如下: 应纳税所得额税率速算扣除数 不超过1500元的部分 3% 0 超过1500元至4500元的部分 10% 105 超过4500元至9000元的部分 20% 555 超过9000元至35000元的部分 25% 1005 超过35000元至55000元的部分 30% 2755 超过55000元至80000元的部分 35% 5505 超过80000的部分 45% 13505 如:某人月收入5000元,则应纳个人所得税税额为(5000-3500)* 10% - 105 = 45元。 #include #include main() { float A,a,H,h,b; printf("父亲身高(厘米)\n"); scanf("%f",&A); printf("母亲身高(厘米)\n"); scanf("%f",&a); printf("孩子实际身高(厘米)\n"); scanf("%f",&H); printf("请选择孩子性别:女=0,男=1\n"); scanf("%f",&b); if(b) h=(A+a)*1.08/2; else h=(A*0.923+a)/2; if(fabs(H-h)<=3) printf("实际身高符合该公式\n"); else

C语言上机操作实验二

2009——2010(1)C语言程序设计实验 1.从键盘输入一个正整数,若是偶数打印“even”,否则打印“odd”。文件 名为myf21.c 2.从键盘输入两个正整数m,n,判断m能否被n整除,若能输出m和n,否则 打印“NO”。文件名为myf22.c 3.将两个两位数的正整数a、的b合并形成一个整数放在c中。合并的方式是: 将a数的十位和个位数依次放在c数的千位和十位上, b数的十位和个位数依次放在c数的百位和个位上。例如,当输入45,12时,输出 c=4152。文件名为myf23.c 4.输入两个整数153和257,判断是否为“水仙花数”,所谓“水仙花数”是指 一个3位数,其各位数字立方和等于该数本身。若是输出该数,否则输出“NO”。 文件名为myf24.c 5.现编程实现:购买某商品时应付多少款?该商品的单价为12.6元,若购买这 一商品3件以上打8折,3件(包括3件)以下不打折。文件名为myf25.c 6.【动动脑子】若给定三个整型变量a,b,c,现求三个整数的最大值。算法思 想:引入变量max存放最大值,先求前二位数的最大值存放于变量 max中,再求该变量与第三数的最大值,仍存放于该变量中。最后输出该变量。文件名为myf26.c 7.【小游戏】给小学生出一道加法题,做对着输出“Goog!”,否则输出“Try hard!”。算法思想:随机产生一个被加数和一个加数,显示一道加法题,等待学生输入结果,判断其结果是否正确,若正确输出输出“Goog!”,否则输出“Try hard!”。文件名为myf27.c 班级:金属0901/2、冶金0901/2、电信工程0901/2、电子商务0901

c语言第八章函数上机作业

第八章 通过本章实验作业应达目标 1. 掌握定义和调用函数的方法 2.掌握函数嵌套调用的方法 3.掌握通过“值传递”调用函数的方法 4.理解变量作用域和存在期的概念,掌握全局变量和局部变量,动态变量和静态变量的定义、说明和使用方法 本章上交作业 程序8_1.c、8_2.c、8_4.c、8_5.c上传至211.64.135.121/casp。 实验一判断素数的函数 【实验目的】 掌握用函数实现判断素数的方法。 【实验内容】 编写一个函数int prime(int a),判断参数是否为素数。函数有一个形参a,当a 为素数时,返回1,反之,返回0。以8_1.c命名本程序并上交。 函数声明如下: int prime( int a ); 主函数如下: #include #include void main ( ) { int a, b; printf("please input a number:\n"); scanf("%d", &a); b = prime( a ); if ( b = =1 ) printf("the number is a prime number."); else printf("the number is not a prime number."); } int prime( int a ) { …… }

实验二求最大公约数与最小公倍数 【实验目的】 熟练函数的嵌套调用。 【实验内容】 编写两个函数,分别求两个正整数的最大公约数和最小公倍数,结果作为函数返回值返回。在main函数中实现输入与输出。以8_2.c命名本程序并上交。 主函数如下: #include void main( ) { int gongyueshu( int a, int b ); int gongbeishu( int a, int b ); int a, b, c, d; printf("please input two integer numbers:"); scanf("%d%d", &a, &b); c=gongyueshu(a, b); d=gongbeishu(a. b); printf("gongyueshu is %d\n gongbeishu is %d",c,d); } int gongyueshu( int a, int b ) { ……} int gongbeishu( int a, int b ) { …… } 【实验提示】 可以在最小公倍数中嵌套调用最大公约数函数。最小公倍数=a*b/最大公约数 实验三求数组逆序的函数 【实验目的】 熟练掌握操作数组的方法及数组名作函数参数的使用方法。 【实验内容】 从键盘输入int型数组a[ 20 ]的20 个元素值,编写一个函数实现对数组元素数据的逆序放置。即第1个元素与第20个元素互换,第2个元素与第19个元素互换,……,第10个元素与第11个元素互换。请完善下述程序并以8_3.c命名本程序。 #include void main( ) { void nixu( int a[ ], int n ); /* 逆序函数声明 */

C语言上机作业试题5套含答案

第一次上机作业(2014): 要求: ?独立完成,上机调试通过后上交 ?作业提交邮箱: ?邮件主题命名:班级学号姓名(第1次作业), 例如:电1301班2王鹏(第1次作业) ?以附件形式将每次作业的所有程序源程序压缩打包后提交,压缩文件命名格式同上。 ?程序必须采用缩进格式 1.大写字母转换成小写字母 从键盘输入一个大写英文字母,输出相应的小写字母。 例:输入G 输出g 2.求平方根 输入一个实数x,计算并输出其平方根(保留1 位小数)。 例:输入17 输出The square root of 17.0 is 4.1 3.温度转换 设计一个程序将华氏温度转换成摄氏温度c = 5/9(f-32) a)输入华氏温度(实型) b)输出的摄氏温度结果保留两位小数 例:Please input Fahrenheit temperature: 76.8 The corresponding Celsius temperature is 24.89 4. 计算旅途时间 输入二个整数time1 和time2,表示火车的出发时间和到达时间,计算并输出旅途时间。 (输入的有效的时间范围是0000 到2359,不需要考虑出发时间晚于到达时间的情况。) 例:输入712 1411 (出发时间是7:12,到达时间是14:11) 输出The train journey time is 6 hours 59 minutes. 5. 数字加密 输入一个四位数,将其加密后输出。方法是将该数每一位上的数字加9,然后除以10 取余,做为该位上的新数字,最后将第1 位和第3 位上的数字互换,第2 位和第4 位上的数字互换,组成加密后的新数。 例:输入1257 输出The encrypted number is 4601 思考题:你能否编程找出谁做的好事? 有四位同学中的一位做了好事,不留名,表扬信来了之后,校长问这四位是谁做的好事。 ?A说:不是我。 ?B说:是C。 ?C说:是D。 ?D说:他胡说。 已知三个人说的是真话,一个人说的是假话。现在要根据这些信息,找出做了好事的人。 第二次上机作业(2014): 要求: ?独立完成,程序必须采用缩进格式,上机调试通过后上交

5-6次C语言上机作业

实验5 函数(1) 【实验题5-1】以下程序的功能:从键盘输入两个数,计算出他们的和,并将结果输出在屏幕上。调试运行程序,观察出现了什么错误,提出两种修改方案。 【实验题5-2】下程序的功能:输出3~1000之的间的素数。请选择合适的内容填入程序的空白处,并调试运行程序。

【实验题5-3】从键盘输入一个整数n,计算n^3,并将结果输出在屏幕上。要求计算n^3用函数实现。 【实验题5-4】从键盘输入一个整数n,计算2n+1与++n之和。要求计算两数之和用函数

实现。 注意写计算表达式的时候3*n之间的乘号不要丢掉,否则会提示:invalid suffix “n” on integer constant. 调用用户自定义函数是只写ifun=fun(n); 就可以了,不要在括号里加上int。Ifun=fun(int n) × 【实验题5-5】编写程序,计算Cmn=n!/(n-m)!m!。要求如下: 1)编写一个函数计算n!; 2)编写主函数,输入n和m, 调用第1)项中的函数完成计算; 3)输出并计算C58、C712的结果。

【实验题6-1】以下程序功能:用已知三角形三边,求三角形面积。但程序有错,请上机调试并改正错误。

【实验题6-2】以下程序运行的结果应该是a=14, b=15,temp=0。在程序空白处填写适当的编译预处理命令。 【实验题6-3】用for循环输出20个0~99之间的随机数。要求没输出五个随机数换一行。 【实验题6-4】从键盘输入一个字母,如果是大写字母就转换成小写字母输出;如果是小写字母就转换成大写字母输出。要求用库函数实现。

扬州大学C语言上机作业1-9整理

答案仅供参考 实验一 4.设计main函数实现从键盘上输入两个整型变量a、b的值,交换它们的值并输出。#include void main() { int a,b,c; printf("enter first integer : "); scanf("%d",&a); printf("enter second integer : "); scanf("%d",&b); c=a; a=b; b=c; printf("%d,%d\n",a,b); getch(); } 5.设计main函数实现从键盘上输入两个整型变量a、b的值,并将b的值加入到a中,输出a的值。 #include void main() { int a,b,c; printf("enter first integer : "); scanf("%d",&a); printf("enter second integer : "); scanf("%d",&b); c=a+b; a=c; printf("a=%d,b=%d\n",a,b); getch(); } 6.从键盘输入整数x的值,根据公式y=x3+3x2+x-10求y的值,输出x和y的值。 #include void main() { int x,y; printf("enter first integer : "); scanf("%d",&x); y=x*x*x+3*x*x+x-10;

printf("x=%d,y=%d\n",x,y); getch(); } 实验二 1.编写程序,从键盘上输入一个整数(例如560)表示分钟,将其换算成用小时和分钟表示,然后输出至屏幕。 #include void main() { int a,b,hour,min; printf("enter first integer : "); scanf("%d",&a); b=60; hour=a/b; min=a%b; printf("hour=%d,min=%d\n",hour,min); getch(); } 2.编写程序,输入两个整数(例如1500和350),求出它们的商和余数并进行输出。 #include void main() { int a,b,c,d; a=1500,b=350; c=a/b; d=a%b; printf("%d,%d",c,d); getch(); } 3.编写程序,读入3个整数给分别变量a,b,c,然后将a,b,c的值输出到屏幕,再交换它们中的数值,把a中原来的值给b,把b中原来的值赋给c,把c中原来的值赋给a,然后再次输出a,b,c的值到屏幕。 #include void main() { int a,b,c,d; printf("enter first integer : "); scanf("%d",&a);

C语言第8章习题及答案

第八章 用一个数组存放图书信息,每本书是一个结构,包括下列几项信息:书名、作者、出版年月、借出否,试写出描述这些信息的说明,并编写一个程序,读入若干本书的信息,然后打印出以上信息。#include <> typedef struct { char Name[20]; char Author[20]; int Date_Year; int Date_Month; int loaned; } BOOK; #define N 10 void main() { BOOK books[N]; int i; for (i=0;i

} for (i=0;i #include <> typedef struct { char s[20]; int count; } WORD; #define N 100 WORD words[N]={0}; int word_count=0; int IsSeparator(char c) { if ( 'A'<=c && c<='Z' || 'a'<=c && c<='z' || '0'<=c && c<='9' || '_'==c || '-'==c)

第一章复变函数习题及解答

第一章 复变函数习题及解答 1.1 写出下列复数的实部、虚部;模和辐角以及辐角的主值;并分别写成代数形式,三角形式和指数形式.(其中,,R αθ为实常数) (1)1-; (2) ππ2(cos isin )33-; (3)1cos isin αα-+; (4)1i e +; (5)i sin R e θ ; (6)i + 答案 (1)实部-1;虚部 2;辐角为 4π 2π,0,1,2,3k k +=±±;主辐角为4π 3; 原题即为代数形式;三角形式为 4π4π2(cos isin )33+;指数形式为4π i 32e . (2)略为 5π i 3 5π5π 2[cos sin ], 233i e + (3)略为 i arctan[tan(/2)][2sin()]2c e αα (4)略为 i ;(cos1isin1)ee e + (5)略为:cos(sin )isin(sin )R R θθ+ (6)该复数取两个值 略为 i i isin ),arctan(1isin ),πarctan(1θθ θθθθθθ+=+=+ 1.2 计算下列复数 1)() 10 3 i 1+-;2)()3 1i 1+-; 答案 1)3512i 512+-;2) ()13π/42k π i 6 3 2e 0,1,2k +=; 1.3计算下列复数 (1 (2 答案 (1) (2)(/62/3) i n e ππ+ 1.4 已知x 的实部和虚部.

【解】 令 i ,(,)p q p q R =+∈,即,p q 为实数域(Real).平方得到 2 2 12()2i x p q xy +=-+,根据复数相等,所以 22 1,(p q pq p x q x ?-=??=??=±==±+ 即实部为 ,x ± 虚部为 说明 已考虑根式函数是两个值,即为±值. 1.5 如果 ||1,z =试证明对于任何复常数,a b 有| |1 az b bz a +=+ 【证明】 因为||1,11/z zz z z =∴=∴=,所以 1() ()1||||| |||||||1()az b az b az b z az b az b z bz a bz a z z bzz az b az b az +++++=====+++++ 1.6 如果复数b a i +是实系数方程 ()011 10=++++=--n n n n a z a z a z a z P 的根,则b a i -一定也是该方程的根. 证 因为0a ,1a ,… ,n a 均为实数,故00a a =,11a a =,… ,n n a a =.且()() k k z z =, 故由共轭复数性质有:()()z P z P =.则由已知()0i ≡+b a P .两端取共轭得 ()( ) 00i i =≡+=+b a P b a P 即()0i ≡-b a P .故b a i -也是()0=z P 之根. 注 此题仅通过共轭的运算的简单性质及实数的共轭为其本身即得证.此结论说明实系数多项式的复零点是成对出现的.这一点在代数学中早已被大家认识.特别地,奇次实系数多项式至少有一个实零点. 1.7 证明: 2222 121212||||2(||||)z z z z z z ++-=+,并说明其几何意义. 1.8 若 (1)(1)n n i i +=-,试求n 的值.

C语言期末上机考试题及答案

C语言上机考试题—01 1. //#include #include double fun( int n ) { double sum=0,a=1; for(;n>0;n--,a++) sum=sum+1/(a*(a+1)); return sum; } main() { // clrscr(); printf("%f\n", fun(10)); } 2. #include main() { int k,m,s=0,i,b=0; for(k=10000;k<=20000;k++ ) { if(k%10==7) { for(i=2,b=0;i main() { int a; printf("请输入一个需要判 断的年份:\n"); scanf("%d",&a); if(a%4==0&&a%100!=0) printf("是闰年\n"); else if(a%400==0) printf("是闰年 \n"); else printf("不是闰 年\n"); } C语言上机考试题—02 1. //#include #include double fun( int n ) { double sum=0,a=1; for(;n>0;n--,a++) sum=sum+1/(a*(a+1)); return sum; } main() { // clrscr(); printf("%f\n", fun(10)); } 2. #include fun(int n) { int i,j=0; for(i=2;i #include main() { char str[81]; int i,j=0,w=1,s=0; printf("请输入一串字符: \n"); gets(str); for(i=0;i

C语言程序设计教案 第八章 函数

第八章函数课题:第八章函数§1~§4 教学目的:1、掌握函数定义的一般形式 2、掌握函数调用的一般形式 教学重点:教学难点:函数定义、调用的一般形式形式参数和实际参数 步骤一复习引导 一个C语言源程序可由一个主函数和若干个辅助函数组成。 由主函数调用其他函数,其他函数也可以互相调用。 步骤二讲授新课 §8.1 概述 例8.1 main( ) { printstar( ); print_message( ); printstar( ); } printstar( ) { printf( “ ********** \n”); } print_message( ) { printf(“How do you do ! \n”); } 说明: ?1、一个源程序文件由一个或多个函数组成。一个源程序文件是一个编译单位。 ?2、一个C程序由一个或多个源程序文件组成。这样可以分别编写、分别编译,提高调度效率。 ?3、C程序的执行从main 函数开始,在main函数中结束整个程序的运行。 ?4、所有函数都是平行的,即函数不能嵌套定义,函数可以互相调用,但不能调用main 函数。 ?5、从用户使用的角度看,函数有两种:标准函数(库函数)和用户自己定义的函数 ?6、从函数的形式看,函数分为两类:无参函数和有参函数 §8.2 函数定义的一般形式 (一)无参函数的定义形式 类型标识符函数名( ) { 函数体(包括声明部分和执行部分) } 例:printstar( ) { printf( “ ********** \n”); } (二)有参函数定义的一般形式 类型标识符函数名(形式参数表) { 函数体(包括声明部分和执行部分) }

大连理工c语言第五次上机作业参考答案

第五次上机作业:(请用指针实现) 1.数据移位 有n(n<=10)个整数,使前面各数顺序向后移m(m<=n)个位置,最后m 个数变成最前面的m个数,如图所示。编写函数shift(a,n,m)实现上述功能,在主函数中输入n个整数和输出调整后的n个数。 SAMPLE OUTPUT Input n(n<=10):10 Input 10 integers:1 2 3 4 5 6 7 8 9 10 Output the original:1 2 3 4 5 6 7 8 9 10 Input m(m<=10):4 Output the shifted:7 8 9 10 1 2 3 4 5 6 #include #define N 10 void shift(int a[ ],int n,int m); void main( ) { int i,n,m; int a[N]; printf("Input n(n<=10):"); scanf("%d",&n); printf("Input %d integers:\n",n); for(i=0;i=0;j--) a[j+1]=a[j]; a[0]=t; } } n

C语言第八章函数部分复习题

函数复习题 一.选择题 1.以下正确的函数定义形式是:() a) double fun(int x,int y) b) double fun(int x;int y) c) double fun(int x,int y); d) double fun(int x,y); 2.以下正确的函数形式是:() a) double fun(int x,int y) { z=x+y; return z; } b) fun(int x,y) { int z; return z; } c) fun(x,y) { int x,y; double z; z=x+y; return z; } d) double fun(int x,int y) { double z; z=x+y; return z; } 3. 以下正确的说法是:() a) 实参和与其对应的形参各占用独立的存储单元 b) 实参和与其对应的形参共占用一个存储单元 c) 只有当实参和与其对应的形参同名时才共占用存储单元 d) 形参是虚拟的,不占用存储单元 4. 以下程序有语法性错误,有关错误原因的正确说法是:()

main() { int G=5,k; void prt_char(); …… k=prt_char(G); …… } a) 语句void prt_char();有错,它是函数调用语句,不能用void 说明 b) 变量名不能使用大写字母 c) 函数说明和函数调用语句之间有矛盾 d) 函数名不能使用下划线 5. 已有以下数组定义和f函数调用语句,则在f函数的说明中,对形参数组array的错误定义方式是:() a) f(int array[][6]) b) f(int array[3][]) c) f(int array[][4]) d) f(int array[2][5]) 6. 在一个C源程序文件中,若要定义一个只允许本源文件中所有函数使用的全局变量,则该变量需要使用的存储类别是:() a) extern b) register c) auto d) static 7. 若使用一维数组名作函数实参,则以下正确的说法是:()

第1章复变函数习题-答案~习题详解

第一章习题详解 1. 求下列复数z 的实部与虚部,共轭复数、模与辐角: 1) i 231 + 解: ()()()13 2349232323231231i i i i i i -=+-=-+-=+ 实部:13 3 231= ??? ??+i Re 虚部:132231-=?? ? ??+i Im 共轭复数:1323231i i += ?? ? ??+ 模:131 1323231 2 22=+= +i 辐角:πππk arctg k arctg k i i Arg 232213 3132 2231231+? ?? ??-=+-=+??? ??+=??? ??+arg 2) i i i -- 131 解: ()()()2 532332113311131312i i i i i i i i i i i i i i -=-+-=++---=+-+-=-- 实部:2 3131=??? ??--i i i Re 虚部:25131-=?? ? ??--i i i Im 共轭复数:253131 i i i i +=?? ? ??-- 模:2 34 4342531312 22= =+= --i i i 辐角:πππk arctg k arctg k i i i i i i Arg 235223252131131+??? ??-=+???? ? ??-=+??? ??--=??? ??--arg

3) ()()i i i 25243-+ 解: ()()()2 26722672 72625243i i i i i i i --= -+= --= -+ 实部:()()2725243-=?? ? ??-+i i i Re 虚部:()()1322625243-=- =?? ? ??-+i i i Im 共轭复数:()()226725243i i i i +-= ?? ? ??-+ 模: ()() 292522627252432 2 =?? ? ??-+??? ??-=-+i i i 辐角:()()ππk arctg k arctg i i i Arg 272622722625243+??? ??=+????? ? ?--=??? ??-+ 4) i i i +-21 8 4 解:i i i i i i 3141421 8-=+-=+- 实部:( )1421 8=+-i i i Re 虚部:( )3421 8-=+-i i i Im 共轭复数:() i i i i 314218+=+- 模:103142221 8 =+=+-i i i 辐角:( )()πππk arctg k arctg k i i i i i i Arg 2321324421821 8 +-=+?? ? ??-=++-=+-arg 2. 当x 、y 等于什么实数时,等式 ()i i y i x +=+-++13531成立? 解:根据复数相等,即两个复数的实部和虚部分别相等。有: ()()()i i i y i x 8235131+=++=-++ ?? ?=-=+8321y x ? ??==?111 y x 即1=x 、11=y 时,等式成立。

c语言上机考试训练题库及答案

上机考试习题集 1.编写程序,一次输入5个学生的3门课成绩,每输入一个学生的3门成绩后,立即统计并输出该学生的总分和平均分。 #include "stdio.h" void main() { int score[5][3], i,j; float sum[5],average[5]; printf("请分别输入三个学生的成绩:\n"); for(i=0;i<5;i++) { sum[i]=0; for(j=0;j<3;j++) {scanf("%d",&score[i][j]); average[i]=0; sum[i]+=score[i][j]; average[i]=sum[i]/5; } } for(i=0;i<5;i++) printf("第%d个学生的总分为:%f,平均成绩为:%f\n",i+1,sum[i],average[i]); } 2 、编写程序,提示用户从键盘输入一个double类型的数,使该数保留小数点后两位,对第三位小数进行四舍五入处理,然后在显示器上输出此数,以便验证处理是否正确。 #include #include double rounding(double x,int n); void main() { double x,x1; int n; printf("请输入一个浮点数:\n"); scanf("%lf",&x); printf("请输入给定的小数位:\n"); scanf("%d",&n); x1=rounding(x,n); printf("圆整后的数为:\n%.*lf\n",n,x1); } double rounding(double x,int n)

C语言上机作业

《程序设计基础—C程序实验》 说明: 实验1和实验2均为电子实验报告,后面8个实验是纸制实验报告。 实验1 计算机基本操作 实验目的 ⑴熟悉计算机,能够正确进行开、关机操作。 ⑵熟悉键盘,掌握键盘上所有字符的输入,掌握正确的指法,能够进行中、英文切换。 ⑶理解操作系统概念,掌握Windows XP的基本操作,能够利用“控制面板”进行一些参数的设置。 ⑷知道“回收站”的功能,学会有关文件、文件夹的基本操作。 ⑸学会在计算机上搜索或查找相关的文件或文件夹,掌握通配符的使用。 实验内容 ⑴熟悉上机实验的计算机,熟悉键盘,学会中、英文输入方式的转换。 ⑵学会用正确的指法进行输入,知道键盘上所有字符的输入。 ⑶利用“控制面板”修改系统时间、桌面背景、鼠标属性。 ⑷在桌面上新建一个文件夹,该文件夹以学生自己的名字+班级+学号的后3位命名。 ⑸用文本方式或Word文档,写一段字数不少于300字的自我介绍,以1.doc命名并保存到上述文件夹中。 ⑹将上述文件夹复制到ftp://10.10.9.222上。

实验2 常用软件的基本操作 实验目的 ⑴了解Word功能,掌握Word的基本操作,包括页眉/页脚的设置、分栏、页面设置、添加底纹等。 ⑵学会文件的保存与打开、打印预览、段落的间隔、首字符位置改变等,能够在Word中插入图片、表格、艺术字、特殊符号等。 ⑶了解Excel的功能,掌握Excel的基本操作,包括单元格属性的设置、数字的几种填充形式、单元格的合并与恢复、边框的设置等。 ⑷掌握Excel的基本公式的使用,能够用公式进行基本计算。掌握Excel中的图形制作方法,能够根据表格做出图形。 实验内容 ⑴将ftp上自己文件夹中的1.doc文件复制到桌面上,然后做如下处理: ①将标题“自我介绍”居中; ②将文章中第二段的内容进行分栏,要求中间有分割线; ③插入一个4行4列的表格,内容为学号、姓名、某门课的成绩; ④任意插入一张图片; ⑤在文章中的任意位置加底纹。 将做好的文档以2.doc命名并保存。 ⑵用Excel建立如下表格: 学生的总成绩 学号姓名语文数学英语计算机总分平均分 09001 张辉78 90 80 92 09003 万明84 87 83 90 09004 杜芳鸣91 80 78 95 09006 徐好芳87 85 80 85 09007 江珍80 67 78 70 09008 王豪78 73 85 80 09009 王小盟75 89 94 88 09010 胡甜甜82 93 88 95 09012 卫晓88 97 65 72 并对表格进行如下操作: ①利用公式计算学生的总分、平均分; ②将表中所有的数据选择居中; ③利用该表格中的姓名和计算机的成绩做簇状图形。 将做好的Excel表以2.xls命名并保存。 将本次实验的两个文件上传到ftp上自己的文件夹中。

复变函数论第三版课后习题答案

第一章习题解答 (一) 1 .设z ,求z 及Arcz 。 解:由于3i z e π-== 所以1z =,2,0,1, 3 Arcz k k ππ=-+=±。 2 .设121z z =,试用指数形式表示12z z 及12 z z 。 解:由于6412,2i i z e z i e ππ -==== 所以()6 46 41212222i i i i z z e e e e π πππ π --=== 54()14612 26 11222i i i i z e e e z e πππππ +-===。 3.解二项方程44 0,(0)z a a +=>。 解:1 244 4 (),0,1,2,3k i i z a e ae k ππ π+====。 4.证明2 2 21212122()z z z z z z ++-=+,并说明其几何意义。 证明:由于2 2 2 1212122Re()z z z z z z +=++ 2 2 2 12 12122Re()z z z z z z -=+- 所以2 2 21212 122()z z z z z z ++-=+ 其几何意义是:平行四边形对角线长平方和等于于两边长的和的平方。 5.设z 1,z 2,z 3三点适合条件:0321=++z z z ,1321===z z z 。证明z 1,z 2,z 3 是内 接于单位圆 1 =z 的一个正三角形的顶点。 证 由于1 321 ===z z z ,知 321z z z ?的三个顶点均在单位圆上。 因为 3 33 31z z z == ()[]()[]212322112121z z z z z z z z z z z z +++=+-+-= 21212z z z z ++= 所以, 1212 1-=+z z z z , 又 ) ())((1221221121212 21z z z z z z z z z z z z z z +-+=--=- ()322121=+-=z z z z

c语言上机模拟题1

1.按照计算机应用领域分类,学校使用的成绩管理系统属于_______。 A. 实时控制 B. 计算机辅助设计 C. 数据处理 D. 科学计算 参考答案:C 2.下面关于计算机系统的叙述中,完整的计算机系统通常是指______。 A. 计算机的硬件系统 B. 计算机上配置的操作系统 C. 计算机的软件系统 ! D. 由硬件系统和软件系统组成 参考答案:D 3.微型计算机的微处理芯片上集成的主要组件包括______。 A. 控制器和运算器 B. 内存和控制器 C. 控制器和存储器 D. 运算器和I/O接口 参考答案:A 的对话框窗口不可以______。 A. 关闭

【 B. 移动 C. 任意改变大小 D. 最小化 参考答案:C 5.某用户在域名为的邮件服务器上申请了一个账号,账号名为xing,那么该用户的电子邮件地址为______。 A. xing%参考答案:D 6.下列对C语言程序的描述中,正确的是_______。 A. C语言程序总是从第一个定义的函数开始执行 B. C语言程序总是从最后一个定义的函数开始执行 C. C语言程序总是从main()函数开始执行 < D. C语言程序中的main()函数必须放在程序的开始部分 参考答案:C 7.设有char ch='\\';,则变量ch包含______个字符。 A. 1 B. 2 C. 3 D. 4 参考答案:A 8.以下选项中合法的字符常量是____________。 A. '\101' {

B. '\97' C. '\xyz' D. '\019' 参考答案:A 9.下面用户标识符中合法的是____________。 A. iPhone# B. 13a C. char D. _int 参考答案:D ( 10.已知int c1=5,c2=2,c3;,则执行c3=c1/c2后,c3的值是 _______。 A. 5 B. C. 3 D. 2 参考答案:D 11.设有定义int b=0;,表达式_______与其它表达式的值不相同。 A. b+=1 B. b++ C. ++b

相关主题
文本预览
相关文档 最新文档