单选题for( int i = min; i  Ainit i = min;while( i < max ){}Bint i = min;  do system.out.println(i++); } while( i< max );Cfor (int i=min; iDfor (int i=; i++

题目
单选题
for( int i = min; i 
A

 init i = min;while( i < max ){}

B

 int i = min;     do    system.out.println(i++);    } while( i< max );

C

 for (int i=min; i

D

 for (int i=; i++


相似考题
更多“单选题for( int i = min; i  A  init i = min;while( i  max ){}B  int i = min;  do system.out.println(i++); } while( i max );C  for (int i=min; iD  for (int i=; i++”相关问题
  • 第1题:

    下面程序段的输出结果是( )。 public class Test {public static void main(String args[]){ int[] a=new int[11]; int[] p=new int[4]; int k=5; for(int i= 1 ; i<= 10;i++) a[i]=i; for(int i=1 ; i<=3;i++) p[i]=a[i*i]; for(int i= 1 ;i<=3;i++) k=k+p[i]*2; System.out.println(k); }}

    A.37

    B.31

    C.33

    D.35


    正确答案:C

  • 第2题:

    在下面循环语句中循环体执行的次数为( )。int i=0; do i++; while(i*i<10);A、4B、3C、5D、2

    在下面循环语句中循环体执行的次数为( )。

    int i=0; do i++; while(i*i<10);

    A、4

    B、3

    C、5

    D、2


    参考答案A

  • 第3题:

    本程序用冒泡法对数组a[]的元素从大到小排序,请在程序空白处填空。 void bubble(int a[],int n) {int i,j,max,temp; max=n-1; do{j=0; for(i=0;i<max;i++) if(a[i]<a[i+1]) {temp=a[i];a[i]=a[i+1];a[i+1]=temp; j=i; } max=j; }while(( )); }


    正确答案:max>0
    max>0 解析:本题是典型的冒泡排序题,每一次for循环将从数组a中找出剩下数中的最大的值放在这些数的最前端,若数组a中有n个数,则完成数组排序共需n-1次循环。令max=n-1,每次循环后i值增1,imax条件不足,即n-1次循环后,此时i=j=max=0,循环结束。

  • 第4题:

    以下函数findmin拟实现存数组中查找最小值作为函数值返回,但程序中有错导致不能实现预定功能。 #define MAX 2147483647 int findmin(int x[],int n) {int i,min; min=MAX; for(i=0;i<n;i++) {if(min<x[i])min=x[i];} } 造成错误的原因是( )。

    A.定义语句int i,min;中min未赋初值

    B.赋值语句min=MAN;中,不应给min赋MAX值

    C.语句if(min<X[i])min=X[i];中判断条件设置错误

    D.赋值语句min=MAX;放错了位置


    正确答案:D
    解析:在C语言中,一个整型变量占用4个字节的内存单元,并按整型数的存储方式存放数据,允许存放的数值范围是:-2147483648~2147483647。所以在这个题目中定义的宏变量MAX的值就是整数范围内最大的数值,因而对于任意一个整数来说,其值都比MAX小,而判断最小值,是当找到的数比min小时,才交换。

  • 第5题:

    以下函数findmax拟实现在数组中查找最大值并作为函数值返回,但程序中有错导致不能实现预定功能。

    #d越lie MIN-2147483647

    int findmax(int X[],int n)

    { int i,max;

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

    {max=MIN;

    if(max<x[i])max=x[i];}

    return max;

    }

    造成错误的原因是

    A.定义语句int i,max;中max未赋初值

    B.赋值语句max=MIN;中,不应给max赋MIN值

    C.语句if(max<x[i])max=X[i];中判断条件设置错误

    D.赋值语句max=MIN;放错了位置


    正确答案:D
    解析:对max赋初值,应该要放在循环语句之前,不然每次循环都将是从MIN开始比较。

  • 第6题:

    阅读下列程序说明和C代码,将应填入(n)处的字句写在对应栏内。

    [函数2.1说明]

    函数void find(int *a, int n, int * max, int * min)的功能是在长度为n的整型数组a中,查找最大元素和最小元素的下标。main()中给出了调用find函数的一个实例。

    [函数2.1]

    include<stdio.h>

    void find(int *a, int n,int *max,int * min)

    { int i;

    *max =* min=0;

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

    if(a[i]>a[* max]) (1);

    else if(a[i]<a[*min]) (2);

    return;

    main()

    { int a[]={4,6,8,9,0,6},max,min;

    find(a,6,(3));

    printf("%5d%5d\n", max,min);

    }

    [函数2.2说明]

    以下程序用来对从键盘上输入的两个字符串进行比较,然后输出两个字符串前端的公共部分。例如:输入的两个字符串分别是abcdefg和abceef,则输出为abc。

    [函数2.2]

    include <stdio.h>

    main()

    { char str1[100],str2[100],str[100],c;

    int i=0,s;

    printf("\nInput string 1:");gets(str1);

    printf("\nInput string 2:");gets(str2);

    while(((4))&&(str1[i]!='\0')&&(str2[i]!='\0')){

    (5);

    i++;

    }

    printf("%s\n",str);

    }


    正确答案:(1) * max=i (2) * min=i (3) &max&min (4) str1[i]= =sir2[i] (5) str[i]=str1[i]或str[i]=str2[i]
    (1) * max=i (2) * min=i (3) &max,&min (4) str1[i]= =sir2[i] (5) str[i]=str1[i]或str[i]=str2[i] 解析:(1)若下标i的数大于当前的最大值,则更新最大元的下标;
    (2)若下标i的数小于当前的最小值,则更新最小元的下标;
    (3)根据find函数对形参的要求,此处应传递max和 min的地址;
    (4)此循环用于获取str1和str2从前端起的公共部分,一旦两字符串在某位置上不等即刻退出循环;
    (5)所求的公共子串应保存于str,因此在循环过程中应不断取出公共部分的每一个字符。

  • 第7题:

    下面程序段的输出结果是( )。 public class TeSt{ public static voidmain(Stringargs[]){ int[]a=new int[11]; int[]p=new int[4]; intk=5; for(int i=1;i<=10;i++) a[i]=i; for(inti=1;i<=3;i++) p[i]=a[i*i]; for(inti=1;i<=3;i++) k=k+p[i]*2; System.out.println(k); } }

    A.37

    B.31

    C.33

    D.35


    正确答案:C
    解析: 本题是对for循环语句和数组的综合考查。题中共定义了两个数组:a[]和p[],共用了3次for循环:第1个for语句对数组a[i]赋值;第2个for语句和对数组p[i]赋值;第3个for语句计算k的值。3次循环分别得到:5,15和33。正确答案为选项C。

  • 第8题:

    下列选项中,不能输出100个整数的是( )。

    A.for(int i=0;i<100;i++) System.out.println(i);

    B.int i=0; do{ System.out.println(i); i++; }while(i<100);

    C.int i=0; while(i<100){ System.out.println(i); i++; }

    D.int i=0; while(i<100){ i++; if(i<100)continue; System.OUt.println(i); }


    正确答案:D
    D。【解析】continue语句的作用是不执行循环体后面的语句直接进入循环判断阶段。所以本题选D。

  • 第9题:

    下列语句中不是死循环的是( )。

    A.int i=10;

    B.for(int i=1;j<10;i++) while(1) { { i--; i--; } if(i==1)break;

    C.int i-0;

    D.int i=1:


    正确答案:A
    选项A中i自减到1时就会执行break语句跳出循环,选项B中i<10永远成立不会跳出循环.选项C中第一次进入循环体后i>0永远不会跳出循环,选项D中未给出结束循环的条件。

  • 第10题:

    ArraryList a = new ArrayList();  a.add(“Alpha”);  a.add(“Bravo”):  a.add(“Charlie”);  a.add(“Delta”);  Iterator iter = a.iterator(); Which two, added at line 17, print the names in the ArrayList in alphabetical order?()

    • A、 for (int i=0; i< a.size(); i++)     System.out.println(a.get(i)));
    • B、 for (int i=0; i< a.size(); i++)     System.out.println(a[i]);
    • C、 while( iter.hasNext() )     System.out.println(iter.next()) ;
    • D、 for (int i=0, i< a.size(); i++)    System.out.println(iter[i]);
    • E、 for (int i=0; i< a.size(); i++)    System.out.println(iter.get(i));

    正确答案:A,C

  • 第11题:

    for( int i = min; i 

    • A、 init i = min;while( i < max ){}
    • B、 int i = min;     do    system.out.println(i++);    } while( i< max );
    • C、 for (int i=min; i
    • D、 for (int i=; i++

    正确答案:B

  • 第12题:

    单选题
    以下函数findmax拟实现在数组中查找最大值并作为函数值返回,但程序中有错导致不能实现预定功能。#define MIN -2147483647int fingmax (int x[],int n){ int i,max; for(i=0;i
    A

    定义语句int i,max;中,max未赋初值

    B

    赋值语句max=MIN;中,不应给max赋MIN值

    C

    语句if(max<x[i])max=x[i];中,判断条件设置错误

    D

    赋值语句max=MIN;放错了位置


    正确答案: A
    解析:
    本题中for循环中首先将MIN值赋值给max,然后用x[i]与max的值比较。每次都是将MIN值与x[i]值进行比较,所以无论x[i]的值是什么,都不会影响if的判断语句,max=x[i]始终执行。所以函数返回的是数组中最后一个元素的值。程序的错误在于max=MIN的位置,for循环之前应先执行max=MIN。所以答案选择D选项。

  • 第13题:

    ( 7 )在执行语句序列int i=0; do i++; while(i*i<10);时, do 后面的循环体语句 i++ 被执行的次数为 【 7 】 。


    正确答案:

  • 第14题:

    请完成下列Java程序:查找一个矩阵中的鞍点,对于一个二维数组中的鞍点,该点位置上的元素在该行上最小,在该列上最大,也可能没有鞍点。数组大小为4行5列。

    注意:请勿改动main()主方法和其他已有语句内容,仅在下划线处填入适当的语句。

    public class ex30_2 {

    public static void main(String[] args) {

    int i, j, flag,m=4,n=5;

    int[] min=new int [4];

    int[] max=new int [5];

    int r[] []={{2,5,6,7,9},

    {32,65,2,78,12},

    {1,8,5,96,4},

    {5,3,21,73,23}};

    flag=0;

    for (i=0; i<m; i++) {//获取元素在该行上最大

    min[i]=r[i] [0];

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

    if(r[i] [j]<min[i])

    ___________________;

    }

    for (j = 0; j <n; j ++ ) { //获取同一元素在该列上最大

    max[j]=r[0] [j];

    for(i=l;i<m;i++)

    if(r[i] [j]>max[j])

    _______________________

    }

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

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

    if(min[i]==max[j]){

    System.out.print("("+i+", "+j+") : "+r[i] [j]);

    flag=1;

    }

    if(flag==0)

    System.out.println("没有鞍点!");

    }

    }


    正确答案:min[i]=r[i][j] max[j]=r[i][j]
    min[i]=r[i][j] max[j]=r[i][j] 解析:本题主要考查二维数组和for循环语句。解题关键是首先找出每行中最小的元素放在min数组中,再求出每列中最大的元素放在max数组中,再对两个数组中的每个数进行比较,如果有相同的,则这个数就是鞍点。本题中,第1个空,将每行最小的元素写给min数组;第2个空,将每列中最大的元素写给max数组。

  • 第15题:

    for(inti=min;i

    A.initi=min;while(i<max){}

    B.inti=min; do system.out.println(i++); }while(i<max);

    C.for(inti=min;i

    D.for(inti=;i++


    参考答案:B

  • 第16题:

    下列各循环语句中,不是死循环的是( )。

    A.int i=100; while(1){ i=i%100+1; if(i==20) break; }

    B.int i,sum=0; for(i=1;;i++) sum=sum+1;

    C.int k=0; do{ ++k; }while(k>=0);

    D.int s=3379; while(s++%2+3%2) s++;


    正确答案:A
    解析:分析各个选项。选项A中,当变量i的值等于20时,会执行break;语句,即退出整个while循环体。所以选项A的循环语句不是死循环。其他各个选项的循环语句中,没有循环退出点,所以都是死循环。

  • 第17题:

    下面函数的功能是找出一维数组元素中最大的值和它所在的下标,最大值的和它所在的下标通过形参传回。#include <stdlib.h>#include <stdio.h>void fun(int a[ ],int n,int *max,int *d){ int i; *max=a[0]; *d=0; for(i=0;;i++) if(*max<) { *max=a[i];*d=i; }}


    正确答案:i<n,a[i]
    在本题中,fun函数的功能是找出一维数组元素中最大的值和它所在的下标,最大的值和它所在的下标通过形参传回。要通过形参传回值,那么需要采用的传值方式是传址传值法,即传递地址,指针或数组能实现传址传值。
    在程序中,fun函数带了四个形参变量,其中数组a是需要被处理的一维数组,n是数组中元素的个数,指针变量max和d分别用于返回最大值和下标。
    在程序体中,定义一个循环变量i,并给指针变量max和d进行赋初值操作,然后执行for循环,从程序中很明显地能看出,第12空所处的位置正是for循环的结束条件,结合题目的要求,我们不难推断出这个循环的作用是找出数组中最大的元素及其下标,那么循环结束的条件是遍历完数组中的元素,即循环变量i小于数组中元素的个数,用表达式表示为i<n。
    第13空是一个条件判断语句的条件部分,条件如果成立,则将当前数组的元素值赋给*max,并用*d记录当前值的数组下标。结合题目的要求,我们不难推断出该条件判断语句的作用是判定当前最大值max与所取数组元素的大小。因此,本空处需要填写的内容是a[i]。

  • 第18题:

    阅读以下说明和C语言函数,将应填入(n)处的字句写在对应栏内。

    【说明】

    输入数组,最大的与第一个元素交换,最小的与最后一个元素交换,输出数组。

    【函数】

    main ( )

    {

    int number[10];

    input (number);

    max min (number);

    output (number);

    }

    input (number)

    int number[10];

    {int i;

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

    scanf ( "%d,",&number[i] );

    scanf ( "%d",&number[9] );

    }

    max_min ( array )

    int array[10];

    {int *max,*min,k,1;

    int *p,*arr_end;

    arr end=(1);

    max=min=array;

    for ( p=(2);p<arr_end;p++ )

    if((3)) max=p;

    else if ( *p<*min ) min=p;

    (4);

    l=*min;

    (5);array[0]=1;1=*p;

    *p=array[9];array[9]=k;k=*p;

    return;

    }

    output ( array )

    int array[10];

    { int *p;

    for ( p=array;p<array+9;p++ )

    printf ( "%d,",*p );

    printf ( "%d\n",array[9] );

    }


    正确答案:(1)array+10 (2) array+1 (3) *p>*max (4) k=*max (5) *p=array[0]
    (1)array+10 (2) array+1 (3) *p>*max (4) k=*max (5) *p=array[0]

  • 第19题:

    阅读下列程序:includevoid main(){int i,row=0,column=0,min;static int a[3][3]={

    阅读下列程序: #include<iostream.h> void main() { int i,row=0,column=0,min; static int a[3][3]={100,28,72,-30,2,?100}; min=a[0][0]; for(i=0;i<3;i++) for(j=0;j<3;j++) if(a[i][j]<min) { min=a[i][j];

    A.-100,2,3

    B.-100,1,2

    C.100,1,1

    D.100,0,0


    正确答案:B
    解析: 该程序是找到数组a中的最小值,然后输出其数值及行、列。首先将min的值赋值为a中的第一行第一列的数值。然后在for两层循环中利用if语句进行大小比较,求出数组最小值,即-100。它的位置为第二行,第三列。标识由0开始计数,所以是1,2。

  • 第20题:

    下列选项中,不能输出100个整数的是( )。A.for(int i=0;i<100;i++) System.out.println(i);B.int

    下列选项中,不能输出100个整数的是( )。

    A.for(int i=0;i<100;i++) System.out.println(i);

    B.int i=0; do{ System.out.println(i); i++; }while(i<100);

    C.int i=0; while(i<100){ System.out.println(i); i++; }

    D.int i=0; while(i<100){ i++; if(i<100)continue; System.OUt.println(i); }


    正确答案:D
    D。【解析】continue语句的作用是不执行循环体后面的语句直接进入循环判断阶段。所以本题选D。

  • 第21题:

    下列语句中不是死循环的是

    A.int i=10;

    B.for(int i=1;i<10;i++) while(1) { { i--; i--; } if(i= =1)break; }

    C.int i=0;

    D.int i=1; do{ for(;;)1=i+1; i++; }while(i>=0);


    正确答案:A
    解析:选项A)中i自减到l时就会执行break语句跳出循环,选项B)中i10永远成立不会跳出循环,选项C)中第一次进入循环体后i>0永远不会跳出循环,选项D)中未给出结束循环的条件。

  • 第22题:

    考虑下面的函数: int min(int x,int y){return xint max(int x,int y){return x>y?x:y;} 对于下面的代码: t=0; for(i=max(x,y);i>=min(x,y);i--) t+=i; 假设x=1,y=100,则可以得到函数调用的次数为()

    • A、200
    • B、201
    • C、101
    • D、102

    正确答案:D

  • 第23题:

    单选题
    考虑下面的函数: int min(int x,int y){return xint max(int x,int y){return x>y?x:y;} 对于下面的代码: t=0; for(i=max(x,y);i>=min(x,y);i--) t+=i; 假设x=1,y=100,则可以得到函数调用的次数为()
    A

    200

    B

    201

    C

    101

    D

    102


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