更多“以下程序段中循环体执行的次数为()。 for(m=4;m;m-=2)  for(n=1;n<4;n++)     {…}”相关问题
  • 第1题:

    若有以下程序段int m=0xabc,n=0xabc;m-=n;printf("%X\n",m);执行后输出结果是

    A.0X0

    B.0x0

    C.0

    D.0XABC


    正确答案:C
    解析:格式字符x或x是以十六进制无符号形式输出整型数(不带前导0x或OX)。对于x用abc输出,X用ABC输出。

  • 第2题:

    有以下程序 main() { int m,n; printf("Enter m,n:");scanf("%d%d",&m,&n); while(m!=n) { while(m>n)m-=n; while(n>m)n-=m; } printf("m=%d\n",m); } 如果从键盘上输入65 14<回车>,则输出结果为( )

    A.m=3

    B.m=2

    C.m=1

    D.m=0


    正确答案:C

  • 第3题:

    下列程序在输入m后,求满足条件“n!<=m<=(n+1)!”的值n,请将程序补充完整。include using

    下列程序在输入m后,求满足条件“n!<=m<=(n+1)!”的值n,请将程序补充完整。

    include <iostream>

    using namespace std;

    int main()

    {

    int n,m, jc = 1;

    cin>>m;

    for(n=2;jc<=m;n++)

    jc = jc*n;

    cout<<"n="<<【 】<<end1;

    return 0;

    }


    正确答案:(n-2)
    (n-2) 解析:研究本题中包含的语句“jc=m;”和“jc=jc*n:”,可发现本题是通过求出“n!”的值jc并检查该值是否大于m;如果小于等于,继续循环求出“(n+1)!”直到jc>m。跳出循环后,得到n的值并输出。题中要填出n的输出值,但应注意:如果直接填n,是错误的。因为在循环语句中先求出jc=jc*n,如果这时的jc>m,循环还没结束,n的值就比要求的值大1,结束循环后,执行n++后,再判断jc=m,所以n的值比所求的大2,故应填入n-2。

  • 第4题:

    以下程序中的for循环执行的次数是( )。include "stdio.h"define N 2define M N+1define NUM (M+1)*M/2main(){ int i,n=0; for(i=1;i<=NUM;i++)printf("n");}

    A.5

    B.6

    C.8

    D.9


    答案:C

  • 第5题:

    运行以下程序后,如果从键盘上输入65 14<回车>,则输出结果为_____。main(){int m,n;printf("Enter

    运行以下程序后,如果从键盘上输入65 14<回车>,则输出结果为_____。 main() { int m,n; printf("Enter m,n:"); scanf("%d%d",&m,&n); while(m!=n) { while(m>n)m-=n; while(n>m)n-=m; } printf("m=%d\n",m); }

    A.m=3

    B.m=2

    C.m=1

    D.m=0


    正确答案:C
    解析:分析程序可知,该程序实现的功能是对数m,n求其最大公约数。在本题中m与n的值分别为65与14,其最大公约数为1,故其输出结果为m=1。

  • 第6题:

    3下列程序中的循环体将会被执行( )。 public class ex26 { public static void main(String[] args) { int n=4; while(n<=8) { System.ou.println(n); n++; } } }

    A.8次

    B.2次

    C.4次

    D.5次


    正确答案:D

  • 第7题:

    阅读以下程序:includeclass kk{int m;public:static int n;kk(){m=0;1void setvalu

    阅读以下程序: #include<iostream.h> class kk { int m; public: static int n; kk() { m=0; 1 void setvalue() { m++; n++; } void output() { cout<<"m="<<m<<",n="<<n<<endl; } }; int kk::n; void main() { kk obj1,obj2; obi1.Setvalue(); obj1.output(); obj2.setValue(); Obj2.output(); } 该程序的执行结果是( )。

    A.m=1,n=1

    B.m=l,n=l m=1,n=1 m=1,n=2

    C.m=1,n=1

    D.m=1,n=1 m=2,n=1 m=2,n=2


    正确答案:B

  • 第8题:

    以下程序运行后的输出结果是main{ int i,m=0,n=0,k=0; for(i=9;i<=11;i++) switch(i/10) { case 0: m++;n++;break;  case 1: n++;break;  default:k++;n++; } printf("%d %d %d\n",m,n,k);}


    正确答案:1 3 0
    在本题中,程序首先定义了四个整型变量,其中变量i为循环变量,其他三个变量都被初始化为0。然后执行循环,从循环变量i的初值和结束条件我们可以看出,循环运行了三次。
    第一次循环,当i=9时,执行switch(i/10),由于变量i和10都是整型数值,按照C语言的规定,计算结果也应为整型,因此,i/10的结果为0,执行case 0结构,即变量m和n的值分别加1,然后执行break语句结束switch结构。
    第二次循环时,i=10,此时i/10=1,执行case 1结构,变量n的值再增加1,然后执行break语句结束switch结构。
    第三次循环时,i=11,此时i/10的结果仍然为1,执行case 1结构,变量n的值再增加1,然后执行break语句结束switch结构。
    循环结束,此时,变量m、n和k的值分别为1、3、0,然后执行输出语句,分别输出这几个变量的值,因此,程序最后的输出结果是1 3 0。

  • 第9题:

    以下程序段的执行结果是 ______。 Dim A(3, 3) For m = 1 To 3 For n = 1 To 3 If n = m Or n = 3 - m + 1 Then A(m, n) =m + n Else A(m, n) = 0 End If Next n Next m For m = 1 To 3 For n = 1 To 3 Print A(m, n); Next n Print Next m

    A. 1 1 1 1 1 1 1 1 1

    B.2 0 4 0 4 0 4 0 6

    C.0 0 0 0 0 0 0 0 0

    D.1 0 1 0 1 0 1 0 1


    正确答案:B

  • 第10题:

    以下程序段中Do...Loop循环执行的次数为______。 n=5 Do if n mod 2=0 then n=n\2 else n=n*3+1 end if Loop until n=1

    A.4

    B.3

    C.5

    D.2


    正确答案:C

  • 第11题:

    有以下程序 main() { int i,n=0; for(i=2;i<5;i++) { do {if(i%3)continue; n++; }while(!i); n++; } printf("n=%d\n",n); } 程序执行后输出结果是

    A.n=5

    B.n=2

    C.n=3

    D.n=4


    正确答案:D
    解析:do…while的结构形式为:do循环体,while(条件表达式),当程序执行到do后,先执行循环体一次,然后才对条件表达式进行计算、判断。若条件表达式的值为真,则重复执行一次循环体;否则退出,与while结构相比,do…while结构至少要执行一次循环体;运算符%是求模运算,即求两个数相除的余数。continue语句的作用时结束本次循环,即跳过本次循环中余下尚未执行的语句,接着再一次进行循环的条件判定。本题中,当i=2时,执行do循环。由于if表达式的条件为真,执行continue语句,结束本次循环,判断while循环条件为假,故退出while循环,执行n++,此时n的值为1,当i=3时,执行do循环。由于if(3%3)为假,执行下面的n++语句,此时n的值为2,结束本次循环,继续判断while循环条件为假,故退出while循环,执行n++语句,此时n的值为3;当i=4时,执行do循环。由于if(4%3)为真,执行continue语句,结束本次循环,继续判断 while循环条件为假,故退出while循环,执行n++,此时n的值为4;当i=5时,退出for循环,因此最后输出的n的值为4。

  • 第12题:

    以下for语句构成的循环执行的次数是()     #include      #define N 2  #define M N+l  #define NUM(M+1)*M/2      main( )  {int i,n=0;  for(i=1;i<=NUM;i++)        {n++;printf(“%d”,n);}        printf(“/n”);} 

    • A、5
    • B、6
    • C、8
    • D、9

    正确答案:C

  • 第13题:

    有如下事件过程: Private Sub Command1_Click( ) Dim m AS Integer,n AS Integer m=2:n=1 Print "m=";m;"n=";n Call TOD(m,n) Print "m=";m;"n=";n End Sub Sub TOD(x,y) x=x^2 y=y^3 End Sub 程序运行后,输出的结果为

    A.m=2,n=1 m=1,n=2

    B.m=2,n=1 m=4,n=1

    C.m=1,n=2 m=1,n=4

    D.m=1,n=2 m=2,n=4


    正确答案:B
    解析:本题考查的是函数调用和输出语句。定义了一个函数,函数的功能是:将实参传给形参,按址传送,将改变实参的数值,语句x=x^2的作用是将x的平方值赋给x,为4;语句y=y^3的作用是将y的三次方值传给y,为1;然后返回主调过程,输出变化前后的值。

  • 第14题:

    以下程序执行后的输出结果是【】。includemain(){int i, m=0,n=0,k=0;for(i=9;i<= 11 ;

    以下程序执行后的输出结果是【 】。

    include<iostream.h>

    main()

    {

    int i, m=0,n=0,k=0;

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

    switch(i/10)

    {

    case 0: m++; n++; break;

    case 10: n++; break;

    default: k++; n++;

    }

    cout<<m<<n<<k;

    }


    正确答案:132
    132

  • 第15题:

    以下程序的执行结果是______。 main() { int i,j,m=O,n=0; for (i=0;i<2;i++) {for (j=0;j<2;j++) if(j>=i) m=1;n++; printf("%d\n",n); } }

    A.4

    B.2

    C.1

    D.0


    正确答案:C

  • 第16题:

    运行以下程序后,如果从键盘上输入6514<回车>,则输出结果为______。 main() { int m,n; printf("En

    运行以下程序后,如果从键盘上输入6514<回车>,则输出结果为______。 main() { int m,n; printf("Enter m,n:"); scanf("%d%d",&m,&n); while(m!=n) { while(m>n)m-=n; while(n>m)n-=m; } printf("m=%d\n",m); }

    A.m=3

    B.m=2

    C.m=1

    D.m=0


    正确答案:C

  • 第17题:

    若有以下程序段: int m=0xabc, n=0xabc; m-=n; printf("% X\n", m); 执行后的输出结果是______。

    A.0X0

    B.0x0

    C.0

    D.0XABC


    正确答案:C
    解析:“%X”以十六进制无符号形式输出整数,变量m和n的初始值都是十六进制数,m=m-n=0xabc-oxabc=0x0,所以输出结果为0。

  • 第18题:

    下列程序中的循环体将会被执行______。 public class ex7 { public static void main(String[] args) { int n=4; while(n<=8) { System.out.println(n); n++; } } }

    A.8次

    B.4次

    C.2次

    D.5次


    正确答案:D

  • 第19题:

    以下程序段中Do...Loop循环执行的次数为( )。 n=5 Do lf n Mod 2=0 Then n=n\2 Else n=n*3+1 End If Loop untiln=1

    A.4

    B.3

    C.5

    D.2


    正确答案:C

  • 第20题:

    若有以下程序段int m=0xabc,n=0xabc;m-=n;printf("%x\n", m);执行后的输出结果是A.0x0 B.0x0 C.0 D.0xABC


    正确答案:C
    本题考查C语言中的数据输出格式。
    题目中定义了两个整型变量m、n,对这两个变量赋值,输入的数值为十六进制整数,并且有m=n。进行m-n运算后,将减法所得到的值赋给m,并将m值输出。其中printf的格式字符选用的格式字符为x,即以十六进制形式输出整数。注意,0x是表示该数为十六进制的标志,输出数据时,数据前面不会自动加上进制的标志。

  • 第21题:

    有以下程序: main { int i,n=0: for(i=2;i<5;i++) { do { if(i%3) continue: n++: }while(!i); n++: } printf("n=%d\n",n); } 程序执行后输出结果是( )。

    A.n=5

    B.n=2

    C.n=3

    D.n=4


    正确答案:D
    continue语句的作用是结束本次循环,即跳过本次循环体中余下尚未执行的语句,接着再一次进行循环的条件判定。

  • 第22题:

    若有如下程序: sub(int *t,int a[3][4]) { int m,n; for(m=0;m<3;m++) for(n=0;n<4;n++) { *t=a[m][n];t++;} } main() { int*t,s[3][4)={{1,2,3),{4,5,6),{7,8,9}}; t=(int*)malloc(50); sub(t,s); printf("%d,%d\n",t[4],t[7]); } 则程序运行后的输出结果是( )。

    A.4,7

    B.4,0

    C.5,8

    D.程序错误


    正确答案:B
    解析:本题定义了一个sub()函数,其作用为将一个二维数组按行复制到t所指的连续内存空间内。主程序中首先使用malloc()函数为t申请了50个字节的内存空间,然后调用sub()函数,将二维数组s的内容复制到t申请的内存空间内,最后输出t的第5个元素(t[4])和第8个元素(t[7]),即为3行4列二维数组中的s[1][0]和s[1][3]。s[1][0]是初始化列表中第二个大括号中的第一个值4,而s[1][3]应该是初始化列表中第二个大括号中的第4个值,但没有这么多初始值,C语言在这种情况下会自动将该元素设置为0,即s[3][4]={{1,2,3},{4,5,6},{7,8,9}}等价于s[3][4]={{1,2,3,0},{4,5,6,0),{7,8,9,0}}。所以最后输出结果是4,0,应该选择B。

  • 第23题:

    若有如下程序: main() { int n; for(n=0;n<9;n++) { if(n<1) {printf("%d",n); continue;} if(n==4)break; printf("%d",n); } } 则循环体执行的次数是( )。

    A.1

    B.5

    C.9

    D.死循环


    正确答案:B
    解析:因为在循环中存在一条这样的语句“if(n=4)break;”,所以循环变量n递增到4的时候循环会被强行结束。故一共循环了5次,每次n的值分别为0、1、2、3、4。应该选择B。

  • 第24题:

    定义:intm=5,n=3;则表达式m/=n+4的值是(),表达式m=(m=1,n=2,n-m)的值是(),表达式m+=m-=(m=1)*(n=2)的值是()-2。


    正确答案:5;1;-2