更多“以下程序段执行后输出的结果是()。 int a[][4]={1,2,3,4,5,6,7,8,9,10,11,12}; printf("%dn",a[1][5]);”相关问题
  • 第1题:

    有以下程序:void main(){int t=1,i=5; for( ;i=0;) i--;t*=i; printf("%d\n",t);}执行后输出结果是。


    正确答案:×
    赋值符号将i赋值为0,即使得表达式的值为0,不执行循环体,t=t*i=0,所以输出为0.

  • 第2题:

    有以下程序 main() {int k=5; while(-k) printf("%d",k-=3); printf("\n"); } 执行后的输出结果是______。

    A.1

    B.2

    C.4

    D.死循环


    正确答案:A
    解析:此题中首先给k赋初值5,执行while语句:中的表达式“--k”,k先自行减1结果为4,满足while执行条件输出:k=k-3=4-3=1;此时输出结果为1。返回执行while语句,重复上面的操作,while后的表达式为0,退出循环,所以最后的输出结果为1。

  • 第3题:

    有下列程序:

    main()

    {int k=5;

    while(--k) printf("%d",k-=3);

    printf("\n");}

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

    A.1

    B.2

    C.4

    D.死循环


    正确答案:A
    解析:在程序语句中,k的初始值为5,进行第 1次while循环后,k自减1为4,非0,执行循环体里的printf语句,输出1,此时k的值变为1。程序执行第2次循环时,k自减1变为0,为假,退出while循环语句。所以程序的最后结果为1。

  • 第4题:

    以下语句段执行后的输出结果是()。includemain(){int k=3;if(k)printf("")elseprint

    以下语句段执行后的输出结果是( )。 #include<stdio.h> main() {int k=3; if(k) printf("###") else printf("&&&&");}

    A.###

    B.&&&&

    C.###&&&&

    D.有语法错误,不能执行


    正确答案:D
    解析:在C语言中语句结束时应该以分号结尾,程序中的第1个printf("###")输出语句后面少了一个分号(;),因此执行程序时会出错。

  • 第5题:

    以下程序的输出结果是( )。 includefun(){ int a=0;a+=3;printf("%d",A); } main() {int

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

    include<stdio.h>

    fun()

    { int a=0;

    a+=3;

    printf("%d",A);

    }

    main()

    { int cc;

    for(cc=1;cc<=4;cc++)

    fun();

    printf("\n");

    }


    正确答案:3 3 3 3
    3 3 3 3 解析:本题考查for循环,for(cc=1;cc=4;cc++)表示循环4次,a+=3表示每次a的值增加3,但是子函数中没有将变量a定义为static类型,所以每次调用完子函数之后,变量a所做的改变都不能保存,这样在下一次调用子函数时,a的初值仍是0,所以不管调用多少次,子函数输出始终是3。

  • 第6题:

    有以下程序,程序执行后,输出结果是【】include void fun(int*A) {a[0]=a[1];} main() {i

    有以下程序,程序执行后,输出结果是【 】

    include<stdio.h>

    void fun(int*A)

    { a[0]=a[1];}

    main()

    { int a[10]={10,9,8,7,6,5,4,3,2,1,},i;

    for(i=2;i>1=0;i-) fun(&a[i]);

    for(i=0;i<10;i++) printf("%d,a[i]);

    printf("\n");

    }


    正确答案:7777654321
    7777654321 解析:本题主要考查函数的调用,第—次调用把数组元素a[2]的地址赋给a,此时a[1]即是原数组的a[3]等于7,再执行赋值语句a[0]=a[1],则a[0]和a[1]中的值都是7,然后再把这个值返回给a[2]同样地第二次调用的时候函数返回值也是7,第三次调用返回值也是7,因此数组的前4个元素,即对a[0]、a[1]、a[2]和a[3]的值都为7,当执行第二个for循环时输出数组中所有元素的值7777654321。

  • 第7题:

    若有以下程序main(){ int p=5,a=5; if(p=1!=0) printf("%d\n",p); else printf("%d\n",p+2);}程序执行后的输出结果是


    正确答案:√
    在本题中,程序首先定义两个整型变量p和a,都被初始化为5,然后执行if语句,该语句的判断条件为p=1!=0,这也是求解这个题目的关键,由于运算符!=的优先级比运算符=高,因此,本判断条件表达式等价于p=(1!=0),很明显,1是不等于0的,返回的是一个真值结果1,因此,此时变量p的值为1,那么条件为真,if语句返回的结果也为真,因此,执行printf("%d\n",p);语句,由于此时变量p的值已经变为1,因此,程序运行后的输出结果为1。

  • 第8题:

    下列程序执行后输出的结果是( )。 int d=1; fun (int p) { int d=5; d + =p + +; printf("%d,",d); } main( ) { int a=3; fun(a); d + = a + +; printf("%d\n",d); }

    A.8, 4

    B.9, 6

    C.9, 4

    D.8, 5


    正确答案:A

  • 第9题:

    有以下程序includemain(){inta[]={1,2,3,4,5,6,7,8,9,10,11,12,},*p=a+5,*q=NULL; *q=

    有以下程序 # include <stdio.h> main() { int a[]={1,2,3,4,5,6,7,8,9,10,11,12,},*p=a+5,*q=NULL; *q=*(p+5); printf("%d %d \n",*p,*q); } 程序运行后的输出结果是

    A.运行后报错

    B.6 6

    C.6 11

    D.5 10


    正确答案:A
    解析:本题考核的知识点是通过指针引用数组的元素的方法.本题中首先定义了一个一维数组a并初始化,由于定义该数组的时候省略了长度,因此该数组的长度为初始化时候赋初值的个数即为12。数组名a代表数组的首地址,所以*p=a+5语句使得p指向数组的第6个元素,而在程序中定义了一个指针q并让它指向空,实际上程序并没有在内存中为指针q开辟存储空间,这样给q赋值不允许的,故该程序运行后报错。所以,4个选项中选项A符合题意。

  • 第10题:

    有以下程序

    main()

    { int t=1,i=5;

    for( ; i>=0; i--) t*=i;

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

    }

    执行后输出结果是【 】。


    正确答案:×
    0 解析:本题中的for循环共执行了6次,每执行一次将相应i的值相乘,最后当i=-1时停止循环。该for循环执行完后t的值为5*4*3*2*1*0=0,故最后输出t的值为0。

  • 第11题:

    以下程序运行后的输出结果是()。      main( )  {int a=1,b=3,c=5;      if(c=a+b)     printf(“yes”);      else  printf(“not”);  } 


    正确答案:yes

  • 第12题:

    单选题
    有以下程序#includemain(){ int k=5; while(--k)printf(%d,k-=3); printf();}执行后的输出结果是(  )。
    A

    1

    B

    2

    C

    4

    D

    死循环


    正确答案: B
    解析:
    “while(--k)”是先执行k减1,然后判定k是否等于0;“printf("%d",k-=3);”是先执行k-=3,然后输出k的值。k的初始值是5,--k后k变成4,进入循环体内部,首先执行k-=3,得到k等于1,输出1;接下来继续执行--k,k变成0,不满足条件,循环结束。答案选择A选项。

  • 第13题:

    有以下程序includemain(){int a[]={1,2,3,4,5,6,7,8,9,10,11,12,},*p=a+5,*q=NULL; *q

    有以下程序 #include<stdio.h> main() { int a[]={1,2,3,4,5,6,7,8,9,10,11,12,},*p=a+5,*q=NULL; *q= *(p+5); printf("%d %d\n",*p,*q); } 程序运行后的输出结果是

    A.运行后报错

    B.6 6

    C.6 11

    D.5 10


    正确答案:A
    解析:本题中首先定义了一个一维数组。并初始化,由于定义该数组的时候省略了长度,因此该数组的长度为初始化时候赋初值的个数即为12。数组名a代表数组的首地址,所以*p=a+5语句使得p指向数组的第6个元素,而在程序中定义了一个指针q并让它指向空,实际上程序并没有在内存中为指针q开辟存储空间,这样给q赋值不允许的,故该程序运行后报错。

  • 第14题:

    有以下程序:includemain(){int a[]={1,2,3,4,5,6,7,8,9,10,11,12,},*p=a+5,*q=NULL;*q

    有以下程序: #include <stdio.h> main() { int a[]={1,2,3,4,5,6,7,8,9,10,11,12,},*p=a+5,*q=NULL; *q=*(p+5); printf("%d %d \n",*p,*q); } 程序运行后的输出结果是( )。

    A.运行后报错

    B.66

    C.611

    D.510


    正确答案:A
    解析:本题中首先定义了一个一维数组a并初始化,该数组的长度为初值的个数即12。数组名a代表数组的首地址,所以*p=a+5语句使得p指向数组的第6个元素,还一个指针变量q,q为空指针,实际上程序并没有在内存中为指针q开辟存储空间。语句 *q=*(p+5);向q的存储空间赋值是错误的,故该程序运行后报错。

  • 第15题:

    有以下程序:include<stdio.h>void func(int n){ static int num=1);num=num+n;printf(&quo

    有以下程序:

    include<stdio.h>

    void func(int n)

    { static int num=1);

    num=num+n;printf("%d",num);

    }

    main( )

    { funo(3);func(4);printf("n"); }

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

    A.4 8

    B.3 4

    C.3 5

    D.4 5


    正确答案:A

    第一调用func函数时输出4,第二次调用func函数时num的值并不会释放,仍然是上次修改后的值4,第二次调用结果为8,所以输出结果是4 8。

  • 第16题:

    执行下列语句段后程序的输出结果是______。

    int x[]={1,2,3,4,5};

    int q=x;

    cout<<*(++q)<<end1;


    正确答案:2
    2

  • 第17题:

    有下列程序: main( ) { int k=5; while(--k) printf("%d",k=1); printf("/n"); } 执行后的输出结果是( )。

    A.1

    B.2

    C.4

    D.死循环


    正确答案:A
    在程序语句中,k的初始值为5,进行第l次while循环后,k自减l为4,非0,执行循环体里的printf语句,输出k,此时k的值变为l。程序执行第2次循环时,k自减l变为0,为假,退出while循环语句。所以程序的最后结果为l。

  • 第18题:

    有如下程序段:intt[][3]={1,2,3,4,5,6,7,8,9,10,11,12};printf("%d\n",t[2][1]);则执行该程序段后输出结果是()

    A.8

    B.7

    C.4

    D.2


    参考答案:A

  • 第19题:

    以下程序的运行结果是______。 include main() {int a[]:{1,2,3,4,5,6,7,8,9,10,11,12

    以下程序的运行结果是______。 #include <stdio.h> main() {int a[]:{1,2,3,4,5,6,7,8,9,10,11,12): int *p=a+5,*q=NULL: *q=*(p+5): printf("%d %d\n",*p,*q); }

    A.运行后报错

    B.66

    C.612

    D.5 5


    正确答案:A

  • 第20题:

    以下程序的运行结果是()。includemain(){int a[]={1,2,3,4,5,6,7,8,9,10,11,12}; int *

    以下程序的运行结果是( )。 #include <stdio.h> main() { int a[]={1,2,3,4,5,6,7,8,9,10,11,12}; int *p=a+5,*q=NULL; *q=8(p+5); printf("%d %d\n", *p,*q); }

    A.运行后报错

    B.6 6

    C.6 11

    D.5 5


    正确答案:A
    解析:本题的考查点是通过指针引用数组元素。程序中没有给q分配存储单元,只是给它赋了一个NULL,所以程序的运行结果是:611NULLpointerassignment,也就是运行后报错。

  • 第21题:

    以下程序的输出结果是()。includeint fan(int);main(){int w=5; fun(w);printf("\n");}

    以下程序的输出结果是( )。 #include <stdio.h> int fan(int); main() { int w=5; fun(w); printf("\n"); } fun(int k) { if(k>0) fun(k-1); printf("%d",k); }

    A.5 4 3 2 1

    B.0 1 2 3 4 5

    C.1 2 3 4 5

    D.5 4 3 2 1 0


    正确答案:B
    解析:本题考查函数的递归调用。fun函数共被调用6次,即fun(5)、fun(4)、fun(3)、fun(2)、fun(1)、fun(0),其中fun(5)是main函数调用的,其余是在fun函数中调用的。

  • 第22题:

    以下程序的输出结果是( )。 include fun() {static int a=0; a+=3;printf("%d",A); } ma

    以下程序的输出结果是( )。 include<stdio.h> fun() {static int a=0; a+=3;printf("%d",A); } main() {int cc; for(cc=1;cc<5;cc++)fun(); printf("\n"); }


    正确答案:3 6 9 12
    3 6 9 12 解析:本题考查最基本的for循环。for(cc=1;cc5;cc++)规定循环次数为4次,每次a+=3,即每次a的值增加3,但因为fun函数中变量a为static类型,所以每次调用完子函数之后,变量a所做的改变都要保存。

  • 第23题:

    有如下程序段:intt[][3]={1,2,3,4,5,6,7,8,9,10,11,12};printf("%d/n",t[2][1]);则执行该程序段后输出结果是()

    • A、8
    • B、7
    • C、4
    • D、2

    正确答案:A

  • 第24题:

    单选题
    有如下程序段:intt[][3]={1,2,3,4,5,6,7,8,9,10,11,12};printf("%d/n",t[2][1]);则执行该程序段后输出结果是()
    A

    8

    B

    7

    C

    4

    D

    2


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