更多“执行下列语句的结果为______。i=3;printf("%d,",++i);printf("%d",i++);A.3,3B.3,4C.4,3D.4,4 ”相关问题
  • 第1题:

    有下列程序: include main() { int s[12]={1,2,3,4,4,3,2,1,1,

    有下列程序: #include <stdio.h> main() { int s[12]={1,2,3,4,4,3,2,1,1,1,2,3},c[5]={0},i; for(i=0;i<12;i++)c[s[i]]++; for(i=1;i<5;i++)printf("%d",c[i]); printf("\n"); 程序的运行结果是( )。

    A.1 2 3 4

    B.2 3 4 4

    C.4 3 3 2

    D.1 1 2 3


    正确答案:C
    解析:本题考查for语句的循环控制,首先定义了两个数组并赋予了初始值,第一个for循环语句循环12次遍历s数组的各个元素,将s[]中的元素值作为c[]数组中的下标,使相应的值自加。例如当i=0,c[s[0)++为c[1]++,其值变为1,当执行i=1,2,...11后,c[1]、c[2]、 c[3]、c[4]分别为4、3、3,2,故选项C)为正确的运行结果。

  • 第2题:

    有下列程序:

    main()

    {inti;

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

    {if(i+ +%5==0)

    if(++i%8==0) printf("%d",i);

    }

    printf("\n");

    } 执行后的输出结果是( )

    A.5

    B.24

    C.32

    D.40


    正确答案:C
    解析:在for循环体中,首先判断自变量i能否被 5整除,然后再自加两次,最后判断i能否被8整除。当 for循环执行到第30次时,i的值为30能被5整除,然后 i经过两次自加1运算,值变为32,能被8整除,故执行“printf("%d",i);语句,即输出32。本题的答案为选项C)

  • 第3题:

    有以下程序 main( ) { int i; for(i=0;i<3;i++) switch(i) { case 1: printf("%d",i); case 2: printf("%d",i); default: printf("%d",i); } } 执行后输出的结果是

    A.11122

    B.12

    C.12020

    D.120


    正确答案:A
    解析:当执行switch语句时,首先计算紧跟其后一对括号中的值,然后在语句体内寻找与该值吻合的case标号。若相等,则执行该标号后开始的各语句,包括在其后的所有case和default后的语句,直到switch语句体结束。

  • 第4题:

    下列程序的输出结果是【 】。

    main()

    { int i;

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

    { if(i>4)

    { printf("%d\n",i);

    break;}

    printf("%d\n",i++);}}


    正确答案:1 3 5
    1 3 5 解析:本题考查了for循环语句的使用,break语句用在本题中是结束for循环直接跳出循环体外。当i=1时,因为if语句条件不满足,所以直接执行printf("%d \n",i++);输出1,同时i自加1;执行第二次for循环时,i:3;同样的if语句条件不满足,所以直接执行 printf("%d\n",i++);输出3,同时i自加1执行第三次for循环时,i=5,讧语句条件满足,所以执行printf ("%d\n",i)输出5,然后break语句跳出了for循环。

  • 第5题:

    下列程序段中的变量已正确定义: for(i=0;i<4;i++,i++)for(k=1;k<3;k++);printf("*&qu

    下列程序段中的变量已正确定义:

    for(i=0;i<4;i++,i++)

    for(k=1;k<3;k++);printf("*");

    程序段的输出结果是( )。

    A.********

    B.****

    C.**

    D.*


    正确答案:D
    D。【解析】本题中第二个for循环语句的后面有一个分号,所以两个for循环语句的执行语句为空。当两个for循环语句执行完后,再执行printf语句输出一个星号。所以正确答案为选项D。

  • 第6题:

    有以下程序:includemain(){int s[12]={1,2,3,4,4,3,2,1,1,1,2,3},c[5]={0},i;for(i=0;

    有以下程序: #include<stdio.h> main() {int s[12]={1,2,3,4,4,3,2,1,1,1,2,3},c[5]={0},i; for(i=0;i<12;i++)c[s[i]]++; for(i=1;i<5;i++)printf("%d",c[i]); printf("\n"); } 程序的运行结果是( )。

    A.1 2 3 4

    B.2 3 4 4

    C.4 3 3 2

    D.1 1 2 3


    正确答案:C
    解析:程序中定义了两个数组s和c,数组c中有5个元素,每个元素的初始值为0;数组s中有12个元素,包含4个“1”,3个“2”,3各“3”,2个“4”。第一个for语句中,用s[i]作为c数组的下标,用于统计s[i]中相同数字的个数,同时将统计的结果放在以该数字为下标的c数组中。第二个for语句用于将c数组中a[1]~a[4]4个元素输出。

  • 第7题:

    有以下程序

    main()

    { int i;

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

    { if(i++%5==0)

    if(++i%8==0) printf("%d",i);

    }

    printf("\n");

    }

    执行后的输出结果是

    A.5

    B.24

    C.32

    D.40


    正确答案:C
    解析:当for循环执行到第30次时,i的值为30能被5整除,然后继续执行两次if语句,i经过两次自加1运算,值变为32,能被8整除,故此时第一次执行"printf("%d",i);"语句,即输出32。

  • 第8题:

    有下列程序: main () { int i; for (i=1;i<=40; i++) { if (i++%5==0) if(++i%8==0) printf("%d",i); } printf ("\n"); } 执行后的输出结果是( )。

    A.5

    B.24

    C.32

    D.40


    正确答案:C
    解析:在for循环体中,首先判断自变量i能否被5整除,然后再自加两次,最后判断i能否被8整除。当for循环执行到第30次时, i的值为30能被5整除,然后i经过两次自加1运算,值变为32,能被8整除,故执行“pnntf("%d",i);"语句,即输出32。本题的答案为选项C)。

  • 第9题:

    有以下程序main(){ int i; for(i=0;i<3;i++) switch(i) { case 1: printf("%d",i); case 2: printf("%d",i); default: printf("%d",i); }}程序执行后的输出结果是A.011122 B.012C.012020 D.120


    正确答案:A
    在本题中,程序首先定义了一个循环变量i,然后执行for循环,从循环变量的初始值及循环的结束条件可以判断出循环执行3次。
    第一次循环时,i=0,然后执行switch语句,由于i=0,无法找到匹配的case结构,执行default结构,此时输出变量i的值0。本次循环结束。
    第二次循环时,i=1,然后执行switch语句,由于i=1,首先执行case 1结构,输出1,由于没有break,程序接着执行case 1结构,又输出1,接着又执行default结构,又输出一个1。在本次循环中,总共输出3个1。
    第三次循环时,i=2,然后执行switch语句,由于i=2,首先执行case 2结构,输出2,由于没有break,程序接着执行default结构,又输出一个2。在本次循环中,总共输出2个2。三次循环后循环结束,主函数结束。
    从上面对程序的分析我们可以知道,程序最后的输出结果是011122。因此本题的正确答案选A。

  • 第10题:

    有以下程序 main() { int i; for(i=0;<3;i++) switch(i) { csse 1: printf("%d",i); case 2: printf("%d",i); default: printf("%d",i); } } 执行后输出结果是

    A.11122

    B.12

    C.12020

    D.120


    正确答案:A
    解析:for循环执行了3次,第一次时i的值为0,执行其后的switch语句,没有匹配的case,执行default语句后的printf语句,输出为0;第二次循环时i的值为1,执行其后的switch语句,与第一个case分支匹配,执行其后的printf语句,输出1,由于没有遇到break语句,所以一直向下执行,又输出了两个1,第三次循环时i值为2,执行其后的switch语句,同理输出两个2。

  • 第11题:

    有以下程序: main() { int i; for(i=0;i<3;i++) switch(i) { case1:printf("%d",i); case2:printf("%d",i); default:printf("%d",i); } } 执行后输出结果是( )。

    A.11122

    B.12

    C.12020

    D.120


    正确答案:A
    解析:for循环执行了3次,第一次时i的值为0,执行其后的switch语句,没有匹配的分支,执行default语句后的printf语句,输出为0;第二次循环时i的值为1,执行其后的switch语句,与第一个分支匹配,执行其后的primf语句,输出1,由于没有遇到break语句,所以一直向下执行,又输出了两个1,第三次循环时i值为2,执行其后的switch语句,同理输出两个2。所以, A选项是正确的。

  • 第12题:

    单选题
    有以下函数:#include void func(int n){ int i; for(i=0;i<=n;i++)printf(*); printf(#);}main(){ func(3); printf(????); func(4); printf();}程序运行后的输出结果是(  )。
    A

    ****#????***#

    B

    ***#????*****#

    C

    **#????*****#

    D

    ****#????*****#


    正确答案: D
    解析:
    从main函数开始,执行func()函数,for循环执行4次,连续输出四个“*”,然后输出一个“#”;输出“????”;再次调用func(),for循环执行5次,连续输出五个“*”,然后输出一个“#”;最后输出换行符。答案选择D选项。

  • 第13题:

    有以下程序: main() {int i,t[][3]={9,8,7,6,5,4,3,2,1}; for(i=0;i<3;i++)printf("%",t[2-i][i]); } 程序执行后的输出结果是( )。

    A.7 5 3

    B.3 5 7

    C.3 6 9

    D.7 5 1


    正确答案:B
    解析:定义二维数组时第一维的长度可以不指定,该程序中t[][3]通过赋初值等价于t[3][3],并且其数组按行进行赋值,故通过for循环输出的分别是t[2][0]、t[1][1]和t[0][2]。

  • 第14题:

    有以下程序

    #include <stdio.h>

    main()

    { int s[12]={1,2,3,4,4,3,2,1,1,1,2,3},c[5]={0},i;

    for(i=0;i<12;i++) c[s[i]]++;

    for(i=1;i<5;i++) printf("%d",c[i]);

    printf("\n");

    }

    程序的运行结果是

    A.1 2 3 4

    B.2 3 4 4

    C.4 3 3 2

    D.1 1 2 3


    正确答案:C
    解析:在for(i=0;i<12;i++) c[s[i]]++中,数组元素s[i]的值作为数组c的下标,当退出循环时,数组c的4个元素的值分别为4、3、3、2。

  • 第15题:

    设有定义语句:intx[6]={2,4,6,8,5,7},*p=x,i;\n要求依次输出x数组6个元素中的值,下列选项中能完成次操作的语句有_().

    A、for(i=0;i6;i++)printf(“%2d”,*(p++));

    B、for(i=0;i6;i++)printf(“%2d”,*(p+i));

    C、for(i=0;i6;i++)printf(“%2d”,*p++);

    D、for(i=0;i6;i++)printf(“%2d”,(*p)++);


    参考答案:ABC

  • 第16题:

    有下列程序:

    #include<stdi0.h>

    voidmain( )

    {

    ints[12]={1,2,3,4,4,3,2,1,1,1,2,3),c[5]=

    {0},i;

    for(i=0;i<12;i++)c[s[i]]++;

    for(i=1;i<5;i++)printf("%d",c[i]);

    printf("\n")

    }

    程序的运行结果是( )。

    A.1234

    B.2344

    C.4332

    D.1123


    正确答案:C
    C。【解析】本题考查对for循环的使用,首先给两个数组赋值,第一个for循环从0开始循环12次遍历S数组的各个元素,数组将s[]中的元素值作为c[]数组中的下标,然后自加,使相应的值自加,当i=0,c[s[0]]++为c[1]++,其值变为1,当执行i=1,2,…,11后,c[1]、c[2]、c[3]、c[4]分别为4、3、3、2,故选项C正确。

  • 第17题:

    执行下列语句的结果为 ( ) i=3; printf("%d",+ + i); printf("%d",i + +);

    A.3,3

    B.3,4

    C.4,3

    D.4,4


    正确答案:D

  • 第18题:

    下列程序的输出结果是______。include main(){ int i=1,j=3; printf("%d,",i++); {int

    下列程序的输出结果是______。#include <stdio.h>main (){ int i=1,j=3; printf("%d,",i++); { int i=0; i+=j*2; printf("%d,%d,",i,j); } printf("%d,%d\n",i,j);}

    A.1,6,3,1,3

    B.1,6,3,2,3

    C.1,6,3,6,3

    D.1,7,3,2,3


    正确答案:B

  • 第19题:

    有以下程序: #include<stdio.h> void func(int n) { int i; for(i=0;i<=n;i++)printf("*"): printf("#"); } main( ) {func(3);printf("????");func(4);printf("n\"); 程序运行后的输出结果( )。

    A.****#????***#

    B.***#????****#

    C.**#????****#

    D.****#????*****#


    正确答案:D
    本题考查简单的for循环,func(3)由于i是从0开始,所以会输出四个“*”和一个“#”,然后打印四个“?”func(4),会输出五个“*”和一个“#”,所以答案选择D。

  • 第20题:

    有以下程序:includedefine N 8void fun(int*x,int i){*x=*(x+i)+1;}main(){int a[N]=

    有以下程序: #include<stdio.h> #define N 8 void fun(int*x,int i) {*x=*(x+i)+1;} main() {int a[N]={1,2,3,4,5,6,7,8},i; fun(a,2); for(i=0;i<N/2;i++) {printf("%d",a[i]);} printf("\n"); } 程序运行后的输出结果是( )。

    A.1 3 1 3

    B.3 2 3 4

    C.4 2 3 4

    D.1 2 3 4


    正确答案:C
    解析:函数fun(int*x,int i)的功能是把数组元素x[i]的值加1赋给x[0]。所以在主函数中执行fun(a,2)后,数组元数a[0]的值等于4。然后在for循环语句中,输出数组a中的前4个元素的值,分别是4,2,3,4。

  • 第21题:

    定义变量和数组如下:int i;int x[3][3]=(1,2,3,4,5,6,7,8,9);则语句for(i=0;i<3;i++)printf(”%d”,x[1][2-i]);的输出结果是 ( )


    正确答案:C

  • 第22题:

    下列程序的输出结果是______。 main ( ) { int i; for (i=l;i<6;i++) { if(i%2){printf("#");continue;} printf ("*"); } printf("\n"); }

    A.#*#*#

    B.#####

    C.****

    D.*#*#*


    正确答案:A

  • 第23题:

    以下程序的输出结果是( )。main(){ int i; for(i=0;i<3;i++) switch(i) { case 0:printf(&quo

    以下程序的输出结果是( )。

    main()

    { int i;

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

    switch(i)

    { case 0:printf("%d",i);

    case 2:printf("%d",i);

    default:printf("%d",i); }

    }

    A.000102

    B.000020

    C.000122

    D.000111


    正确答案:C
    当i=0时,执行switch语句,对应的执行case0,输出0,因为没有break,接着执行case2的语句,又输出一个0,接着执行default语句,再输出一个0,返回i++;i=1时,没有case语句,执行default语句,输出一个1,接着又返回i++;当i=2时执行case2和default语句分别输出一个2,此时又返回i++,i变为3,for循环不成立,终止,最后输出000122。