首页
试卷库
试题库
当前位置:
X题卡
>
所有题目
>
题目详情
下列应用层协议中,在传输层没有使用TCP的是()
查看本题答案
包含此试题的试卷
初级程序员《单项选择》真题及答案
点击查看
你可能感兴趣的试题
TCP是互联网中的协议使用次握手协议建立连接这种建立连接的方法可以防止TCP使用的流量控制协议
传输层
网络层
会话层
应用层
在下列应用层协议中利用UDP实现无连接传输的是利用TCP实现面向连接传输的是 在下列应用层协
SMTP
FTP
TELNET
SNMP
在下列应用层协议中利用UDP实现无连接传输的是利用TCP实现面向连接传输的是 在下列应用层协
TFTP
FTP
RPC
SNMP
下列应用层协议中没有使用传输层的TCP的是______
DNS
SMTP
HTTP
TELNET
在下列应用层协议中既可以使用UDP也可以使用TCP协议传输数据
SNMP
FTP
SMTP
DNS
下列应用层协议中没有使用传输层TCP的是______
DNS
SMTP
HTTP
Telnet
FTP协议属于TCP/IP模型中的协议基于TCP协议在客户端和服务器之间传送所有数据TCP是一个的可
应用层 无连接
应用层 面向连接
传输层 无连接
传输层 面向连接
TCP/IP协议分为四层分别为应用层传输层网际层和接口层不属于应用层协议的是62属于网际层协议的是6
RPC
UDP
TCP
IP
在TCP/IP协议中TCP/UDP是传输层的协议ICMP是网间网层的协议TPTELNET是应用层的协
TCP是互联网中的______协议使用2次握手协议建立连接
传输层
网络层
会话层
应用层
TCP/IP协议分为四层分别为应用层传输层网际层和网络接口层不属于应用层协议的是______属于网际
RPC
UDP
TCP
IP
基于TCP/IP的互联网服务中IP协议提供主机之间的6分组传输服务TCP协议提供端口之间的7报文传输
数据链路层
网络层
传输层
应用层
基于TCP/IP的互联网服务中IP协议提供主机之间的31分组传输服务TCP协议提供端口之间的32报文
数据链路层
网络层
传输层
应用层
在应用层协议中既可使用传输层的TCP协议又可用UDP协议
SNMP
DNS
HTTP
FTP
下列应用层协议中在传输层没有使用TCP的是36
DNS
SMTP
HTTP
TELNET
TCP是互联网中的______协议使用______次握手协议建立连接这种建立连接的方法可以防止___
传输层
网络层
会话层
应用层
●TCP是互联网中的协议使用次握手协议建立连接这种建立连接的方法可以防止TCP使用的流量控制协
传输层
网络层
会话层
应用层
基于TCP/IP的互联网服务中IP协议提供主机之间的1分组传输服务TCP协议提供端口之间的2文
数据链路层
网络层
传输层
应用层
TCP/IP中TCP是的缩写
传输层协议
传输控制协议
应用层协议
网际协议
TCP/IP参考模型在下列定义了传输控制协议TCP
链路层
网络层
传输层
应用层
热门试题
更多
[说明]以下程序的功能是计算三角形矩形和正方形的面积并输出程序由5个类组成AreaTest是主类类TrianlgeRectangle和Square分别表示三角形矩形和正方形抽象类Figure提供了一个计算面积的抽象方法[程序]publicclassAreaTestpublicstaticvoidmainStringargs[]Figure[]figures=newTriangle233newRectangle58newSquare5;forinti=0;1
[说明]本程序中的函数voidfirst_jnsertNODE**pintv的功能是在已知链表的首表元之前插入一个指定的表元;函数NODE*reverse_copyNODE*p的功能是按已知链表复制出一个新的链表但新的链表的表元链接顺序与已知链表的表元链接顺序相反;函数voidprint_linkNODE*p用来输出链表中各表元的值;函数voidfree_linkNODE*p用来释放链表全部表元空间[函数]#include<stdio.n>#include<malloc.h>typedefstructnodeintval;structnode*next;NODE;voidfirst_insertNODE**pintvNODE*q=NODE*mallocsizeofNODE;q->val=v;1;*p=2;NODE*reverse_copyNODE*pNODE*u;foru=NULL;p;p=p->nextfirst_insert3;returnu;voidprint_linkNODE*pfor;4printf%d/tp->val;printf/n;voidfree_linkNODE*pNODE*u;whilep!=NULLu=p->next;freep;5;voidmainNODE*link1*link2;inti;link1=NULL;fori=1;i<=10;i++first_insert&link1i;link2=reverse_copylink1;print_linklink1;free_linklink1;print_linklink2;free_linklink2;
[说明]以下程序的功能是计算三角形矩形和正方形的面积并输出程序由5个类组成AreaTest是主类类TrianlgeRectangle和Square分别表示三角形矩形和正方形抽象类Figure提供了一个计算面积的抽象方法[程序]publicclassAreaTestpublicstaticvoidmainStringargs[]Figure[]figures=newTriangle233newRectangle58newSquare5;forinti=0;1
[说明]设一个环上有编号为0~n-1的n粒颜色不尽相同的珠子每粒珠子颜色用字母表示n粒珠子的颜色由输入的字符串表示从环上的某两粒珠子间剪开则环上珠子形成一个序列然后按以下规则从序列中取走珠子首先从序列左端取走所有连续的同色珠子;然后从序列右端在剩下的珠子中取走所有连续的同色珠子两者之和为该剪开处可取走珠子的粒数在不同位置剪开能取走的珠子也不尽相同本程序所求的是在环上哪个位置剪开按上述规则可取走的珠子粒数最多程序中用数组存储字符串例如10粒珠子颜色对应字符串为aaabbbadcc在0号珠子前剪开序列为aaabbbadcc从左端取走3粒a色珠子从右端取走2粒c色珠子共取走5粒珠子若在3号珠子前剪开即bbbadccaaa共取走6粒珠子[函数]intcountchar*sintstartintendintic=0color=s[start]step=start>end-1:1;fori=start;s[i]==color;i+=stepifstep>0&&i>end||1break;2;returncvoidmaincharts[120];intijclenmaxccut=0;printf请输入环上代表不同颜色珠子字符串;scanf%ss;len=strlens;fori=maxc=0;i<len;i++/*尝试不同的剪开方式*/c=counts0len-1;ifc<lenc+=count3;ifc>maxccut=i;maxc=c;/*数组s的元素循环向左移动一个位置*/t=s[0];forj=1;j<len;j++4;5;printf在第%d号珠子前面剪开可以取走%d个珠子./ncutmaxc;
[说明]下面Application程序用while循环从键盘读入字符记录输入的字符数并输出读入的字符当输入字符0时结束while循环同时结束程序[Java程序]importjava.io.*;publicclassContinuateInputpublic1voidmainString[]args2IOExceptionintch;intcounter=0;System.out.println请输入字符输入0结束;whilecharch=System.in.3!=’0’counter++;System.out.println4ch;System.out.println;System.out.printlncounted+counter+totalbytes.;System.out.5;
[说明]背包问题的基本描述是有一个背包能盛放的物品总重量为S设有N件物品其重量分别为w1w2wn希望从N件物品中选出若干件物品并使所选物品的重量之和恰能放入该背包即所选物品的重量之和等于S[函数]#include<stdio.h>#defineN7#defineS15typedefstructints;intn;intjob;KNAPTP;intknapintSintn;mainifknapSNprintfOK!/n;elseprintfNO!/n;intknapintSintnKNAPTPstack[100]x;inttopkrep;x.S=S;x.n=n;x.job=0;top=1;stack[top]=x;k=0;while1x=stack[top];rep=1;while!k&&repifx.s=0k=1;elseifx.s<0||x.n<=0rep=0;elsex.s=2;x.job=1;3=x;if!krep=1;whiletop>=1&&repx=stack[top--1];ifxjob=1x.s+=w[x.n+1];4;stack[++top]=x;5;ifkwhiletop>=1x=stack[top--];ifx.job==1printfM/tw[x.n+1];returnk;
[说明]下面程序定义了一个类Shape及其成员函数然后从类Shape派生出类Point类Circle类Cylinder以及它们的成员函数[C++程序]#includeiostream.hclassShapepublic:virtualvoidprintShapeNameconst=0;//纯虚函数virtualfloatareaconstreturn0.0;virtualfloatvolumnconstreturn0.0;;classPoint:publicShapepublic:Pointfloata=0floatb=0x=a;y=b;voidsetPointfloatafloatbx=a;y=b;floatgetXconstreturnx;floatgetYconstreturny;virtualvoidprintShapeNameconst1;privatefloatxy;;classCircle:2publicCirclefloatr=0.0floata=0.0floatb=0.0:Pointabradius=r>0r:0;voidsetRadiusfloatrradius=r>0r:0;floatgetRadiusconstreturnradius;virtualfloatareaconstreturn3.14259*radius*radius;virtualvoidprintShapeNameconstcout<<circle:;private:floatradius;;classCylinder:3public:Cylinderfloath=0.0floatr=0.0floatx=0.0floaty=0.0:4height=h>0h:0;voidsetHeightfloathheight=h>0h:0;virtualfloatareaconstreturn5;virtualfloatvolumnconstfloatr=Circle::getRadius;return3.14159*r*r*height;virtualvoidprintShapeNameconstcout<<cylinder:;private:floatheight;
[说明]下面程序定义了一个类Point及其成员函数然后从类Point派生出类Circle及其成员函数[C++程序]//POINT.H#ifndefPOINT_H#definePOINT_HclassPointpublic:Pointfloatx=0floaty=0;voidsetPointfloatfloat;floatgetXconstreturnx;floatgetYconstreturny;protected:float:xy;;#endif//POINT.CPP#include<iostream.h>#includepoint.hPoint::Pointfloatafloatbx=a;y=bvoidPoint::setPointfloatafloatbx=a;y=b//CIRCLE.H#ifndefCIRCLE_H#defineCIRCLE_H#includepoint.hclassCircle:1public:Circlefloatr=0.0floatx=0floaty=0;voidsetRadiusfloat;floatgetRadiusconst;floatareaconst;protected:floatradius;;//CIRCLE.CPP#includeiostream.h#includecircle.hCircle::Circlefloatrfloatafloatb:2radius=r;voidCircle::setRadiusfloatrradius=r;floatCircle::getRadiusconstreturnradius;floatCircle::areaconstreturn3.14159*radius*radius;//text.cpp#include<iostream.h>#includepoint.h#includecircle.hmainCirclec2.53.74.3;cout<<Xcoordinateis<<c.getX<</nRadiusis:<<c.getRadius;3;//设置新的圆心22Point&pRef=c;cout<</nCircleprintedasapointis:<<]<<4<<.<<5<<];
[函数2.1说明]函数intfactorsintn的功能是判断整数nn>=2是否为完全数如果n是完全数则函数返回0否则返回-1所谓完全数是指整数n的所有因子不包括n之和等于n自身例如28的因子为124714而28=1+2+4+7+14因此28是完全数[函数2.1]intfactorsintninti/s;fori=1s=0;i<=n/2;i++ifn%i==0[1];if[2]return0;rerurn-1;[函数2.2说明]函数intmaxintinta[]intk的功能是用递归方法求指定数组中前k个元素的最大值并作为函数值返回[函数2.2]intmaxintinta[]intkintt;if[3]return[4]t=maxinta+1[5];returna[0]>ta[0]:t;
[说明]已知一棵二叉树用二叉链表存储t指向根结点p指向树中任一结点下列算法为输出从t到p之间路径上的结点[函数]#defineMaxSize1000typedefstructnodeTelemTypedata;structnode*lchild*rchild;BiNode*BiTree;voidPathBiTreetBiNode*pBiTree*stackEMaxsize]*stack1[maxsize]*q;inttag[Maxsizeltop=0top1;q=t;/*通过前序遍历发现P*/dowhileq!=NULL&&q!=p/*扫描左孩子且相应的结点不为p*/1;stack[top]=q;tag[top]=0;2;iftop>0ifstack[top]==Pbreak;/*找到p栈底到栈顶为t到p*/iftag[top]==1top--;elseq=stack[top];q=q->rchild;tag[top]=1;3;top--;top1=0;whiletop>0q=stack[top];/*反向打印准备*/top1++;4;top--;while5/*打印栈的内容*/q=stack1[top1];printfq->data;top1--;
[说明]设一个环上有编号为0~n-1的n粒颜色不尽相同的珠子每粒珠子颜色用字母表示n粒珠子的颜色由输入的字符串表示从环上的某两粒珠子间剪开则环上珠子形成一个序列然后按以下规则从序列中取走珠子首先从序列左端取走所有连续的同色珠子;然后从序列右端在剩下的珠子中取走所有连续的同色珠子两者之和为该剪开处可取走珠子的粒数在不同位置剪开能取走的珠子也不尽相同本程序所求的是在环上哪个位置剪开按上述规则可取走的珠子粒数最多程序中用数组存储字符串例如10粒珠子颜色对应字符串为aaabbbadcc在0号珠子前剪开序列为aaabbbadcc从左端取走3粒a色珠子从右端取走2粒c色珠子共取走5粒珠子若在3号珠子前剪开即bbbadccaaa共取走6粒珠子[函数]intcountchar*sintstartintendintic=0color=s[start]step=start>end-1:1;fori=start;s[i]==color;i+=stepifstep>0&&i>end||1break;2;returncvoidmaincharts[120];intijclenmaxccut=0;printf请输入环上代表不同颜色珠子字符串;scanf%ss;len=strlens;fori=maxc=0;i<len;i++/*尝试不同的剪开方式*/c=counts0len-1;ifc<lenc+=count3;ifc>maxccut=i;maxc=c;/*数组s的元素循环向左移动一个位置*/t=s[0];forj=1;j<len;j++4;5;printf在第%d号珠子前面剪开可以取走%d个珠子./ncutmaxc;
[函数2.1说明]函数intfactorsintn的功能是判断整数nn>=2是否为完全数如果n是完全数则函数返回0否则返回-1所谓完全数是指整数n的所有因子不包括n之和等于n自身例如28的因子为124714而28=1+2+4+7+14因此28是完全数[函数2.1]intfactorsintninti/s;fori=1s=0;i<=n/2;i++ifn%i==0[1];if[2]return0;rerurn-1;[函数2.2说明]函数intmaxintinta[]intk的功能是用递归方法求指定数组中前k个元素的最大值并作为函数值返回[函数2.2]intmaxintinta[]intkintt;if[3]return[4]t=maxinta+1[5];returna[0]>ta[0]:t;
[说明]下面的流程图用来说明如何在数组中的指定位置插入一个数注流程中循环开始的说明按照循环变量循环初值循环终值增量格式描述;SIZE定义位数组的大小[问题]将流程图的1~5处补充完整
[说明]本程序中的函数voidfirst_jnsertNODE**pintv的功能是在已知链表的首表元之前插入一个指定的表元;函数NODE*reverse_copyNODE*p的功能是按已知链表复制出一个新的链表但新的链表的表元链接顺序与已知链表的表元链接顺序相反;函数voidprint_linkNODE*p用来输出链表中各表元的值;函数voidfree_linkNODE*p用来释放链表全部表元空间[函数]#include<stdio.n>#include<malloc.h>typedefstructnodeintval;structnode*next;NODE;voidfirst_insertNODE**pintvNODE*q=NODE*mallocsizeofNODE;q->val=v;1;*p=2;NODE*reverse_copyNODE*pNODE*u;foru=NULL;p;p=p->nextfirst_insert3;returnu;voidprint_linkNODE*pfor;4printf%d/tp->val;printf/n;voidfree_linkNODE*pNODE*u;whilep!=NULLu=p->next;freep;5;voidmainNODE*link1*link2;inti;link1=NULL;fori=1;i<=10;i++first_insert&link1i;link2=reverse_copylink1;print_linklink1;free_linklink1;print_linklink2;free_linklink2;
[说明]下面Application程序用while循环从键盘读入字符记录输入的字符数并输出读入的字符当输入字符0时结束while循环同时结束程序[Java程序]importjava.io.*;publicclassContinuateInputpublic1voidmainString[]args2IOExceptionintch;intcounter=0;System.out.println请输入字符输入0结束;whilecharch=System.in.3!=’0’counter++;System.out.println4ch;System.out.println;System.out.printlncounted+counter+totalbytes.;System.out.5;
[函数2.1说明]函数voidsortintarry[]intn的功能是对数组a中的arry[0]~arry[n-1]这n个元素进行排序排序过程如下第一趟对所有的偶数下标x比较arr[x]和arry[x+1]若arry[x]>arry[x+1]则将两者交换;第二趟对所有的奇数下标y比较arry[y]和arry[y+1]若arry[y]>arry[y+1]则将两者交换;第三趟对偶数下标第四趟对奇数下标依次类推直至整个数组元素有序排列为止[函数2.1]voidsortintarry[]intnintijtag=1;forj=0;j<n;j++fori=1;i<n-1;2ifarry[i]>arry[i+1]t=arry[i];arry[il=arry[i+1];arry[i+1]=t;tag=0;tag++;if3break;[函数2.2说明]这是一棵二叉树排序查找元素的程序查找的方法是首先与树的根结点的元素进行比较若相等则找到返回此结点的地址;若要查找的元素小于根结点的元素值则指针指向此结点的左子树继续查找;若要查找的元素大于根结点的元素值则指针指向此结点的右子树继续查找直到指针为空表示此树中不存在所要查找的元素本题使用递归方法实现[函数2.2]typedefstructnodeintdata;structnode*left;structnode*right;NODE;NODE*SearchSortTreeNODE*treeinteiftree!=NULLiftree->data<e4;elseiftree->data>e5;elsereturntree;returntree;
[函数2.1说明]函数voidsortintarry[]intn的功能是对数组a中的arry[0]~arry[n-1]这n个元素进行排序排序过程如下第一趟对所有的偶数下标x比较arr[x]和arry[x+1]若arry[x]>arry[x+1]则将两者交换;第二趟对所有的奇数下标y比较arry[y]和arry[y+1]若arry[y]>arry[y+1]则将两者交换;第三趟对偶数下标第四趟对奇数下标依次类推直至整个数组元素有序排列为止[函数2.1]voidsortintarry[]intnintijtag=1;forj=0;j<n;j++fori=1;i<n-1;2ifarry[i]>arry[i+1]t=arry[i];arry[il=arry[i+1];arry[i+1]=t;tag=0;tag++;if3break;[函数2.2说明]这是一棵二叉树排序查找元素的程序查找的方法是首先与树的根结点的元素进行比较若相等则找到返回此结点的地址;若要查找的元素小于根结点的元素值则指针指向此结点的左子树继续查找;若要查找的元素大于根结点的元素值则指针指向此结点的右子树继续查找直到指针为空表示此树中不存在所要查找的元素本题使用递归方法实现[函数2.2]typedefstructnodeintdata;structnode*left;structnode*right;NODE;NODE*SearchSortTreeNODE*treeinteiftree!=NULLiftree->data<e4;elseiftree->data>e5;elsereturntree;returntree;
[说明] 下面的流程图用来完成求字符串t在s中最右边出现的位置其思路是做一个循环以s的每一位作为字符串的开头和t比较如果两字符串的首字母是相同的则继续比下去如果一直到t的最后一个字符也相同则说明在s中找到了一个字符串t;如果还没比较到t的最后一个字符就已经出现字符串不等的情况则放弃此次比较开始新一轮的比较当在s中找到一个字符串t时不应停止寻找因为要求的是求t在s中最右边出现的位置应先记录这个位置pos然后开始新一轮的寻找若还存在相同的字符串则更新位置的记录直到循环结束输出最近一次保存的位置如果s为空或不包含t则返回-1 注返回值用pos表示 [问题] 将流程图的1~5处补充完整 3处填
[说明]本程序中的函数voidfirst_jnsertNODE**pintv的功能是在已知链表的首表元之前插入一个指定的表元;函数NODE*reverse_copyNODE*p的功能是按已知链表复制出一个新的链表但新的链表的表元链接顺序与已知链表的表元链接顺序相反;函数voidprint_linkNODE*p用来输出链表中各表元的值;函数voidfree_linkNODE*p用来释放链表全部表元空间[函数]#include<stdio.n>#include<malloc.h>typedefstructnodeintval;structnode*next;NODE;voidfirst_insertNODE**pintvNODE*q=NODE*mallocsizeofNODE;q->val=v;1;*p=2;NODE*reverse_copyNODE*pNODE*u;foru=NULL;p;p=p->nextfirst_insert3;returnu;voidprint_linkNODE*pfor;4printf%d/tp->val;printf/n;voidfree_linkNODE*pNODE*u;whilep!=NULLu=p->next;freep;5;voidmainNODE*link1*link2;inti;link1=NULL;fori=1;i<=10;i++first_insert&link1i;link2=reverse_copylink1;print_linklink1;free_linklink1;print_linklink2;free_linklink2;
[说明]背包问题的基本描述是有一个背包能盛放的物品总重量为S设有N件物品其重量分别为w1w2wn希望从N件物品中选出若干件物品并使所选物品的重量之和恰能放入该背包即所选物品的重量之和等于S[函数]#include<stdio.h>#defineN7#defineS15typedefstructints;intn;intjob;KNAPTP;intknapintSintn;mainifknapSNprintfOK!/n;elseprintfNO!/n;intknapintSintnKNAPTPstack[100]x;inttopkrep;x.S=S;x.n=n;x.job=0;top=1;stack[top]=x;k=0;while1x=stack[top];rep=1;while!k&&repifx.s=0k=1;elseifx.s<0||x.n<=0rep=0;elsex.s=2;x.job=1;3=x;if!krep=1;whiletop>=1&&repx=stack[top--1];ifxjob=1x.s+=w[x.n+1];4;stack[++top]=x;5;ifkwhiletop>=1x=stack[top--];ifx.job==1printfM/tw[x.n+1];returnk;
[说明]下面的流程图用来说明如何在数组中的指定位置插入一个数注流程中循环开始的说明按照循环变量循环初值循环终值增量格式描述;SIZE定义位数组的大小[问题]将流程图的1~5处补充完整
[说明]下面程序定义了一个类Shape及其成员函数然后从类Shape派生出类Point类Circle类Cylinder以及它们的成员函数[C++程序]#includeiostream.hclassShapepublic:virtualvoidprintShapeNameconst=0;//纯虚函数virtualfloatareaconstreturn0.0;virtualfloatvolumnconstreturn0.0;;classPoint:publicShapepublic:Pointfloata=0floatb=0x=a;y=b;voidsetPointfloatafloatbx=a;y=b;floatgetXconstreturnx;floatgetYconstreturny;virtualvoidprintShapeNameconst1;privatefloatxy;;classCircle:2publicCirclefloatr=0.0floata=0.0floatb=0.0:Pointabradius=r>0r:0;voidsetRadiusfloatrradius=r>0r:0;floatgetRadiusconstreturnradius;virtualfloatareaconstreturn3.14259*radius*radius;virtualvoidprintShapeNameconstcout<<circle:;private:floatradius;;classCylinder:3public:Cylinderfloath=0.0floatr=0.0floatx=0.0floaty=0.0:4height=h>0h:0;voidsetHeightfloathheight=h>0h:0;virtualfloatareaconstreturn5;virtualfloatvolumnconstfloatr=Circle::getRadius;return3.14159*r*r*height;virtualvoidprintShapeNameconstcout<<cylinder:;private:floatheight;
[说明] 下面的流程图用来完成求字符串t在s中最右边出现的位置其思路是做一个循环以s的每一位作为字符串的开头和t比较如果两字符串的首字母是相同的则继续比下去如果一直到t的最后一个字符也相同则说明在s中找到了一个字符串t;如果还没比较到t的最后一个字符就已经出现字符串不等的情况则放弃此次比较开始新一轮的比较当在s中找到一个字符串t时不应停止寻找因为要求的是求t在s中最右边出现的位置应先记录这个位置pos然后开始新一轮的寻找若还存在相同的字符串则更新位置的记录直到循环结束输出最近一次保存的位置如果s为空或不包含t则返回-1 注返回值用pos表示 [问题] 将流程图的1~5处补充完整 1处填
[说明]下面程序定义了一个类Shape及其成员函数然后从类Shape派生出类Point类Circle类Cylinder以及它们的成员函数[C++程序]#includeiostream.hclassShapepublic:virtualvoidprintShapeNameconst=0;//纯虚函数virtualfloatareaconstreturn0.0;virtualfloatvolumnconstreturn0.0;;classPoint:publicShapepublic:Pointfloata=0floatb=0x=a;y=b;voidsetPointfloatafloatbx=a;y=b;floatgetXconstreturnx;floatgetYconstreturny;virtualvoidprintShapeNameconst1;privatefloatxy;;classCircle:2publicCirclefloatr=0.0floata=0.0floatb=0.0:Pointabradius=r>0r:0;voidsetRadiusfloatrradius=r>0r:0;floatgetRadiusconstreturnradius;virtualfloatareaconstreturn3.14259*radius*radius;virtualvoidprintShapeNameconstcout<<circle:;private:floatradius;;classCylinder:3public:Cylinderfloath=0.0floatr=0.0floatx=0.0floaty=0.0:4height=h>0h:0;voidsetHeightfloathheight=h>0h:0;virtualfloatareaconstreturn5;virtualfloatvolumnconstfloatr=Circle::getRadius;return3.14159*r*r*height;virtualvoidprintShapeNameconstcout<<cylinder:;private:floatheight;
[说明]下面的流程图用来说明如何在数组中的指定位置插入一个数注流程中循环开始的说明按照循环变量循环初值循环终值增量格式描述;SIZE定义位数组的大小[问题]将流程图的1~5处补充完整
[说明]已知一棵二叉树用二叉链表存储t指向根结点p指向树中任一结点下列算法为输出从t到p之间路径上的结点[函数]#defineMaxSize1000typedefstructnodeTelemTypedata;structnode*lchild*rchild;BiNode*BiTree;voidPathBiTreetBiNode*pBiTree*stackEMaxsize]*stack1[maxsize]*q;inttag[Maxsizeltop=0top1;q=t;/*通过前序遍历发现P*/dowhileq!=NULL&&q!=p/*扫描左孩子且相应的结点不为p*/1;stack[top]=q;tag[top]=0;2;iftop>0ifstack[top]==Pbreak;/*找到p栈底到栈顶为t到p*/iftag[top]==1top--;elseq=stack[top];q=q->rchild;tag[top]=1;3;top--;top1=0;whiletop>0q=stack[top];/*反向打印准备*/top1++;4;top--;while5/*打印栈的内容*/q=stack1[top1];printfq->data;top1--;
[说明] 下面的流程图用来完成求字符串t在s中最右边出现的位置其思路是做一个循环以s的每一位作为字符串的开头和t比较如果两字符串的首字母是相同的则继续比下去如果一直到t的最后一个字符也相同则说明在s中找到了一个字符串t;如果还没比较到t的最后一个字符就已经出现字符串不等的情况则放弃此次比较开始新一轮的比较当在s中找到一个字符串t时不应停止寻找因为要求的是求t在s中最右边出现的位置应先记录这个位置pos然后开始新一轮的寻找若还存在相同的字符串则更新位置的记录直到循环结束输出最近一次保存的位置如果s为空或不包含t则返回-1 注返回值用pos表示 [问题] 将流程图的1~5处补充完整 5处填
[说明]下面程序定义了一个类Point及其成员函数然后从类Point派生出类Circle及其成员函数[C++程序]//POINT.H#ifndefPOINT_H#definePOINT_HclassPointpublic:Pointfloatx=0floaty=0;voidsetPointfloatfloat;floatgetXconstreturnx;floatgetYconstreturny;protected:float:xy;;#endif//POINT.CPP#include<iostream.h>#includepoint.hPoint::Pointfloatafloatbx=a;y=bvoidPoint::setPointfloatafloatbx=a;y=b//CIRCLE.H#ifndefCIRCLE_H#defineCIRCLE_H#includepoint.hclassCircle:1public:Circlefloatr=0.0floatx=0floaty=0;voidsetRadiusfloat;floatgetRadiusconst;floatareaconst;protected:floatradius;;//CIRCLE.CPP#includeiostream.h#includecircle.hCircle::Circlefloatrfloatafloatb:2radius=r;voidCircle::setRadiusfloatrradius=r;floatCircle::getRadiusconstreturnradius;floatCircle::areaconstreturn3.14159*radius*radius;//text.cpp#include<iostream.h>#includepoint.h#includecircle.hmainCirclec2.53.74.3;cout<<Xcoordinateis<<c.getX<</nRadiusis:<<c.getRadius;3;//设置新的圆心22Point&pRef=c;cout<</nCircleprintedasapointis:<<]<<4<<.<<5<<];
[说明]下面程序定义了一个类Point及其成员函数然后从类Point派生出类Circle及其成员函数[C++程序]//POINT.H#ifndefPOINT_H#definePOINT_HclassPointpublic:Pointfloatx=0floaty=0;voidsetPointfloatfloat;floatgetXconstreturnx;floatgetYconstreturny;protected:float:xy;;#endif//POINT.CPP#include<iostream.h>#includepoint.hPoint::Pointfloatafloatbx=a;y=bvoidPoint::setPointfloatafloatbx=a;y=b//CIRCLE.H#ifndefCIRCLE_H#defineCIRCLE_H#includepoint.hclassCircle:1public:Circlefloatr=0.0floatx=0floaty=0;voidsetRadiusfloat;floatgetRadiusconst;floatareaconst;protected:floatradius;;//CIRCLE.CPP#includeiostream.h#includecircle.hCircle::Circlefloatrfloatafloatb:2radius=r;voidCircle::setRadiusfloatrradius=r;floatCircle::getRadiusconstreturnradius;floatCircle::areaconstreturn3.14159*radius*radius;//text.cpp#include<iostream.h>#includepoint.h#includecircle.hmainCirclec2.53.74.3;cout<<Xcoordinateis<<c.getX<</nRadiusis:<<c.getRadius;3;//设置新的圆心22Point&pRef=c;cout<</nCircleprintedasapointis:<<]<<4<<.<<5<<];
[说明]已知一棵二叉树用二叉链表存储t指向根结点p指向树中任一结点下列算法为输出从t到p之间路径上的结点[函数]#defineMaxSize1000typedefstructnodeTelemTypedata;structnode*lchild*rchild;BiNode*BiTree;voidPathBiTreetBiNode*pBiTree*stackEMaxsize]*stack1[maxsize]*q;inttag[Maxsizeltop=0top1;q=t;/*通过前序遍历发现P*/dowhileq!=NULL&&q!=p/*扫描左孩子且相应的结点不为p*/1;stack[top]=q;tag[top]=0;2;iftop>0ifstack[top]==Pbreak;/*找到p栈底到栈顶为t到p*/iftag[top]==1top--;elseq=stack[top];q=q->rchild;tag[top]=1;3;top--;top1=0;whiletop>0q=stack[top];/*反向打印准备*/top1++;4;top--;while5/*打印栈的内容*/q=stack1[top1];printfq->data;top1--;
热门题库
更多
中级网络工程师
中级信息系统管理工程师
初级程序员
中级软件设计师
初级网络管理员
初级信息处理技术员
中级数据库系统工程师
中级多媒体应用设计师
高级系统分析师
高级网络规划设计师
高级系统架构师
中级信息系统监理师
初级通信工程师
中级通信工程师
通信新技术、新业务知识
无线通信专业技术