学生实验指导(5)

2019-08-30 23:36

实验6 函数与编译预处理

院(系):信息科学与技术学院 班专级 业 学姓课程名称:高级语言程序设计 号 名 教师签名:

实验室 计算机号 实验名称 所用软件 实验成绩 6.1 实验目的

1.熟悉函数的一般形式以及函数的定义与调用。

2.掌握函数实参与形参的对应关系以及“值传递”的方法。 3.掌握自定义函数的编写。

4.掌握函数的嵌套调用和递归调用方法。

5.掌握全局变量、局部变量、动态变量、静态变量的概念和使用方法。

6.2 实验预习

1.函数的概念、定义格式、声明格式、调用规则及调用过程中数据传递方法过程,寒暑的嵌套调用和递归调用。

2.宏定义和文件包含等编译预处理指令。

6.3 实验任务

1.输入程序,分析程序的运行结果, #include \void xs() {

printf(“C 2.0\\n”); }

void main() {

printf(“Turbo_”); xs(); }

人工分析结果: 程序运行结果: 2.阅读程序,并将该程序改写成函数调用形式。 #include \void main() {

int data;

scanf(\

if(data%2!=0) printf(\ else printf(\

18

}

在提示/**********blank**********/下面填写合适的内容完成程序设计。定义函数int f(int x),判断x是否为奇数,若是则函数返回1,否则返回0。

#include \void main() {

int data,flag;

/**********blank**********/

________________________________________; /*填空位置1,声明函数*/ scanf(\ /**********blank**********/ flag=___________; /*填空位置2,调用函数,并将返回值赋给变量flag*/ if(flag==1) printf(\ else printf(\}

int f(int x) {

int z;

If(x%2!=0) z=1; else z=0; /**********blank**********/

____________________; /*填空位置3,带回返回值*/ }

3.实验指导书P38【上机题3(2)】。函数zdy(x,y,z)输出x、y、z的初始值及改变后的值。

#include \void main() { int x=2,y=3,z=0; void zdy(int x,int y,int z); printf(\ zdy(x,y,z); printf(\}

void zdy(int x,int y,int z) { printf(\ z=x+y; x=z*x; y=y*y; printf(\}

表6-1 实验结果记录表

人工分析结果

19

实验运行结果 (1) (2) (3) (4) (1) (2) (3) (4) 4.在提示/**********blank**********/下面填写合适的内容完成程序设计,实现从键盘输入x,求1~x的累加和的功能。

#include \float fun(int n) {

int i; float c;

/**********blank**********/ ____________________; for(i=1;i<=n;i++)

/**********blank**********/ ____________________; ____________________; }

void main() {

int x;

/**********blank**********/ ____________________; printf(“fun(%d)=%f”,x,fun(x)); }

5.有以下程序: #include”stdio.h” int a, b; void fun() {

a=100; b=200; }

void main( ) {

int a=5, b=7; fun();

printf(“%d%d \\n”, a,b); }

执行后的输出结果是 。

分析原因可知:___________________________________ 6.实验指导书P40【上机题5】。输入并运行以下程序,分析程序运行结果。 #include \

20

static int a=2; void main() { void p1(); void p2(); printf(\ p1(); p2(); printf(\}

void p1() { a=a*a; printf(\}

void p2() { a=a*a*a; printf(\}

表6-2 实验结果记录表

人工分析结果 (1) (2) (3) (4) (1) (2) (3) (4) 实验运行结果 7.实验指导书P41【上机题7】。输入并运行以下程序,分析程序运行结果。 #include \void main() { auto int i; void f(int j); for(i=1;i<=5;i++) f(i); }

void f(int j) { static a=100; auto k=1; ++k; printf(\ a+=10;

21

}

表6-3 实验结果记录表

人工分析结果 实验运行结果 8.阅读程序,写出人工分析结果并上机调试记录实验运行结果。 #include \#define M 3 void main() { int v; v=M*M;

printf(\}

(1)人工分析结果:_______________

实验运行结果:_______________

(2)若宏定义改为:#define M 3+2,程序运行结果为:_____________________ (3)若宏定义改为:#define M (3+2),程序运行结果为:____________________ 9.输入两数,要求编辑函数求该数的最大公约数。 #include”stdio.h”

int gcd(int m,int n) /*补充函数体部分*/ { }

void main() {

int m,n;

scanf(“%d,%d”,&m,&n(;

printf(“gcd=%d\\n”,gcd(m,n)); }

22


学生实验指导(5).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:思维风格问卷

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: