程序设计语言实验安排_数学104_第1页
程序设计语言实验安排_数学104_第2页
程序设计语言实验安排_数学104_第3页
程序设计语言实验安排_数学104_第4页
程序设计语言实验安排_数学104_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

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

文档简介

实验注意事项1、进入机房必须遵守学校实验室的管理规定。2、实验期间不能进行与实验无关的工作,特别是不能玩游戏、不能网上聊天。3、本课程共安排设置8个实验项目,对每个实验应独立完成,不得抄袭。4、对每个实验均需填写一份实验报告并在下一个实验前上交本次的实验报告。5、注意保存好每次实验所建立的源程序以备教师检查。6、本实验课程为一个独立设课的考查课程,教师根据学生的实验态度、实验报告质量和教师检查情况进行成绩评定。7、填写实验报告应使用学校统一规定使用的广州大学实验报告纸,按照其表格中的各项内容规范填写,具体如下开课学院及实验室数学与信息科学学院计算机实验楼307B年月日填写各实验具体的实验日期实验课程名称统一填写“程序设计语言实验”实验项目名称参看下面各实验的具体安排成绩栏和指导教师栏由教师填写。实验报告内容填写3大项实验目的、实验原理、实验内容(包括源程序、测试数据及实验结果、问题解答等)。实验一实验项目名称C开发环境的熟悉与使用实验时间201191实验目的1、初步了解C程序的特点和构成。2、熟悉TURBOC20IDE环境的操作。3、掌握C程序上机的4个步骤编辑、编译、连接和运行调试。4、初步了解程序的调试方法。实验原理1启动TC方法1DOS状态下进入TC子目录键入TC回车方法2WINDOWS环境下双击安装目录下的TCEXE文件或双击其启动的快捷方式。2C程序上机的4个步骤编辑、编译、连接和运行调试。具体过程如下1编辑源程序,完成后将源程序以扩展名C存盘。2对源程序进行编译,即将源程序转换为扩展名为OBJ的二进制代码。若源程序有错,必须予以修改,然后重新编译。3对编译通过的源程序连接,即加入库函数和其它二进制代码生成可执行程序。连接过程中,可能出现未定义的函数等错误,为此,必须修改源程序,重新编译和连接。4执行生成的可执行代码,若不能得到正确的结果,必须修改源程序,重新编译和连接。若能得到正确结果,则整个编辑、编译、连接、运行过程顺利结束。注在TC20的IDE环境下,对源程序的编译、连接、运行可在一个命令下一气呵成。3常用命令存盘F2或FILESAVE从磁盘读入C程序F3或FILELOAD运行程序CTRLF9或RUNRUN查看运行结果ALTF5或RUNUSERSCREEN4退出TC集成环境从FILE菜单选择QUIT命令或按ALTX。实验内容1在TC20IDE环境中输入教材P3的例11程序,进行编译、连接和运行,并且查看运行结果,对程序进行存盘。执行FILENEW命令后再从磁盘读入该程序进行编辑和运行调试。2上机测试并回答下列问题1程序中的错误有哪些类型其特点是什么一般应如何修改2在TC20中,用户的工作目录如何设置(注用户的工作目录是指用户保存源程序文件和读入源程序文件时的默认目录)3若文件MYC1C编译成功后会产生什么文件连接成功后会产生什么文件这两个文件的默认保存目录如何设置4若TC20的工作环境(例如系统库文件目录)设置不正确,将会产生什么问题5在TC20中,程序执行完毕就马上返回编辑状态,致使观察运行结果时要按ALTF5或RUNUSERSCREEN,为了使程序运行完毕后暂停,应在源程序中加上什么语句6程序调试的手段有哪些(选做题,但必须了解)实验1问题回答参考答案1)程序中的错误通常分为三类一是编译时的错误,主要是语法错误,在编译阶段可由编译系统发现;二是逻辑错误,主要是计算公式写错、程序逻辑控制错误等,造成程序运行不能得到正确结果,一般需使用单步执行、打开变量观察窗口等调试手段;三是运行时的错误,一般是用户输入的数据不合法,如除数为0,致使程序出错运行不下去。解决的方法是完善程序,提高程序运行的可靠性。2)FILE菜单的CHANGEDIR命令3)文件MYC1C编译成功后产生MYC1OBJ文件,连接成功后会产生MYC1EXE文件。这两个文件的默认保存目录在OPTIONS菜单DIRECTORIES命令OUTPUTDIRECTORY项中设置。4)在连接阶段将会产生如头文件、库文件找不到的错误,导致连接无法完成。5)在MAIN函数内的最后一行加上GETCH语句实验二实验项目名称顺序程序设计实验时间201198实验目的1、理解和掌握程序设计的顺序结构。2、理解和掌握C语言的数据类型和表达式。3、掌握C程序设计中的输入和输出方法。实验原理1顺序结构的程序是指程序的执行自上而下、自左至右,程序中的每一个语句都能被执行一次,而且只能被执行一次。顺序结构的程序设计是最简单的。2C语言的基本数据类型有整型、字符型和实型。计算机语言中的数据的表数范围与数学上的表数范围具有差异。3常量和变量的概念及其使用。4C语言的运算符丰富,运算符具有优先级和结合性。5C语言中表达式的书写很多时候跟数学上是不同的。6格式输入和输出函数SCANF、PRINTF的调用格式及其各参数的意义。实验内容1验证实验教程P12的验证性程序(1),理解数据的键盘输入格式应与SCANF()函数的格式控制写法一致;字符型数据与整型数据的转换规定(使用其码)。2验证实验教程P13的验证性程序(2),理解整型数据在C语言的表数范围与数学上的差异及整型数据溢出时系统的处理方法;理解负整数在机器内的补码表示。3完成实验教程P17的程序分析(2)。4完成课本P27练习1113(上机运行时,需补充完整程序),理解“”、“”运算符的运算特点;理解格式输入输出函数的格式及其控制功能。5验证课本P27练习14,理解逻辑运算符“与”、“或”的短路运算特点。(选做题)6完成课本P28练习15。(选做题)7回答下列问题A下列数学代数式子写成C语言表达式应如何书写(提示开根号运算可使用系统函数SQRT()CDABACB24B数学上表示范围的式子0A100,写成语言的逻辑表达式应如何书写实验2参考答案第3题FLOATX23,Y34,Z48LONGU52875,L128765CHARC1E,C2FPRINTF“ADBDCDN“,A,B,CPRINTF“X6F,Y6F,Z6FN“,X,Y,ZPRINTF“XY2FYZ2FZX1FN“,XY,YZ,ZXPRINTF“ULDLLDN“,U,LPRINTF“C1CORDASCIIN“,C1,C1PRINTF“C2CORDASCIIN“,C2,C2第6题课本练习题15MAINFLOATA,B,C,D,E,SUM,AVESCANF“FFFFF“,SUMABCDEAVESUM/5PRINTF“SUMFNAVEFN“,SUM,AVE第7题A)AB/CD或AB/C/DBSQRTBB4AC/2ABA0ABBT,若去掉“”和“”程序会发生编译上的错误吗能实现程序原来的功能吗在复合语句TAABBT后面添加一个“”号,对程序有没有影响MAINFLOATA,B,C,TSCANF“FFF“,IFABTAABBTIFACTAACCTIFBCTBBCCTPRINTF“F,F,FN“,A,B,C2在嵌套的IF语句中,ELSE如何与IF配对对下面的两个程序段,ELSE与哪个IF配对IFAB/第一个IF/IFAC/第二个IF/TEMPAELSETEMPB3阅读理解下列求一元二次方程AX2BXC0解的程序,该程序全面考虑了系数A,B,C的各种可能取值。(不用写入实验报告)INCLUDEMAINFLOATA,B,C,D,X1,X2,P,QPRINTF“INPUTA,B,C“SCANF“F,F,F“,IFFABSA1E6/也可以直接写成D0/X1BSQRTD/2AX2BSQRTD/2APRINTF“HASTWODIFFENTREALROOTS84FAND84FN“,X1,X2ELSEPB/2AQSQRTD/2APRINTF“HASTWOCOMPLEXROOTS“IFAB/第一个IF/IFAC/第二个IF/TEMPAELSETEMPBPRINTF“X184F84FIN“,P,QPRINTF“X284F84FIN“,P,Q实验3参考答案第1题课本练习题5MAININTA,B,C,MAXPRINTF“INPUTA,B,C“SCANF“D,D,D“,IFABIFACMAXAELSEMAXCELSEIFBCMAXBELSEMAXCPRINTF“MAXD,D,DDN“,A,B,C,MAX第2题课本练习题6(1)输出结果0(2)输出结果第3题课本练习题9INCLUDEMAINCHARCHPRINTF“INPUTACHAR“CHGETCHARIFCHAFOR语句的执行过程如下首先计算。求的值,若其值为非零,执行,然后转执行,若的值为零,则结束FOR语句。求解,转执行。实验内容1阅读教材P98习题7的程序,判断其输出的结果,最后上机验证你的判断。2编程实现教材P99习题16。3编程实现教材P99习题18。4下列两个程序实现的功能相同,说出它们实现什么功能两个程序比较,哪个更优MAININTI,J,NLONGS,SUMSCANF“D“,FORI1,SUM0I1E6TEMP/NETEMPNPRINTF“ELFN“,E2下面程序是教材P98习题8的解答计算数列NN/2N/3N/4N/100。MAININTIFLOATN,SUM,TEMPPRINTF“INPUTN“SCANF“F“,SUM0FORI1IINCLUDEMAINLONGN,ARANDOMIZE/利用系统时间产生随机函数的种子数,这样可使程序每次运行时产生的随机数都不一样,使用此函数要包含TIMEH头文件/NRANDOM38765/产生038764间的一个随机整数,实参38765可任意设置,使用此函数要包含STDLIBH头文件/DOPRINTF“PLEASEINPUTANUMBER“SCANF“LD“,IFANPRINTF“LDISTOOLARGEN“,AELSEIFA2函数调用形式C语言规定实参对形参的数据传递为“单向值传递”,只能由实参传递值给形参,形参不能传递值给实参。3函数说明的一般形式(函数原型)()作用在程序的编译阶段,利用它对调用函数的合法性进行全面检查。4递归概念一个函数直接或间接地调用自己叫递归。采用递归方法求解问题需符合的条件(1)可以把一个问题转化为一个新的问题,而这个新问题的解决方法仍与原问题解法相同,只是新处理的对象有所不同。(2)必定要有一个明确的结束递归的条件,否则递归将无止境地进行下去。5从变量的作用域范围的不同,变量可分为局部变量和全局变量。局部变量在一个函数内部定义的变量(又叫内部变量)。它可分为AUTO变量、STATIC变量和REGISTER变量。全局变量在函数之外定义的变量(又叫外部变量或全程变量)。它可分为STATIC外部变量和普通外部变量(带EXTERN说明的为引用性说明,不带EXTERN说明的为定义性说明)。6C语言中预处理命令有三种(1)宏定义、(2)文件包含、(3)条件编译实验内容1编程实现教材P121习题4,其中FIBNACCI数列FIBN的定义为时当时当212,NFIBNFIFIB2完成教材P121习题6。3阅读教材P122习题8,分析判断其输出结果并上机验证,理解递归调用的执行过程。4阅读教材P123习题12,分析判断其输出结果并上机验证,理解宏定义和宏展开的特点。5阅读理解下列程序,分析判断其输出结果,最后上机验证,并理解引用性说明外部变量、定义性说明外部变量、自动变量、静态局部变量和实参与形参结合时的单向值传递的工作方式。INCLUDEINTX1FINTA,INTBSTATICINTX3INTC4,ZEXTERNYZXYABCRETURNZEXTERNINTYMAININTX3,WWFX,YPRINTF“DN“,WWFX,YPRINTF“DN“,WINTY2实验5参考答案第1题课本练习题4LONGFIBINTNINTILONGF,F11,F21IFN3具有多个下标的数组称为多维数组,二维数组是具有两个下标的数组。4C语言没有提供字符串数据类型,而是将字符串作为字符数组来处理。在字符数组末尾添加串结束符0,就成字符串,就可调用相应的字符串处理函数进行处理。实验内容1阅读教材P154习题5、8,分析判断其输出结果并上机验证。2编程实现教材P154习题6找出1256中所有的回文数。3完成教材P154习题14并上机验证。4下面的程序是实验教程P47倒数第5行的程序,并作了适当修改,上机验证其输出结果,并说明为什么(注教程给出的结果是错误的)INCLUDEMAINCHARSTR130“STUDENTN101“CHARSTR2“STUDENT0ABCD“PRINTF“LENGTHOFSTR1SISD,SIZEOFSTR1ISDN“,STR1,STRLENSTR1,SIZEOFSTR1PRINTF“LENGTHOFSTR2SISD,SIZEOFSTR2ISDN“,STR2,STRLENSTR2,SIZEOFSTR2/注STRLEN函数是求实参字符串的长度,SIZEOF是一个单目运算符,功能是求一个变量或一种数据类型所占用的存储空间的长度。/5阅读实验教程P49程序分析类实验的第一个程序。(不用写入实验报告)6阅读理解下面的程序。(不用写入实验报告)1下面程序是冒泡法排序算法的实现。DEFINEN10MAININTI,J,TINTAN1PRINTF“INPUT10NUMBERS“FORI1IAJ1TAJAJAJ1AJ1TPRINTF“THESORTEDNUMBERSISN“FORI1IMAININTIINTLETTERS0,SPACE0,NUMBERS0,OTHER0CHARC80GETSC/GETS函数的作用是从键盘读入一行字符(以回车键为行标志),保存在实参字符数组中,一行字符中可包含空格。利用SCANF“S”,C读入的字符串是不可能包含空格的。当然可以利用循环和SCANF“C”,CI读入包含空格的一行字符。/I0WHILECI0IFCIACHARS“FDLA“INTI,J,KFORK0SK0K/按要插入的字符串中的每个字符顺次循环/J0WHILESKAJ/找到要插入的字符在A数组中的位置/FORISTRLENAIJIAI1AI/插入位置开始至字符串结束的每个字符顺次后移/AJSK/插入位置空出来后,插入该字符/PRINTF“SN“,A第4题输出结果LENGTHOFSTR1STUDENTAIS10,SIZEOFSTR1IS30LENGTHOFSTR2STUDENTIS7,SIZEOFSTR2IS13实验七实验项目名称指针实验时间20111110、20111117、20111124实验目的1理解地址和指针的概念;掌握指针作为函数参数的应用。2理解指针与数组的关系;理解字符串指针。3掌握指针的运算。4理解指针数组和指向指针的指针、指向函数的指针。实验原理1指针变量定义的一般形式2两个有关的运算符TEMPP1P1P2P2TEMPSWAP2INTX,INTYINTTEMPTEMPXXYYTEMPSWAP3INTP1,INTP2INTPPP1P1P2P2PMAININTA,B,POINTER_1,POINTER_2SCANF“D,D“,IFAINCLUDEMAINCHARS10INTNINTCHTONUMCHARPPRINTF“PLEASEINPUTAINTEGERSTRING“SCANF“S“,S/要求输入的是纯数字字符串或开始处带一个负号的数字字符串/IFSNCHTONUMS1/对负整数字符串的特殊处理/ELSENCHTONUMSPRINTF“STRINGCONVERTTONUMBERISDN“,NINTCHTONUMCHARP/传递的是不带负号的纯数字整数字符串/INTNUM0,K,LEN,JLENSTRLENP/求字符串长度/FORP/循环处理字符串的每个数字字符/K/把数字字符转化为数

温馨提示

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

评论

0/150

提交评论