C语言程序设计实验报告(1)_第1页
C语言程序设计实验报告(1)_第2页
C语言程序设计实验报告(1)_第3页
C语言程序设计实验报告(1)_第4页
C语言程序设计实验报告(1)_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、.程序设计基础实验报告单班级学号姓名实验时间实验地点实验题目实验五:C程序结构与函数实验目的1. 学习掌握C语言程序的基本结构2. 掌握函数的定义和调用方法,掌握函数调用时实参和形参间的值传递关系3. 掌握函数的嵌套和递归调用4. 掌握局部变量、全局变量的使用及变量的存储类型实验要求1. 掌握C语言程序的基本结构2. 掌握函数的嵌套和递归调用3. 掌握局部变量、全局变量的使用及变量的存储类型实验内容及主要步骤1. 下面的程序中主函数调用max()函数来比较两个浮点数的大小 ,在程序清单的例一;2. 函数的嵌套使用,3. 函数的值传递,要记住只能单向传递,实参与形参的类型应一致,否则将发生“类型

2、不匹配”而得到错误的结果。字符型与整型可以互相通用 #include "stdio.h"void sort(int x,int y) int z; printf("x=%d,y=%dn",x,y); if(x>y) z=x;x=y;y=z; printf("x=%d,y=%dn",x,y);void main() int a,b; scanf ("%d%d",&a,&b); printf("a=%d,b=%dn",a,b); sort (a,b); printf("

3、;a=%d,b=%dn",a,b); 4. 程序的函数分解,多训练,“自顶向下逐步求精、分而治之”5. C程序的变量,局部变量与全局变量:在不同的函数中定义的变量互不干扰,即使是相同名称的变量,它们代表不同的对象,不同的函数中和变量可以重名6. 变量的动态与静态存储方式,例栈区 存储方向堆区 存储方向静态存储区程序区实验程序清单1. #include "stdio.h"float max(float x,float y)return (x>y?x:y);void main() float max(float,float); float a,b,c; prin

4、tf("n请输入两个数:"); scanf ("%f%f",&a,&b); c=max(a,b); printf("max is %.2fn",c);2. #include "stdio.h"void printcalendar(int,int);int weekday(int,int,int);int daysinmonth (int,int);void printheader (int,int);void printbody (int,int);int isleapyear (int);void

5、 main() int year,month; printf("Please input year and month:"); scanf("%d%d",&year,&month); printcalendar (year,month); void printcalendar(int year,int month)int firstday,days;firstday=weekday (year,month,1);days=daysinmonth (year,month);printheader (year,month);printbody

6、 (firstday,days);int weekday(int year,int month,int day) /来求某年某月的第一天为星期几 int days=0,i; for(i=1990;i<year;i+) /寻找年的参照日 days+=365; if(isleapyear(i) days+=1; days=days%7; for(i=1;i<month;i+)/计算月的 days+=daysinmonth(year,i); days=days%7; days=(days+day)%7; return days;int daysinmonth (int year,int

7、month)switch (month)case 1: case 3: case 5: case 7: case 8: case 10: case 12: return 31;case 4: case 6: case 9: case 11: return 30;case 2: if(isleapyear (year) return 29; else return 28;void printheader (int year,int month)printf("t%4d年%2d月n",year,month);printf(" 日 一 二 三 四 五 六n")

8、;void printbody (int firstday,int days)int i,weekday;for(i=0;i<firstday;i+) printf(" ");weekday=firstday;for(i=1;i<=days;i+)printf("%3d",i);weekday+=1;if(weekday%7=0) printf("n");int isleapyear (int year)return (year%4=0 && year%100!=0 | year%400=0);实践经验及问题分析1)对于些复杂的程序可以

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论