c语言程序设计实验报告格式样本_第1页
c语言程序设计实验报告格式样本_第2页
c语言程序设计实验报告格式样本_第3页
c语言程序设计实验报告格式样本_第4页
c语言程序设计实验报告格式样本_第5页
已阅读5页,还剩30页未读 继续免费阅读

下载本文档

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

文档简介

C语言程序设计实验报告格式样本本科实习报告实习名称C语言程序设计实习性质08060101实习时间实习地点学生姓名马培伟学号2010051724学院信息科学技术学院学系专业信息与计算科学指导教师樊足志教师单位数学系暨南大学教务处2011年9月1日课程实验项目目录学生姓名学号序号1实验项目名称实验一熟悉WINTC/VC的上机过程2实验二数据类型、运算符和表达式34实验三顺序程序设计实验四逻辑运算和判断选取控制56789101112实验五循环控制实验六数组实验七函数实验八编译预处理实验九指针实验十结构体和共用体设计设计设计设计设计设计设计设计必选必选必选必选必选必选必选必选设计设计必选必选21设计必选计划计划每学时组人数实验属性验证开出要求必选内容提要实验十一位运算实验十二文件合计第1页暨南大学本科实验报告专用纸实验一熟悉WINTC/VC的上机过程一、实验目的1熟悉WINTC或者VC60的软件环境,掌握使用其进行编辑、编译、连接和运行的方法。2通过运行简单的C程序,掌握C源程序的特点。二、实验内容(由学生选择WINTC或者VC之一完成相关实验)1运行WINTC程序,进入C程序设计环境。2建立工程文件3编辑源文件4编译、连接1单文件源程序的编译、连接源程序先经过编译,生成目标文件OBJ文件,然后将目标文件进行连接,生成可执行文件EXE。如果编译、连接中发生错误,在MESSAGE窗口中显示出错信息,修改错误后,可重新编译、连接。2多文件源程序的编译、连接可以用长的源程序分割成几个文件,分别编译然后生成可执行文件。此时使用PROJECT菜单。步骤第一步有三个文件F1C、F2C、F3C组成一个完整的C程序,分别建立三个文件,将F1C、F2C、F3C三个文件保存到同一个文件夹中如DTCPROJECT。F1CINCLUDEEXTERNMAXINTX,INTYMAININTE1,F2PRINTFINTMAXINTX,INTY第2页C语言程序设计RETURNXYXY第二步构造PROJECT文件,在编辑状态下,编辑一个扩展名为PRJ的文件,文件的内容为F1F2F3第三步构造EXE文件,按F9键即将三个文件编译、连接成一个EXE文件,文件名为WANGEXE。如果编译、连接出现错误,则必须进行修正,然后再编译。5运行程序如果编译、连接完全正确,则可以用运行程序。三、实验过程依据上面示例,简要描述你使用WINTC或者其它编译器的过程1打开VC60版本,新建一工程并命名。2按步骤分别编写F1,F2,F33分解检查三个文件是否有错误。(错误见“注意”)4将三个文件连接成EXE文件并命名。注意第一个文件F1必须要有头文件;注意PRINTF是否与头文件匹配。感想这次试验基本无大的障碍,主要出现一些小错误,可能是对课本的某些要点不是很熟悉,要加强对课本的阅读。第3页实验二数据类型、运算符和表达式一、实验目的1掌握C语言数据类型,熟悉如何定义整型、字符型、实型变量,以及对它们赋值的方法,了解以上数据类型输出时所使用的格式转换符号。2学会使用C的有关运算符,以及包含这些运算符号的表达式,特别是自加和自减运算符的使用。3进一步熟悉C程序的编辑、编译、连接和运行的过程。二、实验内容1输入以下程序,并编译、运行,分析运行结果MAINCHARC1,C2C197C298PRINTFCC,C1,C2在此基础上1加一个PRINTF语句,并运行之。PRINTFD,D,C1,C22再将第二行改为INTC1,C2再运行程序。3再将第三行改为C1300C2400再运行,并分析结果。2输入并运行以下程序MAININTI,J,M,NI8J10MINJPRINTFD,D,D,D,I,J,M,N分别作以下改动并运行1将第四行改为第4页C语言程序设计MINJ2程序改为MAININTI,JI8J10PRINTFD,D,I,J3在2的基础上,将PRINTF语句改为PRINTFD,D,I,J4再将PRINTF语句改为PRINTFD,D,D,D,I,J,I,J5程序改为MAININTI,J,M0,N0I8J10MINJPRINTFID,JD,MD,ND,I,J,M,N3先判断以下程序的输出结果,在运行验证。1MAININTI3,J2,A,B,C,DDI3,J10AIJIJBICJPRINTFD,D,D,DN,A,B,C,D2MAININTA110,B017PRINTFX,DN,A,B第5页3MAININTA1B36,CCA04补充完整以下程序,将从键盘输入的任意大写字母转换为小写字母,将小写字母转换为大写字母。MAINCHARCSCANFC,PRINTFC,C二1输入以下程序,并编译、运行,分析运行结果MAINCHARC1,C2C197C298PRINTFCC,C1,C2调试出错分析可能是MAIN前要加VOID,修改后调试成功,运行结果如下第6页C语言程序设计在此基础上(1)加一个PRINTF语句,并运行之。PRINTFD,D,C1,C2调试成功,运行结果如下(2)再将第二行改为INTC1,C2再运行程序。调试成功,运行结果如下(3)再将第三行改为C1300C2400再运行,并分析结果。第7页调试成功,运算结果如下结果有些奇怪,只删去第二个PRINT语句,运行结果如下只删去第一个PRINTF语句,运行结果如下分析得该结果应是300表示字符“,”的ASC码2输入并运行以下程序MAININTI,J,M,NI8J10MINJPRINTFD,D,D,D,I,J,M,N输入如下第8页C语言程序设计调试成功,运行结果如下分别做以下改动并运行(1)将第四行改为MINJ运行结果如下(2)程序改为MAININTI,JI8J10PRINTFD,D,I,J第9页运行结果(3)在2的基础上,将PRINTF语句改为PRINTFD,D,I,J运行结果(4)再将PRINTF语句改为PRINTFD,D,D,D,I,J,I,J运行结果(5)程序改为MAININTI,J,M0,N0I8J10MINJPRINTFID,JD,MD,ND,I,J,M,N第10页C语言程序设计运行结果3先判断以下程序的输出结果,在运行验证。1MAININTI3,J2,A,B,C,DDI3,J10AIJIJBICJPRINTFD,D,D,DN,A,B,C,D2MAININTA110,B017PRINTFX,DN,A,B第11页运行结果3MAININTA1B36,CCA0运行结果第12页C语言程序设计4补充完整以下程序,将从键盘输入的任意大写字母转换为小写字母,将小写字母转换为大写字母。MAINCHARCSCANFC,PRINTFC,C调试出错应在A和Z两边加上单引号,修改后运行成功输入输出第13页暨南大学本科实验报告专用纸实验三顺序程序设计一、实验目的1掌握赋值语句的使用。2掌握数据的输入输出方法,能正确使用各种格式转换符。二、实验内容1输入以下程序INCLUDEINTICHARJFORI1ISCANF1运行程序,输入ABCDEFGHI观察程序的执行结果,是否能够输出字母A,B,C,D,E,F,G,H,I。为什么2在SCANF语句后面加上语句GETCHAR运行程序,输入ABCDEFGHI观察程序的执行结果,是否能够输出字母A,B,C,D,E,F,G,H,I。为什么(3)在源程序的基础上,将SCANF语句的C前面加一空格,即改为SCANF运行程序,输入ABCDEFGHI观察程序的执行结果,是否能够输出字母A,B,C,D,E,F,G,H,I。为什么运行程序,输入ABCDEFGHI观察程序的执行结果,是否能够输出字母A,B,C,D,E,F,G,H,I。为什么2做教材上的习题36和373编制一程序,用GETCHAR函数输入字符,然后用PUTCHAR函数输出字符,同时要求输出字符的ASCII码。分别考虑用INT和CHAR型变量来接收键盘输入的字符,两者是否等价三、实验内容1输入以下程序INCLUDEINTI第14页C语言程序设计CHARJFORI1ISCANF1运行程序,输入ABCDEFGHI观察程序的执行结果,是否能够输出字母A,B,C,D,E,F,G,H,I。为什么程序如下运行后发现只能运行到输出E这一步,再按回车后结束运行因此分析应是程序在输入时键入的空格将I键使得I加了1,所以在I2在SCANF语句后面加上语句GETCHAR运行程序,输入ABCDEFGHI观察程序的执行结果,是否能够输出字母A,B,C,D,E,F,G,H,I。为什么运行结果第15页分析GETCHAR函数只能从终端输入一个字符,键入的空格键被截断,没被读取。3在源程序的基础上,将SCANF语句的C前面加一空格,即改为SCANF运行程序,输入ABCDEFGHI观察程序的执行结果,是否能够输出字母A,B,C,D,E,F,G,H,I。为什么运行程序,输入ABCDEFGHI观察程序的执行结果,是否能够输出字母A,B,C,D,E,F,G,H,I。为什么2做教材上的习题36和373637程序如下第16页C语言程序设计运行结果3编制一程序,用GETCHAR函数输入字符,然后用PUTCHAR函数输出字符,同时要求输出字符的ASCII码。分别考虑用INT和CHAR型变量来接收键盘输入的字符,两者是否等价程序如下运行如下第17页暨南大学本科实验报告专用纸实验四逻辑运算和判断选取控制一、目的要求1了解C语言表示逻辑量的方法以0代表“假”,以1代表“真”;2学会正确使用逻辑运算符和逻辑表达式;3熟练掌握IF语句和SWITCH语句二、实验内容先编程序,解决以下问题,然后上机调试运行程序。1编写一程序,从键盘输入字符,判别输入字符是数字、大写字母还是小写字母,输出判别结果。2给出一个不多于5位的正整数,要求1求出它是几位数;2分别打印出每一位数字;3按逆序打印出各位数字。3任意输入5个字母,如果输入的不是字母,程序应能提示重新输入,然后按照字母的ASCII码值从小到大的顺序输出。X2X4有一函数,Y2X11X3X1X10实验内容先编程序,解决以下问题,然后上机调试运行程序。1编写一程序,从键盘输入字符,判别输入字符是数字、大写字母还是小写字母,输出判别结果。源程序如下/INCLUDECHARA/TEST4_1CPPDEFINESTHEENTRYPOINTFORTHECONSOLEAPPLICATION第18页C语言程序设计AGETCHARIFA0A0B0C0D0E0F0PRINTFIFA9BA/10CAB10PRINTFIFA99BA/100CAB100/10DAB100C10PRINTFIFA999BA/1000CAB1000/100DAB1000C100/10EAB1000C100D10PRINTFIFA9999BA/10000CAB10000/1000DAB10000C1000/100EAB10000C1000D100/10FAB10000C1000D100E10PRINTFGETCH运行结果如下第20页C语言程序设计3、源代码如下INCLUDEVOIDMAINCHART,A,B,C,D,EPRINTFIFAZ|AABBTIFACTAACCTIFADTAADDTIFAETAAEETIFBCTBBCCTIFBDTBBDDTIFBETBBEETIFCDTCCDDTIFCETCCEETIFDETDDEETPRINTF调试结果4、源代码如下第22页C语言程序设计第23页暨南大学本科实验报告专用纸实验五循环控制一、实验目的1熟悉用WHILE语句,DOWHILE语句和FOR语句实现循环的方法。2掌握在程序设计中用循环的方法实现各种算法如穷举、迭代、递推等。二、实验内容编写程序并上机调试运行。1输入两个正整数,求其中最大公约数和最小共倍数。2输入一行字符,分别统计出其中的英文字母、空格、数字和其它字符的个数。3输出九九表。11234567892246810121416183369121518212427448121620242832365510152025303540456612182430364248547714212835424956638816243240485664729918273645546372814求输入的十个整数中正数的个数及其平均值。5两个乒乓球队进行比赛,各出三人。甲队为A、B、C3人,乙队为X、Y、Z3人。已抽签决定比赛名单。有人向队员打听比赛的名单,A说他不和X比,C说他不和X、Z比,请编写找出3对赛手的名单。提示用循环和判断实现解1源代码及结果如图第24页C语言程序设计2、源代码如图3、源代码如下第25页4、源代码如图INCLUDEINCLUDEVOIDMAININTA,IDOUBLEAVE,SUM0INTCOUNT0FORI1I第26页C语言程序设计COUNTCOUNT1,SUMSUMA/两表达式用“;”隔开不能得到合理结果,“;”表示IF语句的结束/PRINTFAVESUM/COUNTELSEAVE0PRINTF5、源代码INCLUDEINCLUDEVOIDMAINPRINTFFORIXI第27页暨南大学本科实验报告专用纸实验六数组一、目的要求1掌握一维数组和二维数组的定义、赋值和输入输出的方法;2掌握字符数组和字符串函数的使用;3掌握与数组有关的算法特别是排序算法。二、实验内容编写程序并上机调试运行。1编写一程序,从键盘输入任意两个字符串,然后将两个字符串连接起来,不要使用STRCAT函数。INCLUDEINCLUDEVOIDMAINCHARSTR180,STR280GETSSTR1PRINTFPRINTF调试结果2编写一程序,从键盘输入任意两个字符串S1和S2,然后比较字符串的大小字符串比较是从左到右逐位比较,如果S1S2,输出1;S1S2,输出0;S1INCLUDEVOIDMAINCHARSTR180,STR280GETSSTR1PRINTF第28页C语言程序设计GETSSTR2PRINTFIFSTRCMPSTR1,STR20PRINTFELSEIFSTRCMPSTR1,STR2调试结果3编写一程序,输入一字符串到数组中,然后将该数组中小写字母转换为大写字母,并复制到另一字符数组中。复制时,0也要复制过去解源代码如下4编写程序,把键盘输入的字符串中的数字字符删除,然后现实该字符串。解INCLUDEVOIDMAINCHARSTR130第29页CHARSTR230INTI,K0PRINTFGETSSTR1FORI0STR1I0IIFSTR1I0STR2K0PRINTFPUTSSTR2第30页C语言程序设计暨南大学本科实验报告专用纸实验七函数一、目的要求1掌握定义函数的方法;2掌握函数实参与形参的对应关系,以及“值传递”的方式;3掌握函数的嵌套调用和递归调用的方法;4掌握全局变量和局部变量、动态变量和静态变量的概念和使用方法。二、实验内容编写程序,并上机运行之。1输入一行字符串,然后写一函数输出该行字符串中最长的单词。例如IAMASTUDENT中最长的单词为STUDENT。2写一函数,使输入的一个字符串反序存放,使用“传址”调用方式。3写几个函数。1输入10个职工的姓名和职工号;2将职工号由小到大排序,姓名顺序也随之调整;3要求输入一个职工号,用折半查找法找出该职工的姓名。从主函数中输入要查找的职工号,输出该职工姓名。解释折半查找法是先将数据排序,例如有7个数据1,3,4,7,10,25,30已经排序,要查找25在序列中的位置。将序列折半,中间位置为4,中间数为7,如果25等于该中间数则停止,否则继续。序列分为1,3,4和10,25,30。25比4大,显然25不在序列1,3,4中;对序列10,25,30重新按照折半法查找,中间数为25,已经查找结束。4写一个判断素数的函数,在主函数中输入一个整数,输出是否素数的信息。第31页暨南大学本科实验报告专用纸实验八编译预处理一、实验目的1掌握宏定义的方法;2掌握文件包含处理方法;3掌握条件编译的方法;二、实验内容1定义一个带参数的宏,使两个参数的值交换。定义另一个带参数的宏,它计算两个参数的最小值。写出程序,输入两个数作为使用宏时的实参,输出已交换后的两个值,并求出最大值。2用条件编译的方法实现以下功能输入一行电报文字,可以任选两种输出,一为原文输出;一为将字母变成其下一字母如A变成B,Z变成A。其它字符不变。用DEFINE命令来控制是否要译成密码。例如DEFINECHANGE1则输出密码。如果DEFINECHANGE0则不译成密码。按原码输出。使用条件编译的方法来处理。3下面有一程序,请将源程序分为三部分,再进行编译处理。F1HINCLUDEINCLUDEINTMORECHAR,CHARINTMININT,INTINTSTRCMP1CHARSTR1,CHARSTR2F2CMAINCHARA1CHARA2INTAASTRCMP1A1,A2IFA1PRINTFELSEIFA1第32页C语言程序设计PRINTFF3CINTMORECHARX,CHARYINTZZXY1XY01RETURNZINTMININTX,INTYINTZZXRETURNZINTSTRCMP1CHARSTR1,CHARSTR2CHARLEN,IINTKLENMINSTRLENSTR1,STRLENSTR2FORI0IKMORESTR1I,STR2IIFK1BREAKIFK1BREAKRETURNK第33页暨南大学本科实验报告专用纸实验九指针一、实验目的1掌握指针的概念,会定义和使用指针变量;2学会使用数组的指针和指向数组的指针变量;3学会使用字符串的指针和指向字符串的指针变量;4学会使用指向函数的指针变量;5了解指向指针的指针的概念及其使用方法。二、实验内容编写程序,并上机运行之要求使用指针处理。1编制一函数实现任意33阶矩阵的转置,函数的参数用指针形式。在主函数中输入矩阵元素。2从键盘输入任意两个字符串S1和S2,然后用函数实现比较字符串的大小字符串比较是从左到右逐位比较,如果S1S2,函数返回1;S1S2,函数返回0;S13用指向指针的指针的方法对5个字符串排序并输出。提示用二维数组存放5个字符串,设计一个指针数组或二维指针,指向该字符串数组,用STRCMP函数比较字符串的大小。4编写一函数,将一个含N个字符的字符串从其第M个字符开始的K个字符复制到另一字符串中。函数的原型为COPYSTRCHARSTR1,CHARSTR2,INTM,INTK。5自行编写一程序,体会使用指向函数的指针的使用方法。第34页C语言程序设计暨南大学本科实验报告专用纸实验十结构体和共用体一、目的要求1掌握结构体类型变量的定义和使用;2掌握结构体类型数组的概念和应用;3掌握链表的概念,初步学会对链表进行操作;4掌握公用体的概念与使用。二、实验内容1有5个学生,每个学生的数据包括学号、姓名、三门课的成绩,从键盘输入5个学生的数据,要求打印出三门课总平均成绩,以及最高分的学生的数据包括姓名、学号、三门课的成绩、平均分数。要求用一个INPUT函数输入成绩;用AVERAGE函数求总平均分;用MAX函数找出最高分学生数据;总平均分和最高分的学生的数据在主函数中输出。2建立一个链表,每个结点包括学号、姓名、性别、年龄。输入一个年龄,如果链表中的结点所包含的年龄等于此年龄,则将此结点删除。3已有A,B两个链表,每个链表中等结

温馨提示

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

评论

0/150

提交评论