关于下面的代码行 int []arr={1,2,3}; for(int i=0;i关于下面的代码行 int []arr={1,2,3}; for(int i=0;iA、arr[0]==0B、arr[0]==01C、arr[1]==1D、arr[2]==0

题目
关于下面的代码行 int []arr={1,2,3}; for(int i=0;i<2;i++) arr[i]=0;哪一个表达式的值

关于下面的代码行 int []arr={1,2,3}; for(int i=0;i<2;i++) arr[i]=0;哪一个表达式的值为true()

A、arr[0]==0

B、arr[0]==01

C、arr[1]==1

D、arr[2]==0


相似考题
更多“关于下面的代码行 int []arr={1,2,3}; for(int i=0;i 关于下面的代码行 int []arr={1,2,3}; for(int i=0;iA、arr[0]==0B、arr[0]==01C、arr[1]==1D、arr[2]==0”相关问题
  • 第1题:

    (35)有下列程序代码实现生成20个0-100之间的随机整数,存于数组中,打印数组中大于50的数,并求这些数的和。请选择正确的程序段 ,完成程序。 Private Sub Commandl_Click() Dim arr(1 To 20) For i=1 To 20 arr(i)=________ Text1.Text=Text1.Text&arr(i)&Chr(13)&Chr(10) Next i Sum=0 For Each X________ If X>50 Then Print Tab(20);X Sum=Sum+X End If Next X Print Tab(20);"Sum=";Sum End SubA.Int(Rnd*99+1) In arr B.Int(Rnd) In arr C.Int(Rnd*99+1) In arr() D.Int(Rnd) In arr()


    正确答案:A
    【解析】Rnd函数用于产生一个小于1但大于或等于0的实数,题中要求0-100之间的随机整数,所以需要对Rnd产生的实数进行计算处理Int(Rnd*99+1)。要处理数组中的元素,使用For Each…Next语句处理数组元素时,Each后只需写出数组名,不能使用小括号。

  • 第2题:

    下面程序是求出数组arr的两条对角线上的元素之和,请填空。 include"stdio.h" main() { int arr[3][3]={2,3,4,8,3,2,7,9,8),a=0,b=0,i,j; for(i=0;i<3;i++) for(j=0;<3;j++) if(i=j) a=a+arr[i][j]; flor(i=0;i<3;i++) for(( );j>=0;j--) if(( )==2) b=b+arr[i][j]; printf("%d,%d\n",a,B); }


    正确答案:j=2 i+j==2
    j=2 i+j==2

  • 第3题:

    下面程序的输出是main(){ int arr[10],i,k=0; for(i=0;i<10;i++) arr[i]=i; for(i=1;i<4;i++) k+=arr[i]+i; printf("%d\n",k);}


    正确答案:12
    本题的考查点是for循环。
    第一个循环
    for(i=0;i<10;i++)
          arr[i]=i;
    是将数组元素0~9分别赋值为0~9。
    第二个循环
    for(i=1;i<4;i++)
          k+=arr[i]+i;
    可以变化成以下形式:
    for(i=1;i<4;i++)
          k=arr[i]+i+k;
    计算数组arr[1]、arr[2]、arr[3]的各个值,可以得到k的最终值为12。

  • 第4题:

    下列程序用于打印出ASCⅡ字符,其析构函数内的语句应为【 】。 include inelude

    下列程序用于打印出ASCⅡ字符,其析构函数内的语句应为【 】。

    include<iostream. h>

    inelude<iomanip, h>

    template<class T>

    class Array

    {

    T * elems;

    int size;

    public:

    Array(int.s);

    ~Array()

    T& operator[](int)

    void perator=(T)

    };

    template<class T>

    Array<T>::Array(int s)

    size=s;

    elems=new T[size]

    for(int i=0;i<size;i++)

    elems[i]=0

    }

    template<celass T>

    Array<T>::~Array()

    {

    ______

    template <class T>

    T& Array<T>::operator[](int index)

    {

    return elems[index];

    }

    template<class T>

    void Array<T>::operator=(T temp)

    {

    for(int i=0;i<size;i++)

    elems[i]=temp;

    }

    void main()

    {

    int i,n=26;

    Array<int> arr1(n)

    Array<char> arr2(n)

    for(i=0;i<n;i++)

    { -.

    arr1[i]='a'+i;

    arr2[i]='a'+i;

    }

    cout<<"ASCII 字符"<<endl;

    for(i=0;i<n;i++)

    cout<<setw(8)<<arr1[i]<<setw(8)<<arr2[i]<<endl;

    }


    正确答案:delete elems;
    delete elems; 解析:注意,用new动态申请的内存在使用完成后一定要用delete释放。

  • 第5题:

    以下不能对二维数组arr进行正确初始化的语句是()

    A.int arr[2][3]={0}

    B.int arr[][3]={1,2,3,4,5}

    C.int arr[2][3]={{1,2},{3,4},{5,6}}

    D.int arr[2][3]={{1},{3,4,5}}


    参考答案:C

  • 第6题:

    本题中数组arr中存储了学生的成绩,分别为87,45,56,78,67,56,91,62,82,63,程序的功能是计算低于平均分的人数,并打印输出结果。请在程序空缺部分填写适当内容。使程序能正确运行。

    public class javal{

    public static void main(String[]args){

    int arr[]={56,91,78,67,56,87,45,62,82,63};

    int num=arr.length

    int i=0;

    int sumScore= 0;

    int sumNum=0;

    double average;

    while(i<;num){

    sumScore=sumScore+arr[i];

    }

    average= ;

    i=0;

    do{

    if(arr[i]<;average)

    sumNum++:

    i++;

    }while( );

    System.OUt.println("average:"+average+",be-

    lows average:"+sumNum);

    }

    }


    正确答案:
    第1处:i++或i=i+1或i+=1第2处:(double)sumSeore/num第3处:i<num【解析】本程序首先通过第一个while循环求得平均数,再通过dowhile循环逐一比较,判断是否及格。第1处为while循环的自加;第2处计算平均数;第3处dowhile循环终止条件。

  • 第7题:

    本题的功能是用冒泡法对数组元素arr[]={30,1,-9,70)进行从小到大排列。冒泡法排序是比较相邻的两个元素的大小,然后把小的元素交换到前面。

    public class javal{

    public static void main(String[]args){

    int i,j;

    int arr[]={30,1,-9,70);

    int n= ;

    for(i=0;i<;n-1;i++){

    for(j=i+1;j<;n;j++){

    if(arr[i]>;arr[j]){

    int temp=arr[i];

    }

    }

    }

    for(i=0;i<;n;i++)

    System.out.print(arr[i]+"");

    }

    }


    正确答案:
    第1处:arr.length第2处:arr[]=arr[j]第3处:arr[j]=temp【解析】第1处从下面的循环结构可看出n的值应为数组的大小;第2处和第3处是借助临时变量把小的元素交换到前面。

  • 第8题:

    以下程序是一个函数,功能是求二阶矩阵(m行n列矩阵)的所有靠外侧的各元素值之和。(本程序中二阶矩阵用一维数组来表示。)

    例如,矩阵为:

    3 0 0 3

    2 5 7 3

    1 0 4 2

    则所有靠外侧的各元素值之和为3+0+0+3+2+3+1+0+4+2=18。

    add(int m,int n,int arr[])

    { int i,j,sum=0;

    for(i=0;i

    for(j=0;j<N;J++)

    sum=sum+ (7) ;

    for(j=0;j

    for(i=1; (8) ;i++)

    sum=sum+arr[i*n+j];

    return(sum);

    }


    正确答案:
    3.(7) arr[i*n+j](或者arr[i*10+j])

     (8) i<M-1(或者I<=M-2)

  • 第9题:

    阅渎以下说明和C代码,回答问题,将解答写入答题纸的对应栏内。 【说明】函数bubbleSort(int arr [ ] int n, int (*compare)(int, int)的功能是根据调用时传递的比较函数 compare 对数組arr的前n个元素进行排序。 【C代码】

    #define swap(a,b){a=a^b;b=a^b;a=a^b //交换a与b 的值int less(int x, int y){ return((xy)?1: 0);} void bubble Sort(int arr[ ], int n, int (*compare)(int, int)){ int i,j; int swapped= 1; for( i= 0; swapped; 1++) { swapped =0; for(j=0; j
    【问题1】设有如下数组定义:int data1[ ]={4,2.6.3,1};int data2[ ]={4,2,6.3,1}int datas3[ ]={4,2,6.3,1}请分别给出下面的函数调用执行后,数组 data1、data2和 data3 各自的元素序列。(1)bubble Sort(data1, 5, less);(2)bubbleSort(data2, 5, larger)(3)bubbleSort(data3, 3, larger)


    答案:
    解析:
    (1){1,2,3,4,6}(2){6,4,3,2,1}(3){6,4,2,3,1}
    【解析】

    swp 函数是将两元素值进行相互交换。less 数是判断x和y 的关系,如果 xy,则函数值为真; 在)bubbleSort函数中,第二个参数表示进行比素的个数,第三个参数表示进排序的方式,如果传入less函数,则是从小到大排序;如果传入large函数,则是从大到小排序。

  • 第10题:

    以下不能对二维数组arr进行正确初始化的语句是()

    • A、int arr[2][3]={0}
    • B、int arr[][3]={1,2,3,4,5}
    • C、int arr[2][3]={{1,2},{3,4},{5,6}}
    • D、int arr[2][3]={{1},{3,4,5}}

    正确答案:C

  • 第11题:

    关于数组元素的删除,请阅读下面的代码:$arr=array(0,1,2,3);unset($arr[1]);echo$arr[2];其正确的输出结果是()。

    • A、0
    • B、1
    • C、2
    • D、3

    正确答案:C

  • 第12题:

    单选题
    关于下面的代码行int[]arr={1,2,3};for(inti=0;i<2;i++)arr[i]=0,哪一个表达式的值为true()
    A

    arr[0]==0

    B

    arr[0]==01

    C

    arr[1]==1

    D

    arr[2]==0


    正确答案: D
    解析: 暂无解析

  • 第13题:

    本题的功能是计算二维数组各个元素的和。程序中定义了二维数组arr,arr有3行4列共l2个元素,程序中采用for循环语句的嵌套来计算数组中各个元素的和,并将结果保存在sum变量中,最后打印输出结果。 public class javal{ public static void main(String[] args){ int arr[][]={{l,2,3,4},{5,6,7,8},{9,10,11,12}}; int sum=0; int i=0,j=0; for(i=0; ) for( ) ; System.OUt.println("sum="+sum); } }


    正确答案:
    第1处:i<3;i++或i<=2;i++
    第2处:j=O;j<4;j++或j=0;j<=3;j++
    第3处:sum=sum+arr[i][j]
    【解析】第1处、第2处是由该数组是3行4列的数组而得出的遍历数组的循环条件;第3处是将数组元素累加并将最终累加结果赋给sum。

  • 第14题:

    下面程序的输出是( )。

    main()

    { int arr[8],i,k=0;

    for(i=0;i<8;i++)

    arr[i]=i;

    for(i=1;i<5;i++)

    k+=arr[i]+i;

    printf("%d\n",k);

    }


    正确答案:20
    20

  • 第15题:

    下列程序代码实现生成20个0~100之间的随机整数,存于数组中,打印数组中大于50的数,并求这些数的和。请选择正确的程序段是( ),完成程序。 Private Sub Commandl_Click() Dim arr(1 To 20) For i=1 To 20 arr(i)=______ Textl.Text=Textl.Text & arr(i)& Chr(13)& Chr(10) Next i Sum=0 For Each X ______ If X>50 Then Print Tab(20);X Sum=Sum+X End If Next X Print Tab(20);"Sum=";Sum End Sub

    A.Int(Rnd*99+1) In arr

    B.Int(RnD)In arr

    C.Int(Rnd*99+1) In arr()

    D.Int(RnD)In arr()


    正确答案:A
    解析:Rnd函数用于产生一个小于1但大于或等于0的实数,题中要求0~100之间的随机整数,所以需要对Rnd产生的实数进行计算处理Int(Rnd*99+1)。要处理数组中的元素,使用For Each…Next语句处理数组元素时,Each后只需写出数组名,不能使用小括号。

  • 第16题:

    以下程序的功能是,产生10个0~1000之间的随机整数,放入数组Arr中,然后输出其中的最大值。请填空。

    Option Base 1

    Private Sub Form. Click()

    Dim Arr(10) As Integer

    Dim Max As Integer

    Randomize

    For I = 1 To 10

    Arr(i) = Int (Rnd * 1000)

    Next i

    Max= ______

    For i = 2 To 10

    If______Then

    Max = Arr(i)

    End If

    Next i

    Print Max

    End Sub


    正确答案:Arr(1) Arr(i) > Max
    Arr(1) , Arr(i) > Max

  • 第17题:

    有以下程序: include include using namespace std; int main() {char arr[

    有以下程序: #include<iostream> #include<string> using namespace std; int main() { char arr[2][4]; strcpy(arr[0],"you"); strcpy(arr[1],"me"); arr[0][3]='&'; cout<<arr[0]<<end1; return 0; } 执行后的输出结果是( )。

    A.you&me

    B.you

    C.me

    D.err


    正确答案:A
    解析:本题考核字符串函数的使用。主函数中,首先定义了千个二维字符数组art。语句“strcpy(arr,"you");”中的alt代表二维字符数组的首元素地址,此语句的作用是将字符串“you”复制到arr数组的前4个元素中,第4个元素的值为'\0'。语句“strcpy(arr[1],"me");”的作用是把字符串“me”赋值到arr数组的第2行。语句“arr[0][3]='及';”的作用是用字符'&'取代了原来arr[0][3]中的字符'\0'。所以程序最后输出you&me。

  • 第18题:

    本题的功能是计算二维数组arr[][]={{34,21,45,67,20},{23,10,3,45,76},{22,3,79,56,50}}中的最小值,并输出。

    public class javal{

    public static void main(String[]args){

    int arr[][]={{34,21,45,67,20),{23,10,3,45,

    76},{22,3,79,56,50}};

    int i=0:

    intj=0;

    int min=arr[0][0];

    while(i<;3){

    while( ){

    if(arr[i][j]<;min)

    min=arr[i][j];

    j++;

    }

    }

    System.out.println("The min:"+min);

    }

    }


    正确答案:
    第1处:j<5或j<=4第2处:j=0第3处:i++或i+=1或i=i+1【解析】整个程序是要将最小的数组元素放到min里并输出。思路是将二维数组看成一维然后逐个遍历。第1处因为数组一共有5列;第2处、第3处为遍历同样看做一维数组的下一组数据元素,并做归零或加1运算。

  • 第19题:

    阅读以下说明和C函数,填补代码中的空缺(1)~(5),将解答填入答题纸的对应栏内。

    【说明1】 函数isPrime(int n)的功能是判断n是否为素数。若是,则返回1,否则返回0。素数是只能被1和自己整除的正整数。例如,最小的5个素数是2,3,5,7,11。 【C函数】 int isPrime (int n) { int k, t; if (n==2) return 1; if(n<2|| (1) ) return 0; /* 小于2的数或大于2的偶数不是素数 */ t=(int)sqrt(n)+1; for (k=3; k<t; k+=2) if ( (2) ) return 0; return 1; } 【说明2】 函数int minOne(int arr[], int k)的功能是用递归方法求指定数组中前k个元素中的最小者,并作为函数值返回。 【C函数】 int minOne (int arr[], int k) { int t; assert (k>0) ; if(k==1) return (3) ; t=minOne(arr+1, (4) ; if (arr[0]<t) return arr[0]; return (5) ; }


    正确答案:
    (1)n%2==0,或!(n%2),或其等价形式
    (2)n%k==0,或!(n%k),或其等价形式
    (3)arr[0],或*arr,或其等价形式
    (4)k-1,或其等价形式
    (5)t

  • 第20题:

    用指针作函数参数,编程序求一维数组中的最大和最小的元素值。

    #define N 10

    main()

    { void maxmin(int arr[],int *pt1,int *pt2,int n);

    int array[N]={10,7,19,29,4,0,7,35,-16,21},*p1,*p2,a,b;

    p1=&a; p2=&b;

    maxmin(array,p1,p2,N);

    printf("max=%d,min=%d",a,b);

    }

    void maxmin(int arr[],int *pt1,int *pt2,int n)

    { int i;

    *pt1=*pt2=arr[0];

    for(i=1;i<N;I++)

    { if(arr[i]>*pt1) (9) ;

    if(arr[i]<*pt2) (10) ;

    }

    }


    正确答案:
    4.(9) *ptr1=arr[i] (10) *ptr2=arr[i]

  • 第21题:

    阅读下列说明和C代码,回答下列问题。[说明]?? ?采用归并排序对n个元素进行递增排序时,首先将n个元素的数组分成各含n/2个元素的两个子数组,然后用归并排序对两个子数组进行递归排序,最后合并两个已经排序的子数组得到排序结果。?? ?下面的C代码是对上述归并算法的实现,其中的常量和变量说明如下:?? ?arr:待排序数组?? ?P,q,r:一个子数组的位置从P到q,另一个子数组的位置从q+1到r?? ?begin,end:待排序数组的起止位量?? ?left,right:临时存放待合并的两个子数组?? ?n1,n2:两个子数组的长度?? ?i,j,k:循环变量?? ?mid:临耐变量?? ?[C代码]?? ?#inciude<stdio, h>?? ?#include<stdlib, h>?? ?Define MAX 65536?? ?void merge(int arr [ ],int p,int q,int r) {?? ?int * left,* right;?? ?int n1,n2,I,j,k;?? ?n1=q-p+1;?? ?n2=r-q;?? ?If(left=(int *)malloc((n1+1) * sizeof(int)))=NULL) {?? ?Perror( "malloc error" );?? ?exit11?? ?}?? ?If((right = (int *)malloc((n2+1) * sizeof(int)))=NULL)?? ?Perror("malloc error");?? ?exit 11;?? ?}?? ?for(i=0;i<n1;i++){?? ?left[i]=arr [p+i];?? ?}?? ?left[i]=MAX;?? ?for(i=0;i<n2;i++){?? ?right[i]=arr[q+i+1]?? ?}?? ?right[i]=MAX;?? ?i=0;j=0;?? ?For(k=p;______;k++){?? ?If(left[i]>right[j] {?? ?______?? ?j++;?? ?}else{?? ?arr[k1]=left[i];?? ?i++;?? ?}?? ?}?? ?}?? ?Void merge Sort(int arr[ ], int begin, int end) {?? ?int mid;?? ?if(______){?? ?mid=(begin + end)/2;?? ?merge Sort(arr,begin,mid);?? ?______;?? ?Merge(arr,begin,mid,end);?? ?}?? ?}


    答案:
    解析:
    11、k<=r arr[k]=right[j] begin<end mergeSort(arr,mid+1,end)[解析] 首先,函数void merge(int arr[],int P,int q,int r)的意思是:对子数组arr[P…q]和子数组arr[q+L..r]进行合并。因此第一空为k<=q;由于是采用归并排序对n个元素进行递增排序,所以第二空是将left[i]和right[j]的小者存放到arr[k]中去,即arr[k]=right[j]:当数组长度为1时,停止递归,因为此时该数组有序,则第三空为begin<end,即数组至少有两个元素才进行递归。合并了begin到mid之间的元素,继续合并mid+1到end之间的元素,则第四空为mergeSort(arr,mid+1,end)。12、分治 T(n)=2T(n/2)+O(n) O(nlogn) O(n)[解析] 归并算法实际上就是将数组一直往下分割,直到分割到由一个元素组成的n个子数组,再往上两两归并。 将数组进行分割需要logN步,因为每次都是讲数组分割成两半(2x=N,x=logN)。 合并N个元素,需要进行N步,也就是O(N),则总的时间复杂度为O(NlogN)。 合并过程中,使用了”个中间变量存储,left=(int*)malloc((n1+1)*sizeof(int))。所以空间复杂度为O(n)。 推导递归式:假设n个元素进行归并排序需要T(n),可以将其分割成两个分别有n/2个元素的数组分别进行归并,也就是2T(n/2),在将这两个合并,需要O(n)的时间复杂度,则推导公式为T(n)=2T(n/2)+O(n)。13、n1+n2    

  • 第22题:

    "关于下面的代码行int[]arr={1,2,3};for(inti=0;i<2;i++)arr[i]=0,那一个表达式的值为true()"

    • A、arr[0]==0
    • B、arr[0]==01
    • C、arr[1]==1
    • D、arr[2]==0

    正确答案:A

  • 第23题:

    单选题
    关于数组元素的删除,请阅读下面的代码:$arr=array(0,1,2,3);unset($arr[1]);echo$arr[2];其正确的输出结果是()。
    A

    0

    B

    1

    C

    2

    D

    3


    正确答案: C
    解析: 暂无解析