单选题有以下程序:#include #include main(){ int i,j,x = 0; for(i = 0;i < 2;i++) {  x++;  for(j = 0;j <= 3;j++)  {   if(j%2==0)continue;   x++;  }  x++; } printf(x = %d,x);}程序的运行结果是(  )。A x=4B x=6C x=8D x=12

题目
单选题
有以下程序:#include #include main(){ int i,j,x = 0; for(i = 0;i < 2;i++) {  x++;  for(j = 0;j <= 3;j++)  {   if(j%2==0)continue;   x++;  }  x++; } printf(x = %d,x);}程序的运行结果是(  )。
A

x=4

B

x=6

C

x=8

D

x=12


相似考题
参考答案和解析
正确答案: B
解析:
第一次循环:i=0,执行x++后x=1,执行内层循环j=0,由于j%2!=0时才执行x++,即只有j取1和3时,执行x++,此时x=1+1+1=3,跳出内层循环,执行下一条x++,x=4,第二次循环:x=1时,重复上述循环,共执行两次循环,故x最终结果是4*2=8。答案选择C选项。注意,在循环体中遇到continue,则跳过continue后的语句直接进入下一次循环的判断。
更多“有以下程序:#include <stdio.h>#include <math.h>main(){ int i,j,x =”相关问题
  • 第1题:

    有以下程序:includeincludemain() {char c[6];int i=0;for(;j<6;c[i]=getch

    有以下程序:#include<stdio.h>#include<stdio.h>main() { char c[6]; int i=0; for(;j<6;c[i]=getchar(),i++); for(i=0;i<6;i++)putchar(c[i]); printf("\n");}如果从键盘上输入:ab<回车>c<回车>def<回车>则输出结果为 ______。

    A.a b c d e f

    B.a b c d

    C.ab c d

    D.abcdef


    正确答案:C
    解析:1.getchar():此函数的作用是从终端(或系统隐含指定的输入设备)输入一个字符。2.putchar():此函数的作用是向终端输出一个字符,也可以输出控制字符。本题在输入字符时,ab和c后面的回车符分别赋给了c[2]和c[4],所以,正确答案为C。

  • 第2题:

    执行以下程序后,输出号的个数是【】。 include main() {int i, j;for(i=1; i<5; i++) for

    执行以下程序后,输出号的个数是【 】。

    include<stdio. h>

    main()

    { int i, j;

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

    for(j=2; j<=i; j++)putchar('');

    }


    正确答案:6
    6 解析:本题中i循环执行4次,当i=1时,j循环执行0次;当i=2时,j循环执行1次;当i=3时,j循环执行2次;当i=4时,j循环执行3次,所以输出#号的个数是0+1+2+3=6。

  • 第3题:

    下列程序的输出结果是()。 include main() {stmct st {int y,x,z; }; union {long i; i

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

    #include<stdio.h>

    main()

    { stmct st

    { int y,x,z;

    };

    union

    { long i;

    int j;

    char k;

    }un;

    printf("%d,%d\n",sizeof(stmct st),sizeof(un));

    }

    A.6,2

    B.6,4

    C.8,4

    D.8,6


    正确答案:B
    解析:本题主要考查结构体和联合内存使用的区别:结构中不同的成员分别使用不同的内存空间,一个结构所占内存空间的大小是结构中每个成员所占内存空间大小的总和,结构中每个成员相互独立;联合所占用的内存空间为最长的成员所占用的空间。

  • 第4题:

    下面程序的运行结果是( )。 include main() {char a[80],*p="AbabCDcd"; int i=0,j=0; w

    下面程序的运行结果是( )。 include<stdio.h> main() {char a[80],*p="AbabCDcd"; int i=0,j=0; while(*(p++)!='\0') {if(*p>='a'&&*p<='z'){a[i]=*p;i++;} } a[i]='\0'; puts(A); }


    正确答案:babcd
    babcd 解析:C语言中“\0”表示字符串的结束。程序将p指针指向字符串“AbabCDcd”的首地址,循环开始后若指针不是指向当前字符串的结束标志位,则进入循环体。循环中每次检验字符串中字母是否在'a'与'z'之间,若满足则将当前值赋值给数组a,最后给数组添加字符结束标志。此程序可以筛选出字符串中的小写字母。

  • 第5题:

    以下程序段给数组所有的元素输入数据,请选择正确答案填入。include main(){int a[10],j

    以下程序段给数组所有的元素输入数据,请选择正确答案填入。#include <stdio.h>main(){ int a[10],j=0; while(i<10)scanf("%d", ______ ); : :}

    A.a+(i++)

    B.&a[i+1]

    C.a+ i

    D.&a[++i]


    正确答案:A
    解析:a就是数组a的首地址,而a+x是数组中第x个元素的地址,所以在四个选项中,选项B和C只能输入一个数据,选项D不能给a[0]输入数据,只有A可以完成给数组所有的元素输入数据的任务。

  • 第6题:

    有以下程序:include define N 20fun(int a[] ,int n,int m){int i,j;for(i=m;i> :n;i

    有以下程序: #include <stdio.h> #define N 20 fun(int a[] ,int n,int m) { int i,j; for(i=m;i> :n;i--) a[i+1] =a[i]; } main( ) { int i,a[N.] = 11,2.3,4,5,6,7,8,9,10[; fun( a,2,9) for(i =0;i<5;i ++ ) printf("% d" ,a[i] );程序运行后的输出结果是( )。

    A.10234

    B.12344

    C.12334

    D.12234


    正确答案:C
    解析:本题函数fun的作用是将指定的数组元素(下标从n~m)向后移一位。调用函数fun(a,2,9)将a[2]到a[9]的各元素依次向后移一位,最后a数组中各元素的值分别为1,2,3,3,4,5,6,7,8,9,10,程序输出数组的前5个元素:12334。

  • 第7题:

    以下程序的输出结果是( )。 include main() {int i=10,j=0; do {j=j+i; i--; }while(i>5

    以下程序的输出结果是( )。 include<stdio.h> main() {int i=10,j=0; do {j=j+i; i--; }while(i>5); printf("%d\n",j); }


    正确答案:40
    40 解析:分析程序,初始时i=10,j=0,这时do循环中的“i=j+i”

  • 第8题:

    有以下程序段:include define MIN(x,y)(x)<(y)?(x):(y) void main() { int i,j,K; i

    有以下程序段:

    include<iostream.h>

    define MIN(x,y) (x)<(y)?(x):(y)

    void main()

    {

    int i,j,K;

    i=10;j=15;

    k=10*MIN (i,j);

    cout<<k<<endl;

    }

    程序执行后的输出结果是______。


    正确答案:15
    15

  • 第9题:

    有以下程序include main(){ int.i=0,a=0;while(i<20){for(;;) {if((i%10)==0)break;el

    有以下程序 #include <stdio.h> main() { int.i=0,a=0; while(i<20) { for(;;) { if((i%10)==0) break; else i--; } i+=11; a+=i; } printf("%d\n",a) ; } 程序运行后的输出结果是( )

    A.21

    B.32

    C.33

    D.11


    正确答案:B

  • 第10题:

    有以下程序: include using namespace std; int main() {int x;for(int i=1;i<=100;

    有以下程序: #include <iostream> using namespace std; int main() { int x; for(int i=1;i<=100;i++) { x=i; if (++x%2==0) if (++x%3==0) if (++x%7==0) cout<

    A.39,81

    B.42,84

    C.26,68

    D.28,70


    正确答案:D
    解析:程序最后输出的x值所满足的条件为:x本身能被7整除,(x-1)能被3整除,(x-2)能被2整除。在1~100之间满足条件的x值是28和70。

  • 第11题:

    下面程序的输出结果是( )。 #include "stdio.h" fun (x int x { int y=0; static int z=5; z=x++,y++; return(Z); } main() { int a=4,i,j; for(i=0;i<2;i++) j=fun(a++); printf("%d",j); }

    A.0

    B.3

    C.4

    D.5


    正确答案:D
    解析:本题在fun()函数中定义了一个静态局部变量z,在第一次调用此函数时,z被初始化为5,而以后的调用2都会保留上次调用后的值。主函数通过一个for循环,二次调用fun()函数,第1次调用实参表达式a++的值为4,执行z=x++,y++;语句,因运算符“=”的优先级高于“,”,故z的值为表达式x++的值,x++是先对z赋值再对x加1,则z的值为4。第二次调用实参表达式a++的值为5,返回结果也为5,所以最后输出结果是5。D为所选。

  • 第12题:

    以下程序的输出结果为() #include "stdio.h" main( ){int a=010,j=10;printf("%d,%d/n",++a,j--);}


    正确答案:9,10

  • 第13题:

    有以下程序: include using namespace std; int main() {int i=010,j=10;cout<<(++i)

    有以下程序:

    include <iostream>

    using namespace std;

    int main()

    {

    int i=010,j=10;

    cout<<(++i)<<","<<i--<<end1;

    return 0;

    }

    则该程序运行后的输出结果是【 】。


    正确答案:910
    9,10 解析:本题考核自增运算符和自减运算符的使用以及常量的表示形式。程序中i的值是八进制,代表十进制中的8,++i是在语句运算前自身加1,而j--是在语句运算结束后减1。

  • 第14题:

    有以下程序:include main( ) char * p[ ] = {"3697" ,"2548" }; int i,j;long num =0

    有以下程序: #include <stdio.h> main( ) char * p[ ] = {"3697" ,"2548" }; int i,j; long num =0; for(i =0;i<2;i ++ ) { j =0; while(p[i][j]! ='\0') { if((p[i][j]-'0')%2) num=10*num+p[i][j]-'0'; j+ =2; } printf( "%d \n" ,num);}程序执行后的输出结果是( )。

    A.35

    B.37

    C.39

    D.3975


    正确答案:C
    解析:执行main函数中的for语句,当i=0,j=0时,p[i][j]=p[0)[0]='3',满足while循环条件,执行循环体中的if语句得num=3,j=2,此时p[i][j]=p[0][2]='9',满足循环条件,执行while循环体得num=39,j=4,判断while条件,不满足并退出while循环;再次执行for语句,当i=1,j=0,p[i][j]=p[1][0]=2,满足while条件,执行循环体中的if语句,但不符合if条件,所以num不进行运算,j进行加2运算j=2,此时p[i][j]=p[1][2]=4,if条件为假,num不进行运算,j进行加2运算j=4,再执行while语句,条件不符合退出循环。所以结果为39。

  • 第15题:

    有以下程序 include main() { int i,j,m=55; for(i=1;i<=3;i++)

    有以下程序 #include <stdio.h> main() { int i,j,m=55; for(i=1;i<=3;i++) for(j=3;j<=i;j++) m=m%j; printf("%d\n",m); } 程序的运行结果是

    A.0

    B.1

    C.2

    D.3


    正确答案:B

  • 第16题:

    以下程序的输出结果是【 】。include int fun(int x) {static int t=0; return(t+=x); }

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

    include <stdio.h>

    int fun(int x)

    { static int t=0;

    return(t+=x);

    }

    main()

    int s,i;

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

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


    正确答案:15
    15 解析:static类型的变量是静态变量,本题中的静态变量t为静态局部变量。静态局部变量是在编译时赋初值的,即只赋初值一次,在程序运行时它已有初值。以后每次调用函数时不再重新赋初值而只是保留上次函数调用时的值。本题在多次调用fun函数的过程中,只在第一次调用时t的初值为0,以后每次调用函数时不再重新赋初值,而只是保留上次函数调用结束时的值,所以本程序的作用相当于将1到5数字进行累加,故输出结果为15。

  • 第17题:

    有以下程序:include include main( ) {char a[ 7 ] = "a0 \0a0 \0";int i,

    有以下程序:#include <stdio.h>#include <string.h>main( ) { char a[ 7 ] = "a0 \0a0 \0"; int i,j; i = sizeof(a); j = strlen(a); printf(" % d %d \n" ,i,j); }程序运行后的输出结果是( )。

    A.22

    B.76

    C.72

    D.62


    正确答案:C
    解析:C语言.中以,'\0'作为字符串的结束符,且strlen函数计算的是,'\0',字符前的所有字符的个数,故本题中strlen(a)应为2。数组定义以后系统就为其分配相应大小的内存空间,而不论其中有没有内容。sizeof运算符是计算变量或数组所分配到的内存空间的大小,所以本题的sizeof(a)为7。

  • 第18题:

    有以下程序includemain(){int i,j,m=55;for(i=1;i<=3;i++)for(j=3;j<=i;j++)m=m%j;pri

    有以下程序 #include <stdio.h> main() {int i,j,m=55; for(i=1;i<=3;i++) for(j=3;j<=i;j++)m=m%j; printf("%d\n",m); } 程序的运行结果是

    A.0

    B.1

    C.2

    D.3


    正确答案:B
    解析: 本题考查循环语句的嵌套以及条件的判断问题。在程序中,内层循环判断条件为“ji”,而j的初值为3,故当i的值为1和2时,内层循环体都不会被执行。只有当i和j都等于3时才会执行一次。m的值为55对3取模,计算结果为1。

  • 第19题:

    有以下程序includeincludevoidfun(char*s[],intn){char*t;int i,j;for(i=0

    有以下程序 #include <stdio.h> #include <string.h> void fun(char *s[],int n) { char *t; int i,j; for(i=0;i<n-1;++) for(j=i+1;j<n;j++) if(strlen(s[i])>strlen(s[j])) {t=s[i];s[i];s[j];s[j]=t;} } main() { char *ss[]={"bcc

    A.xy,aaaacc

    B.aaaacc,xy

    C.bcc,aabcc

    D.aabcc,bcc


    正确答案:A
    解析: 函数fun(char*s[],int n)的功能是对字符串数组的元素按照字符串的长度从小到大排序。在主函数中执行fun(ss,5)语句后,*ss[]={"xy","bcc"," bbcc","aabcc","aaaacc"},ss[0],ss[4]的输出结果为xy,aaaacc。

  • 第20题:

    有以下程序:include void fun(iht * a,int i,int j){int t;if(i < j) {t=a[i];a[i] =

    有以下程序:#include <stdio, h>void fun(iht * a,int i,int j){ int t; if(i < j) { t=a[i];a[i] =a[j] ;a[j]=t; i++;j--; fun(a,i,j);main ( ) int x[ ]: {2,6,1,8} ,i; fun(x,0,3); for( i=0;i <4;i ++ ) printf( "%2d" ,x[i] ); printf(" \n");

    A.1268

    B.8621

    C.8162

    D.8612


    正确答案:C
    解析:语句fun(x,0、3);中将数组名x作为实参,即把数组x的首地址传送给形参(指针a),使数组x与形参指针s共占同一段内存单元,在调用函数期间,如果形参数组x的值发生了改变,实参指针a的值也就改变了。程序中fun函数是递归调用函数,其运行过程是:第1次调用fun时,a=x,i=0,j=3,ij成立,a[0]与a[3]交换,a数组中的数变为{8,6,1,2},执行i++;j--;继续调用fun,此时i,j分别为1,2,ij成立,a[1]与a[2]交换,a数组中的数变为{8,1,6,2},执行i++j--;继续调用fun,此时i,j分别为2,1,ij不成立,递归调用结束。当返回主函数时,x数组中的数据就为{8,1,6,2}。

  • 第21题:

    有以下程序include main(){ int i,j; for(i=3;i>=-1;i-) { for(i=1;j<=2;

    有以下程序#include <stdio.h>main(){ int i,j; for(i=3;i>=-1;i-) { for(i=1;j<=2;j++) printf("%d",i+j); printf("\n"); }} 程序的运行结果是______。

    A.234 345

    B.432 543

    C.23 34 45

    D.45 34 23


    正确答案:D
    解析:本题考查的是for循环的嵌套。外层循环变量i从3递减到1,内层循环变量j从1递增到2,具体运行过程如下: i-3:j=1,满足条件j=2,输出i+j=3+1=4;j=2,满足条件j=2,输出i+j=3+2=5;j=3,不满足条件j=2,退出内层循环,执行“printf("\n");”语句,换行。执行i--,此时i=2,满足条件i>=1;
    i=2:j=1,满足条件j=2,输出i+j-2+1=3:j=2,满足条件j=2,输出i+j=2+2=4;j=3,不满足条件j=2,退出内层循环,执行“ptintf("\n");”语句,换行。执行i-,此则i=1,满足条件i>=1;
    i=1:j=1,满足条件j=2,输出i+j=1+1=2;j=2,满足条件j=2,输出i+j=1+2=3;j=3,不满足条件j=2,退出内层循环,执行“printf("\n");”语句,换行。执行i--,此时i=0,不满足条件i>=1,结束外层循环。

  • 第22题:

    以下程序运行后的输出结果是【】。include main(){int i=10,j=0;do{j=j+ i; i--;}while

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

    include <iostream.h>

    main()

    {

    int i=10,j=0;

    do

    {

    j=j+ i; i--;

    }

    while(i>2);

    cout<<j;

    }


    正确答案:52
    52

  • 第23题:

    以下程序的输出结果是( )。 include void swap(int*a,int*B){int*t; t=a;a=b;b=c;} main

    以下程序的输出结果是( )。 include<stdio.h> void swap(int*a,int*B){int*t; t=a;a=b;b=c;} main() {int i=3,j=5,*p=&i,*q=&j; swap(p,q);printf("%d %d\n",*p,*q); }


    正确答案:3 5
    3 5 解析:本题考查函数中形参和实参的传递。在C语言函数中实参和形参传递具有不可逆性,参数只能由实参传向形参,而不能由形参传向实参,虽然swap函数的功能是实现两个数的交换,但由于没有返回值,故最终的输出结果为3 5。