您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 企业文化 > 试验一 C++程序运行环境及其程序设计初步
3.1试验一C++程序运行环境及其程序设计初步3.1.1实验目的:1、熟悉并学习使用C++程序编译平台VC6.0;2、掌握C++程序的赋值和输入输出语句的使用方法;3、掌握C++程序控制的3种基本结构:顺序结构、选择结构和循环结构的实现;4、掌握如何在编译平台下编辑、编译、连接、调试和运行C++程序;5、通过运行C++程序,了解C++源程序的结构和特点;3.1.2知识点介绍1、C++程序的结构。一个c++程序有多个程序单位构成,每一个程序单位作为一个文件,编译系统分别对每个程序文件分别编译,然后连接起来形成可执行程序。在一个程序单位中包含以下几部分:预处理命令全局声明部分函数(有函数首部和函数体组成),一个C++必须有一个(而且只能有一个)main()函数。2、C++数据类型和表达式C++有多种数据类型,数据类型隐含着该类数据的表示、存储及处理规则。C++运算符丰富,使用十分灵活。有运算符和括号将运算对象(操作数)连接起来,构成表达式。表达式中混合运算式要注意运算符的优先级和结合性。此外,不同数据类型运算时,存在类型转换(隐式自动转换和强制转换)。3、C++程序的编写实现用C++语言编写程序——对源程序文件进行编译声称目标文件——对目标文件连接形成可执行程序——运行程序得到结果——分析结果。3.1.3实验内容题目1最简单的C++程序按提示的操作步骤,输入下面程序代码,编译连接并执行。#includeiostreamusingnamespacestd;intmain(){coutHello,thisismyfirstC++program!endl;return0;}[实验提示]1、按照1.2.4、1.2.5节操作步骤创建第一个应用:(1)编辑你的第一个C++源程序(2)保存你的源文件(3)编译、连接得到可执行程序(4)改正源程序中的错误(5)运行你的第一个程序2、你可以有三种方式运行你的程序:(1)在开发环境中运行程序选择Build|Executehello.exe(或者Ctrl+F5),在开发环境中执行你的程序。程序运行以后将显示一个类似于DOS的窗口,在窗口中输出一行“hello”,紧接着在下面显示“Pressanykeytocontinue”,这句话是系统提示你按任意键退出当前运行的程序,回到开发环境中。按任意键,窗口关闭,退回到VisualC++开发环境。我们实验中将用这种方式运行程序。(2)在DOS环境下运行程序打开DOS窗口,改变工作路径到项目目录,该目录是你在创建目录时指定的。如果你不记得了,可以在DeveloperStudio中的工作区窗口中选择项目名称(这里是“hellofiles”),然后选择菜单View|Properties,将可以显示出项目路径。切换到debug子目录下,运行hello.exe,程序将输出:’hello’。(3)在Windows环境下运行程序打开Windows的资源管理器,找到程序所在的目录,运行它。你看到的结果是怎样的?[思考与扩展]1、如果程序中大小写输入错误如main写成Main,结果会怎样?2、编译运行通过后,本程序输出了一行字符,如果还想输出一行字符:it’stooeasy!,程序代码该如何修改添加?提示:注意使用换行控制符’\n’或输出控制符endl。题目2简单应用—求圆柱体的体积输入下面程序代码,编译运行。#includeiostreamusingnamespacestd;#definePI3.14intmain(){intradius,high;doublevolume;coutPleaseinputtheradiusandhigh:endl;cinradiushigh;volume=PI*radius*radius*high;coutthevolumeis:volumeendl;return0;}[实验提示]按照第一题的操作步骤新建工程,输入代码,编译连接,执行程序,输入测试数据分析结果是否正确,如有错误改正后再重新编译连接,直到没有错误为止。在输入代码的过程中要细心,注意中西文输入法的区别。[测试数据]运行时输入:58-21[思考与扩展]1、#definePI3.14159是符号常量,用const常量定义PI。2、如果运行时输入3.85程序的输出结果是什么,正确吗?将程序中变量radius,high改为double类型,然后输入上面的测试数据,结果怎么样?说明原因。3、注意输入提示和输出提示语句,尝试修改输入数出提示语句题目3计算员工周工资编写一个程序,输入某雇员的每周工作时间(以小时计)和每小时的工资数,计算并输出他的工资。若雇员周工作小时超过40小时,则超过部分按原工资的1.5倍的加班工资来计算。若雇员每周工作小时超过60小时,则超过60的部分按原工资的3倍的加班工资来计算,而40到50小时的工资仍按照原工资的1.5倍的加班工资来计算。1、要求有输入提示和输出提示,如要输入雇员的工作时间和每小时的工资值时,可以提示:“Pleaseinputemployee’sworktimeandwage_per_hour:”输出时,提示:“Theemployee’swage:”。2、给你的程序加上注释,并注意排版格式,使得其清晰可读。[实验提示]1、从本次实验开始,我们开始编写稍微复杂的程序,涉及到一些简单的算法,请务必按照实验要求养成良好编程的习惯,再次强调:代码要写整齐,注意排板规范,请再次仔细研读附录编程规范。给你的变量起个好名字,不要什么变量都用a,b,c…等,变量最好用英文单词或单词的缩写命名,变量名字要体现变量在程序的含义和作用。要有必要的注释!!,养成这一良好的习惯很重要,请记住,“代码只被书写一次,而它被修改和阅读的次数可能是无限的”2、本程序可以使用if语句和switch语句分别实现流程图分别如下:图2.1if—elseif语句实现流程图图2.2Switch语句实现流程图[测试数据]输入:304输入:454.5输入:605[思考与扩展]1、尝试分别用if和switch语句实现选择结构语句2、如果程序运行时循环输入并给出计算结果,并当当用户输入0时程序结束,程序该如何修改?3、测试数据的选择应该考虑选择结构中的每一种情况都被执行一次,也就是选择的测试数据应该具有代表性,对本题来说,选择的数据因该分几种情况:1)小于40的数据2)大于40而小于50的数据3)大于50的数据4)不合理的数据比如负数或大于7*24数,(注意一周最多只有7*24小时)设计一组你的测试数据。题目4设计一个计算+、-、*、/的程序程序循环从标准输入读入表达式:输入:4+2回车则输出:4+2=6输入:4*2回车则输出:4*2=8………当用户输入:000回车时程序退出实现要求:1、有输入提示和输出提示,如要输入表达式时,可以提示:pealseintputarithmeticexpression:输出时,提示:4+2=6。计算在用户输入的表达式为000时程序结束。2、为你的程序加上注释,使得其清晰可读。3、尝试利用调试程序来修改你程序的逻辑错误。[实验提示]1、具体计算可采用switch语句实现switch(operator)//判断运算符{case'+':result=operand1+operand2;coutoperand1opoperand2=resultendl;break;case'-':……default:……}[测试数据]自己设计一组测试数据,要求覆盖switch选择结构的中所有路径即每条case语句都被执行一次。[思考与扩展]1、为什么要在while循环体中输入三个数据(表达式)?2、使用switch语句中的break起什么作用?3、你还有更好的实现方法么?题目5计算生日时星期几编写一个程序,只要输入年月日,就能回答那天是星期几。[实验提示]1、已知公元1年1月1日是星期一2、算法提示:如果输入的是2006年3月12日,计算方法是(1)先计算从公元0001年初(0001-1-1)到2005年末(2005-12-31)共多少天,注意其中有闰年,闰年是366天,平年是365天。闰年的判断条件满足:((year%4==0&&year%100!=0)||(year%400==0))(2)然后再计算2006年1月1日到2006-3-12是多少天。注意同样判断本年度是否闰年,即二月份是28天还是29天。(3)上述两部分相加即从公元0001年初(0001-1-1)到2006年末(2006-3-12)的天数,用该天数模7(total%7)即得到星期数。2、用户多次循环输入数据并计算可采用while语句实现://首先输入三个数据:coutpleaseenteryearmonthday:cinyearmonthday;//首先输入三个数:年月日while(year!=0&&month!=0&&day!=0){……//具体计算语句//本次循环结束前再次输入三个数据(年月日),为下次循环计算做准备coutpleaseenteryearmonthday:cinyearmonthday;}[测试数据]1、1年1月1日是星期一2、2年1月1日是星期二3、用上机日期4、2000年1月1日是星期六[思考与扩展]1、用switch语句实现程序。比较if和switch语句的区别。2、对输入日期和理性检验,例如月份不能大于12,非闰年不得有2月29日,小月不得有4月31日
本文标题:试验一 C++程序运行环境及其程序设计初步
链接地址:https://www.777doc.com/doc-923334 .html