您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 交通运输 > 南昌大学C语言实验报告
高级语言程序设计实验指导书1实验1C语言的编程环境一.实验目的1.初步了解C程序的编译、连接和运行的过程。2.掌握和理解C程序的结构。二.实验内容1.使用TC2.运行一个简单的C程序三.实验环境PC微机;DOS操作系统或Windows操作系统;TurboC程序集成环境。四.实验步骤1.启动TurboC如果用户计算机系统已经安装了TurboC编译系统,则在DOS命令状态下键入命令tc。进入TurboC集成环境后,首先在屏幕上显示TurboC主菜单窗口。在该窗口,有8个菜单条目。每一个菜单的意义如下:File处理文件(包括装入、存盘、选择、建立、换名写盘),目录操作(包括列表、改变工作目录),退出系统及调用DOS。Edit建立、编辑源文件。Run控制运行程序。如果程序已经编译连接好,且Debug/SourceDebugging以及Option/Compiler/Codegeneration/OBJDebugInformation开关置为On,则可以用此菜单初始化调试阶段。Compile编译并生成目标程序与可执行文件。Project允许说明程序中包含哪些文件的管理条目。Options可以选择集成环境任选项(如存储模式、编译时的任选项、诊断及连接任选项)及定义宏;也可以记录IncludeOutput及Library文件目录,保存编译任选项和从配置文件加载任选。Debug检查、改变变量的值,查找函数,程序运行时查看调用栈。选择程序编译时是否在执行行代码中插入调试信息。Break/Watch增加、删除、编辑监视表达式,及设置、清除、执行至断点。高级语言程序设计实验指导书2特别要指出的是,除了Edit项外,每一个菜单又有对应的子菜单。而选择Edit项目后,只是进入编辑器。为了从主菜单中选择所需要的功能,可以用以下两种方式之一:(1)按F10键后,可以看到屏幕上部主菜单中有反白显示,此时,利用左、右光标移动键(←与→)选择需要的菜单,然后按回车(Enter)键。(2)直接按Alt+主菜单条目中的首字母(分别为F,E,R,C,P,O,D,B),此时就会出现相应的子菜单。例如,按Alt+F表示选择文件子菜单(File)。当出现子菜单时,其中某个条目是高亮度的,此时可以利用上、下光标移动键(↑与↓)来移动该高亮度线,从而选择所需要的功能。在菜单调用时,按Esc键后将直接返回到活动窗口。2.输入程序输入以下程序main(){printf(“Howareyou!”);}3.运行程序按Ctrl+F9运行程序,如果没有报错,可以按Alt+F5查看运行结果,再按空格键回到编辑窗口。4.保存文件按F2键,弹出一个对话框,在对话框中输入文件名,如:exam1.c。5.退出TC程序按Alt+X键,弹出对话框,提示是否真的要退出TC,如果输入Y就会退出TC。6.打开已经存在的文件(1)首选启动TC。(2)按F3,弹出对话框。(3)在该对话框中,输入文件名即可。输入程序main(){printf(“Howareyou!”);}高级语言程序设计实验指导书3运行结果}areyou.\n);}五.思考题总结实验中在编辑、编译、运行等各环节中所出现的问题及解决方法。高级语言程序设计实验指导书4实验2数据类型、运算符和表达式一.实验目的1.了解C语言中数据类型的意义;2.掌握不同数据类型之间的赋值的规律;3.学会有关C语言的有关运算符,以及包含这些运算符的表达式,特别是是++和—运算符的使用。4.进一步熟悉C程序的编辑环境。二.实验内容1.用printf函数来输入表达式运行结果2.观察实验步骤中表达式的结果三.实验环境PC微机DOS操作系统或Windows操作系统TurboC程序集成环境四.实验步骤1.当x=5,y=6,z=7时xyyxx!=yx==z-2x=x-2x=zx=z以上表达式的值输入程序main(){intx,y,z;x=5;y=6;z=7;printf(“%d\n%d\n%d\n”,xy.yx,x!=y);x==z-2;printf(“%d\n”,x);高级语言程序设计实验指导书5x=x-2;printf(“%d\n”,x);printf(“%d\n%d\n”,x=z,x=z);}运行结果2.当x=0,y=-1,z=1时x&&yx||yy&&zy||zx&yx|y以上表达式的值输入程序main(){intx,y,z;x=0;y=1;z=1;高级语言程序设计实验指导书6printf(“%d\n%d\n%d\n%d\n%d\n%d\n”,x&&y,x||y,y&&z,y||z,x&y,x|y);}运行结果五.思考题1.“=”和“==”有什么区别?答:“=”是赋值,而“==”是等于。2.“&”和“&&”、“|”和“||”有什么区别?答:“&”是位运算符,含义为“按位与”。“&&”表示为“逻辑与”“|”是位运算符,含义为“按位或”,“||”表示为“逻辑或”。高级语言程序设计实验指导书7实验3控制语句一.实验目的1.熟练掌握if、if…else、if…elseif语句和switch语句格式及使用方法,掌握if语句中的嵌套关系和匹配原则,利用if语句和switch语句实现分支选择结构。2.熟练掌握while语句、do...while语句和for语句格式及使用方法,掌握三种循环控制语句的循环过程以及循环结构的嵌套,利用循环语句实现循环结构。3.掌握简单、常用的算法,并在编程过程中体验各种算法的编程技巧。进一步学习调试程序,掌握语法错误和逻辑错误的检查方法。二.实验内容1.选择结构程序设计;2.if语句的使用;3.使用switch语句实现多分支选择结构;4.三种循环语句的应用;5.循环结构的嵌套;6.break和continue语句的使用。三.实验环境PC微机DOS操作系统或Windows操作系统TurboC程序集成环境四.实验步骤1.编程实现:输入一个整数,将其数值按照①小于10,②10~99,③100~999,④1000以上四个类别分类并显示。要求:(1)将变量定义为整型。(2)输入整数前,利用puts()/printf()给出提示信息。(3)输出结果时要有必要的说明,例如:输入358时,显示358is100to999。(4)该程序利用if语句实现。运行程序,分别输入9,21,321,4321数据检查输出信息的正确性。2.编写程序:根据公式2222213121116n,输出π的值。高级语言程序设计实验指导书8要求:(1)变量π为单精度类型,n为整型;(2)计算当n的取值分别为20,50,100,200时的π值,说明什么问题?(3)修改程序,不给出n值,而改为求π值,直到最后一项的数值小于10-4为止。(4)对修改后的程序,输出π值以及总的项数n。输出格式为:π=值;n=值。输入程序#includestdio.h#includemath.hVoidmaij(){ints;floatn,t,pi;t=1;pi=0;n=1.0;s=1;while(fabs(t)1e-6){pi=pi+t;N=n+2;s=-st=s/n}Pi=pi*4;Printf(“pi=%10.6f\n”,pi);}运行结果3.从键盘输入一个0~1000之间的任意整数,输出该整数的所有因子(例如:输入12,其因子为1,2,3,4,6,12)。要求:(1)采用while循环语句实现。(2)输出格式为:Input:12高级语言程序设计实验指导书9Output:1,2,3,4,6,124.编程实现:由用户从键盘输入一串字符(以回车键结束),统计其中数字、大、小写字母、空格、其它字符的个数。要求:(1)通过键盘输入字符。(2)给出相应的输入/输出信息提示。并按照数字、大写字母、小写字母、空格、其它字符数的顺序输出结果。输入程序#includestdio.hVoidmain(){charstring[81]inti,num=0,word=0;charc;gets(string);for(i=0;(c=string[i])!=’\0’;i++)if(c==’’)word=0;elseif(word==0){Word=1;Num++}Prinf(“thereare%dwordsintheline.\n”,num);}运行结果5.计算并输出1000以内最大的10个素数以及它们的和。高级语言程序设计实验指导书10要求:(1)在程序内部加必要的注释。(2)由于偶数不是素数,可以不考虑对偶数的处理。(3)虽然在1000以内的素数超过10个,但是要对1000以内不够10个素数的情况进行处理。(4)输出形式为:素数1+素数2+素数+…+素数10=总和值。补充程序#includestdio.hvoidmain(){floata,b,t;scanf(%f,%f,&a,&b);if(ab){t=a;a=b;b=t;}printf(%5.2f,%5.2f\n,a,b);}运行结果五.思考题1.对于多分支选择结构何时使用if语句的嵌套,何时使用switch语句?2.小结三种形式的循环使用的区别。高级语言程序设计实验指导书11实验4函数一.实验目的1.掌握C函数的定义方法、函数的调用方法、参数说明以及返回值。掌握实参与形参的对应关系以及参数之间的“值传递”的方式;掌握函数的嵌套调用及递归调用的设计方法;2.掌握全局变量和局部变量、动态变量与静态变量的概念和使用方法;3.在编程过程中加深理解函数调用的程序设计思想。二.实验内容1.多模块的程序设计与调试的方法;2.函数的定义和调用的方法;3.用递归方法进行程序设计。三.实验环境PC微机DOS操作系统或Windows操作系统TurboC程序集成环境四.实验步骤1.编写一个函数primeNum(intnum),它的功能是判别一个数是否为素数。如果num是素数,返回该数;否则返回0值。要求:(1)在主函数输入一个整数num,调用该函数后,输出num是否是素数的信息。输出格式为:numisprime或numisnotprime。(2)分别输入以下数据17,28,77,运行程序并检查结果是否正确。输入程序#includestdio.hvoidmain(){intprime(int);intn;printf(\ninputaninteger:);高级语言程序设计实验指导书12scanf(%d,&n);if(prime(n))printf(\n%disaprime.\n,n);elseprintf(\n%disnotaprime.\n,n);}intprime(intn){intflag=1,i;for(i=2;in/2&&flag==1;i++)if(n%i==0)flag=0;return(flag);}运行结果高级语言程序设计实验指导书132.编写函数computNum(intnum),它的功能是计算任意输入的一个正整数的各位数字之和,结果由函数返回(例如:输入数据是123,返回值为6)。要求:num由主函数输入,调用该函数后,在主函数内输出结果。3.编写函数,mulNum(inta,intb),它的功能是用来确定a和b是否是整数倍的关系。如果a是b的整数倍,则函数返回值为1,否则函数返回值为0。要求:(1)在主函数中输入一对数据a和b,调用该函数后,输出结果并加以相应的说明。例如:在主函数中输入:10,5,则输出:10ismultipleof5.(2)分别输入下面几组数据进行函数的正确性测试:1与5、5与5、6与2、6与4、20与4、37与9等,并对测试信息加以说明。4.编写一个计算组合数的函数combinNum(intm,intn)。计算结果由函数返回。计算组合数的公式是:c(m,n)=m!/(n!*(m-n)!)要求:(1)从主函数输入m和n的值。对mn、mn和m=n的情况作分别处理后调用函数combinNum(m,n),在主函数内输出结果值。(2)对mn、mn和m=n的情况各取一组数据进行测试,检查程序的正确性。(
本文标题:南昌大学C语言实验报告
链接地址:https://www.777doc.com/doc-3749105 .html