有以下程序 main() { int a=1,b; for(b=1;b=8)break; if(a%2==1){a+=5;continu有以下程序 main() { int a=1,b; for(b=1;b<=10;b++) { if(a>=8)break; if(a%2==1){a+=5;continue;} a-=3; } printf("%d\n",b); } 程序运行后的输出结果是______。A.3B.4C.5D.6

题目
有以下程序 main() { int a=1,b; for(b=1;b<=10;b++) { if(a>=8)break; if(a%2==1){a+=5;continu

有以下程序 main() { int a=1,b; for(b=1;b<=10;b++) { if(a>=8)break; if(a%2==1){a+=5;continue;} a-=3; } printf("%d\n",b); } 程序运行后的输出结果是______。

A.3

B.4

C.5

D.6


相似考题
更多“有以下程序 main() { int a=1,b; for(b=1;b<=10;b++) { if(a>=8)break; if(a%2==1){a+=5;continu ”相关问题
  • 第1题:

    有以下程序includemain(){intx=1,y=0,a=0,b=0; switch(x) {case1:switch(y){case0:a++

    有以下程序 #include <stdio.h> main() { int x=1,y=0,a=0,b=0; switch(x) { case 1: switch(y) { case 0:a++; break; case 1:b++; break; } case 2:a++;b++; break; case 3:a++;b++; } printf("a=%d,b=%d\n",a,b); } 程序的运行结果是

    A.a=1,b=0

    B.a=2,b=2

    C.a=1,b=1

    D.a=2,b=1


    正确答案:D
    解析:本题考查switch语句,首先,x=1符合条件case 1,执行switch(y)语句。y=0符合case 0语句,执行 a抖并跳出switch(y)语句,此时a=1。因为case 1语句后面没有break语句,所以向后执行case 2语句,执行a++,b++,然后跳出switch(x),得a=2,b=1。

  • 第2题:

    在执行下面的程序段后,a的值是为 ______。inta,, b;for(b=1,a=1; b<=50:b++){ if(a>=10)break; if

    在执行下面的程序段后,a的值是为 ______。 int a,, b; for(b=1,a=1; b<=50:b++) { if(a>=10)break; if(a%2= =1) {a+=5; continue;} a-=3; )

    A.2

    B.6

    C.10

    D.8


    正确答案:C

  • 第3题:

    有以下程序 main( ) { int a=0,i; for(i=1;i<5; i++) { switch (i) { case 0 case 3:a+ =2; case 1; case 2;a+=3; default, a+=5; } } printf("%d\n",a) ; }

    A.31

    B.13

    C.10

    D.20


    正确答案:A

  • 第4题:

    以下程序的输出结果是() include main( ) { int a,b; for(a=1,b=1,a<=50;a+ +)

    以下程序的输出结果是 ( ) # include<stdio.h> main( ) { int a,b; for(a=1,b=1,a<=50;a+ +) { if(b>=10) break; if (b%2==1) { b+=2; continue } b+=2; } printf("%d\n",a); }

    A.4

    B.5

    C.6

    D.7


    正确答案:C

  • 第5题:

    有以下程序main(){inta=i,b;for(b=1;b<=10;b++){if(a>=8)break;if(a%2==1){a+=5;continue;}a-=3;

    有以下程序 main() { int a=i,b; for(b=1;b<=10;b++) { if(a>=8) break; if(a%2==1) {a+=5; continue; } a-=3; } printf("%d\n",B) ; } 程序运行后的输出结果是

    A.3

    B.4

    C.5

    D.6


    正确答案:B
    解析:在一个循环体中,若执行到break则跳出循环体,执行循环体后面第一条语句;若执行到continue则开始下一次循环体的执行。本题中a的初始值为1,在循环体中首先判断a,如果>=8就用break跳出循环,接下来的判断语句a%2==1,是判断a除以2的余数是否为1,即a是否为奇数,是的话给a累加一个5,然后用continue开始下一次循环.若两个条件都不满足就让a自减一个3.因此第1次循环开始a为1不大于8,且是奇数,所以a被累加5开始下一次循环;第2次循环开始a为6不大于8,不是奇数,所以a被减去3;第3次循环开始a为3不大于8,是奇数,所以a被加上一个5;第4次开始a为8,满足第一个条件跳出循环。b在第1次循环时等于1,以后每次累加1,所以最后输出为4,选项B正确.

  • 第6题:

    有以下程序:include main( ){int a=1,b;for(b =1;b <=10;b++){if(a> =8) break; if(a%

    有以下程序:#include <stdio.h>main( ){ int a=1,b; for(b =1;b <=10;b++) { if(a> =8) break; if(a%2 == 1) {a + =5;continue;} a- =3; printf( "% d \n" ,b);}程序运行后的输出结果( )。

    A.3

    B.4

    C.5

    D.6


    正确答案:B
    解析:本题要注意break和continue的区别。continue语句只结束本次循环,继续下一次循环;而break语句则是结束整个循环。本题执行过程如下:a=1,b=1:a>=8不成立,a%2==1成立,执行a+=5,则a=6,继续执行下一次循环;a=6,b=2:a>=8不成立,a%2==1不成立,执行a-=3,则a=3,继续执行下一次循环;a=3,b=3:a>=8不成立,a%2==1成立,执行a+=5,则a=8,继续执行下一次循环;a=8,b=4:a>=8成立,结束整个循环,输出b的值4。

  • 第7题:

    (C语言)有以下程序

    main()

    {

    int a=1,b;

    for(b=1;b<=10;b++)

    {

    if(a>=8)break;

    www.54yjs.cn

    if(a%2==1) {a+=5;continue;}

    a-=3;

    }

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

    }

    程序运行的结果是

    A、3B、4C、5D、6


    正确答案:
              

  • 第8题:

    有以下程序: main() { int a=1,b; for(b=1;b<=10;b++) { if(a>=8)break;

    有以下程序: main() { int a=1,b; for(b=1;b<=10;b++) { if(a>=8)break; if(a%2=1){a+=5;continue;} a-=3; } printf("%d\n",b); } 程序运行后的输出结果是 ______。

    A.3

    B.4

    C.5

    D.6


    正确答案:B
    解析:break和continue的区别是:continue语句只结束本次循环,而不是终止整个循环的执行;而break语句则是结束整个循环过程,不再判断执行的条件是否成立。

  • 第9题:

    以下程序的输出结果是( )。 main { int a=1,b; for(b=1,b<=10;b++) { if(a>=8)break; if(a%2==1){a+=5;continue;} a=3;} printf("%d\n",b);

    A.3

    B.4

    C.5

    D.6


    正确答案:B
    当b=1时,a=1,第二个if语句成立,此时a=6,返回for循环;当b=2,两个if语句都为假,此时a=3,再返回循环;当b=3,第二个if成立,此时a=8,继续循环;当b=4,第一个if成立,退出for循环体时b为4,a为8。

  • 第10题:

    请阅读以下程序 main( ) { int x=1.y=0, a=0, b=0: switch(x) { case 1: switch(y) { case 0: a++; break; case 1: b++; break; } case 2: a++; b++; break; } cout<<"a="<<a<<"b="<<bend1; } 上面程序的输出结果是

    A.a=2, b=1

    B.a=1, b=1

    C.a=1. b=0

    D.a=2. b=2


    正确答案:A
    解析:本题考察switch语句的嵌套,以及break语句的使用规则,即break中断当前的执行流,不再执行下面的case语句,如果没有break语句,则会顺序执行随后语句。据此,读程序可知,内层switch执行case 0分支,故a增l,调出内层switch后,由于没有break语句,随后执行外层 switch的case 2分支,a又增1,b增1。故答案为A。

  • 第11题:

    下列程序的输出结果是(). main( ) { int x=1,y=0,a=0,b=0; switch(x) { case 1:switch(y) { case 0:a++;break; case 1:b++;break; } case 2:a++;b++;break; case 3:a++;b++;break; } printf("a=%d,b=%d/n",a,b); }

    • A、a=1,b=0
    • B、a=2,b=1
    • C、a=1,b=1
    • D、a=2,b=2

    正确答案:B

  • 第12题:

    单选题
    有以下程序#include main(){ int x=1,y=0,a=0,b=0; switch(x) {  case 1:      switch(y)      {       case 0:a++;break;       case 1:b++;break;      }  case 2:a++;b++;break;  case 3:a++;b++;break; } printf(a=%d,b=%d,a,b);}程序的运行结果是(  )。
    A

    a=1,b=0

    B

    a=2,b=2

    C

    a=1,b=1

    D

    a=2,b=1


    正确答案: D
    解析:
    当执行swicth语句时,首先计算紧跟其后一对括号中的表达式的值,然后在switch语句体内寻找与该值吻合的case标号。如果有与该值相等的标号,则执行该标号后开始的各语句,包括在其后的所有case和default中的语句,直到switch语句体结束;每当执行到break语句时,立即跳出 switch语句体。switch语句通常总是和break语句联合使用,使得switch语句真正起到分支的作用。本题中,x=1,首先进入外层分支1,接下来y=0,再进入内层分支0,执行a++,此时a=1,接下来遇到break,跳出内层switch;由于外层分支中没有break语句,会继续执行外层分支2,执行a++,b++,此时a=2,b=1;然后遇到break语句,跳出外层switch。答案选择D选项。

  • 第13题:

    有以下程序:main(){int a=1,b;for(b=1:b<=10;b++){if(a>=8)break;if(a%2==1){a+=5;continue;}a-=

    有以下程序: main() { int a=1,b; for(b=1:b<=10;b++) { if(a>=8)break; if(a%2==1){a+=5;continue;} a-=3: } printf("%d\n",B); } 程序运行后的输出结果是( )。

    A.3

    B.4

    C.5

    D.6


    正确答案:B
    解析:本题是考查手工模拟执行程序的能力。a初值是1,循环开始时b值为1,由于a>=8为假,不执行break,但a%2==1为真,执行a+=5,a值变为6,再执行continue跳过不执行a-=3语句,而立即开始下一次循环。这时b值为2,由于a值为6,a>=8仍为假,不执行break,但a%2==1为假,不执行复合语句“{a+=5;continue;}”而执行a-=3,a值变为3。再开始下一次循环,这时b值为3。由于a值为3,a>=8仍为假,不执行break,但a%2==1为真,执行a+=5,a值变为8,再执行continue跳过不执行a-=3语句,而立即开始下一次循环。这时b值为4。由于a值为8,a>=8为真,执行break,停止for循环。此时输出的b值应为4。

  • 第14题:

    有以下程序:main(){ int a=1,b; for(b=1 ;b<=10;b++) { if(a>=8) break; if(a%2==1) { a+=5; con

    有以下程序:

    main()

    {

    int a=1,b;

    for(b=1 ;b<=10;b++)

    {

    if(a>=8) break;

    if(a%2==1)

    { a+=5; continue; }

    a-=3;

    }

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

    }

    程序运行后的输出结果是( )。

    A.3

    B.4

    C.5

    D.6


    正确答案:B
    解析:本题中a的初始值为1,在循环体中首先判断a,如果>=8就用break跳出循环,接下来的判断语句a%2==1,是判断a除以2的余数是否为1,即a是否为奇数,是的话给a累加一个5,然后用continue开始下‘次循环。若两个条件都不满足就让a自减一个3。因此第1次循环开始a为1不大于8,且是奇数,所以a被累加5开始下—次循环;第2次循环开始a为6不大于8,不是奇数,所以a被减去3:第3次循环开始a为3不大于8,是奇数,所以a被加上一个5;第4次开始a为8,满足第一个条件跳出循环。b在第1次循环时等于1,以后每次累加1,所以最后输出为4,选项B正确。

  • 第15题:

    有以下程序:include void sum(int a[ ] ){a[0]=a[-1] +a[1];}main ( ){int a[10] = {

    有以下程序:#include <stdio, h>void sum(int a[ ] ){ a[0]=a[-1] +a[1];}main ( ){ int a[10] = {1,2,3,4,5,6,7,8,9,10}; sum(&a[2]); prinff("% d \n",a[2]); }程序运行后的输出结果是( )。

    A.6

    B.7

    C.5

    D.8


    正确答案:A
    解析:本题将主函数中a[2]的地址传递给了sum函数中的形参a[],使得sum函数中的(a+0)为主函数中a[2]的地址,所以a[-1]即*(a-1)的值为主函数中a[1]的值,故函数sum中a[0]=2+4。由于此函数中的a是指向主函数中的a[2],所以主函数中的a[2]的值即为6。

  • 第16题:

    请阅读以下程序

    main( )

    {

    int x=1,y=0,a=0,b=0;

    switch(x)

    case 1:

    switch(y)

    {

    case 0:a++;break;

    case 1:b++;break;

    }

    case 2:

    a++;b++;break;

    }

    cout<<"a="<<a<<"b="<<b<<endl;

    }

    上面程序的输出结果是

    A.a=2,b=1

    B.a=1,b=1

    C.a=1,b=0

    D.a=2,b=2


    正确答案:A
    解析:本题考察switch语句的嵌套,以及break语句的使用规则,不再执行下面的case语句,如果没有break语句,则会顺序执行随后语句。据此,读程序可知,内层switch执行case 0分支,故a增1,跳出内层switch后,由于没有break语句;随后执行外层switch的case 2分支,a又增1,b增1。故答案为A。

  • 第17题:

    以下程序的输出结果是 include void main (){int a=0, i;for (i=1; i<5; i++){swi

    以下程序的输出结果是 #include <iostream.h> void main () { int a=0, i; for (i=1; i<5; i++) { switch (i) { case 0 : case 3 : a+=2; case 1 : case 2 : a+=3; default : a+=5; } } cout<<a<<endl; return; }

    A.31

    B.13

    C.10

    D.20


    正确答案:A
    解析:本题考核for语句和switch语句的综合运用。switch语句的执行过程是:在switch后面的表达式的值和case后面常量表达式的值吻合时,就执行后面的语句。如果在该语句的后面没有break语句,则继续执行下一个case,直到遇到break语句或switch多分支的结束。在switch语句中,break语句的作用是使流程跳出switch结构,终止switch语句的执行。因为每个case语句后面都没有break语句,所以,第1次循环(i=1)执行后,a的值为8。第2次循环(i=2)执行过后,a的值变为16。第3次循环(i=3)执行过后,a的值变为26。第4次循环执行过后,a的值变为31。然后执行i++,这时循环条件为假,结束循环。所以最后a的值为31。

  • 第18题:

    有以下程序includemain(){intx=1,y=0,a=0,b=0;switch(X){case1:switch(y){case0:a++;b

    有以下程序 #include <stdio.h> main() { int x=1,y=0,a=0,b=0; switch(X) { case 1: switch(y) { case 0:a++; break; case 1:b++; break; } case 2:a++;b++;break; case 3:a++;b++; } printf("a=%d,b=%d\n",a,b); } 程序

    A.a=1,b=0

    B.a=2,b=2

    C.a=1,b=1

    D.a=2,b=1


    正确答案:D
    解析: 本题考查switch语句,首先,x=1符合条件casel,执行switch(y)语句,y=0符合case 0语句,执行a++并跳出switch(y)语句,此时a=1。因为case 1语句后面没有break语句,所以向后执行case2语句,执行a++,b++,然后跳出switch(x),得a=2,b=1。

  • 第19题:

    以下程序运行后的输出结果是int a=5;fun(int b){ static int a=10; a+=b++; printf("%d, ",a);}main{ int c=20; fun(c); a+=c++; printf("%d\n",a);}


    正确答案:30,25
    在本题中,程序首先定义了一个整型全局变量a,全局变量的作用域为整个程序。然后定义了一个fun函数,函数带有一个整型变量作为形参,在函数体中,首先定义了一个静态变量a,与全局变量a同名,在这种情况下,在函数fun中静态变量a具有更高的使用优先级,而在主函数中,全局变量a具有更高的使用优先级。
    在主函数中,首先定义一个整型变量c并初始化为20,然后调用fun函数,将变量c作为实参传递给函数,执行a+=b++,等价于a=a+(b++)=10+20=30,然后执行输出语句,输出变量a的结果“30,”,然后程序回到主函数中的a+=c++;语句执行,此语句等价于a=a+(c++)=5+20=25,然后输出变量a的结果25。因此,本题的程序运行后的输出结果是30,25。

  • 第20题:

    有下列程序:includemain(){int x=1,y=0,a=0,b=0;switch(x){ case 1:switch(y){ case 0

    有下列程序: #include <stdio.h> main() { int x=1,y=0,a=0,b=0; switch(x) { case 1: switch(y) { case 0:a++;break; case 1:b++;break; } case 2: a++;b++;break; case 3: a++;b++; } printf("a=%d,b=%d\n",a,B) ; } 程序的运行结果是( )。

    A.a=1,b=0

    B.a=2,b=2

    C.a=1,b=1

    D.a=2,b=1


    正确答案:D
    解析:本题考查的是用switch语句实现多分支选择结构,首先进入第一个switch(x)判断,进入case 1中进行嵌套判断,如果switch(y)也成立,a自加1,遇到break,退出嵌套,接着执行case 2,a自加为2,b自加为1,遇到break,结束循环,此时a=2,b=1,故选项D)正确.

  • 第21题:

    以下程序的输出结果是main() { int x=l,a=2,b=3; switch(x) { case 0:b++; case 1:a++;break; case 2:a++;b++; } printf("a=%d,b=%d\n",a,b); }


    正确答案:

    a=3,b=3


    在本题中,程序首先定于了三个整型变量x、a和b,其初值分别为1、2、3,然后执行switch选择语句,由于变量x的值为1,因此,执行case 1结构,这个结构中首先执行a++,即将变量a的值加1,然后执行break语句,执行此语句结束switch。此时,变量b的值没有发生变化。然后程序执行输出语句,根据输出语句的输出格式,最后程序的输出结果是a=3,b=3。

  • 第22题:

    有以下程序main(){ int a,b;for(a=1,b=1;a<=100;a++){if(b>=20)break; if(b%3==1) {b+=3;continu

    有以下程序 main() { int a,b; for(a=1,b=1;a<=100;a++) { if(b>=20)break; if(b%3==1) { b+=3; continue; } b-=5; } printf("%d\n",A) ; } 程序运行后的输出结果是( )

    A.7

    B.8

    C.9

    D.10


    正确答案:B

  • 第23题:

    单选题
    有以下程序#include main(){ int x=1,y=0,a=0,b=0; switch(x) {  case 1:      switch(y)      {       case 0:a++;break;       case 1:b++;break;      }  case 2:a++;b++;break;  case 3:a++;b++; } printf(a=%d,b=%d,a,b);}程序的运行结果是(  )。
    A

    a=2,b=1

    B

    a=2,b=2

    C

    a=1,b=1

    D

    a=1,b=0


    正确答案: C
    解析:
    当执行swicth语句时,首先计算紧跟其后一对括号中的表达式的值,然后在switch语句体内寻找与该值吻合的case标号。如果有与该值相等的标号,则执行该标号后开始的各语句,包括在其后的所有case和default中的语句,直到switch语句体结束;每当执行到break语句时,立即跳出 switch语句体。switch语句通常总是和break语句联合使用,使得switch语句真正起到分支的作用。本题中,x=1,首先进入外层分支1,接下来y=0,再进入内层分支0,执行a++,此时a=1,接下来遇到break,跳出内层switch;由于外层分支中没有break语句,会继续执行外层分支2,执行a++,b++,此时a=2,b=1;然后遇到break语句,跳出外层switch。答案选择A选项。