实验项目1C运行环境及基础语法.docx
《实验项目1C运行环境及基础语法.docx》由会员分享,可在线阅读,更多相关《实验项目1C运行环境及基础语法.docx(92页珍藏版)》请在三一文库上搜索。
1、世界 因为 女性 的诞 生,显 得分 夕卜美 丽!只个小 小的 问候, 却是 一个 浓浓 的真 意!女2. 2实验项目1C+运行环境及基础语法实验目的:1. 熟悉C+的开发运行环境2. 掌握C+的基本语法3. 熟悉结构化程序设计2.2.1 实验内容:最简单的C+程序运行调试实验步骤:输入下面程序并运行,记录运行结果#includeusing namespace std;int main() coutmy first cpp program,endl;return 0;问题:1、 main函数的返回值有什么含义?程序中main可以定义为void类型吗?可以去掉最后的retun 0语句吗?修改程序
2、并编译,注意屏幕提示,解释结果返回的值的意思是程序的结束标志。当返回值为VOID时,此时无须加上返回值。也可以去掉最后的0,此时的返回类型为VOID o修改后的程序:#includeint main () std:cout,/my first cpp program,/std: :endl;return 0;)答:运行的结果:/my first cpp program/Press any key to continue2、 程序中的using namespace std;有什么作用?如果不要计算机会有和提示?修改程序,删除using namespace std;并让程序 能运行作用:命名空间
3、是为了防止名字(符号)冲突而把一系列的类型、变 量、函数放在一起的一种方式,命名控件要和变量作用域放在一起来 理解,在作用域范围内使用命名空间就可以访问该命名空间内定义的 符号。提示如下:compiling.I.cppE:first1 .cpp(3) : error C2065: cout: undeclared identifierE:first1 .cpp(3) : error C2297: : illegal, right operand has typechar 21E:first1 .cpp(3) : error C2065: endl: undeclared identifier执
4、行cl.exe时出错.l.obj -1 error(s), 0 warning(s)提示: 使用std:coutStd:cout,/return to ok!”endl;2.2.2 实验内容.结构化程序设计基础下面程序是从键盘输入一个数,并求其阶乘:注意:重新建一个工程,不要在一个工程中有多个main函数出现#includeusing namespace std;int main()int n,fact;cininput a num:n;这条语句有错,应怎么改?注意cin和cout的区别for(int i=1 ;in;i+)fact=fact*i;coutn !=factendl;return
5、 0;验证:输入5,应该是120,那么20的阶乘呢?怎么解释结果?注意初始化和变量的范围提示:从变量的作用域上考虑问题:修改程序,在程序最后输出循环变量i的值注意程序中的语句:for(int i=1;in;i+),和以前C程序的写法有 什么区别?说明这种把变量定义在()中的含义及其局限 #includeusing namespace std;int main() DOUBLE n,fact;coutz/input a num”;改正过后结果;cinn;fact=l;for(int i=l;in+l;i+) fact=fact*i;coutnz,!=z/factendl;return 0;答:就
6、是将FACT的初定义为1;将CIN的输入直接接要输入的变量;INT的范围在65353的范围这内因此当输入阶乘为20时它的结果远远大于它的长度此时需要修改它的类型长度即将它修改为DOUBLE类型即可。将INT放在括号里面的作用与在外面定义的作用是不同的INT放在里面表示它只2.2.3 实验内容引用和函数修改如下程序,使其能调用swap函数对参数进行交换:#includeusing namespace std;void swap(int a, int b)在此将此语句改为:void swap (int & a, int & b)int t;t=a; a=b; b=t;)int main()int
7、a=1,b=6;coutbefore swap:na is:a b is:bendl;swap(a,b);coutafter swap:na is:a b is:bendl;return 0;提 示: 使 用 引 用改正过后的结果是:J*E:firstDebuc3. exe*日回口befoi*e swap: a is :1 b is:6 af ter swap: a is b is Press any key to continue.2.2.4 实验内容函数的重载和默认参数从键盘上输入年龄(实数)和性别(用字符M和F表示),输出对应信息.要求如下键盘输入如:18. 6F,则输出19 years
8、 old, female19.4M,则输出 19 years old, male年龄采用四舍五入,如果不会,可以不实现,只取整即可编写print函数来处理(输出),要求函数可以用任意顺序的参数调用,程序结构如下int main()float year; char sex;输入print( year,sex) print( sex,year)print();这里输出 0 years old, male,即默认是。岁,malereturn 0;)程序不要改变main函数结构,编写printf函数(思考需要编写几个?) 提示:如何实现四舍五入?可以采用 变量+0.5取整#include#using
9、namespace std;#include#includeusing namespace std;这里输出years和sex顺序不同,但方法体是相同的。void print(float year, char sex)int y=0;y=(int)year;if (sex=,m | sex=,M )coutyear years old, male/zendl;else coutyear *years old, female“endl;出参数顺序不同意外,其它都是相同的。void print(char sex, float year)int y=0;y=(int)year;if (sex=m |
10、 | sex=M) coutyear ,zyears old, malez,endl;else coutyear years old, femalez,endl;这里输出0 years old, male,即默认是。岁,malevoid print () cout*0 years old, malez,endl;int main () float year; 变量year存放年龄变量。char sex; 变量sex存放性别变量。char input 20;存放输入字符串。char years20;存放输入字符串中年龄字符数组。char dot20;存放输入字符数组中小数点以后的小数部分数 组。
11、char * p;存放小数点后第一位数值,用于判断是否进行四舍五入。若大于5则总体值+1。p=dot;coutinput; 输入字符数组。字符串数组最后一位一定是性别,首先提取出来存放在sex变量 中。sex=input Estrlen(input)-1;将输入数组除最后一个字符以外的字符串传入年龄数组。for(int i=0;istrlen(input)-l;i+)yearsi=inputi;在年龄数组中获取小数点最近的数值,放入P中。for (int j=0;j=5)year=(float)(atoi(years) +1);else year=(float)atoi(years);调用pr
12、int函数。Pring函数要进行重载。print( year, sex);print ( sex,year);print ();这里输出0 years old, male,即默认是0岁,malereturn 0;2.3实验项目2运用类和对象进行程序设计实验目的掌握类的定义掌握对象的成员变量,成员函数的使用掌握对象成员访问控制的设定2.3.1 实验内容 类基本语法练习#includeusing namespace std;class Time/定义Time类public:/数据成员为公用的int hour;int minute;int sec;int main()Time t1 ;/定义t1为T
13、ime类对象cint1 .hour;输入设定的时间cint1.minute;cint1.sec;coutt1 .hourk: t1 .minute: t1 .secendl;return 0:)改写程序,要求:改写后的程序:#include stdafx. h#include,/iostream,/using namespace std;class Time public:Time ();void printtime();实现输出时间函数void settime(int, int, int); 实现时间的的格式设置private:将成员函数改为私有的int hour;int minute;in
14、t sec;Time: :Time()hour=minute=sec=0;)void Time:settime(int h, int m,int s)hour=(h=0&h=0&m=0&s60)?s:0;:void Time:printtime() couthour: minute: sec; int main () int i;Time tl;tl. settime 8, 8);couti;printf(pause);return 0;将数据成员改为私有的;在上面已经实现了将输入和输出的功能改为由成员函数实现;在上面已经实现了在类体内定义成员函数在上面已经实现了然后编译和运行程序。请分析什么
15、成员应指定为公用的?什么成员 应指定为私有的?什么函数最好放在类中定义?什么函数最好在 类外定义?外部成员就应该定义为公有的,属性成员应该定义为私有的。函 数声明应该放在类中,方便用户调用的函数应该放在类的外部下面程序设计了一个日期类如下,通过成员函数init来初始 化,print输出class Dateint y,m,d;void init()y=year; m=month; d=day;void print()couty year m month d dayendl;)int main()Date d;d.init();d.print();return 0;程序 问题1:程序有3处错误,试
16、改正提示:类定义格式,注意最后的分号在类定义完之后需要加分号init函数是否要参数需要带参数注意成员函数的访问属性,公有还是私有 是公有的PUBLI 改正后的程序:#include stdafx. h#include iostream”using namespace std;class Datepublic:void init (int, int, int);void print();private:int year,month, date;);void Date:init (int y,int m, int d) year=y;month=m;date=d;void Date:print()
17、cout,date:,year,-0,?month,-0/datei;return 0; 把程序分成3个部分(文件),main函数所在的文件main, cpp,类的声明time. h, 类的定义time. cpp。三个文件在同一个工程中。注意:哪些要包含头文件。选做:(在头文件中使用头文件卫士(#ifndef)来保护头文件可以被多次包 含程序:问题2.根据上面修改的类,继续添加成员函数,要求能进行 日期相减得到相差的天数,日期可以加上一个数,得到新的日期.为简化程序,设每个月都是30天.#include using namespace std;class Dateint y, m, d;pub
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 实验 项目 运行 环境 基础 语法
