网站大量收购独家精品文档,联系QQ:2885784924

C语言 四川师范大学 信息与计算科学 冯山 实验六.doc

C语言 四川师范大学 信息与计算科学 冯山 实验六.doc

  1. 1、本文档共11页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C语言 四川师范大学 信息与计算科学 冯山 实验六

数学与软件科学学院 实验报告 2015年 6月 9日 课程名称:C语言程序设计 专业:信息与计算科学 2014级 6班 实验编号: 实验六 指导教师:冯山 姓名:杨帆 学号:2014060634 实验得分 一、实验目的 (1) 了解和掌握C语言环境下模块化程序设计的基础----基于函数模块的程序设计技术; (2) 复习C语言程序的基本结构特点,了解基于函数模块的程序模块及其调用关系、过程; (3) 函数的声明、定义、使用方法; (4) 对各种变量属性的使用方法; (5) 对C语言中常用的预编译命令的基本掌握。 二、实验内容 函数的声明、定义和使用方法。具体实例如下: (1) 编写一个在屏幕上画一条正弦曲线的函数; (2) 编写一个函数,它可以求出给定数的所有因子,如下形式显示其结果:72=2*2*2*3*3; (3) 分别写出一个求N个数的最大公约数和最小公倍数的递归函数; (4) 试编制n碟片hanoi塔的问题求解函数,并利用它求解4个盘片的结果; (5) 试编写求n!的函数,并求n=7的结果。 2.有关变量的属性实验(静态、动态、全局、局部等方面)。 (1) 仔细分析以下程序的执行结果,然后上机运行如下程序段,并对各个变量的属性及其使用结果进行比较分析: main() { /******(a)******/ int x=1; {/******(b)******/ void prt(void); int x=3; prt(); printf(The second x is %d\n,x); }/******(c)******/ printf(The first x is %d\n,x); } void prt(void) { /******(d)******/ int x=5; printf(The third x is %d\n,x); }/******(e)******/ (2) 仔细分析下列程序,是否有错误之处?然后分析其执行结果,上机验证并对各个变量的存储属性及其结果进行比较分析: #define LOW 11 #define HIGH 23 #define CHANGE 12 int i=LOW; main() { 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); } 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) 以下程序希望打印5行*****,能否做到?为什么? int i; main() { void prt(); for (i=0;i5;i++) prt(); } void prt() { for (i=0;i5;i++) printf(%c,*); printf(\n); } (4) 分析、编辑并执行以下程序,如果有错,请指出其错误原因,同时需要指出各个变量的存储属性。 /*****file1.c*****/ int last(void); int new(int); int reset(void); exter int i; 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++); } } /*****file2.c*****/ static int i=10; fast(void) { rturn (i-=1_); } ne

文档评论(0)

shuwkb + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档