语言实验指导书.doc
《语言实验指导书.doc》由会员分享,可在线阅读,更多相关《语言实验指导书.doc(47页珍藏版)》请在咨信网上搜索。
1、广西师范大学职业技术师范学院C语言程序设计实验指导书唐 杰 编著广西师范大学职业技术师范学院2023年8月目 录第一章 开发工具简介1启动1建立项目2新建和编辑源文献4编译代码5运营结果5第二章 实验内容7实验一 开发环境与程序设计7实验二 数据类型、运算符和表达式9实验三 逻辑结构程序设计12实验四 循环控制程序设计14实验五 数组16实验六 函数18实验七 菜单实现20实验八 指针22实验九 结构体与共用体26实验十 动态内存分派28实验十一 位运算29实验十二 编译预解决与自定义类型30实验十三 文献31参考文献:32附录:C程序设计实验报告32说明:本实验指导书中第十、十二、十三个实验
2、非计算机专业可选作。第一章 开发工具简介Microsoft Visual Studio 6.0是微软公司在1998年开发的一套软件开发工具,其中涉及Visual Basic、Visual C+、Visual J+和其它一些开发工具,在课程中将重要使用Visual C+ 6.0(简称VC6)进行实验设计,VC6是目前同类产品中最为成熟,也是使用最多的集成开发环境IDE(Integrated Development Environment),启动当VC6启动后,会出现如Error! Reference source not found.所示的主程序窗口。图 0.1主界面在VC6的主界面中,顶部是主
3、菜单栏和工具栏,主菜单共有9个菜单项。VC6主界面左侧是项目工作区窗口(Workspace),用来显示工作区的信息,右侧是程序编辑窗口,用来输入和编辑源代码,下面的是输出窗口(Output),用来显示进行构建或调试等工作时的状态与数据信息,最底部是状态栏,各窗口可任意隐藏、显示。建立项目用VC6进行程序设计,是作为项目对待的,一个项目是一个整体,它存放建立程序所需要的所有信息,涉及程序所有源文献的名称及其关系,所需库文献的清单和建立程序所用的编译器、连接器和其它工具的选项清单。由于VC6可以建立的工作项目共有16个或更多,对于初学者来说有点复杂,要所有弄清楚需要很长的时间,因此,本书只以实验中
4、用到的控制台应用程序为例进行介绍。建立一个项目可以通过VC6的向导来完毕,选择主菜单中“文献”“新建”菜单项,将会弹出如Error! Reference source not found.所示的对话框,在“Projects”标签页中列出了16个可以建立的项目选项,选择“工程”选项卡,选择“Win32 Console Application”,然后在右上侧的“工程名称”文本框中输入项目名,“位置”中输入要保存的项目途径,点击下方的“拟定”按钮即可进入下一个界面。图 0.1新建项目对话框在下一个界面中,显示的是可以创建的控制台应用程序类型,VC6中可以创建的控制台应用程序共有4种,如Error!
5、Reference source not found.所示。课程实验只需选择默认的“一个空工程”,单击“完毕”,VC6会将创建的项目信息显示出来,如Error! Reference source not found.所示,其中涉及项目包含的文献及途径等内容。图 0.2控制台项目对话框图 0.3项目信息对话框 点击“拟定”按钮,完毕项目新建工作,这时VC6的主界面变成Error! Reference source not found.所示。可以看到新建的项目中未包含任何文献。图 0.4项目建立完毕界面新建和编辑源文献向所创建的项目中添加源文献,通过“文献”“新建”菜单选项打开新建对话框,这时弹出
6、的对话框与Error! Reference source not found.同样,但是标签页变成“文献”页,如下所示。该标签页中列出了VC6可以新建的所有文献类型,其中与实验有关的是“C/C+ Header File”和“C+ Source File”两类文献,分别用来创建头文献和源文献的。单击“C+ Source File”选项,并勾选“A添加工程”复选框,选择项目名(默认当前项目),然后在“文献”文本框中输入源文献名,在“C目录”文本框中输入或选择文献途径,点击“拟定”按钮就完毕了新建文献的工作如下图所示。然后可在工作区编辑源程序。图 0.1源代码编辑界面编译代码在编辑器中输入源代码并保
7、存,然后可以通过主菜单中的“编译”项进行程序的编译、链接和运营。也可通过工具栏(编译微型条)中工具快速完毕(如左图)构建可执行文献,VC6会在主界面下方的信息输出窗口中将构建过程中的信息显示出来,如编译过程和链接过程的环节,是否有错误等信息,如Error! Reference source not found.所示。图 0.1构建信息输出窗口运营结果假如在构建过程中有错误发生,错误信息输出窗口中显示出来,这时就需要返回到源代码中进行修改,再重新构建,直到没有错误为止。假如项目对的的构建完毕,就可以运营了。运营的方法是通过主菜单中的“编译”下的执行选项进行,或者使用快捷键“Ctrl+F5”、微型
8、编译微型条也能实现同样的目的。最后,运营的结果会显示在一个控制台窗口中,如Error! Reference source not found.所示。图 0.1运营结果注:“Press any key to continue”是系统提醒信息。第二章 实验内容C语言是一门功能强大、实且用性很强,又非常灵活的程序设计语言,只有通过不断的上机练习,才干较好地理解和掌握C语言。在实验课程中常采用的是较为常用的Visual C+ 6.0(简称VC6)开发环境。 本实验指导书中共有十三个实验,每一个实验内容中都包含若干个实验项目,每一次上机所需时间设计为2个学时,共26学时。实验应掌握对的的方法,即:实验前
9、先写好程序,然后再上机调试通过,并对调试结果进行分析,总结实验的收获,以进一步理解和巩固所学知识。实验一 开发环境与程序设计一、实验目的1. 熟悉VC6的开发环境2. 掌握运用VC6进行程序编辑、构建与调试的方法3. 了解子函数的调用方法4. 熟悉C源程序的结构和特点二、实验内容1. VC6环境的使用(1) 掌握启动与关闭VC6的方法。(2) 熟悉VC6各菜单项的内容与各窗口的用途。(3) 建立一个项目test,其中包含一个源文献:test.c,编译、运营并查看其结果,文献内容如表1所示: test.c文献内容1 #include 2 void main( )6 7 printf(大家好,欢迎
10、使用VC开发环境n);8 2. 建立相应项目和源文献,并输入下表信息,执行结果,体会函数调用关系。#include/求两个int型数中的大者int max(int x,int y) if(x=y)return x;elsereturn y;void main()int a,b,max1;scanf(%d%d,&a,&b);/调用max函数,通过max返回最大者max1=max(a,b);printf(最大者为:%d,max1);3. 分别输入Error! Reference source not found.、表2所示程序源代码(1) 对源程序进行编译,观测屏幕上显示的编译信息,如有错误产生则
11、找出因素并改正,再进行编译,直至没有错误。(2) 进行连接并运营程序,分析运营结果。表 1 程序代码 #include void main() int a,b,sum1;float x,y,sum2; a = 123; b = 456; sum1 = a + b; printf(sum is %dn, sum1); x=12.3; y=12.6; sum2=x+y; printf(“sum2=%5d”,sum2) 3. 以下表2代码接受从键盘上输入的int型数x,乘2后赋值给int型的p单元,若有错,请改正。表 2程序代码 #include void main() scanf(x); int
12、p=x*2; printf(“p=”,p)实验二 数据类型、运算符和表达式一、 实验目的1. 掌握C语言的基本数据类型及其意义2. 熟悉变量的定义与赋值、引用方法3. 掌握C语言的算术运算符及表达式及赋值语句的应用4. 掌握输入输出函数的使用5. 熟悉各种常用的格式转换符6. 进一步熟悉C语言程序的编辑、编译、连接和运营的过程二、 实验内容1. 分析表1表3程序代码,若有错,则改正。表1代码1 #include void main() char s1 = 3, s2 = 4, s3 = 5; int c1 = 101, c2 = 102; printf(3 %ct4 %ct5 %cn, s1,
13、 s2, s3); printf(s1 = %dts2 = %dts3 = %dn, s1, s2, s3); printf(c1 = %dt %c, c1, c1);printf(c2 = %dt %c, c2, c2);表 2代码2 #include void main() float x = 8.3, y = 4.2, s; int a = 7; s = x + a % 5 * (int)(x-y) % 2 / 3;printf(s = %f, s); 表 3代码3 #include /* 理解前置和后置自增自减的异同*/ void main() int i, j, p, q; i =
14、3; j = 6; p = i+; q = -j; printf(%d, %d, %d, i, j, p, q); p = i- + 3; q = +j -4; printf(%d, %d, %d, %d, i, j, p, q);2. 请改正表4表6程序代码的错误。表 4 代码4 #include #define PI 3.14 void main(); int r = 3;area; area= PI*r*R; print(%d, r,area); 表 5 代码5 #include void main() int m; double x; scanf(%1d, &m); x = 3.14
15、* m * m printf(f, x); 表 6 代码6 #include void main() /* 求a,b的和,规定精确到小数点后9位,并输出 */ float a = 12.1, b =0.,sum; sum=a+b;printf(sum=%d, sum);3. 按表7表8所示程序代码中的注释规定将程序填写完整。表 7 代码7 #include void main() /* 完毕a,b两个数的互换 */ int a = 9, b = 5; a += b; b = ; a -= ;printf(%d %d, a, b); 表8 代码8#include void main() int
16、m, n; float x = 3.5, y = 6.2; scanf(%d, %d, &m, &n); /* 每个数的输出宽度为 6,两数之间以逗号分隔 */ printf( , m, n); /* 每个数的输出宽度为 7,小数位数为 2 */ printf(x = , y = , ); 4. 编写程序,用getchar函数读入两个字符c1,c2,然后分别用putchar函数和printf函数输出这两个字符及其ASCII码,并思考:变量c1,c2应定义为字符型还是整型?或是两者皆可? 5已知某商品单价2元/斤,现销售5.12斤,求销售额。规定:已知条件用scanf完毕。实验三 逻辑结构程序设
17、计一、实验目的1. 掌握逻辑运算符和逻辑表达式的对的使用2. 熟悉顺序结构中语句的执行过程3. 掌握if语句和switch语句4. 掌握基本的程序调试方法三、 实验内容1. 求分段函数的值,分段函数如下:规定通过scanf语句输入x的值,printf语句输出y的值。说明:程序编译成功,只是说明没有语法错误,但不一定能得出对的结果,由于有也许存在逻辑错误。通过跟踪变量、调试程序,可以找出问题所在。通常所用的调试方法有以下3种:(组建/开始调试)(1) 单步跟踪:Step Into (F10)(2) 运营到光标处:Run to cursor (Ctril+F10)(3) 设立断点:Insert/R
18、emove Breakpoint (F9) 调试的一般过程: 调试,是指在程序的运营过程的某一阶段观测程序的当前状态,要使程序在执行到某一行时暂停,应一方面在该行设立断点。然后通过“组建(Build)/开始调试(Start Debug)/Go”命令菜单执行,使程序进入调试状态,此时注意观测:组建菜单此时变为Debug菜单。程序执行到断点处会停顿下来。然后可采用Debug菜单中的4条命令来控制程序的运营。 Step Over:运营当前断点指向的代码(只运营一条代码) Step Into:若当前断点所指代码是一个函数的调用,则进入该函数单步执行。 Step Out:若当前执行在某函数内,使程序运营
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 实验 指导书
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【人****来】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【人****来】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。