2021年度C面向对象程序设计复习题集.pdf
C+面向对象程序设计复习题集1C+面向对象程序设计复习题集一、单项选取题1.C+源程序文献默认扩展名为(A )。A.cp p B.ex e C.o bjD.l i k2 .由 C+源程序文献编译而成目的文献默认扩展名为(C )oA.cp p B.ex e C.o bjD.l i k3 .由 C+目的文献连接而成可执行文献默认扩展名为(B )oA.cp p B.ex e C.o bjD.l i k4.C+程序从上机到得到成果几种操作环节依次是(B )。A.编译、编辑、连接、运营B.编辑、编译、连接、运营C.编译、运营、编辑、连接D.编辑、运营、编辑、连接5.如下标记符中不全是保存字是(B )oA.case fo r i n t2B.defaul t then w hi l eC.bo o l cl ass l o n gD.go to r etur n char6 .能作为C+程序基本单位是(C )oA.字符 B.语句 C.函数D.源程序文献7 .程序中主函数名字为(A )oA.m ai n B.M A I N C.M ai nD.任意标记符8.C+程序基本模块为(D )。A.表达式 B.标记符 C.语句 D.函数9 .可 用 作 C+语言顾客标记符一组标记符是A.vo i d defi n e+W 0R DB.a3 _b3 _1 2 3 Y NC.fo r -abc C aseD.2 a D O si z eo f1 0.存储如下数据,占用存储字节最多是(D )oA.0 B.O C.“0 D.30.01 1 .程序运营中需要从键盘上输入多于一种数据时,各数据之间应使用(D )符号作为分隔符。A.空格或逗号 B.逗号或回车C.逗号或分号 D.空格或回车1 2 .设“i n t a=1 2;,9j 则执行完语句 a+二后,a 值是(C )oA.1 2 B.1 4 4 C.1 5 6 D.2 881 3 .假设在程序中a、b、c 均被定义成整型,所赋值都不不大于1,则下列能对的表达代数式;表abc达式是(D )。A.1.0/a*b*c B.1/(a*b*c)C.1/a/b/(fl o at)c D.1.0/a/b/c1 4 .设“i n t a=1 5,b=2 6;”,则 co ut 0&x =1 0相反表达式为(A )oA.x 1 0 B.x 1 0C.x =0|x 0&x 1 01 7.x 0|y=5 相反表达式为(B )oA.x =0|y!=5 B.x 0|y!=5 D.x 0&y=51 8.设 x和 y 均为bo o l 量,则 x&y 为真条件是(A )oA.它们均为真 B.其中一种为真C.它们均为假 D.其中一种为假1 9 .设 x和 y 均为bo o l 量,则 x|y 为假条件是(C )oA.它们均为真 B.其中一种为真C.它们均为假 D.其中一种为假2 0.字符串a+b=1 2 n 长度为(B )。A.6 B.7 C.8 D.92 1 .假定下列x和 y 均为i n t型变量,则不对的赋值为(B )oA.x+=y+B.x+=y+C.5x=+y D.+x=+y2 2 .下 列 符 号 常 量 定 义 中,错误定义是(C )oA.co n st M=1 0;B.co n st i n tM=2 0;C.co n st char ch;D.co n st bo o lm ar k=tr ue;2 3 .循 环 语 句“fo r(i n t i=0;i n ;i+),;中循环体执行次数为(C )oA.1 B.n-l C.n D.n+12 4 .在下面循环语句中循环体执行次数为(B )ofo r(i n t i=0;i n/2)br eak;A.n/2 B.n/2+1 C.n/2-1D.n-l2 5 .在下面循环语句中内层循环体S语句执行总次数为(D )ofo r (i n t i=0;i n;i+)fo r(i n t j=i;j n;j+)S;A.n2 B.(n+l)/2 C.n(n-l)/26D.n(n+l)/22 6 .在下面循环语句中循环体执行次数为(C )oi n t i=0,s=0;w hi l e(s 2 0)i+;s+=i;A.4 B.5 C.6 D.72 7 .在下面循环语句中循环体执行次数为(A )oi n t i=0;do i+;w hi l e(i*i title,Wang Tao);B.strcpy(book.title,99Wang Tao”);C.strcpy(*book.title,Wang Tao”);D.strcpy(*book)-title,9Wang Tao);8 6.假定有 struct BOOK char title40;float price;;BOOK*book;,则不对的语句为(A)oA.BOOK*x=new book;B.BOOKx=C+Programming,27.0;C.BOOK*x=new BOOK;D.BOOK*x=book;87.假定有 a struct BOOK char title40;float price;book;则对的语句为(B)。A.BOOK&x=&book;B.BOOK&x二book;C.BOOK&x=new BOOK;D.BOOK&xtBOOK;88.下列对引用陈述中不对的是(C)o22A.每一种引用都是其所引用对象别名,因而必要初始化B.形式上针对引用操作事实上作用于它所引用对象C.一旦定义了引用,一切针对其所引用对象操作只能通过该引用间接进行D.不需要单独为引用分派存储空间89.假定变量a 和 p a 定义为“d o u b l e a 10,*p a=a;,要将12.35赋值给a中下标为5元素,不对的语句是(D )oA.p a 5=12.35;B.a 5=12.35;C.*(p a+5)=12.35;D.*(a 0+5)=12.35;90.假定变量b和 p b 定义为“i n t b 10,*p b=b;,要将2 4赋值给b l 元素中,不对的语句是(C )oA.*(p b+1)=2 4;B.*(b+l)=2 4;C.*+b=2 4;D.*+p b=2 4;9 1.假 定 指 针 变 量 p 定 义 为 i n t *p=n e wi n t(100);要释放p所指向动态内存,应使用语句(A )。23A.d e l e t e p;B.d e l e t e *p;C.d e l e t e&p;D.d e l e t e p;92 .假 定 指 针 变 量 p 定 义 为 i n t *p=n e wi n t 30;,要释放p 所指向动态内存,应使用语句(D )oA.d e l e t e p;B.d e l e t e *p;C.d e l e t e&p;D.d e l e t e p;93.假定变量x定义为“i n t x=5 要 使 r x成为x引 用(别名),r x 应定义为(D )oA.i n t r x=x;B.i n t r x=&x;C.i n t *r x=&x;D.i n t&r x=x;94.关于消息,下列说法中不对的是(B )oA.发送消息对象祈求服务,接受消息对象提供服务B.消息发送者必要理解消息接受者如何相应消息C.在 C+中,消息发送详细体现为对接受消息对象某个函数调用D.每个对象只能接受某些特定格式消息95.关于封装,下列说法中不对的是(D )oA.通过封装,对象所有属性和操作结合在24一起,形成一种整体B.通过封装,一种对象实现细节被尽量地隐藏起来(不可见)C.通过封装,每个对象都成为相对独立实体D.通过封装,对象属性都是不可见96.面向对象办法多态性是指(C )oA.一种类可以派生出各种特殊类B.一种对象在不同运营环境中可以有不同变体C.针对一消息,不同对象可以以适合自身方式加以响应D.一种对象可以是由各种其她对象组合而成9 7 .软件产品在需求发生变化、运营环境发生变化或发现软件产品自身错误或局限性时进行相应软件更新难易限度叫做软件(A )oA.可维护性 B.可复用性 C.兼容性 D.对的性9 8 .软件产品可被所有或某些地再用于新应用25能力叫做软件(B)。A.可维护性 B,可复用性 C.兼容性 D.对的性9 9.软件产品与其她软件产品组合成一种整体难易限度叫做软件(C )oA.可维护性 B,可复用性 C.兼容性 D.对的性1 0 0.软件产品精确执行软件需求规格阐明书中所规定任务能力叫做软件(D)oA.可维护性 B,可复用性 C.兼容性 D.对的性二、填空题1.C+语言是在_C 语言基本上发展起来。2.C+语 言 编 译 单 位 是 扩 展 名 为.cpp 程序 文献。3.行尾使用注释开始标记符为/o4.多行注释开始标记符和结束标记符分别为_/*和*/O5.用于输出表达式值原则输出流对象是26_ C OU t _ _ _ _ _ o6 .用于从键盘上为变量输入值原则输入流对象是 c i n o7 .一 种 完 整 程 序 中 必 要 有 一 种 名 为_m a i n 函数。8 .一种函数函数体就是一条复合 语句。9 .当执行c i n 语句时,从键盘上输入每个数据后必要接着输入一种.空白 符,然后才干继续输入下一种数据。1 0 .在 C+程序中包括一种头文献或程序文献预编译命令为t t i n c l u d e。1 1 .程序中预解决命令是指以_#字符开头命令。1 2 .一条表达式语句必要以一分号 作为结束符。1 3 .在#1.m:1 1 1(1 命令中所包括头文献,可以是系统定义头文献,也可以是 顾客(或编程者)定义头文献。1 4 .使用#i n c l u d e 命令可以包括一种头文献,也可以包括一种 程序 文献。271 5 .一种函数定义由 函数头和函数体两某些构成。1 6 .若一种函数定义处在调用它函数之前,则在程序开始可以省去该函数 原 型(或声明)语句。1 7 .C+头文献和源程序文献扩展名分别为.h 和.c p p o1 8 .程序文献编译错误分为 警 告(w a r n i n g)和致 命(e r r o r)两类。1 9 .当使用v o i d 保存字作为函数类型时,该函数不返回任何值。20 .当函数参数表用_ vo id 保存字表达时,则表达该参数表为空。21 .从一条函数原型语句 in t f un l (vo id);w可知,该函数返回类型为_in t,该函数带有_ 0 个参数。22.当执行c o ut语句输出e n d l 数据项时,将使 C+显示输出屏幕上光标从当前位置移动到下一行 开始位置。23.假 定 x=5,y=6,则表达式x+*+y 值为35 o2824 .假 定 x=5,y=6,则表达式x一*一y值为25 o25 .假定x=5,y=6,则执行表达式y*=x+计算后,x 和 y 值分别为 6 和 30 o26 .假定x=5,y=6,则执行表达式y+二 x一计算后,x 和 y 值分别为 4 和 1 1 o27.C+常 数 0 x1 4 5 相 应 十 进 制 值 为325 o28 .C+常 数 0 3 4 5 相 应 十 进 制 值 为2o29.十进制常数24 5 相应十六进制C+表达为0 xf 5 o30.十进制常数24 5 相应八进制C+表达为0 36 5 o31.s ig n e d c h ar 类型值域范畴是_-1 28至_+1 27 之间整数。32.in t和 f l o at类型数据分别占用_ 4和4 个字节。33.f l o at和 d o ub l e 类型数据分别占用4 和 8 个字节。34.b o o l 和 c h ar 类型数据分别占用 129和 1 一个字节。35 .un s ig n e d s h o r t in t 和 in t 类型长度分别为 2 和 4 o36 .字符串T h is、,s a b o o k.n 长度为1 5 o3 7.字符串n T h is,s a pe n n n 长度为1 5 o38 .在 C+中存储字符串ab c d e f 至少需要7个字节。39 .在 C+中存储字符串a+b=c 至少需要6 个字节。4 0 .假定x 和 y为整型,其值分别为1 6 和 5,则 x%y 和 x/y 值分别为 1 和 3。4 1 .假定x 和 y为整型,其值分别为1 6 和 5,则 x/y 和 d o ub l e(x)/y 值分别为 3 和3.2 o4 2.假定x 是一种逻辑量,则 x&tr ue 值为4 3.假定x 是一种逻辑量,则 x|tr ue 值为tr ue (或 1)o4 4 .假定x 是一种逻辑量,则 x&f al s e 值为30f al s e (或 0)o4 5 .假定x 是一种逻辑量,则 x|f al s e 值为4 6 .假定x 是一种逻辑量,则!x|f al s e 值为!x o4 7.假 定 x 是一种逻辑量,则 x&!x 值为f al s e (或 0)o4 8 .假定x 是一种逻辑量,则 x|!x值为tr ue (或 1)o4 9 .数学算式产C+表 达 式 为2xy(x+y)/(2*x*y)。5 0 .数学算式成C+表 达 式 为x+y3*x*y/(x+y)。5 1 .数学算式C+表 达 式 为ax+by1/(a*x*x+b*y*y)。5 2.设 e n um P r in ts tatus r e ad y,b us y,e r r o r);则 c o ut b us y 输出成果是o5 3.设 e n umP r in ts tatus r e ad y=2,b us y,e r r o r;贝!1 c o ut b us y31输出成果是3 o54.常 数-4.2 0 5 和6.7 E-9 分 别 具 备4 和 2 位有效数字。55.枚举类型中每个枚举值都是一种 枚举常量,它值为一种 整数 o56.常 数 1 0 0 和 3.6 2 数 据 类 型 分 别 为int 和 doub 1 e。57.若 x=5,y=10,则计算y*=+x表达式后,x和 y 值分别为 6 和 60 o58.假定x 和 ch分别为in t型和char型,则sizeof(x)和 sizeof(ch)值 分 别 为 4 和_ 1 _O59.假 定 x=10,则表达式x=10?20:30值为_20 o60.表 达 式 sqrt(81)和 pow(6,3)值分别为 9 和 _216 o61.含随机函数表达式rand()%20值在_ 0 至_ 9 区间内。62.在 switch语句中,每个语句标号所含核心字 case背面表达式必要是整型 常量 o63.在 i f 语句中,每 个 e ls e 核心字与它前面32同层次并且最接近if 核心字相配套。6 4 .作为语句标号使用C+保 存 字 c as e 和d e f aul t只能用于 s witc h 语句定义体中。6 5 .执行s witc h 语句时,在进行作为条件表达式求值后,将从某个匹配标号位置起向下执行,当遇到下一种标号位置时不断止 执行。6 6 .若 wh il e 循环“头”为“wh il e (i+V 1 0)”,并且i初值为0,同步在循环体中不会修改i值,则循环体将被重复执行1 1 次后正常结束。6 7.若 d o 循 环“尾”为“wh il e(+i 1 0)”,并且 i初值为0,同步在循环体中不会修改I值,则循环体将被重复执行 1 0 次后正常结束。6 8 .当在程序中执行到 b r e ak 语句时,将结束本层循环类语句或s witc h 语句执行。6 9 .当在程序中执行到 c o n tin ut 语句时,将结束所在循环语句中循环体一次执行。70 .在程序中执行到 r e tur n 语句时,将结束所在函数执行过程,返回到调用该函数33位置。71 .在程序执行完 主(或 m ain)函数后,将结束整个程序执行过程,返回到操作系统下C+集成开发窗口。72.元 素 类 型 为 i n t 数 组 a 1 0 共占用_ 4 0 字节存储空间。7 3 .元素类型为d oub le 二维数组a 4 6 共占用9 2 字节存储空间。7 4 .元素类型为c h a r二维数组a 1 0 3 0 共占用_ 3 0 0 字节存储空间。7 5 .存储字符,a,和字符串a 分别需要占用 1 和_ 2 个字节。7 6 .空串长度为0,存储它需要占用1 个字节。7 7 .字符串,a ,x y=4 n 长度为_8。7 8 .字符串a:x x k 数据长度为1 o7 9 .用于存储一种长度为n字符串字符数组长度至少为 n+1 o8 0 .若 a是一种字符数组,则从键盘上向该数组输入一种字符串表达式为 c i n a o8 1 .若 a是一种字符数组,则向屏幕输出a中34所存字符串表达式为 c out a o8 2 .一种二维字符数组a 1 0 2 0 可以存储1 0 个字符串,每个字符串长度至多为 1 9 o8 3 .对一种二维字符数组a进行初始化数据为 1 2 3 ,4 5 6 ,7 8 9 ,则 a l 元素相应字符串为456o8 4 .st rle n (a pple)值为_5,st rc m p(a ,A)值为 1。8 5 .若需要把一种字符串a a a 赋值到字符数组a 中,则 需 要 执 行 st rc py(或st rc py(a,a a a)_ _ _ 函数调用来实现。8 6 .假定对二维数组a 3 4 进行初始化数据为 3,5,为,2,8 ,7 ,则 a 和a 分 别 被 初 始 化 为 8 和 0 O8 7 .在 C+语言中,一种函数由函数头和函数体 构成。8 8 .重载一种函数条件是:该函数必要在参数个数或参数类型上与其他同名函数有所不同。358 9 .如果一种函数只容许同一文献中函数调用,则 应 在 该 函 数 定 义 前 加 上 st a t i c C+保存字。9 0 .若 ad oub le x=1 0 0;”是文献 F l.CP P 中一种全局变量定义语句,若文献F 2.CP P 中某个函数需要访问此x ,则应在文献F 2.CP P中添加对x声明语句为e x t e rn d oub leX o9 1 .定义一种函数模板要用到第一种修饰符是t e m p 1 a t e。9 2 .在函数模板参数中,用 c la ss修饰参数称为 虚拟类型(或类型)参数。9 3 .如果一种函数直接或间接地调用自身,这样调用称为递归 调用。9 4 .已知 i n t c ub i n(i n t n)re t urn n*n*n;和 d oub le c ub i n (d oub le n)re t urn n*n*n;是一种函数模板两个实例,假定类型参数用 T 表 达,则 该 函 数 模 板 定 义 是t e m pla t e T c ub i n(T n)re t urn n*n*n;。9 5 .对于无返回值函数,定义函数时要用36V O i d 修饰函数类型。9 6 .如果一种函数定义使用了 st a t i c修饰,则该函数不容许被其他文献中函数调用。9 7 .如果一种函数中有各种默认参数,则默认参数必要所有处在形参表右边或(背面)某些。9 8 .定义外部变量时,不用存储类阐明符exter n,而声明外部变量时用它。9 9 .调用系统函数时,要先使用#i n c lud e 命令包括该系统函数原型语句所在头文献o1 0 0 .函数形参作用域是该函数 函数体_ O1 0 1 .C+提供预解决命令有宏定义命令,条件编译命令和 文献包括命令 O1 0 2 .程序编译是以 文献为单位进行。1 0 3.C+程序运营时内存空间可以提成全局数据区,堆区,栈区和代码区(程序区)O1 0 4.全局变量和静态局部变量具备静态生存期,存储在内存 全局数据 区中。1 0 5 .局部变量具备局部生存期,存储在内存37 栈 区中。1 0 6 .若二维数组a有 m 歹!J,设 a 0 0 位于数组第一种位置上,则计算任一元素在 数 组 中 位 置 序 号 公 式 为I*m+j+l o1 0 7 .若有定义“d oub le a 3 5;则 a 数组中 行 下 标 和 列 下 标 最 大 值 分 别 为 2 和 4 o1 0 8 .若有定义 as truc t AA int a;c h a r b;d oub le c;x;,则 x 占用空间大小为_1 3_字节。1 0 9.当定义一种构造体变量时,系统分派给该变量内存大小等于各成员所需内存大小 总和 O1 1 0 .一种指针类型对象占用内存 4个字节存储空间。1 1 1 .一种指针指向一种数据对象,它保存着该数据对象 地址,若数据对象为D a ta Ty pe 类 型,则相应指针类型为_D a ta Ty pe*_。1 1 2 .若要把一种整型指针p 转换为字符指针,38则采用强制转换表达式为(char*)po113.假定一种数据对象为int*类型,则指向该对象指针类型为_ i n t*o114.假 定 p 是一种指向整数对象指针,则用_*P 表 达 该 整 数 对 象,用&P 表达指针变量P 地址。115.假定p 是一种指针,则*p+运算一方面访问 *P,然后使_P 值增1。116.假定p 是一种指针,则(*2+运算一方面访 问*P,然 后 使*P 值增1。117.假定p 所指对象值为25,p+1所指对象值为 4 2,则*p+值为_25 o118.假定p 所指对象值为25,p+1所指对象值为 4 2,则*+p值为 42 o119.假定p 所指对象值为25,p+1所指对象值为 4 2,则执行(*p)+运算后,p 所指对象值为 26 o120.假定p 所指对象值为25,p+1所指对象值为 4 2,则执行*p+运算后,p 所指对象值为42o121.假 定 对 数 组 a 口进行初始化数据为39(2,7,9,6,5,7,1 0),则 a 2和 a 5分别被初始化为 9 和 7 o三、程序填空,对程序、函数或类中划有横线位置,依照题意按标号把适当内容填写到程序下面相应标号背面。1、打印出100至!1200之间所有素数(即除1和它自身再没有其她约数数)。#include#include void main()(int i,j;for(i=100;i=200;i+)(int temp=int(sqrt(i);for(j=2;:i+)if(i%j=0)(2);if()couticoutn;40(1)jtemp2、斐波那契数列第1 和第2 个数分别为0 和 1 ,从第三个数开始,每个数等于其前两个数之和。求斐波那契数列中前2 0 个数,规定每行输出5 个数。#inc lud e void ma in()int f,f l,f 2,i;c out 斐波那契数列:n”;f l=0;f 2=l;c out s e tw(6)f l s e tw(6)f 2;f or(i=3;i=2 0;i+)f 二(1);c out s e tw(6)f;if (2)c out e nd l;f l=f 2;f 2=(3);c out e nd l;41)(1)f l+f 2 (2)i%5=0 (3)f3、计算(-i y+值。i=ll#inc lud e void ma in()(d oub le x,pl=l,p2=l,s=0;int i,j=l;c out “输入 x 值:;c in x;f or(i=l;i=1 0;i+)pl*=(1);p2*=(2);s+=j*pl/p2;/j 值为(-l)i+1j=(3);)c out s e nd l;)42(1)X-jI4、采用辗转相除法求出两个整数最大公约数。#in c lud e void m a in ()(in t a,b;c out。请输入两个正整数:;c in a b;w h ile (a=0|_(1)c out“重新输入:;c in a b;w h ile (b)in t r;r=a%b;(2);(3);分别修改a 和 b 值)c out a e n d l;输出最大公约数43(1)b=0(2)a=b(3)b=r5、把从键盘上输入一种不不大于等于3 整数分解为质因子乘积。如输入2 4 时得到输出成果为“2 2 2 3”,输入5 0 时得到输出成果为“2 5 5”,输入3 7 时得到输出成果为“3 7”。#in c lud e void m a in()(in t x;c out请输入一种整数,若不大于3 则重输:;d o c in x;w h ile(1);in t i=2;d o(w h ile(2)c out i,;x/=i;44(3);w h ile (ix);if(x!=l)c out x;c out e n d l;)(1)x 3 (或 x=i&);re turn p*a*b;45(1)b%i=O(3)b=i(2)i+(或+i)7、在输出屏幕上打印出一种由字符的构成等腰三角形,该三角形高为5行,从上到下每行字符数依次为 1,3,5,7,9o#in c lud e void m a in ()(in t i,j;f o r(i=l;(1)_ _ _;i+)f or(j=l;j=9;j+)if(j=5-i|)c out?z;e ls e (3);c out e n d l;(1)i=5+i46(3)c outA*A8、记录字符串中英文字母个数程序。ttin c lud e in t c oun t(c h a r s tr );void m a in ()c h a r s i 8 0;c out 9,En te r a lin e:“;c in s l;c out,c oun t=,c oun t(s i)e n d l;)in t c oun t(c h a r s tr )in t n um=0;给记录变量赋初值f or(in t i=0;s tr i;i+)if (s tr i=,a,&s tr i=A,&s tr i=,Z,(2)n um+47(3)re turn n um9、主函数调用一种f un 函数将字符串逆序。#in c lud e#in c lud e _;void m a in()c h a r s 8 0;c in s;(2);c out。”逆序后字符串:”s e n d l;)void f un(c h a r s s )in t n=s trle n(s s);f or(in t i=0;(3);i+)c h a r c=s s i;s s i=s s n-l-i;s s n-l-i=c;)48(1)void f un (c h a r s s )(2)f un(s)(3)in/210、从一种字符串中删除所有同一种给定字符后得到一种新字符串并输出。#in c lud e c on s t in t le n=2 0;void d e ls tr(c h a r a ,c h a r b ,c h a r c);void m a in ()c h a r s trl le n ,s tr2 le n ;c h a r c h;c out。输入一种字符串:;c in s trl;c out 输入一种待删除字符:;c in c h;d e ls tr(s trl,s tr2,c h);c out s tr2 e n d l;)void d e ls tr(c h a r a ,c h a r b ,c h a r c)in t j=0;49f or(in t i=0;_ _ _;i+)if(2)b j+=a i;bj=(2);)a i (或 a i !=z 0z)(2)a i !=c3)011、采用指针访问方式从键盘给数组a N 输入数据,然后对元素值重新按逆序存储并输出。ttin c lud e c on s t in t N=8;void m a in ()|in t a N ,*p,*q;f or(p=a;pa+N;p+)(1);p=a;q=a+N-l;w h ile(pq)in t r=*p;*p=*q;*q=r;(2);(3);50f or(p=a;pa+N;p+)c out*p,;c out e n d l;)(1)c in *p(2)p+(或+p)(3)q(或一q)12、从键盘上输入一种正整数,然后把它转换成二进制数每一位存储到一维数组中,最后输出该二进制数。注意二进制数存储是按照从低位到高位顺序进行。ttin c lud e void m a in ()|in t x;c out=0;k一)(3);c out e n d l;(1)x/2 (2)x!=0(3)c out a k13、对数组a n 按升序进行选取排序算法void S e le c tS ort(in t a ,(1)(in t i,j,k;f or(i=l;in;i+)进行 n-l 次选取和互换k=i-l;f or(j=i;j n;j+)if(a j a k)(2);in t x=a i-l ;a i-l=a k;(3);52(1)in t n (2)k=j (3)a k=x14、对数组a n 按升序进行插入排序算法void In s e rtS ort(1),in t n)(in t i,j,x;f or(i=l;i=0;j)为 x 顺序向前寻找适当插入位置if(x=0;j)if (s trc m p(p,ta b le j )0)(2);e ls e b re a k;ta b le j+l=(3);(1)is iz e (2)ta b le j+1 =ta b le j (3)p16、假定有定义为 s truc t N O DE in t d a ta;N O DE*n e x t;下面算法依照ta b le 数组中n个元素建立一种表头指针为L链表,链表中结点值顺序与数组元素值顺序相似。void f 5(N 0DE*&L,in t ta b le d,in t n)54if(n n ex t=(2);p-d a t a=(3);i+;)p-n ex t=N U L L;把最后一种结点指针域置空P=L;L=L-n ex t;使L 指向链表第一种带值结点del ete p;(1)in (2)n ew N O DE(3)tabl e i17、假定有定义为“str u ct N O DE in t data;N O DE*n ex t;下面算法依照tabl e数组中n个元素建立一种表头指针为L链表,链表中结点值顺序与数55组元素值顺序正好相反。vo id f6(N 0 DE*&L,in t tabl et,in t n)|L=N U L L;if(n d a t a=(2);p-n ex t=L;(3);i+;(1)in(2)tabl e i (3)L=p18、假定有定义为 astr u ct N O DE in t data;N O DE*n ex t;,下面算法是依次显示输出以L为表头指针链表中各结点值。56vo id f7(N O DE*L)(fo r(1);p!=N U L L;(2)c out(3)n ex t(3)p-data19、假定有定义为 u str u ct N O DE in t data;N O DE*n ex t;,下面算法是把以L为表头指针链表中各结点依次按相反顺序链接并返回新链表表头指针。N O DE*f8(N O DE*L)(if(L=N U L L)r etu r n N U L L;N O DE*p=N U L L,*q=L,*t;whil e(q!=N U L L)t=q;Q=(1);t-n e x t=(2);P=t;57)(3);)(1)q-next(2)p(3)return p四、写出程序运营成果1.#include#includevoid main()(int a 8=25,48,32,85,64,18,48,29);int max,min;max=min=a0;for(int i=0;iai)max=ai;if(minai)min=ai;)coutmax:maxendl;coutzmin:/z m i n e n d l;58答案:m ax:8 5m in:182.#in cl u devo id m ain ()(in t a,b;fo r(a=l,b=2;b5 0;)co u t a,b,);a=a+b;b=a+b;)co u t en dl;co u t a,J b,en dl;答案:1 2 3 5 8 13 2 1 3 45 5 8 93.#in cl u de59co n st in t M=3,N=4;vo id m ain ()(in t i,j,s=0;fo r (i=l;i=M;i+)fo r(j=l;j=N;j+)s+=i*j;co u t9,s=w s en dl;)答案:s=6 04.#in cl u devo id m ain ()|in t a=2,b=5,c=0;if(a+b 10)c=a*b;el se c=3*a+b;if(c=2 0)co u t c*c;el seco u t 4+c-5;co u t en dl;a=a+b;b=a+b;c+=a+b;60co u t,a,b,c=,/a,,,5?,J c e n d l;)答案:12 1a,b,c=7,12,3 05.#in cl u devo id m ain ()(in t x=5;switch(2*x-3)case 4:co u t x z ;case 7:co u t 2*x+l A ;case 10:co u t 3*x-l z ;br eak;defau l t:co u tz,defau l tz,en dl;)co u t switch en d.en dl;)答案:11 14 switch en d.616.#include#includeint a 4=36,-5,73,8;void main()(int i,y;for(i=0;i4;i+)if(ai0)y=l;else if(ai10)y=ai*ai+3;else if(ai60)y=4*ai-5;else y=int(sqrt(ai);/sqrt(x)为取x平方根函数coutsetw(5)aisetw(5)y;答案:36 139-5 1 73 8 8677.#includeint a 8=36,25,20,43,12,70,66,35;62vo id m ain()(in t sO,si,s2;s0=sl=s2=0;fo r(in t i=0;i8;i+)switch(a i%3)case 0:s0+=a i;br eak;case 1:sl+=a i;br eak;case 2:s2+=a i;br eak;)co u t s0 z,sl,s2 en dl;答案:114 13 8 5 59.#in cl u deco n st in t M=2 0;vo id m ain()63in t c2,c3,c5;c2=c3=c5=0;fo r(in t i=l;i=M;i+)if(i%2=0)c2+;if(i%3=0)c3+;if(i%5=0)c5+;)co u t c2,c5 en dl;)答案:10 6 410.#in cl u devo id m ain ()|in t i,j;fo r (i=0;i5;i+)fo r(j=i;j5;j+)co u tz;co u t en dl;64答案:rJw*11.#in cl u devo id m ain ()|fo r(in t i=l,s=0;i2 0;i+)if(i%2=0|i%3=0)co n tin u e;c o u t iA z;s+=i;)co u t s en dl;)答案:1 5 7 11 13 3 76511.#in cl u deco n st in t T=6;vo id m ain()|