C++语言程序设计实验答案C++简单程序设计.docx
- 文档编号:22795754
- 上传时间:2023-04-28
- 格式:DOCX
- 页数:62
- 大小:1.07MB
C++语言程序设计实验答案C++简单程序设计.docx
《C++语言程序设计实验答案C++简单程序设计.docx》由会员分享,可在线阅读,更多相关《C++语言程序设计实验答案C++简单程序设计.docx(62页珍藏版)》请在冰豆网上搜索。
C++语言程序设计实验答案C++简单程序设计
实验02C++简单程序设计(6学时)
(第2章C++简单程序设计)
一、实验目的
(1)学会编写简单的C++程序。
(2)复习基本数据类型变量和常量的应用。
(3)复习运算符与表达式的应用。
(4)复习结构化程序设计基本控制结构的运用。
(5)复习自定义数据类型的应用。
(6)练习使用简单的输入输出。
(7)观察头文件的作用。
(8)学会使用VisualStudio2010开发环境的Debug调试功能:
单步执行、设置断点、观察变量值。
二、实验任务
2_1(例2-7)输入并运行例2-7,即:
用do-while语句编程,求自然数1~10之和。
程序正确运行之后,去掉源程序中#include语句,重新编译,观察会有什么问题。
2_2将do-while语句用for语句代替,完成相同的功能。
2_3编程计算图形的面积。
程序可计算圆形、长方形、正方形的面积,运行时先提示用户选择图形的类型,然后,对圆形要求用户输入半径值,对长方形要求用户输入长和宽的值,对正方形要求用户输入边长的值,计算出面积的值后将其显示出来。
2_4使用Debug调试功能观察任务2_3程序运行中变量值的变化的情况。
2_5(习题2-35)输出乘法九九算表。
编程中要用到单重循环、二重循环、选择结构和I/O格式控制的操纵符。
2_6编写程序,实现整数算术四则运算。
三、实验步骤
1.(验证,例2-7)用do-while语句编程,求自然数1~10之和。
(1)建立一个控制台应用程序项目lab2_1;
(2)向其中添加一个C++源文件lab2_1.cpp(方法见实验1);
(3)输入例2-7的代码,检查一下确认没有输入错误;
(4)选择菜单命令“生成”|“生成解决方案”编译源程序;
(5)再选择“调试”|“开始执行(不调试)”运行程序;
(6)观察输出是否与书上的答案一致。
★程序的运行结果:
2.(验证,例2-7)去掉#include行及using行,观察会有什么问题。
程序正确运行之后,在源程序行“#include
C++语言没有输入输出语句,只是C++编译系统带有一个面向对象的I/O软件包,即I/O流类库。
cout和cin是该类库预定义的流对象,#include
头文件iostream中声明了程序所需要的输入和输出操作的有关信息,在C++程序中若使用了系统中提供的一些功能,就必须嵌入相关的头文件,否则,系统无法找到实现这些功能的代码。
现在,删除注释标记,将程序恢复正确。
3.(编程,例2-7)用for语句编程,求自然数1~10之和。
建立一个项目lab2_2,包含一个C++源程序lab2_2.cpp,将do-while语句用for语句代替,完成与实验任务2_1相同的功能。
★程序及运行结果:
//lab2_2.cpp(例2-7修改)
#include
usingnamespacestd;
voidmain(){
inti,sum(0);
for(i=1;i<=10;i++)sum+=i;
cout<<"sum="< } 4.(验证)计算图形的面积。 建立项目lab2_3,包含一个C++源程序lab2_3.cpp(见步骤5),计算图形的面积。 计算公式: 圆形面积S=PI*r*r,长方形面积S=a*b,正方形面积S=a*a。 程序中声明整型变量iType表示图形的类型,用cout语句输出提示信息让用户选择图形的类型,用cin读入iType的值,然后使用switch语句判断图形的类型,分别提示用户输入需要的参数值,用cout语句显示计算结果。 ★程序的运行结果: 运行3次,每种图形一次。 5.(操作)学习简单的Debug调试功能。 参考程序: //lab2_3.cpp #include usingnamespacestd; constfloatPI=3.1416; voidmain() { intiType; floatradius,a,b,area; cout<<"图形的类型为? (1-圆形2-长方形3-正方形): "; cin>>iType; switch(iType) { case1: cout<<"圆的半径为: "; cin>>radius; area=PI*radius*radius; cout<<"面积为: "< break; case2: cout<<"长方形的长为: "; cin>>a; cout<<"长方形的宽为: "; cin>>b; area=a*b; cout<<"面积为: "< break; case3: cout<<"正方形的边长为: "; cin>>a; area=a*a; cout<<"面积为: "< break; default: cout<<"不是合法的输入值! "< } } 一个程序,编写完成后会存在这样或那样的错误。 有些错误在编译连接阶段可由编译系统发现并指出(如步骤2所示),称为语法错误。 当修改完语法错误生成了执行程序后,并不意味着程序已经正确。 常常会发现程序运行的结果与预期的不一致,有时在运行过程中程序中止或发生死机,这种错误称为运行错误,这是因为算法设计不当或编程实现时的疏忽造成的。 调试是指在发现程序存在运行错误后,寻找错误的原因和位置并排除错误。 虽然编译系统不能像对待语法错误那样,明确指出运行错误的原因和位置,但开发环境提供了辅助调试工具,可实现单步运行、设置断点、观察变量和表达式的值等功能,使我们可以跟踪程序的执行流程、观察不同时刻变量值的变化状况。 (1)在第12行处设置调试断点。 用鼠标右键单击源程序第12行(cout<<"图形的类型为? …";),出现一个菜单,如图2-1。 图2-1添加断点 (2)选择“断点|插入断点”一项,可看到左边的边框上出现了一个褐色的圆点,标记此处设置了一个断点。 断点是程序运行时的暂停点。 程序运行到断点处便暂停,这样就可以观察程序的执行流程,以及执行到断点处时有关变量的值。 (3)然后选择菜单命令“调试|启动调试”,或按下快捷键F5,系统进入调试状态,程序开始运行,一个DOS窗口出现,此时,VisualStudio的外观如图2-2,程序暂停在断点处。 //点击底行“局部变量”选项卡 图2-2调试状态下的VisualStudio(“局部变量”窗口) (4)单步执行: 从“调试”菜单或调试工具栏中单击“逐过程”选项或按钮两次。 在程序运行的DOS窗口中输入选择的图形类型,例如,输入3,代表正方形,这时,回到VisualStudio中,把鼠标放在变量名iType上片刻,可看到出现了一个提示: iType=3;此时,在“局部变量”窗口中也看到iType以及其他变量的值。 逐语句: 若下一语句行中有函数调用,将进入被调用的函数。 (慎用) 逐过程: 若下一语句行中有函数调用,将不进入被调用的函数。 跳出: 执行完当前函数的所有语句。 注意: 单步执行时每次执行一行语句,便于跟踪程序的执行流程。 因此,为了调试方便,需要单步执行的语句不要与其他语句写在一行中。 (5)在“监视1”窗口中,在“名称”栏中输入iType,按回车键,可看到“值”栏中出现3,这是变量iType现在的值(若没看到“局部变量”窗口或“监视X”窗口,可通过菜单“调试|窗口|局部变量”或“调试|窗口|监视”选项打开它。 图2-3是此时“监视1”窗口的状态。 图2-3“监视1”窗口的状态 (6)继续执行程序,参照上述方法,再试试“调试”菜单栏中别的菜单项,熟悉调试的各种方法。 6.(编程,习题2-35)输出乘法九九算表。 建立一个项目lab2_4,包含一个C++源程序lab2_4.cpp,要求该程序运行的结果如下(注意列之间的间隔): ★程序及运行结果: //程序1 #include #include usingnamespacestd; voidmain(){ inti,j; for(i=1;i<=9;i++){ for(j=1;j<=i;j++){ if(j==1)cout< (2); elseif((j==3)&&(i<=4)) cout< else cout< cout< } cout< } }//太细! //程序2 #include #include usingnamespacestd; voidmain(){ inti,j; for(i=1;i<=9;i++){ cout< (2); for(j=1;j<=i;j++){ cout< if(j! =1&&i*j<10)cout< } cout< } }//量化! //程序3 #include usingnamespacestd; voidmain(){ inti,j; for(i=1;i<=9;i++){ cout<<"";//行首加1个空格 for(j=1;j<=i;j++){ cout< if(j! =1&&i*j<10)cout<<"";//再加1个空格 } cout< } }//直白! 7.(编程,例2-4)编写程序,实现整数算术四则运算。 分别用switch和if…elseif…各编写一个程序。 建立项目其名称为lab2_5_1,解决方案名称为lab2_5,包含一个C++源程序lab2_5_1.cp(用switch语句实现);在同一解决方案lab2_5下再建立项目其名称为lab2_5_2,包含一个C++源程序lab2_5_2.cp(用if…elseif语句实现)(参考实验提示) 参考的运行结果: ★程序及运行结果: //程序1: 用switch #include usingnamespacestd; voidmain(){ inta,b;charc; cout<<"输入表达式: "; cin>>a>>c>>b; switch(c){ case'+': cout< break; case'-': cout< break; case'*': cout< break; case'/': if(b==0)cout<<"出错! 除数为0。 "< elsecout< break; default: cout<<"出错! 运算符无效。 "< } } //程序2: 用if…elseif… #include usingnamespacestd; voidmain(){ inta,b;charc; cout<<"输入表达式: "; cin>>a>>c>>b; if(c=='+')cout< elseif(c=='-')cout< elseif(c=='*')cout< elseif(c=='/') if(b==0)cout<<"出错! 除数为0。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C+ 语言程序设计 实验 答案 简单 程序设计