太原理工大学c语言课程设计报告,太原理工大学C语言实验报告.doc

253b171540df25e1b84436cbe50dfc72.gif太原理工大学C语言实验报告.doc

本科实验报告课程名称 程序设计技术B 实验项目 实验地点 明向校区软件学院机房 专业班级 学号 学生姓名 指导教师 呼克佑 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. 求下面算术表达式的值(先自己分析,再试着用程序求解,比较得到的结果是否一致)。 设x2,a7,y4,求xa3*(xy)2/4; 设a2,b3,x3.5,y2.5,求(float)(ab)/2(int)x(int)y;5. 写出下面表达式运算后a的值,设原来a10。设a和n已定义成整型变量(先自己分析,再试着用程序求解,比较得到的结果是否一致)。 aa a-2 a*23 a/aa an2,n的值等于5; aa-a*a;主要仪器设备台式或笔记本电脑实验记录写出实验内容中2,3,4,5的程序代码和运行结果可分栏或加页1-1include stdio.hvoid main float a,b,sum,average;scanff,f,sumab; average ab/2;printfsumf,averagefn,sum,average; 运行结果-输入2,4 得sum6,average31-2include stdio.hvoid main float s10,max,min,sum,score;int i;fori0;i10;iscanff,maxminsums0;fori1;i10;iifmaxsi maxsi; ifminsi minsi; sumsi;scoresum-max-min/8;printfscore.4f,score; 运算结果-输入 1 2 3 4 5 6 7 8 9 10 得score5.52-2includestdio.hvoid mainvoid int value1,value2,sum; value130; value245; sumvalue1value2; printfsumdn,sum; 运算结果-sum752-3includestdio.hint maxint x,int yint z;ifxy zx;else zy;return z; void mainvoidint a,b,c; printfa,b; scanfd,d,cmaxa,b; printfmaxdn,c; 运算结果-输入a,b15,35 max354 (1)include stdio.hvoid main int a,x,y,m; a7; x2;y4;mxa3*xy2/4;printfmdn,m; 运算结果-m242include stdio.hvoid main float a,b, x,y, m;a2;b3;x3.5;y2.5; mfloatab/2intxinty;printfmfn,m; 运算结果-m3.551includestdio.hvoid mainint a10; aa;printfdn,a; 运算结果-205(2)includestdio.hvoid mainint a10;a-2; printfadn,a; 运算结果-a853includestdio.hvoid mainint a10; a*23;printfadn,a; 运算结果-a5054includestdio.hvoid mainint a10; a/aa;printfadn,a; 运算结果-a0因为定义a为整型a0.5时取a055includestdio.hvoid mainint a10,n5; an2;printfadn,a; 运算结果-a056includestdio.hvoid mainint a10;aa-a*a; printfadn,a;运算结果-a0 遇到的问题和解决方法(1)输入有误在输入过程 中如果在格式说明中含有普通字符,输入数据时,这些普通字符不会显示到屏幕上,而是要求将这些字符也原样输入。(2)类型搭配不对存在则不可用float,double型而用int型。(3)aa-a*a结果为0从右往左运算a的值随运算的进行而变化心得体会输入程序过程中要仔细,前后形势要对应。实验名称 实验三 简单程序、分支程序和循环程序设计实验四 数组应用程序设计实验目的和要求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. 已知圆柱半径r1.5,圆柱高h3,编程求圆周长,圆面积和圆柱体积。4. 输入一百分制成绩,输出成绩等级A、B、C、D、E。90分以上为A,8089为B,7079分为C,6069分为D,60分以下为E。要求程序能处理错误的输入数据。5. 利用公式/41-1/31/5-1/7,求的近似值,直到最后一项的绝对值小于10-6为止。(fabst表示t的绝对值,1e-61*10-6)。6. 在C语言允许的整数范围内验证哥德巴赫猜想,即任意大于6 的偶数都可以表示为两个素数之和,如100397。7. 有一个已排好序的数组,输入一个数,要求按原来排序的规律将它插入数组中。8. 输入一个英文句子,统计单词的个数。主要仪器设备台式或笔记本电脑实验记录写出实验内容中3,5,6,8的程序代码和运行结果可分栏或加页3includestdio.hdefine PI 3.1415926void main double r1.5,h3.0,c,s,v; c2*PI*r; sPI*r*r; vPI*r*r*h;printfcf,sf,vfn,c,s,v;运算结果-c9.424778,s7.068583,v21.2057504includestdio.hincludemath.hvoid maindouble PI0,s0,i1;int n1;whilefabsn/i1e-6ssn/i; ii2; n-n; PI4*s;printfPIfn,PI; 输出结果-PI3.1415916include stdio.hint main int i,j,n; printf输入一个大于6的偶数; scanfd, fori2;in;i forj2;j*ji;j ifij0 break; ifj*ji continue; forj2;j*jn-i;j ifn-ij0 break; ifj*jn-i continue; break;printfdddn,n,i,n-i; return 1; 输出结果-输入12 输出12578include stdio.hvoid mainchar s256,prior ; int i,count0; printf输入一个英文句子-; getss;fori0;si0;i ifprior siasizsiAsiZ count;priorsi; printfcountdn,count; 输出结果-输入Happy new year , lang time no see.输出count7遇到的问题和解决方法1不知如何使用运用PI3.1415926先提前定义。2如何应用fabst-应用前需用include(math.h)。心得体会数学公式定义要提前定义实验名称 实验五 指针应用程序设计实验六 函数应用程序设计实验目的和要求1. 理解指针的概念,掌握指针变量的定义和赋值,掌握使用指针变量访问数据的方法;2. 学会使用指针处理数组中的数据,学会用指针处理字符串;3. 了解指针数组和指向指针的指针;4. 掌握C语言函数的定义、调用和声明方法,掌握函数的参数传递方式;5. 了解变量的作用域和存储类别。实验内容1. 输入并运行第5章例5-1、例5-3中的程序,观察输出结果,理解指针变量的用法。2. 输入并运行第5章例5-5中的程序,掌握使用指针变量访问数组元素的方法。3. 编程序,输入有一个英文句子,将每个单词的第一个字母改为大写。使用指针4. 设计一函数,判断一个字符串是否是回文。“回文”是一种顺序读和反序读都一样的字符串,例如“121”“abcba” “ABCCBA”。在主函数中输入字符串并输出判断结果。5. 编写一个程序,由主函数和如下函数构成。设计函数,输入n个无序的整数存储在一个数组中;设计函数sort,用起泡法对数组中的n各数据从大到小排序;设计函数search,用折半查找法在已排序的n个数种查找指定的数据,若存在,返回其所处的位置,否则,将其插入适当位置使数据仍有序。在主函数中调用上述函数,验证函数的功能。6. 输入并运行第6章例6-27中的程序,根据输出结果总结局部静态变量的特点。主要仪器设备台式或笔记本电脑实验记录写出实验内容中3,4,5的程序代码和运行结果可分栏或加页3.includestdio.hvoid mainchar *p,*q,s256; printf输入一个英文句子n; getss;qs;while*q0 q;forps1;pq;pif*p-1 *pa*pz*p*p-32;else *p*p;*s*s-32;forps;pq;p printfc,*p;printfn; 输出结果-输入happy new year 输出Happy New Year4.includestdio.hvoid mainchar *p,*q,s81; int i; qs; getss;while*q0 q;forps,qq-1;pq;p,q if*p*q i1; break; elsei0; ifi0 printfYesn;else printfNon;输出结果-输入123321输出Yes5.1includestdio.hint int s,int n;void main int i,s81,n; printfnumber; scanfd, printf; fori0;in;i scanfd, sis,n; printfn;int int s,int n int i; fori0;in;i printf4d,si; return si;输出结果-输入5再输入1 2 3 4 5输出 1 2 3 4 5(2)includestdio.hint sortint s,int n;void main int i,s256,n; printfnumber; scanfd, printf; fori0;in;i scanfd, sisorts,n; printfn;int sortint s,int n int i,j,t; fori1;in;iforj0;jn-i;jifsjsj1tsj;sjsj1;sj1t; fori0;in;iprintf4d,si; return si;(3)includestdio.hint sortint s,int n;int searchint s,int m,int n;void main int i,s256,n,m; printfnumber; scanfd, printf d numbers,n; fori0;in;i scanfd, sisorts,n; printfn; printf one number; scanfd, sisearchs,m,n; printfn;int sortint s,int n int i,j,t; fori1;in;iforj0;jn-i;jifsjsj1tsj;sjsj1;sj1t; fori0;in;iprintf4d,si; return si;int searchint s,int m,int n int i,t; forin-1;i0;i ifmsi si1si; fori0;in;i ifsimsi-1m sim; else ifms1 s0m; else ifmsn snm; fori0;in;i printf4d,si; return si; 输出结果-输入5后输入11 19 23 59 21输出11 19 21 23 59再输入25输出11 19 21 23 25 59。遇到的问题和解决方法1出现奇怪数字解决方法-仔细检查,尤其是表示范围的地方,注意等于是否可取。心得体会1输入过程中要仔细,尤其是范围的取舍。实验名称 实验七 结构体应用程序设计实验八 文件操作程序设计实验目的和要求1. 理解结构体的概念,掌握结构体类型的定义和结构体变量、数组和指针的定义;2. 掌握结构体变量和结构体数组的初始化方法;3. 掌握结构体变量和结构体成员的引用方法;4. 理解文件、文件类型、文件类型指针,熟悉文件的操作过程。5. 掌握文件打开、关闭和文件读写等文件操作函数的手机用。实验内容1. 输入并运行第7章例7-1中的程序。理解结构体类型、变量和结构体成员。2. 编写一个程序实现如下功能定义一个点的结构数据类型,实现下列功能输入点的坐标值。求两个点中点坐标。求两点间距离。3. 有5个学生,每个学生有3门课的成绩,从键盘输入学生数据(包括学生号,姓名,三门课成绩),计算出平均成绩,将原有数据和计算出的平均分数存放在磁盘文件“stud”中。4. 有两个磁盘文件A和B,各存放一行字母,要求把这两个文件中的信息合并(按字母顺序排列),输出到一个新文件C中。主要仪器设备台式或笔记本计算机实验记录写出实验内容中2,3,4的程序代码和运行结果可分栏或加页21includestdio.hvoid mainstruct spotint x;int ystruct spot sp4;int i;printf输入四个坐标点n;fori0;i4;i scanfdd,printfspottttxtyn;fori0;i4;i printfspdtttdtdn,i,spi.x,spi.y;输出结果-输入1 2 回车2 3回车3 4回车4 5回车输出spot x ysp0 1 2sp1 2 3sp2 3 4sp3 4 52includestdio.hvoid mainstruct spotint x;int ystruct spot sp4;int i,x,y;printf输入两个坐标点n;fori0;i2;i scanfdd,printfspottttxtyn;fori0;i2;i printfspdtttdtdn,i,spi.x,spi.y; xsp0.xsp1.x/2; ysp0.ysp1.y/2; printfmidtttdtdn,x,y;输出结果-输入2 4回车输入4 6回车输出spot x ysp0 2 4sp1 4 6mid 3 53includestdio.hincludemath.hvoid mainstruct spotint x;int ystruct spot sp4;int i,x,y;float lon;printf输入两个坐标点n;fori0;i2;i scanfdd,printfspottttxtyn;fori0;i2;i printfspdtttdtdn,i,spi.x,spi.y; lonsqrtsp0.x-sp1.x*sp0.x-sp1.xsp0.y-sp1.y*sp0.y-sp1.y; printflonf,lon;输出结果-输入2 4回车输入4 6回车输出spot x ysp0 2 4sp1 4 6lon2.8284273includestdio.hincludestdib.hstruct studentint no;char name11;float mat; float eng; float cha;float arevoid mainstruct student a5;int i;FILE *fp;fori0;i5;iprintfn输入第d位学生学号i;scanfd,printfn输入第d位学生的姓名i;scanfs,printfn输入第d位学生数学成绩,i;scanff,printfn输入第d位学生语文成绩,i;scanff,printfn输入第d位学生英语成绩,i; scanff, ai.aveai.matai.chaai.eng; printf第d位学生的平均成绩为f,i,ai.ave;fpstud,r;fori1;i5;i iffwrite fclosefp;4includestdio.hincludestdib.hvoid mainFILE *fp;int i,j,n,ni;char c1600,t,ch;iffpA,rNULLprintffile A cannot be opened n;exit0;printfnAcontents aren;fori0;chfgetcfpEOF;icich;put char ci;fclosefp; nin;iffpB,rNULLprintffile B cannot be openednexit0;printfn B cantents aren;fori0;chfgetcfpFOF;icich;putcharci;fclosefp;ni;fori0;in;iforji1;jnnjtci;cicj;cjt;printfn C file isn;fpC,W;fori0;in;iputcci,fp;putcharci;flosefp;遇到的问题和解决方法1将原有数据和计算出的平均分数存放在磁盘文件stud中解决方法-百度求解。心得体会按题目要求分析问题,要细心,尽量减少失误。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值