C++程序设计(第2版)-习题解答C++程序设计(第2版普通高等教育“十一五”国家级规划教材习题答案作者邓振杰C++程序设计习题解答.docx
C+程序设计习题解答第1章C+概述1 .填空题(1)在面向对象程序设计中,对象是由 和 封装在起构成的实体。(2)在面向对象程序设计中,类是具有 和 的对象的集合,它是对类对象的抽象描述。(3)面向对象程序设计最突出的特点就是 和 (4) C+语言包含头文件的格式有两种,即 和=(5) C源程序要经过 和 四个环节,才能在屏幕上显示结果。(6)每个C+程序都从 函数开始执行。(7)每个函数体都以 开始,以 结束。(8) C+程序中的每条语句以 结束。(9) C+程序的头文件和源程序的扩展名分别为 和,目标程序的扩展名为,可执行程序的扩展名为 (10)在C+程序中使用基本输入/输出语句需包含的头文件是,应放 在程序的。(11)在C+程序中注释语句有 和 两种格式。(12) C-程序的续行符为。(13)如果从键盘输入语句给变量X,则输入函数的形式为;如果再将变 量X的值显示在屏幕上,其输出函数的形式为。(14) C+程序中的“endl”在输出语句中起 作用参考答案:(1)对象名,组属性数据,组操作(2)相同属性数据,操作(3)封装性,继承性,多态性(4) #include<文件名.扩展名,include”文件名.扩展名”(5)编辑,编译,连接,运行(6)主函数(8)分号;(9) .h, .cpp, .obj, .exe(10) #include<iostream.h>,开始部分(11) /* */, /(12) (13) cin»X> cout«X(14)换行并清空流2.选择题(1)面向对象程序设计把数据和()封装在起。A.数据隐藏B.信息 C.数据抽象D.对数据的操作(2) C+源程序的扩展名是()。A. cB. exeD. pchC. cpp(3)把高级语言程序转换为目标程序需使用()»A.编辑程序 B.编译程序C,调试程序D.运行程序(4) C+语言与C语言相比最大的改进是()=A.安全性 B.复用性 C.面向对象 D.面向过程(5)以下叙述不正确的是()«A. C+程序的基本単位是函数B. 一 GH程序可由一个或多个函数组成C. 一个C+程序有且只有一个主函数D. C+程序的注释只能由现在语句的后面参考答案:(1) D (2) C (3) B (4) C (5) D3 .简答题(1)试比较面向对象程序设计、结构化程序设计和模块化程序设计。(2)解释以下概念:类对象封装数据抽象继承多态(3)简述C+语言有哪些特点。参考答案:(1)结构化程序设计强调从程序结构和风格上研究程序设计。结构化程序设计的程序代 码是按顺序执行的,有一套完整的控制结构,函数之间的参数按一定规则传递,不提倡使用 全局变量,程序设计的首要问题是“设计过程'模块化程序设计将软件划分成若干个可单独命名和编址的部分,称之为“模块”。模块化 程序设计的设计思路是“自顶向下,逐步求精”,其程序结构是按功能划分成若干个基本模块, 各模块之间的关系尽可能简单,在功能上相对独立。模块和模块之间隔离,不能访问模块内 部信息,即这些信息对模块外部是不透明的,只能通过严格定义的接口对模块进行访问。模 块化程序设计将数据结构和相应算法集中在个模块中,提出了“数据结构+算法=程序设计” 的程序设计思想。模块化能够有效地管理和维护软件研发,能够有效地分解和处理复杂问题。 但它仍是种面向过程的程序设计方法,程序员必须时刻考虑所要处理数据的格式,对不同 格式的数据做相同处理或对相同数据格式做不同处理都要用新编程,代码可重用性不好。面向对象程序设计面对的是一个个对象,用种操作调用组数据。把数据和有关操作 封装成一个对象。各个对象的操作完成了,总的任务也就完成了。他适用于编写大型程序。 结构化程序设计和模块化程序设计适用于比较小的程序,他要求细致的描写程序设计的每个 细节。(2)类:在面向对象程序设计中,类是具有相同属性数据和操作数据的函数的封装,它 是对类对象的抽象描述。对象:在面向对象程序设计中,对象是由对象名、组属性数据和一组操作封装在起 构成的实体。其中属性数据是对象固有特征的描述,操作是对这些属性数据施加的动态行为, 是系列的实现步骤,通常称之为方法。封装:封装是种数据隐藏技术,在面向对象程序设计中可以把数据和与数据有关的操 作集中在起形成类,将类的一部分属性和操作隐藏起来,不让用户访问,另一部分作为类 的外部接口,用户可以访问。数据抽象:抽象的作用是表示同类事物的本质,C+中的数据类型就是对批具体的数 的抽象。类是对象的抽象,对象是类的特例。继承:在面向对象程序设计中,继承是指新建的类从已有的类那里获得已有的属性和操 作。多态:在面向対象程序设计中,多态性是指相同的函数名可以有多个不同的函数体,即 个函数名可以对应多个不同的实现部分。(3)面向对象程序设计最突出的特点就是封装性、继承性和多态性。封装性封装是种数据隐藏技术,在面向对象程序设计中可以把数据和与数据有关的操作集中 在起形成类,将类的一部分属性和操作隐藏起来,不让用户访问,另一部分作为类的外部 接口,用户可以访问。类通过接口与外部发生联系,用户只能通过类的外部接口使用类提供 的服务,而内部的具体实现细节则被隐藏起来,对外是不可见的。继承性在面向对象程序设计中,继承是指新建的类从已有的类那里获得已有的属性和操作。已 有的类称为基类或父类,继承基类而产生的新建类称为基类的子类或派生类。由父类产生子 类的过程称为类的派生。通过继承,程序可以在现有类的基础上声明新类,即新类是从原有 类的基础上派生出来的,新类将共享原有类的属性,并且还可以添加新的属性。继承有效地 实现了软件代码的重用,增强了系统的可扩充性。多态性在面向对象程序设计中,多态性是指相同的函数名可以有多个不同的函数体,即个函 数名可以对应多个不同的实现部分。在调用同一函数时,由于环境的不同,可能引发不同的 行为,导致不同的动作,这种功能称为多态。它使得类中具有相似功能的不同函数可以使用 同一个函数名。多态既表达了人类的思维方式,又减少了程序中标识符的个数,方便了程序 员编写程序。多态是面向对象程序设计的重要机制。4 .编程题编写程序在屏幕上显示字符串“欢迎大家学习C+语言! ”,并按照书中介绍练习C+语 言的上机实现过程。参考答案:#include<iostream.h>void main()cout«”欢迎大家学习GH语言”endl;第2章 C+程序设计基础1.填空题(1) Visual C+中如果一个变量为int型,它所占的内存空间是 字节,位。(2) short int型变量占用的内存空间是 字节,long int型变量占用的内存空间是 字节,char型变量占用的内存空间是 字节,float型变量占用的内存空间是 字节,double型变量占用的内存空间是 字节。(3) bool类型数据的值为非时会自动转换成 ,如果等于。会自动转换成(4) C+程序中的关系运算符满足条件时返回,不满足条件时返回»(5)表达式x&&y>=z是 类型的表达式;表达式x+y|z是 类型的表达式。¢6)表达式K3&&5V7的值是,表达式!(5<8)|2<6的值是。(7)表达式a+b<c&&d=5中运算符优先级由高到低的排列顺序是。(8)试写出下列各表达式的含义。y=x«2y=3*+xa>b?max=a:max=by=x*-y(x-y)= =(x-z)y=xA2x*=y+l(9)以下程序的功能是:从键盘输入个字符,判断其是否是字母,并输出相应信息, 请填空。#include<iostream.h>void main()(char c;cin»c;if(c>='aT c<=fz') _ (c>='A'c=Z)cout<<”接收的是个字母"<<endl;elsecout« ”接收的不是个字母""endl;(10)以下程序的输出结果是。#include<iostream.h>void main()(int i=0j=0;while(i<15)Ij+;i+=+j;cout«i«" M<<j«endl;(11)以下程序的功能是:在屏幕上同一行显示19的平方的值,请填空。#include<iostream.h>void main()unsigned int i;forcout«i * i«cout« endl;)(12)以下程序的功能是:求一组(10个)正数中的最大数,当输入为负数时提前结束 程序,请填空。#include<iostream.h>void main()const int N=10;int x,max=0;cout« ”Please input data:"«endl;for(int i=l;iv=N;i+)cin»x;if()(max=x;continue;)else f( _)cout«"max="«max<< endl;(13)以下程序的输出结果是.#include<iostream.h>void main()int i=0;while(-H-i)if(i=10) break;ifii%3!=l) continue; cout«i«endl;(14)以下程序的输出结果是 #include<iostream.h> void main()int x=5; do |switch(x%2) ( case 1 :x;break; case 0:x+;break; x-; cout«x«endl; wbile(x>0); 参考答案: (1)4, 32 (2) 2, 4, 1, 4, 8 (3) true, false (4) 1, 0 (5)逻辑,逻辑 (6) 1, 1 (7) + v = = &&(8)戸xv<2的含义:x左移两位后的值赋值给y y=3*+x的含义:将x加1后乘以3后的值赋值给y a>b?max=a:max=b的含义:若a>b贝将a的值赋值给max,否则将b的值赋值给max y=x*-y的含义:现将负y的值乘以x,再将结果值赋值给y (x-y)= =(xz)的含义:比较xy和x-z是否相等 产x2的含义:将x和2按位异或的值赋值给y x*=y+l的含义:将x乘以(y+1),再将结果值赋值给x(9) &&,|,&&(10) 20 8(11) i=l;i<=9;i-H-, ” “(12) x>0&&max<x, x<0, break;(13) 14 7(14) 31 -12.选择题(1)下列四组标识符中不属于Visual C+关键字的是( )A. witchB. breakC. mainD. continuefloatcharcincase(2)下列四组变量命名,不符合Visual C+变量命名规则的是()。A. cc B. 6xC. wlD. ye_78avercharyear78woB. unsigned short a;signed int b;D.int a;signed int b;oB,只能是关系表达式和逻辑表达式D.可以是任意表达式)C.tl=falseD. tl=lt2=truet2=0t3=falset3=l)ed=6 d=6 d=6 d=6(3)假设有两个变量a=65432和b=a*2,在保证数据正确存储的前提下,以下变量类型定义错误的是( )A.int a;int b;C.unsigncd short a; unsigned short b; (4)在if语句中的表达式(A,只能是关系表达式C,只能是逻辑表达式(5)以下程序的输出结果为(A.tl=trueB.tl=8t2=falset2=0t3=truet3=-l#include<iostream.h> void main() ( bool tl=8; bool t2=0;bool t3=-l;cout«"tl ="«tl«endl;cout«"tl="« t2«endl; cout«"tl="« t3«endl;(6)以下程序的输出结果为(A. a=13b=4c=3B. a=13b=8c=4C.a=13b=4c=4D. a=13b=8c=3#include<iostream.h>void main()int x=8,y=5;int a,b,c,d;a=x+y-;b=x/y«2;c=xy+;d=x%y*2;cout«M a="«a«H b=H«b;cout«M c=,«c« d=,«d«endl;参考答案:(1) A (2) B (3) C (4) D (5) D (6) B3.简答题(1)字符常量和字符串常量有什么区别?(2)定义符号常量的方法有哪些?它们有什么区别?。(3) while与do-while语句的主要区别是什么?参考答案:(1)在C+语言中,字符串常量和字符常量是不同的。字符串常量是用对双引号括 起来的字符序列。例如,"a"、"123"、"hello"等都是字符串常量。一般字符常量是用一对单 引号括起来的一个字符,其值为ASCII码值。例如,豆、,、$、5等都是合法的字符常量。(2) C+语言提供了两种定义符号常量的方法:用const语句定义符号常量这种方法是C+语言中广泛采用的定义符号常量的方法,其一般格式为:const数据类型符号常量=表达式; 用#define语句定义符号常量这是C语言中定义符号常量的方法,其中#define是预处理指令。其缺点是不能显示声 明常量的类型。其一般格式为:#define常量名常量值(3) while把循环条件判断放在循环体执行前,而do-while循环条件判断放在循环体 执行后,不管循环条件是否成立,它都至少执行一次循环体。(4) 程题(1)求100以内的自然数中奇数之和。(2)求100以内能被13整除的最大自然数。(3)有一个函数如下所示:'x (x<l)y= « x+5(l<x<10).x5(x>10)从键盘输入个x,求出相应的y值。(4)输入3个整型数,按由大到小的顺序输出显示。(5)根据从键盘输入的表示星期几的数字,输出它对应的英文名称。(6)从键盘输入个整数,求其阶乘。(7)编写个简易计算器程序,根据用户输入的运算符做两个数的加I、减、乘或除运 算。(8)编写程序在屏幕上打印如下图案。* * *参考答案:(1) #include<iostrcam.h>void main()int sum=0;fbr(int i=l;i<=100;)(sum=sum+i;i=i+2;cout«H 100 以内奇数之和为:"vvsumwendl;)(2) #include<iostream.h>void main()int max=0;int i=13;while(i<=100)(iRi% 13=0&&max<i)max=i;i=i+13;continue;)cout«H100以内能被13整除的最大自然数为:“wmaxvvendl; (3) #include<iostream.h>void main()float x,y;cin»x;if(x<l) y=x;else ifi(x>=l&&x<=10) y=x+5;else y=x-5;cout«y«endl;)(4) #include<iostream.h>void main()int inta,intb,intc;cin»inta»intb»intc;if(inta<intb)ifiintb<intc) cout«intc«" ,'«intb«M n«inta;else cout«intb«M ”;if(inta<intc) cout«intc«" M«inta;elsecout«inta«M n«intc;else if(inta<intc) cout«intc«M M«inta«M "«intb; else cout«inta«" *;ifl(intb<intc) cout«intc«M *'«intb; else cout«intb«M M«intc; (5) #include<iostream.h>void main()int data;cout«nplease input the data(0-6):M;cin»data;switch(data)case 0:cout«,Sunday,«endl;break;case 1 :cout«MMonday"«endl;break;case 2:cout«,Tuesday,«endl;break;case 3:cout«MWednsdayM«endl;break;case 4:cout«HThursdayM«endl;break;case 5:cout«,Friday,«endl;break;case 6:cout«,Satuday,«endl;brcak;default :cout«,errorH«endl;(6) #include<iostream.h>void main()(int n,t=l;cout«MPlease input a integer:u«endl;cin»n;if(n<0)cout«MError!n«endl;return;else if(n=0|n=l) t=l;elsefbr(int i=l;i<=n;i+) t=t*i;cout<<Mn!=,«t«endl;void main()(float x,y;char ch;coutw”请输入两个操作数:";cin»x»y;coutvv”请输入运算符+/:”;cin»ch;switch(ch)(case:cout«x+y«end 1;break;case IJ:cout«x-y«endl;brcak;case ,*,:cout«x*y«endl;break;case ':coutvvx/yvendl;break; default:coutv”输入有误,退出!")(8) #include<iostream.h>void main()fbr(int i=0;i<5;i+)fbr(intj=0;j<2*i+lj+) cout«"*"«"" cout«endl;第3章函数(1) 空题(1)在C+中,个函数一般由两部分组成,分别是 和¢2)在C+中,若没有定义函数的返回类型,则系统默认为 型。(3)当一个函数没有返回值时,函数的类型应定义为。(4)在C+中,函数的参数传递可有三种形式,即 和(5)在函数体外定义的变量是 变量:在函数体内定义的变量是变量。(6)在C+的一个程序内可以定义多个同名的函数,称为。(7)在个函数的定义或声明前加上关键字,该函数就声明为内联函数。(8)若在一个函数中又调用另个函数,则称这样的调用过程为函数的 调用。(9)在调用个函数的过程中出现直接或间接调用该函数本身,就称作函数的调用。(10)在程序中可以使用系统函数,但是要在程序的 说明函数所在的头文件名。(11)以下程序的输出结果为 #include <iostream.h>#define N 8void fiin(int);void main()(fbr(int i=l;i<N;i+)fun(i);void fun(int x)int a=0,b=2;cout«(a+=x+3,a+b)«endl;(12)以下程序的输出结果为«#include <iostream.h>const int N=5;void fun();int a=0;void main()(fbr(int i=l;i<N;i+)fun();)void fun()int b=2;cout«(a+=3,a-i-b)«endl;)(13)以下程序的输出结果为 0#include <iostrcam.h>int m=3;void fiin(int m)(m=6;)void main()(fim(m);cout«M m=,«m«,n"(14)以下程序的输出结果为 0#include <iostream.h>int gcd(int,int);void main()(int a,b;a=16;b=24;cout« 44GCD(4t«a«,«b«,)=,«gcd(a,b)«endl;)int gcd(int a,int b)(ifi(b=O)return a;else return gcd(b,a%b);参考答案:(1)函数头,函数体(2) int(3) void(4)传值调用,传址调用,引用调用(5)全局变量,局部变量(6)函数重载(7) inline(8)嵌套(9)递归(10)开始处(11) 67891011 12(12) 581114(13) m=3(14) GCD<16,24>=82.选择题(1)以下叙述不正确的是()«A,函数是构成C+程序的基本元素B.程序总是从第一个定义的函数开始执行C.主函数是C+程序中不可缺少的函数D.在函数调用之前,必须要进行函数的定义或声明(2)以下函数声明正确的是()。A. double fun(int x,int y)B, double fiin(int x;int y)C. double fun(int x,int y);D. double fun(int x, y);(3)当个函数无返回值时,函数的类型应为().A.任意B. voidC. intD. char(4)下列关于函数声明说法不正确的是()»void fiin(void);A.函数声明是一条独立的语句,必须以分号结尾B.函数声明通常放在程序的开始部分C.函数fun无参数传入D.函数fun返回一个值,其类型为void(5)下列关于return语句的说法错误的是()。A.在函数中通过return语句返回一个函数值B. return语句中表达式的类型决定函数返回的类型C.在无返回值的函数体中可以没有return语句D.当函数返回值的类型为void时,函数中不应出现return (表达式)(6)下列关于重载函数的说法正确的是()。A.重载函数必须具有不同的返回值类型B,重载函数形参个数必须不同C.重载函数必须具有不同的形参列表D,重载函数名可以不同(7) 一个函数为void Hint,floats絃),另个函数为void f(int),则它们(),A.不能在同一个程序中定义B.可以在同一个程序中定义并可重载C.可以在同一个程序中定义,但不可重载D,以上说法均不正确(8)下列函数定义中正确的是()。A. double fun(double x,y)B. double fun(double x, double y)double z;return x/y;z=x/y;return z;C. double fun(double x,y)z=x/y;return z;D. double fun(double x, double y)z=x/y;return x/y;(9)下列关于默认参数值函数说法错误的是()。A. C+中,允许设置参数的默认值B.必须从参数表最右边的参数开始,设置参数的默认值C.在函数声明和函数定义中,默认参数的值必须相同D,函数调用时,带默认值的参数无实参输入时,使用默认值 (10)下列程序的输出结果为().A. 10,20,30B. 35,7,5C. 35,20,10 D. 10,20,35#include <iostream.h> int fim(int a,int b,int c) (a=5;b=a+2;c=a*b; return (c);void main() int a=10,b=20,c=30;c=fun(a,b,c);cout«c«M ,n«b«M ,"«a«,nM; (11)下列程序的输出结果为( )A. 0B.4C. 15D. 60#include <iostream.h> int fun(int a,int b) int c;c=a*b;return (c); void main() int a=3,b=5,c=4,x=0;x=fun(fun(a,b),c);cout«x«endl;) (12)下列函数的返回类型为( )D,无法确定D. x=25A. voidB. floatC. intfiin(void) float x=3.0,y; y=x*x/2; return (y); ) (13)下列程序的输出结果为()«A. x=15B. x=17C. x=23#include <iostrcam.h> int x=5; int fun(int a) |int c; c=x*a; return (c);void main()int x=3;int a=4;x=x+fun(a);cout«M x=,«x«endl;参考答案:(1) B(2) C(3) B(4) D (5) B (6)C (7) C (8) B(9) C(10) C(11) D (12)C (13) C3.简答题(1)在C+中,函数定义的格式是怎样的?(2)什么是函数的声明?函数声明和函数定义有什么区别?是否必须要进行函数的声 明?(3)什么是内联函数?引入内联函数的目的是什么?(4)什么是函数重载?函数重载的原则是什么?(5)函数的嵌套调用应注意什么?(6)函数的递归调用的步骤是什么?(7)什么是局部变量?什么是全局变量?(8)在C+中,如何使用系统函数?参考答案:(1)类型函数名(形参表)语句序列(2)函数原型乂称函数声明,用来告诉编译器函数的名称、函数的返回类型、函数要 接收的参数个数、参数类型和参数顺序,编译器用函数原型验证函数调用。在定义函数之前 常用函数原型加以说明。函数原型通常位于程序代码的开始处。在函数原型说明中也可以不给出参数名,只给出 类型。如果函数调用在函数定义之前则必须声明。若在后则可以不用声明。(3)内联函数是在函数名第一次出现时在函数名之前冠以关键字inline。在程序编译时, 编译器将程序中出现的内联函数的调用表达式用内联函数的函数体进行替换。使用内联函数,加快了程序的执行速度,节省程序运行时的开销。(4)函数重载是指同一个函数名可以对应着多个不同函数的实现。原则:函数重载要求编译器能够唯一一地确定调用个函数时应执行哪个函数代码。确定 函数时,编译器是通过函数的参数个数、参数类型和参数顺序来区分的。也就是说,进行函 数重载时,要求同名函数参数个数不同、参数类型不同或参数顺序不同。否则,将无法确定 是哪个函数体。(5)在使用函数的嵌套调用时要注意函数的返回地址,在函数体执行完毕后,一定要 返回调用该函数的主调函数,不能出现越级返回的情况。(6)第一阶段:递推。将原问题不断分解为新的子问题,逐渐从未知向已知递推,最 终达到一知的条件,即递归结束的条件,这时递推阶段结束。第二阶段:回归。从已知条件出发,按照递推的逆过程,逐一求值回归,最后达到递归 的开始处,结束回归阶段,完成递归调用。(7)在函数或者类内说明的变量是局部变量。全局变量是在函数和类外部定义的变量。(8) CH将所提供的系统函数的说明分别放在不同的头文件中,即.h文件,在程序中 使用系统函数时,要在程序开始处说明函数所在的头文件名。4.编程题(1)从键盘输入10个浮点数,求其和及其平均值。要求写出其和及平均值的函数。(2)编写函数ftm,函数首部为double fun(int n),其功能是计算S = S i!的值,并通过 函数值返回主调函数。1(3)输入一个年份,判断是否是闰年。(4)写出个函数,使从键盘输入的个字符串反序存放,并在主函数中输入、输出 该字符串。(5)编写个函数,其功能是:输入全班学生的成绩,以负数结束输入,统计学生人 数,作为函数值返回主调函数,并计算平均分,通过函数ave返回主调函数。参考答案:(1) void sa()float x,sum=0,ave=0;cout«”请输入10个符点数:“ wend匕fbr(int i=0;i<10;i+)cin»x;sum=sum+x;ave=sum/10;"«ave«endl;cout«M10个符点数的和为:“wsumvv”;平均值为: (2) double fun(int n)int sum=0,fac=l;fbr(int i=l;i<=n;i-H-)fac=fac*i;sum=sum+fac;)retum(sum);)(3) void leap(int year)int flag;iRyear%4=0)ifi(year% 100=0)if(year%400=0) flag=l;else flag=0;else flag=l;else flag=0;ififflag) coutwyearvv"年是闰年"vvendl;else coutwyeaEV”不年是闰年"vvendl;)(4) #include<iostream.h>void inverts() char ch;cin»ch;if(ch='') return;else inverts();cout«ch;void main()(coutw”请输入字符串,输入0结束:”vvendl;inverts();cout«endl;)(5) #include<iostream.h>int total(float &ave)float score;float sum=0;int n=0;coutv请输入全班学生成绩,以负数结束"vvendl; cin»score;do(n=n+l;sum=sum+score;cin»score;while(score>0);ave=sum/n;return n;)float ave()(float average;coutvv"人数为:tt«total(average)«endl;return average;)void main()(coutw”平均值为:”vave()vvendl;第4章数组1.填空题(1)若定义int a8;则a数组元素下标的下限是,上限是 (2)若定义float b34:则b数组中含有 个 类型的数组元素。(3)在C+中二维数组的存放顺序为 (4)要使一个数组a5中全部元素的值为0,可以定义为。(5)以下程序段为数组a中所有元素输入数据,请填空。void main()(int i,a5;fbr(i=O;i<5;i+)cin»)(6)以下程序按2行3列输出二维数组,请填空。#include<iostream.h>void main()intb23=l,2,3,4,5,6),ij;fbr(i=O;i+)(fbr(j=O;J+)cout«bij«")(7)下列函数的功能是:将数组a中n个元素逆序存放,请填空。 void invert(int a, int n)int i=0j=n-l;while()(int t;t=ai;aj=t;if)(8)一知整数数组b25=7,15,2,8,20,12,25,37,16,28,求数组中所有元素的最大 值,请填空。#include <iostream.h>void main()int b25=:int ij,c,d,k=O;fbr(i=0;i<2;i+)for(j=O;J+) if(biU>k)c=i;d=j; cout«"b"«c«""«d«"="«k«endl;)参考答案:(1) 0, 7(2) 12, float(3) 按行优先顺序存放(4) int a5=0,0,0,0,0;或 int a5=; bK static int a5;(5) ai(6) i<2, j<3, cout«endl; i<=j, ai=aj, j(8) 7,15,2,8,20,12,25,37,16,28, j<5, k=bij2.选择题(1) C+中引用数组元素时,其数组下标的数据类型允许是()。A.整型表达式B.整型常量C.整型常量或整型表达式D.任何类型的表达式(2)下列对维整型数组a的正确说明是().A. int a( 10);B. int n= 10,an;C.血 n;D.