c语言上机报告程序模块化,C语言程序实验报告循环制程序的设计基于函数的模块化程序设计.doc...

C语言程序实验报告循环制程序的设计基于函数的模块化程序设计

数学与软件科学学院 实验报告

学期:11至12___ 第_1 学期 2011年10 月 31 日

课程名称:程序设计基础教程-C语言 专业:2010级5_班

实验编号:6实验项目:循环控制程序的设计基于函数的模块化程序设计 指导教师_

姓名: 学号: 实验成绩:

一、实验目的及要求

(1) 了解和掌握C语言环境下模块化程序设计的基础----基于函数模块的程序设计技术;

(2) 复习C语言程序的基本结构特点,了解基于函数模块的程序模块及其调用关系、过程;

(3) 函数的声明、定义、使用方法;

(4) 对各种变量属性的使用方法;

(5) 对C语言中常用的预编译语句的基本掌握。

二、实验内容

1.函数的声明、定义和使用方法。具体实例如下:

(1) 编写一个函数,它可以求出给定数的所有因子,如下形式显示其结果:72=2*2*2*3*3 (8班同学不做)

(2)试编写求n!的函数,并求n=7的结果。

具体要求如下:

(1) 编写程序通过调试获得正确结果;

(2) 分析函数的声明、定义和使用方法;

(3) 分别分析函数调用时的参数传值调用方法。

2.有关变量的属性实验(静态、动态、全局、局部等方面)。具体实例如下:

(1) 仔细分析以下程序的执行结果,然后上机运行如下程序段,并对各个变量的属性及其使用结果进行比较分析:(8班同学不做)

int main(void)

{ /******(a)******/

int nX=1;

{/******(b)******/

void prt(void);

int nX=3;

prt();

printf("The second nX is %d\n",nX);

}/******(c)******/

printf("The first nX is %d\n",nX);

return 0;

}

void prt(void)

{ /******(d)******/

int nX=5;

printf("The third nX is %d\n",nX);

}/******(e)******/

(2) 仔细分析下列程序,是否有错误之处?然后分析其执行结果,上机验证并对各个变量的存储属性及其结果进行比较分析:

#define LOW 11

#define HIGH 23

#define CHANGE 12

int i=LOW;

int main(void)

{

int workover(int i);

int reset(int i);

int i=HIGH;

reset(i/2.5);

printf("i=%d\n",i);

reset(i=i/3);

printf("i=%d\n",i);

reset(i/2);

printf("i=%d\n",i);

workover(i);

printf("i=%d\n",i);

return 0;

}

workover(int i);

{

i=(i%i++)*((i*i)/(2*i)+4);

printf("i=%d\n",i);

return (i);

}

reset(int i);

{

i=i<=CHANGE?LOW:HIGH++;

return (i);

}

(3) 分析、编辑并执行以下程序,如果有错,请指出其错误原因,同时需要指出各个变量的存储属性。

/*****file1.c*****/

int last(void);

int new(int);

int reset(void);

exter int i;

int main(void)

{

int i,j;

i=reset();

for (j=1;j<=3;j++)

{

printf(“i=%d\tj=%d\n”,i,j);

printf(“next(i)=%d\t”,next(i));

printf(“last(i)=%d\n”,last());

printf(“new(i+j)=%d\n”,new(i+j));

}

int next(void)

{

return (i++);

}

return 0;

}

/*****file2.c*****/

static int i=10;

fast(void)

{

rturn (i-=1_);

}

new(int i)

{

static int j=-5;

return (i=

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值