网友您好, 请在下方输入框内输入要搜索的题目:

题目内容 (请给出正确答案)
单选题
若有定义语句:int m[]={5,4,3,2,1},i=4;,则下面对m数组元素的引用中错误的是(  )。
A

m[--i]

B

m[2*2]

C

m[m[0]]

D

m[m[i]]


参考答案

参考解析
解析:
在C语言中,数组的下标是从0开始的,所以它的上限是数组元素个数减1。如果超过这个范围来引用数据元素就会溢出,造成运行时错误。本题的数组m有5个元素,所以它的下标范围是0~4。A项,--i的值为3;B项,2*2的值为4;C项,m[0]等于5,超出范围,出现溢出错误;D项,m[i]的值为4,即m[4]的值为1。答案选择C选项。
更多 “单选题若有定义语句:int m[]={5,4,3,2,1},i=4;,则下面对m数组元素的引用中错误的是(  )。A m[--i]B m[2*2]C m[m[0]]D m[m[i]]” 相关考题
考题 设有:int m[ ]={ 6,7,3,4,5},i=2;,下面数组元素引用错误的是( ) A.m[i]B.m[i-2]C.m[m[2]]D.m[i+ 1.5]

考题 下面程序的功能是:将字符数组a中下标值为偶数的元素从小到大排列,其他元素不变。请填空完成此程序。include <iostream>include <string>using namespace std;int main ( ){char a[]="changuage",t,m;int i,j,k;k=strlen(A) ;for (i=0; i<=k-2; i+=2){m=i;for (j=i+2; j<=k;【 】)if (a[m] >a [j]m=j;if(【 】){ t=a[i];a[i]=a[m];a [m] =t;}}cout<<a<<end1;return 0;}

考题 以下程序的运行结果是 int k=0; void fun(int m) {m+=k;k+=m;printf("m=%d k=%d",m,k++);} main() {int i=4; fun(i++); printf("i=%d k=%d\n",i,k); }A.m=4 k=5 i=5 k=5B.m=4 k=4 i=5 k=5C.m=4 k=4 i=4 k=5D.m=4 k=5 i=4 k=5

考题 以下程序的运行结果是______。 include fun(int a,int b) { int m=0,i=2; i+=m+1; m 以下程序的运行结果是______。include<iostrearn.b>fun(int a,int b){int m=0,i=2;i+=m+1;m=i+a+b;return m;}void main(){int k=4,m=1,p;p=fun(k,m);cout<<p<<end1;}

考题 阅读下面程序: include int fun2(int m) { if(m%3==0) return 1; else return 0; } 阅读下面程序:include <iostream.h>int fun2(int m){if(m%3==0)return 1;elsereturn 0;}void fun1(int m, int s){int i;for (i=1; i<m; i++)if(fun2(i))S=S*i;}void main(){int n=9, s=2;fun1(n, s);cout<<s<<end1;}该程序的运行结果是【 】。

考题 给定程序MODllC中函数fun的功能是:输出M行M列整数方阵,然后求两条对角线上各元素之和,返回此和数。inClude<coMo.h>inClude<stdio.h>dehne M 5/************fOUnd************/int fun(int n,int xx[][]){int i,j,sum=0;printf("\n The%dx%d matrix:\n"M,M);for(i=0;i<M;i++){ for(j=0;j<M;j++)/************found************/printf("%f",xx[i][j]);printf("\n");}for(i=0;i<n;i++)sum+=xx[i][i]+XX[i][[n-i-1];return(sum);}main( ){int aa[M][M]={{1,2,3,4,5),{4,3,2,1,0),{6,7,8,9,0},{9,8,7,6,5},{3,4,5,6,7}};clrscr( );printf("\n The sum Of all elements On 2 diagnals is %d."fun(M,aa));}

考题 若有定义语句“intm[]={5,4,3,2,1),i=4;”则下列对m数组元素的引用中错误的是( )。A.m[--i]SXB 若有定义语句“intm[]={5,4,3,2,1),i=4;”则下列对m数组元素的引用中错误的是( )。A.m[--i]B.m[2*2]C.m[m[o]]D.m[m[i]]

考题 若二维数组a有m列,且设a[0][0]位于数组的第一个位置上,则计算任一元素a[i][j]在数组中的位置的式子为( )A.i*m+jB.j*m+iC.i*m+j-1D.i*m+j+1

考题 下列给定程序中,函数fun()的功能是:给一维数组a输入任意4个整数,并按如下的规律输出。例如输入1,2,3,4,程序运行后输出以下方阵:4 1 2 33 4 1 22 3 4 11 2 3 4请改正程序中的错误,使它能得出正确的结果。注意;不要改动main 函数,不得增行或删行,也不得更改程序的结构。试题程序;include <stdio.h>define M 4/*******************************/void fun(int a){int i,j,k,m;printf("Enter 4 number: ");for (i=0; i<M; i++) scanf ("%d", a [i] );printf ("\n\n The result : \n\n ");for (i=M; i>0; i--){ k=a [M-1];for (j=M-1; j>0; j--)/**********************************/a[j]=a[j+1];a[0]=k;for (m=0 ;m<M; m++ ) printf ("%d ", a [m]);printf ("\n ");}}main (){int a [M];fun(a); printf("\n\n ");}

考题 阅读以下说明和C++程序,将应填(n)处的字句写在对应栏内。[说明]设计一程序,输入10个整数到一个数组中,调整这10个数在数组中的位置,使得其中最小的一个数成为数组的首元素,最大的一个数成为数组的末元素。[C++程序]include <iostream.h>define SIZE 10void main ( ){int data [SIZE];int m;cout<<"请输入"<<SIZE<<"个整数:";for ( m=0;m<SIZE; m++ ) (1);int j=0,k=0;for ( int i=1;i<SIZE; i++ )if ((2)) j=i;else if ( data[i]<data[k] ) (3);if (j>0 ) {int d=data[0];(4);data[k]=d;}if ( k<SIZE-1 ){int d=data [SIZE- 1 ];data[SIZE- 1 ]=data[j];(5);}cout<<end1<<" 排序后: ";for ( m=0;m<SIZE; m++ ) cout<<data[m]<<" " ;}

考题 以下函数模板max()的功能是返回数组a中最大元素的值。请将横线处缺失部分补充完整。template<typename T>T max(T a[],int n){T m=a[0]for(int i=1;i<n;i++)if(a[i]>m)______;return m;}

考题 以下程序的功能是调用函数fun计算m=1-2+3-4+…+9-10,并输出结果,请填空。int fun( int n){ int m=0,f=1,i; for(i=1;i=n;i++) { m+=i*f; f=-f; } return m;}main{ printf("m=%d\\n",); }

考题 以下程序中,函数 sumColumM的功能是:求出M行N列二维数组每列元素中的最小值,并计算它们的和值。和值通过形参传回主函数输出。请填空。define M 2define N 4void SumColumMin(int a[M][N],int *sum){ int i,j,k,s=0;for(i=0;i〈N;i++){ k=0;for(j=1;j<M;j++)if(a[k][i]>a[j][i])k=j;s+=【 】;}【 】 =s;}main( ){ int x[M][N]={3,2,5,1,4,1,8,3},s;SumColumMin(【 】);printf("%d\n",s);}

考题 若有定义语句:int m[]={5,4,3,2,1},i=4;,则下面对m数组元素的引用中错误的是______。A.m[-i]B.m[2*2]C.m[m[0]]D.m[m[i]]

考题 以下程序的运行结果是【 】。include<iostream.hfunc(int a,int b){statlC int m=0,i=2;i+=m+1;m=i+a+b;return m;}void main(){int k=4,m=1,p;p=func(k,m);cout<<p<<”,”;p=func(k,m);cout<<p<<endl;}

考题 若有说明int m[3][4]={3,9,7,8.5},(*q)[4];和赋值语句q=m;,则对数组元素m[i][j](其中0<=i<3,0<=j<4)值的正确引用为( )。A.(q+i)[j]B.*q[i][j]C.*(*q[i]+j)D.*(*(q+i)+j)

考题 下列给定程序中,函数fun()的功能是:输出M行N列整数方阵,然后求两条对角线上的各元素之和,返回此和数。请改正程序中的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构.试题程序:include <conio.h>include <stdio.h>define M 5/**********************************/iht fun(int n, int xx[ ][ ]){ int i, j, sum=0;printf("\nThe %d x %d matrix:\n",M,M);for(i=0;i<M;i++){ for (j=0; j<M; j++)/**********************************/printf("%4f",xx[i][j]);printf("\n");}for(i=0;i<n;i++)sum+=xx[i][i]+xx[i][n-i-1];return(sum);}main (){ int aa[M][M]={{1,2,3,4,5},{4,3,2,1,0},{6,7,8,9,0},{9,8,7,6,5},{3,4,5,6,7}};clrscr();printf("\nThe sum of all elements on 2diagnals is %d",fun(M, aa));}

考题 若有定义语句:int m[]={1,2,3,4,5},i=4;,则下面对m 数组元素的引用中错误的是A.m[++i] B.m[1*2] C.m[m[0]] D.m[m[--i]]

考题 有以下程序#include stdio.hMain(){ int i,j,m=1;For{i=i;i3;1++}( For(j=3;j0;j--){iF(i+j3)Break;m*=i*j;}}PrintF(“m=%d\n”,m)}程序运行后的输出结果是A.m=6B.m=2C.m=4D.m=5

考题 有以下程序: int m=1; void fun(int *n) { static int m=2; *n*=m-1; m+=2; } main() { int i; for(i=1;i<4;i++) { fun(m); printf("%d",m); } } 程序的输出结果是( )A.1317B.2630C.1315D.1111

考题 设数组a[0..n-l,O..m-l] (n>l,m>l)中的元素以行为主序存放,每个元素占用1个 存储单元,则数组元素a[ij](0<i<n,0<j<m)的存储位置相对于数组空间首地址的偏移量为(35)。A.j*m+iB.i*m+jC.j*n+iD.i*n+i

考题 若有说明int m[3][4]={3,9,7,8.5},(*q)[4];和赋值语句q=m;,则对数组元素m[i][j](其中O=i3,0=j4)值的正确引用为( )。A)(q i)[j]B)*q[il][j]C)*(*q[i] j)D)*(*(q i) j)

考题 设数组a[0..n-1,0..m-1](n>1,m>1)中的元素以行为主序存放,每个元素占用4个存储单元,则数组元素a[i,j](0≤iA.(j*m+i)*4 B.(i*m+j)*4 C.(j*n+i)*4 D.(i*n+j)*4

考题 若二维数组a有m列,则计算任一元素a[i][j]在数组中相对位置的公式为(假设a[0][0]位于数组的第一个位置上)( )A.i*m+j B.j*m+i C.i*m+j-1 D.i*m+j+1

考题 写出程序的运行结果。 #include main( ) { int i=0,j=0,k=0,m; for ( m=0;m4;m++ ) switch ( m ) { case 0:i=m++; case 1:j=m++; case 2:k=m++; case 3:m++; } printf ("/n%d,%d,%d,%d",i,j,k,m); } 该程序的执行结果是()。A、0,1,2,5B、0,1,2,4C、0,1,1,3D、0,1,2,3

考题 若二维数组a有m列,则计算任一元素a[i][j]在数组中位置的公式是()(假设a[0][0]位于数组的第一个位置上。)A、i*m+jB、j*m+iC、i*m+j-1D、i*m+j+1

考题 若二维数组a有m列,则计算任一元素a[i][j]在数组中位置的公式为()。(设a[0][0]位于数组的第一个位置上)A、i*m+jB、j*m+iC、i*m+j-1D、i*m+j+1