




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
在编译、连接和运行程序的过程中,都有可能出现各式各样的错误,要不断地修改源程序,重复快捷键及宏组成的和谐系统,通过该集成环境,程序员可以观察和控制整个开发进程。对应一个下拉子菜单。左面的一个子窗口是工作区窗口,工作区的右面是编辑子窗口。最下面是输出子窗口。靠式窗口。靠窗口,不论是浮动着的或是固定着的,总是出现在文档窗口的上面。这样,就保证了当焦点从一个窗口移到另一个时,浮动的工具栏一直都是可见的。但这也意味着,文档窗口偶尔会看起来像消失了的停靠窗口,源代码文档就会消失,它隐藏在新窗口之下。解决方法是要么关了覆盖的窗口,要么把值得注意的是,上述各种部件,包括子窗口、菜单栏和工具栏的位置不是一成不变的,可以根据个人2.创建项目文件源程序文件、库文件、建立程序所用的编译器和其他工具的清单。C++的项目以项目文件的形式存储在磁盘上。制台应用程序的项目。(2)选择对话框中的“Files”标签。(4)在“File”文本框中输入C++源程序文件名。系统自动加上文件扩展名“.cpp”。例如:件加入到当前的项目文件中。该窗口有三个子窗口,左边的子窗口为项目工作区窗口;右边的子窗口为源程序编辑窗口,用于输入或编辑源程序;下边的窗口为信息输出窗口,用来显示出错信息或调试程序的信息。4.输入和编辑源程序在源程序编辑窗口输入例1.1中的源程序代码,5.保存源程序文件选择“File”菜单中的“Save”命令,将源程序保存到相应的文件中。6.编译和连接在编译和连接期间,若出现错误,则在信息输出窗口给出错误或警告信息。改正错误后,重新编译或编译连接源程序,直到没有错误为止。7.运行选择“Build”菜单中的“Execute”命令,则在VC++集成环境的控制下运行程序。被启动的程序在源程序。8.打开已存在的项目文件(2)选择“File”菜单中的“Recentworkspaces”命令,然后再选择相应的项目文件。试完成后,要开始输入另一个程序时,必须先关闭当前的项目文件,然后为新源程序建立一个新的项目文件。否则将出现不可预测的错误。选择“File”菜单中的“Exit”命令,可以退出集成环境。******************************{cout<<"***************"<<'\n';cout<<"***************"<<'\n';}******************************{floats,r;}1.设计一个程序,从键盘输入一个小写字母,将它转换成大写字母输出。2.输入一个球的半径,求其表面积和体积。撰写实验报告。2.学会使用C++的有关算术运算符,以及包含这些运算符的表达式,特别是自加(++)和自减{intx,y,z;//A}表达式的值不一定为整数,故程序中变量的类型应采用实型。{floatx,y,z,e,f,w;//Ae=(x+1)*(y-1);//B}输入的三位数为整数,变量类型按整型进行处理。可采用求余数的方法计算各位上的数,然后逆序输出。参考程序如下:{intn,i,j,k;cout<<"输入一个三位正整数n:";n=(n-i)/10;//去掉个位数n=(n-j)/10;//去掉十位数}{inta=32,b;chare='D',f;}3.编写程序输入两个整数,输出它们的商和余数。2.撰写实验报告。2.熟悉if与switch语句的格式、执行过程、使用方法及典型案例;3.学会使用选择结构解决一般的实际问题,能编写简单的应用程序。{doublea,b,c,t;t=b-c;if(t<0)t=-t;{if(t<a)else}else}提示:三角形的类型由最长边所对的角决定。假定三角形最长边为c,其所对的例如,若每位顾客一次购物,编写程序,输入购物款,输出实收款。解:本例使用了if-elseif语句进行多重判断。参考程序如下:{}{floatx,y;if(x>=0)if(x>=10)y=x*x*x;elseelse}:(输入一个奖金数,求税率、应交税款及实得奖金数。4.输入平面直角坐标系中一点的坐标值(x,y判断该点是在那一个象限中或那一条坐标轴上。1.设计一个计算器,可以实现简单的四则运算;2.撰写实验报告。程序流程图如图4.1所示,程序如下:{inti,n,sum;i=1;{}}项。{longintf1,f2;inti;for(i=1;i<=20;i++){}}例中“if”语句的作用是使在一行中输出4个数。{inta,k,i,n;{k=sqrt(a);for(i=2;i<=k;i++)break;if(i>k)//若i>k,则i为素数{}}}程序运行后,输出,:分析:这是一个累加求和的问题,仔细分析各项,可以发现从第二项开始,各项的值为前一项除{{}}输入”的提示。分析:从第3个月开始,下个月兔子的对数为本月兔子的对数与上月兔子对数之和。这样可得出{intf1,f2,f3;inti;for(i=3;i<=20;i++){//Af1=f2;f2=f3;}}将程序A行中改写为“for(i=20;i>=3;i--)”后,观察程序运行结果;画出本例的流程图。分析:此图形为上下对称结构,用-3~3的整数标识行号i,则每行字符“B”的个数可表示为6*|i|+1。每行字符“B”前空格的个数随着|i|的增大而减少,空格的个数要大于0。{inti,j,k,d;for(i=-3;i<=3;i++){d=i;if(i<0)d=-i;for(j=1;j<=10-3*d;j++)}}将程序中的“for(j=1;j<=10-3*d;j将程序中的“for(i=-3;i<=3;i++)”用“for(i=-10;i<=10;i++)”改写后,观察程序运行结果。{{}while(a>1);}将条件while(a>1)改为while(a),分别观察输出结果。于结束本次循环。{intx,s=0;while(1){if(x<0)continue;//B}}项。4.求π近似值的公式为:2.撰写实验报告。1.掌握一维数组、二维数组、字符数组的定义、初始化赋值、数组元素的引用方法;2.掌握求最大、小值、平均值、排序的方法以及有序数组的查找、增加、删除的编程方法;3.初步掌握字符串处理函数的使用方法以及字符串复制、连接、测长等程序的编写方法;4.掌握数组的典型应用。后最大的数就放到了第一个的位置;第二个数与其后面的数逐个进行比较,发现大者进行交换,完成后次大的数就放到了第二个的位置;如此循环,直到第n交换。{inta[10];//Ainti,j,t;for(i=0;i<10;i++)//B{cin>>a[i];}for(i=0;i<=8;i++){for(j=i+1;j<=9;j++){if(a[i]<a[j]){t=a[i];a[i]=a[j];a[j]=t;}}}}intn;inta[n]”观察运行结果?分析原因。分析:由杨辉三角形可以看出每行数存在以下规律:每行数据的个数与行序相同;每行的第一个111111for(i=0;i<n;i++){y[i][i]=1;y[i][0]=1;}for(i=2;i<n;i++){for(j=1;j<i;j++){inty[5][5];inti,j,n=5;y[i][j]=y[i-1][j-1]+y[i-1][j];}for(i=0;i<n;i++){for(j=0;j<=i;j++)cout<<y[i][j]<<"";}}分析:建立两个变量i、j,先使i指向字符数组str1的第一个元素,然后移动i使其指向str1的末尾,即指向str1的最后一个元素‘\0’;再使j指向字符数组str2的第一个元素,然后将str2程序如下:{charstr1[40],str2[20];//定义字符数组str1、str2inti,j;cin.getline(str1,20);//输入字符串1到str1中cin.getline(str2,20);//输入字符串2到str2中i=0;//使i指向str1的第一个元素while(str1[i]!='\0')//判断str1是否结束i++;//str1没有结束,使i指向下一个元素j=0;//使j指向str2的第一个元素while(str2[j]!='\0')//判断str2是否结束{str1[i]=str2[j];//str2没有结束,将str2[j]赋给;str1[i]i++;//使i指向str1的下一个元素j++;//使j指向str2的下一个元素}str1[i]='\0';//在str1末尾添加结束标志‘\0’}分析:逐个读取每个字符,若为空格将其后面的字符和字符串结束标志前移一位,再从该位置开始,重复上述操作,直到字符串结束。{charstr[]="Thisisabook!";//Ainti=0,j;while(str[i]!=NULL){if(str[i]==''){//Bj=i;while(str[j]!=NULL){str[j]=str[j+1];}}}}for(j=1;str[j]!=NULL;j++,cout<<str[j]);观察输出结果。组str中,并输出连接后的字符串str。量,其值由用户自定义。2.已有一按从小到大次序排序好的数组,现输入一数,要求用折半查找法找出该数在数组中的位置。3.撰写实验报告。intfun(intn){intz;elsereturn(z);}{intx,sum;}根据公式,只要自定义一个函数计算阶乘,即可通过函数调用求出的值。doublefact(intk){if((k==0)||(k==1))returnp;else{for(inti=1;i<=k;i++)returnp;}}doublefact(int);{intm,n;gotol1;}c=fact(n)/(fact(m)*fact(n-m));}doublefact(intk){if((k==0)||(k==1))returnp;else{for(inti=1;i<=k;i++)p=p*i;returnp;}}最大公约数。intfun1(intc,intd){intr;while(r!=0){}returnd;}{intm,n,e,d;}intfun1(intc,intd){intr;if(r!=0){fun1(c,d);}returnd;}{intm,n,e,d;}分析:由于参数只有一个圆的半径,所以只能对不同类型的参数实现重载。intarea(int);floatarea(float);{intr1;floatr2;}intarea(intx){returnPI*x*x;}floatarea(floatx){returnPI*x*x;}floats(floatx,floaty);{floata,b;}in1inefloats(floatx,floaty){returnx*y;}1.定义子函数如下:sum(intx,inty) {}2.撰写实验报告。1.掌握指针、指针变量、指针常量的基本概念;2.掌握指针与数组、指针与函数的关系及应用。3.初步掌握引用的概念及简单应用。{inta[5]={0,1,2,3,4};int*p;―3;//p指向上3个元素a[0],p=}voidexchange(int,int);{inta,b;exchange(a,b);}voidexchange(intx,inty){intt;t=x;y=t;}分析:本例的目的是在子函数中交换的两个变量的值,在主函数中使用。但函数的数据传值调用方式是将实参的数据值传递给形参,实参和形参在内存中占用不同的地址单元,改变形参值不改变实参值。要想通过改变形参的值而改变实参的值,则应使用指针调用或引用调用。而且引用调用大有取代指针调用之势。使用指针调用如下:voidexchange(int*,int*);{}voidexchange(int*x,int*y){intt;t=*x;*x=*y;*y=t;}使用引用调用如下:{inta,b;exchange(a,b);}{intt;t=x;x=y;y=t;}{inta[3][3]={{1,2,3},{4,5,6},{7,8,9}};int*p=&a[0][0];//将二维数组首地址赋给指针变量pfor(inti=0;i<9;i++){cout<<*p<<'\t';//输出二维数组中第i个元素值}}intmax1(inta[],intn)//形参为数组名{inti,max=a[0];for(i=1;i<n;i++)if(a[i]>max)max=a[i];}intmax2(int*p,intn)//形参为指针{inti,max=*(p+0);for(i=1;i<n;i++)if(*(p+i)>max)}intmax3(inta[],intn)//形参为数组名{inti,max=*(a+0);for(i=1;i<n;i++)if(*(a+i)>max)}intmax4(int*p,intn)//形参为指针{inti,max=p[0];for(i=1;i<n;i++)if(p[i]>max)}{intb[]={1,3,2,5,4,6},*pi;}指向同一数组不同元素时,可以进行减运算,结果为其间的数组元素个数。{inti,a[10];int*p1,*p2;for(i=0;i<=9;i++){a[i]=i*i;}}分析:使用函数的指针,可以通过指针的赋值分别调用不同的函数。intsum1(int);intsum2(int);{inta;int(*f)(int);//A{}else{}}{ints1=0;for(inti=2;i<=m;i=i+2)returns1;}intsum2(intn){ints2=0;for(inti=1;i<=n;i=i+2)returns2;}将A行改为“int(*f)(int);”,观察现象。分别输出两个函数的函数名,观察其地址值。char*stringcat(char*p1,char*p2){p1――;returnp;//返回指向目标串首地址的指针p。}{chars1[200],s2[100];cin.getline(s1,100);cin.getline(s2,100);}分析:字符串不允许进行赋值运算,只能使用头文件string.h中定义的strcpy()库函数。本例要求自己编制一个自定义函数实现strcpy()库函数的功能。{chars2[20];}{}{for(inti=0;*(from+i)!='\0';i++)*(to+i)=*(from+i);*(to+i)='\0';}观察现象。“char*mycopy(constchar*,constchar*);”{}观察现象。查找,直到字符串尾。char_count(char*s,charletter){while(*s)if(*s++==letter)return(count);}{charstr[100],c;cout<<"inputastring:";cin>>str;cout<<"inputaletter:";}{chars1[30],s2[30];strcpy(s1,p1);//用命令拷贝字符串}structStack{intstacksize;long*buffer;}p;voidini(intsize){p.stacksize=size;}voiddel(){deletep.buffer;}{if(p.sp>=p.buffer+p.stacksize)cerr<<"stackoverflow!\n";else{}}{if(p.sp<=p.buffer){return0;}return*--p.sp;}{ini(5);//Adel();}将程序中A行分别改为“ini(2);”和“ini(8);”观察程序运行结果。分析:指向指针的指针变量即二级指针,其所指向的变量仍是一个指针。指向指针的指针多使用在二维数组,和字符数组处理过程。char*name[]={"VisualBasic","VisualC++","Delphi","PowerBuild","VisualFoxpro"};{for(inti=0;i<5;i++)}对下面的定义:inta[3]={1,2,3};int*b[3]={&a[0],&a[1],&a[2]};返回,并返回其地址值,编程实现findmaxint*findmax(int*array,intsize,int*index);{inta[10]={33,91,54,67,82,37,85,63,19,68};intidx;maxaddr=findmax(a,sizeof(a)/sizeof(*a),&idx);}voidfindmax(int*a,intn,inti,int*pk);{inta[size];for(inti=0;i<size;i++)cin>>a[i];findmax(a,size,0,&n);}voidfindmax(int*a,intn,inti,int*pk){if(i<n){if(a[i]>a[*pk])*pk=i;findmax(a,n,i+1,&(*pk));}}解密函数,打印各个过程的结果。6.用指针与数组作为函数参数,按下面四种情况对数组floata[10]进行降序排序:撰写实验报告。1.掌握结构体类型、结构体变量的基本概念;2.掌握结构体指针、结构体数组的应用;3.掌握链表的基本概念;4.掌握链表的基本操作与应用,包括建立链表、遍历链表、插入结点、删除结点、查找结点等。{intno;//职工编号charaddr[40];//家庭地址};structstudent//定义学生结构体数据类型{intno;//学号floateng,phy,math,ave;//英语、数学、物理成绩、平均成绩}stu1,stu2;//定义结构体同时定义结构体变量stu1、stu2{struct{}date1,date2;//直接定义日期结构体类型变量。}输出对应职工的姓名、工龄、奖惩、领取金额等信息。分析:姓名、出生年月、奖惩、基本工资为不同的数据类型,组成一个有机整体,可以用结构体进行处理,其中出生年月也用结构体来定义。structDate{intyear;};//A{Datebirth;floatsalary;}p={"南苯",{1966,10},"五一劳动奖章",896,0};{}修改程序,将结构体变量的定义放在main()函数内,再运行程序,观察结果,分析原因;修改程序输出三名职工的姓名、工龄、奖惩、领取金额等信息。{intscore;};编写程序,实现下列链表的基本操作。建立链表:{intscore;//定义输入学生成绩的临时变量scorewhile(score!=-1)//成绩为-1时结束输入{{}else//否则链表非空{}}return(head);//返回链表的头指针}输出链表:{while(p!=0){}}{while(head)//当链表非空时删除结点{deletep;//删除链表第一个结点}}{{}{//使首结点从链表中分离出来deletepc;//删除首结点}else//第一个结点不是要删除的结点{{}else{//使删除结点从链表分离出来deletepc;//删除指定结点}}returnhead;//返回链表头指针}插入结点:{{}{}{}{}else//新结点插入到链表中间{}returnhead;//返回链表头指针}建立一条有序链表:{intscore;//定义输入学生成绩的临时变量scorewhile(score!=-1)//成绩不等于-1则循环{head=Insert(head,pn);//调用结点插入函数,将新结点按成绩降序插入链表}returnhead;//返回链表头指针}{Print(head);//输出无序链表Print(head);//输出显示删除后的链表。Delchain(head);//删除整个链表head=Create_sort();//产生一个有序链表Print(head);//输出显示有序链表Delchain(head);//删除整个链表}80Li输出链表中各结点值:Li80输入要删除结点上学生姓名:Li输出链表中各结点值:产生一条有序链表,请输入数据,以-1结束!80Li输出链表中各结点值:Li80撰写实验报告。1.掌握类、对象的基本概念,理解类中成员的访问权限,正确理解类与结构体的异同;2.学习对象的说明和使用方法,掌握构造函数、析构函数的工作原理;4.了解、掌握文件流的用法。由于姓名、学校和电话号码的数据长度是可变的,可使用动态的数据结构。邮编的长度是固定的,可定义一个字符数组来存放邮编。将数据成员均定义为私有的。用一个成员函数输出所有的成员数据,用四个成员函数分别设置姓名、单位、电话号码和邮编,再用四个成员函数分别获取姓名、单位、电话号码和邮编。主函数完成简单的测试工作。{charBox[10];//邮编public:voidPrint(void)//输出数据成员{}voidInit(char*,char*,char*,char*);voidFreeSpace(void);//释放数据成员占用的空间{}voidSetScool(char*unit)//置学校名称{if(pSchool)delete[]pSchool;strcpy(pSchool,unit);}{}{}{}char*GetScool(void)//取学校{}{}{returnBox;}};{//完成初始化strcpy(pSchool,unit);strcpy(Box,b);}{if(pSchool)delete[]pSchool;}{c1.Init("于元","河海大学",,"210024");c2.Init("王海","南京理工大学",,"210015");c1.Print();c2.Print();c1.SetScool("南京理工大学");c1.Print();c1.FreeSpace();c2.FreeSpace();}用以下数据测试程序的正确性:将成员函数的权限改为私有的,观察现象。将类改为结构体,重新执行程序,输出成员数据。增加数据成员:邮件地址,手机号码,并将电话号码分为住宅电话和办公电话。的基本功能包括:可连续将新书存入文件“book.da尾部,所以,以增补方式打开输出文件。
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 遵纪守法好学生演讲稿
- 评估技术部工作总结范本
- 酒店客房表扬信15篇
- 采购部经理年度个人工作总结
- 车辆起火安全注意事项
- 中国音乐史与名作欣赏知到课后答案智慧树章节测试答案2025年春吉林师范大学
- 人教河南 九年级 下册 语文 第一单元《 河南中招题型专练》习题课 课件
- 中国插花撒技艺 课件 第三章 撒技法的技艺流程
- 人教版部编版小学语文一年级上册人教版画教学设计教案14
- 钳工基础知识课件
- (二诊)成都市2022级2025届高中毕业班第二次诊断性检测语文试卷(含官方答案)
- 手机摄影教程全套课件
- 2025届宁夏银川一中高三上学期第五次月考英语试题及答案
- 基于核心素养的高中数学“教、学、评”一致性研究
- 空调原理培训课件
- 2024年国网陕西省电力有限公司招聘考试真题
- 2025届上海市虹口区初三一模英语试卷(含答案和音频)
- GB/T 44768-2024配电网线损理论计算导则
- 体育运动中的交流与合作 课件 2024-2025学年人教版(2024)初中体育与健康七年级全一册
- 小学科学湘科版六年级下册全册同步练习含答案
- 大班科学《灯的故事》PPT优质课件
评论
0/150
提交评论