




已阅读5页,还剩15页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
本科实验报告课程名称: 程序设计技术B 实验项目: 实验地点: 明相校区软件学院机房 专业班级: 1403 学号: 2014005565 学生姓名: 李亚茹 指导教师: 呼克佑 2014年 12 月 日实验名称 实验一 C语言的运行环境和运行过程实验二 C语言运算符和表达式实验目的和要求1. 学会安装C语言编译系统,如:Turbo C、Win-TC、Visual C+等;2. 学会在上述某种编译系统中程序的编辑、编译、连接和运行;3. 通过运行简单的C程序,初步了解C源程序的特点;4. 理解C语言的数据类型,掌握各种常量的表示方法,变量的定义、初始化和赋值;5. 学会使用C语言的算术运算符以及表达式的求值过程。实验内容1. 下载并安装C,语言编译系统,设置编辑。2. 输入并运行第1章例1-1和例1-2中程序,并记录遇到的问题和解决方法。3. 输入并运行第2章例2-2和例2-3中程序,并记录遇到的问题和解决方法。4. 求下面算术表达式的值(先自己分析,再试着用程序求解,比较得到的结果是否一致)。 设x=2,a=7,y=4,求x+a%3*(x+y)%2/4; 设a=2,b=3,x=3.5,y=2.5,求(float)(a+b)/2+(int)x%(int)y;5. 写出下面表达式运算后a的值,设原来a=10。设a和n已定义成整型变量(先自己分析,再试着用程序求解,比较得到的结果是否一致)。 a+=a a-=2 a*=2+3 a/=a+a a%=(n%=2),n的值等于5; a+=a-=a*=a;主要仪器设备台式或笔记本电脑实验记录(写出实验内容中2,3,4,5的程序代码和运行结果)(可分栏或加页)2. 程序c1-1:#include void main() float a,b,sum,average; scanf(%f,%f,&a,&b); sum=a+b;average=(a+b)/2; printf(sum=%f,average=%fn,sum,average); 运行结果:3.5 4.2 Sum=-107374176.000000,average=-53687086.250000 程序c1-2:#include void main() float s10,max,min,sum,score; int i; for(i=0;i10;i+) scanf(%f,&si); max=min=sum=s0; for(i=1;i10;i+) if(maxsi) min=si; sum+=si; score=(sum-max-min)/8; printf(score=%.4f,score); 运行结果:0 1 2 3 4 5 6 7 8 9 Score=4.5000 3.程序c2-2:#include void main() int value1,value2,sum; value1=30; value2=45; sum=value1+value2; printf(sum=%dn,sum); 运行结果:sum=75 程序c2-3:#include int max(int x,int y) int z; if(xy) z=x; else z=y; return z; void main(void) int a,b,c; printf(a,b=); scanf(%d,%d,&a,&b); c=max(a,b); printf(max=%dn,c);运行结果:a,b=15,35 Max=354.程序c1:#include void main() int x=2,a=7,y=4; float z; z=x+a%3*(x+y)%2/4; printf(%fn,z); 运行结果:2.000000 程序c2:#include void main() float a=2,b=3,z; int x=3.5,y=2.5; z=(a+b)/2+x%y; printf(%fn,z); 运行结果;3.5000005.(1)#include void main() int a=10; a+=a; printf(%dn,a); 运行结果:20(2)#include void main() int a=10; a-=2; printf(%dn,a); 运行结果:8 (3)#include void main() int a=10; a*=2+3; printf(%dn,a); 运行结果:50(4)#include void main() float a=10; a/=a+a; printf(%fn,a); 运行结果:0.500000(5)#include void main() int a=10,n=5; a%=(n%=2) printf(%dn,a); 运行结果:0(6)#include void main() int a=10; a+=a-=a*=a; printf(%dn,a); 运行结果:0遇到的问题和解决方法(1)运行2-3时,输入的两个数没有用逗号隔开只按了空格键 ,因此运行结果错误;(2)intx=3.5 y=2.5 在计算时没有把x.y看成整数,因此自己计算出的值与运算结果不一致。心得体会通过运行程序了解了c语言的特点;通过矫正错误弥补了漏洞。实验名称 实验三 简单程序、分支程序和循环程序设计实验四 数组应用程序设计实验目的和要求1. 理解C语言程序的基本结构和实现基本结构的语句;2. 熟练应用赋值、输入和输出语句;3. 理解并掌握关系运算符、逻辑运算符及其表达式的使用;4. 熟练掌握if语句、switch语句、while语句、dowhile语句和for语句的用法;5. 掌握数组的定义、初始化和数组元素的引用方法;6. 掌握与数组有关的算法,如:求最大(小)值,排序等;7. 理解字符数组与字符串的关系,掌握字符串的处理过程和常用字符串处理函数。实验内容1. 输入并运行第3章例3-3、例3-6中的程序,通过输出结果理解对应的格式说明。2. 输入并运行第3章例3-8、例3-10中的程序,注意输入数据的格式。3. 已知圆柱半径r=1.5,圆柱高h=3,编程求圆周长,圆面积和圆柱体积。4. 输入一百分制成绩,输出成绩等级A、B、C、D、E。90分以上为A,8089为B,7079分为C,6069分为D,60分以下为E。要求程序能处理错误的输入数据。5. 利用公式:/4=1-1/3+1/5-1/7+,求的近似值,直到最后一项的绝对值小于10-6为止。(fabs(t)表示t的绝对值,1e-6=1*10-6)。6. 在C语言允许的整数范围内验证哥德巴赫猜想,即任意大于6 的偶数都可以表示为两个素数之和,如:100=3+97。7. 有一个已排好序的数组,输入一个数,要求按原来排序的规律将它插入数组中。8. 输入一个英文句子,统计单词的个数。主要仪器设备台式或笔记本电脑实验记录(写出实验内容中3,5,6,8的程序代码和运行结果)(可分栏或加页)3. 程序c4: #include #define PI 3.1415926 void main() double radius=1.5,height=3.0,area,volume,circum; area=PI*radius*radius; circum=2.0*PI*radius; volume=PI*radius*radius*height; printf(area=%f,circum=%f,volume=%fn,area,circum,volume); 运行结果:area=7.068583,circum=9.424778,volume=21.2057505.程序c6: #include #include void main() float x=-1,PI=1,i; for(i=3;fabs(x/i)1e-6;i+=2,x*=-1) PI+=x/i; printf(%fn,4*PI); 运行结果:3.141594Press any key to continue6.#include#includevoid main() long x,y,z,i; printf(Input 6 even number:n); scanf(%ld,&x); if(x6&x%2=0) y=2; while(1) while(1) y+; for(i=2;i=sqrt(y) break; z=x-y; for(i=2;i=sqrt(z) break; printf(%ld=%ld+%ld,x,y,z); else printf( ); getch(); 运行结果:8.#includevoid main()char s100;int i,count=0;printf(输入一个人英文句子:n);gets(s);for(i=0;si!=0;i+)if(si= ) count+;printf(%dn,count+1);运行结果:输入一个人英文句子:sdf dfg fgh fghj4Press any key to continue遇到的问题和解决方法1. 在编写过程中总是多些或少些“;”,不清楚哪里该写哪里不该。最后通过纠正和查阅了解了。2.心得体会实验名称 实验五 指针应用程序设计实验六 函数应用程序设计实验目的和要求1. 理解指针的概念,掌握指针变量的定义和赋值,掌握使用指针变量访问数据的方法;2. 学会使用指针处理数组中的数据,学会用指针处理字符串;3. 了解指针数组和指向指针的指针;4. 掌握C语言函数的定义、调用和声明方法,掌握函数的参数传递方式;5. 了解变量的作用域和存储类别。实验内容1. 输入并运行第5章例5-1、例5-3中的程序,观察输出结果,理解指针变量的用法。2. 输入并运行第5章例5-5中的程序,掌握使用指针变量访问数组元素的方法。3. 编程序,输入有一个英文句子,将每个单词的第一个字母改为大写。(使用指针)4. 设计一函数,判断一个字符串是否是回文。“回文”是一种顺序读和反序读都一样的字符串,例如:“121”“abcba” “ABCCBA”。在主函数中输入字符串并输出判断结果。5. 编写一个程序,由主函数和如下函数构成。设计函数:input(),输入n个无序的整数存储在一个数组中;设计函数:sort(),用起泡法对数组中的n各数据从大到小排序;设计函数:search(),用折半查找法在已排序的n个数种查找指定的数据,若存在,返回其所处的位置,否则,将其插入适当位置使数据仍有序。在主函数中调用上述函数,验证函数的功能。6. 输入并运行第6章例6-27中的程序,根据输出结果总结局部静态变量的特点。主要仪器设备台式或笔记本电脑实验记录(写出实验内容中3,4,5的程序代码和运行结果)(可分栏或加页)3.#includevoid main()char s100,*p;int i;printf(请输入一个英文句子:);gets(s); p=&s0;*p-=32;for(i=0;*(p+i)!=0;i+)if(*(p+i-1)= )*(p+i)-=32;for(i=0;*(p+i)!=0;i+)printf(%c,*(p+i);运行结果:请输入一个英文句子:sdf dfg fgh fghjSdf Dfg Fgh FghjPress any key to continue4.#include#includevoid main()char a100;int i,j;printf(Please Input:);gets(a);j=strlen(a)-1;for(i=0;ij) printf(Yesn); else printf(Non);运行结果:Please Input:abcdcbaYesPress any key to continue5.遇到的问题和解决方法心得体会实验名称 实验七 结构体应用程序设计实验八 文件操作程序设计实验目的和要求1. 理解结构体的概念,掌握结构体类型的定义和结构体变量、数组和指针的定义;2. 掌握结构体变量和结构体数组的初始化方法;3. 掌握结构体变量和结构体成员的引用方法;4. 理解文件、文件类型、文件类型指针,熟悉文件的操作过程。5. 掌握文件打开、关闭和文件读写等文件操作函数的手机用。实验内容1. 输入并运行第7章例7-1中的程序。理解结构体类型、变量和结构体成员。2. 编写一个程序实现如下功能:定义一个点的结构数据类型,实现下列功能:输入点的坐标值。求两个点中点坐标。求两点间距离。3. 有5个学生,每个学生有3门课的成绩,从键盘输入学生数据(包括学生号,姓名,三门课成绩),计算出平均成绩,将原有数据和计算出的平均分数存放在磁盘文件“stud”中。4. 有两个磁盘文件A和B,各存放一行字母,要求把这两个文件中的信息合并(按字母顺序排列),输出到一个新文件C中。主要仪器设备台式或笔记本计算机实验记录(写出实验内容中2,3,4的程序代码和运行结果)(可分栏或加页)2.#include#includestruct pointfloat x;float y;void main()struct point a,b,c;double d;scanf(%f,%f,&a.x,&a.y);scanf(%f,%f,&b.x,&b.y);c.x=(a.x+b.x)/2;c.y=(a.y+b.y)/2;d=sqrt(a.x-b.x)*(a.x-b.y)+(a.y-b.y)*(a.y-b.y);printf(中点坐标为:%f,%f,c.x,c.y);printf(两点间距离:%f,d);运行结果:2,5 4,6中点坐标为:3.000000,5.500000两点间距离:3.000000Press any key to continue3.#include #include struct student int no; char name11; float mat; float eng; float cha; float ave; ; int main (void) struct student a5; int i; FILE *fp; for (i=0;i5;i+) printf (n请输入第%d为学生学号:,i+1); scanf (%d,&ai.no); printf (n请输入第%d位学生姓名:,i+1); scanf (%s,&); printf (n请输入第%d位学生数学成绩:,i+1); scanf (%f,&ai.mat); printf (n请输入第%d位学生语文成绩:,i+1); scanf (%f,&ai.cha); printf (n请输入第%d位学生英语成绩:,i+1); scanf (%f,&ai.eng); ai.ave=(ai.mat+ai.cha+ai.eng)/3; printf (第%d位学生的平均成绩为:%f,i+1,ai.ave); fp=fopen(stud,r); for (i=1;i5;i+) if(fwrite(&ai,sizeof(struct student ),1,fp)!=1) printf (file write errorn); fclose(fp); 运行结果请输入第1为学生学号:01请输入第1位学生姓名:A请输入第1位学生数学成绩:98请输入第1位学生语文成绩:97请输入第1位学生英语成绩:95第1位学生的平均成绩为:96.666664请输入第2为学生学号:02请输入第2位学生姓名:B请输入第2位学生数学成绩:89请输入第2位学生语文成绩:97请输入第2位学生英语成绩:79第2位学生的平均成绩为:88.333336请输入第3为学生学号:03请输入第3位学生姓名:C请输入第3位学生数学成绩:89请输入第3位学生语文成绩:99请输入第3位学生英语成绩:97第3位学生的平均成绩为:95.000000请输入第4为学生学号:04请输入第4位学生姓名:D请输入第4位学生数学成绩
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 纸的发明与文化传播教学教案:初中历史课程
- 上海华二附中高一(下)期末数学试题及答案
- 2022学年上海进才中学高一(下)期末政治试题及答案
- 2021学年上海控江中学高一(下)期中语文试题及答案
- 百年孤独的经典名句解读:文学鉴赏教学教案
- 英语现在完成时态结构与应用实例讲解教案
- 夏日海滩的回忆抒情类作文13篇
- 公交公司比赛活动方案
- 公交职工互助活动方案
- 公众号元旦活动方案
- 丝网除沫器小计算
- 制钵机的设计(机械CAD图纸)
- 《土木工程生产实习报告》
- 11分泌性中耳炎学习课程
- 明基逐鹿eHR白皮书(DOC 30页)
- 三年级下册美术课件-第15课色彩拼贴画|湘美版(共11张PPT)
- 水稻病虫统防统治工作总结
- 水在不同温度下的折射率、粘度和介电常数
- 四柱特高弟子班绝密资料——席学易
- 呼吸机基础知识最终版
- 广安市教育局文件材料归档范围及保管期限表
评论
0/150
提交评论