网友您好, 请在下方输入框内输入要搜索的题目:
题目内容
(请给出正确答案)
问答题
程序运行时显示“下标越界”可能产生的错误有哪几种情况?
参考答案
参考解析
解析:
暂无解析
更多 “问答题程序运行时显示“下标越界”可能产生的错误有哪几种情况?” 相关考题
考题
在Java语言中,在程序运行时会自动检查数组的下标是否越界,如果越界,会抛掷下面的()异常。
A.NullpointerExceptionB.ArithmeticExceptioinC.ArrayIndexOutOfBoundsExceptionD.SecurityManager
考题
●对于高级语言源程序,若(19),则可断定程序中出现语法错误。(19)A.编译时发现表达式中操作数的类型不匹配B.编译时发现表达式中的括号不匹配C.运行时出现数组下标越界的情况D.运行时出现除数为0的情况
考题
阅读以下程序说明和C++程序,将程序段中(1)~(5)空缺处的语句填写完整。[说明]C++语言本身不提供对数组下标越界的判断。为了解决这一问题,在以下[C++程序]中定义了相应的类模板,使得对于任意类型的二维数组,可以在访问数组元素的同时,对行下标和列下标进行越界判断,并给出相应的提示信息。[C++程序]include <iostream.h>template <class T> class Array;template <Class T> class ArrayBody {friend (1);T* tpBody;int iRows,iColumns, iCurrentRow;ArrayBody(int IRsz, int iCsz) {tpBody =(2);iRows = iRsz;iColumns = iCsz;iCurrentRow = -1;}Public:T operator[] (int j) {bool row_error, column_error;row_error = column_error =false;try {if (iCurrentRow < 0 || iCurrentRow >= iRows)row_error = true;if (j<0 || j>= iColumns)column_error = true;if (row_error == true || column_error == true)(3);}catch(char){if (row_error == true)cerr << "行下标越界[" << iCurrentRow << "]";if (column_error = true)cerr << "列下标越界[" << j << "]";cout << "\n";}return tpBody[iCurrentRow * iColumns + j];}~Arraygody(){delete[]tpBody;}};template <class T> class Array {ArrayBody<T> tBody;Public;ArrayBody<T> operator[] (int i) {(4);return tBody;}Array(int iRsz, int iCsz) :(5) { }};void main(){Array<int> a1(10,20);Array<double> a2(3,5);int b1;double b2;b1 = a1[-5][10]; //有越界提示:行下标越界[-5]b1 = a1[10][15]; //有越界提示:行下标越界[10]b1 = a1[1][4]; //没有越界提示b2 = a2[2][6]; //有越界提示:列下标越界[6]b2 = a2[10][20]; //有越界提示:行下标越界[10]列下标越界[20]b2 = a2[1][4]; //没有越界提示}
考题
阅读下列C++程序和程序说明,将应填入(n)处的字句写在对应栏内。【说明】C++语言本身不提供对数组下标越界的判断。为了解决这一问题,在程序6中定义了相应的类模板,使得对厂任意类型的二维数组,可以在访问数组元素的同时,对行下标和列下标进行越界判断,并给出相应的提示信息。include<iostream.h>template <class T> class Array;template <class T> class ArrayBody {friend (1)T* tpBody;int iRows, iColumns, iCurrentRow;ArrayBody (int iRsz, int iCsz) {tpBody =(2)iRows = iRsz; iColumns =iCsz; iCurrentRow =-1;}public:T operator[] (int j) {bool row_error, column_error;row_error=column_error=false;try{if (iCurrentRow < 0 || iCurrentRow >=iRows)row_error=true;if (j < 0 || j >=iColumns)column_error=true;if ( row_error==true || column_error == true)(3)}catch (char) {if (row_error==true)cerr << "行下标越界[" << iCurrentRow << "] ";if (column_error== true )cerr << "列下标越界[" <<j << "]";cout << "\n";}return tpBody[iCurrentRow * iColumns +j];};~ArrayBody ( ) { delete[] tpBody; }};template <class T> class Array {ArrayBody<T> tBody;public:ArrayBody<T> operator[] (int i) {(4)return tBody;}Array (int iRsz, int iCsz) :(5) {}};void main(){ Array<int>a1(10,20);Array<double>a2(3,5);int b1;double b2;b1=a1[-5][10]; //有越界提示:行下标越界[-5]b1=a1[10][15]; //有越界提示:行下标越界[10]b1=a1[1][4]; //没有越界提示b2=a2[2][6]; //有越界提示:列下标越界[6]b2=s2[10][20]; //有越界提示:行下标越界[10]列下标越界[20]b2=a2[1][4]; //没有越界提示}
考题
阅读下列说明和C++程序,将应填入(n)处的字句写在对应栏内。【程序1说明】程序1中定义了数组的类模板,该模板使得对于任意类型的二维数组,可以在访问数组元素的同时,对行下标和列下标进行越界判断,并给出相应的提示信息(C++语言本身不提供对下标越界的判断)。【程序1】include < iostream. h >template < class T > class Array2D;template < class T > class Array2DBody {friend (1);T * tempBody;int iRows, iColumns, iCurrentRow;Array2DBody(int Rows,int Cols) {tempBody =(2);iRows = Rows;iColumns = Cols;iCurrentRow = -1;}public:T operator[ ] (int j){bool row_ error, column_ error;row_ error = column_ error = false;try {if ( iCurrentRow < 0||iCurrentRow > = iRows)row_ error = true;if( j < 0||j > = iColumns)column_error = true;if( row_error = = true [ [ column_ error = = true)(3);}catch(char) {if (row_error = = true)cerr < < "行下标越界"[" < < iCurrentRow < < "]";if( colmnn_error = = true)cerr< <"列下标越界[" < <j< <"]";cout < < "\n";}return tempBody[ iCurrentRow * iColumns + j ];}~ Array2 DBody ( ) { delete [ ] tempBody; } }; template < class T > class Array2D {Array2DBody < T > tBody;public:Array2DBody < T > operalor[ ] (int i) {tBody, iCurreutRow = i;(4);Array2D(int Rows,int Cols): (5) {} };void main( ){Array2D <int> al ( 10,20 );Array2D <double> a2(3,5);int bl;double b2;b1=a1[-5][10];//有越界提示:行下标越界[-5]b1=a1[10][15];//有越界提示:行下标越界[10]b1=a1[1][4];//没有越界提示b2=a2[2][6];//有越界提示:列下标越界[6]b2=a2[10][20];//有越界提示:行下标越界[10]列下标越界[20]b2=a2[1][4];//没有越界提示}
考题
在C/C++程序中,整型变量a的值为0且应用在表达式c=b/a中,则最可能发生的情形是( )。A.编译时报告有语法错误 B.编译时报告有逻辑错误 C.运行时报告有语法错误 D.运行时产生异常
考题
●对于高级语言源程序,若(34),则可断定程序中出现语法错误。(34)A.编译时发现所定义的变量未赋初值B.编译时发现表达式中的括号不匹配C.运行时出现数组下标越界的情况D.运行时出现除数为0的情况
考题
以下程序执行的结果是什么?() int[] myArray = new int[3]; try{ for(int i=0; i=myArray.length;i++){ myArray[i]=i*3; System.out.println("myArray数组的第"+i+"个元素的值是:"+myArray[i]); } }catch(ArrayIndexOurOfBoubsException e){ System.out.println("数组下标越界");} A、程序执行,屏幕上显示“数组下标越界”B、程序出现异常,屏幕上提示出现数组下标越界异常C、程序正常执行结束,屏幕上显示数组中每个元素的值D、程序编译出错
考题
下列关于抛出异常的描述中,错误的一项是()。A、异常可以由try代码段中的语句抛出B、异常可以从被try代码段中调用的方法中抛出C、异常的抛出并不影响代码段的执行顺序D、异常还可能产生于数组下标越界及Java虚拟机内部的错误等
考题
下列说法正确的是()A、 在C#中,编译时对数组下标越界将作检查B、 在C#中,程序运行时,数组下标越界也不会产生异常C、 在C#中,程序运行时,数组下标越界是否产生异常由用户确定D、 在C#中,程序运行时,数组下标越界一定会产生异常
考题
单选题下列说法正确的是()A
在C#中,编译时对数组下标越界将作检查B
在C#中,程序运行时,数组下标越界也不会产生异常C
在C#中,程序运行时,数组下标越界是否产生异常由用户确定D
在C#中,程序运行时,数组下标越界一定会产生异常
考题
单选题数据下标越界,则发生异常,提示为()A
RuntimeExceptionB
IOExceptionC
ArrayIndexOutOfBoondExceptionD
classCastException
考题
单选题以下程序执行的结果是什么?() int[] myArray = new int[3]; try{ for(int i=0; i=myArray.length;i++){ myArray[i]=i*3; System.out.println("myArray数组的第"+i+"个元素的值是:"+myArray[i]); } }catch(ArrayIndexOurOfBoubsException e){ System.out.println("数组下标越界");}A
程序执行,屏幕上显示“数组下标越界”B
程序出现异常,屏幕上提示出现数组下标越界异常C
程序正常执行结束,屏幕上显示数组中每个元素的值D
程序编译出错
考题
多选题下列关于编程说法描述正确的是()。Apublic方法参数的合法性检查应由方法本身负责,每一个public方法必须保证自己的健壮性B调用方法获取返回结果后必须进行有效性校验,以确保后续代码在运行过程中不会抛出异常或产生逻辑错误C访问数组、List等容器内的元素时,必须首先检查下标是否越界,杜绝下标越界异常的发生D对于if?elseif?(后续可能有多个elseif…)这种类型的条件判断,最后必须包含一个else分支,避免出现分支遗漏造成错误;每个switch-case语句都必须保证有default,避免出现分支遗漏,造成错误
考题
单选题在Java语言中,在程序运行时会自动检查数组的下标是否越界,如果越界,会抛掷下面的()异常。A
NullpointerExceptionB
ArithmeticExceptioinC
ArrayIndexOutOfBoundsExceptionD
SecurityManager
热门标签
最新试卷