现有如下程序段 #include"stdio.h" main() { int a[5][6]={23,3,65,21,6,78,28;5,67,25,435,76,8,22,45,7,8,34,6,78,32,4,5,67,4,21,1}; int i=0,j=5; printf("%d\n",*(&a[0][0]+2*i+j-2));} 则程序的输出结果为A.21B.78C.23D.28

题目

现有如下程序段 #include"stdio.h" main() { int a[5][6]={23,3,65,21,6,78,28;5,67,25,435,76,8,22,45,7,8,34,6,78,32,4,5,67,4,21,1}; int i=0,j=5; printf("%d\n",*(&a[0][0]+2*i+j-2));} 则程序的输出结果为

A.21

B.78

C.23

D.28


相似考题
更多“现有如下程序段#include"stdio.h"main(){int a[5][6]={23,3,65,21,6,78,28;5,67,25,435,76,8,22, ”相关问题
  • 第1题:

    下列程序的运行结果为() include main() {struc tdate {int year,month,day; )today;

    下列程序的运行结果为( )

    #include<stdio.h>

    main()

    { struc tdate

    {int year,month,day;

    )today;

    printf("%d\n",sizeof(struct date));

    }

    A.8

    B.6

    C.10

    D.12


    正确答案:B
    解析:解答本题需要注意两个知识点:①结构体变量的长度是其内部成员长度的总和,本题中,struct date中包含year、month、day这3个整型变量,一个整型变量占2个字节;②sizeof是求所占字节数的运算符。

  • 第2题:

    阅读如下程序段

    #include "stdio.h"

    main()

    { int x,a,b;

    scanf("%d",&x);

    a=b=x;

    for(;x!=0;)

    { if(x

    输入后输出结果是

    A.a=7569,b=789

    B.a=5,b=365

    C.a=7,b=789

    D.a=7569,b=5


    正确答案:D

  • 第3题:

    现有如下程序段

    #include "stdio.h"

    int aa(int x,int y);

    main()

    {int a=24,b=16,c;

    c=aa(a,b);

    printf("%d\n",c);}

    int aa(int x,int y)

    {int w;

    while(y)

    {w=x%y;

    x=y;

    y=w;}

    return x;}

    则程序段的输出结果是

    A.8

    B.7

    C.6

    D.5


    正确答案:A

  • 第4题:

    下列程序的输出结果是()。 include int b=2; int fune(int*a) {b+=*a;return b;} main(

    下列程序的输出结果是( )。 #include<stdio.h> int b=2; int fune(int*a) { b+=*a;return b;} main() { int a=1,t=2; t+=func(&a); printf("%d\n",t); }

    A.4

    B.5

    C.6

    D.8


    正确答案:B
    解析:本题考查函数调用时的参数传递。在执行函数func时,由于全局定义了一个变量b,所以在函数体中执行时b-2+1-3,最终t=2+3=5。

  • 第5题:

    有以下程序: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。

  • 第6题:

    有以下程序includemain(){int a=5,b=lt; t=(a<<2)|b;printf("%d\n",t);}程序运行后的

    有以下程序 #include<stdio.h> main() { int a=5,b=lt; t=(a<<2)|b;printf("%d\n",t); } 程序运行后的输出结果是______。

    A.21

    B.11

    C.6

    D.1


    正确答案:A
    解析:本题主要考查了C语言的逻辑运算符,先将变量a,b的值转换为2进制数,a=00000101,b=00000001,a先左移 2位结果为00010100,再与b按位或运算,结果为00010101,转换为十进制数为21,因此,选项A是正确的。

  • 第7题:

    有以下程序:includedefine X 5+6main(){int a=2,c;C=X*2:printf("%d",C);}程序运行后

    有以下程序: #include<stdio.h> #define X 5+6 main() {int a=2,c; C=X*2: printf("%d",C); } 程序运行后的输出结果是( )。

    A.17

    B.22

    C.16

    D.11


    正确答案:A

  • 第8题:

    下列程序舶输出结果是【 】。include main() {int a[5]={2,4,6,8,10},*p;p=a;p++;printf("

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

    include <stdio.h>

    main()

    {

    int a[5]={2,4,6,8,10},*p;

    p=a;p++;

    printf("%d",*p);

    }


    正确答案:4
    4 解析:题目中定义了一个数组和指针,接着将数组的首地址给了指针,即指针p指向数组a的第一个元素,通过p++,p指向了数组a的第二个元素,所以输出结果为4。

  • 第9题:

    有如下程序#include "stdio.h"void fun(int *a,int *b){ int m; m=(*a+*b)*(*a+*b); m+=(*a-*b)*(*a-*b); printf("%d\n",m);}main(){ int a=5,b=6,*x=&a,*y=&b; fun(x,y);}程序执行后输出的结果为A.120 B.121 C.122 D.123


    正确答案:C
    在本题程序中,首先定义了一个fun函数,函数带有两个指针变量的形参,在程序体中,定义一个整型变量m用来保存计算的结果,然后执行第一条运算语句,并将运算结果保存至变量m,然后执行第二条运算语句,最后输出程序m的值。
    在主函数中,首先定义两个整型变量a和b,并分别赋值为5和6,定义两个指针变量x和y,分别指向变量a和b。然后调用函数fun,调用函数传递的参数为x和y,因此,执行m=(*a+*b)*(*a+*b)=(5+6)*(5+6)=121,然后执行m+=(*a-*b)*(*a-*b)等价于m=m+(-1)*(-1)=121+1=122。因此,本题程序的输出结果为122,答案选C。

  • 第10题:

    若有以下程序 include int a[ ]={2,4,6,8}; main( ) { int i; int *p=a; for(i=0;i<4

    若有以下程序

    #include <stdio.h>

    int a[ ]={2,4,6,8};

    main( )

    { int i;

    int *p=a;

    for(i=0;i<4;i++) a[i]=*p;

    printf("%d\n",a[2]);}

    上面程序的输出结果是

    A.6

    B.8

    C.4

    D.2


    正确答案:D
    解析:在C语言中,数组元素下标是从0开始的;指针变量p指向数组的首地址。for循环语句中,指针变量 p始终指向数组的首地址,因而执行循环赋值语句后数组各元素的值均变为2。

  • 第11题:

    以下程序的输出结果是______。 include main() { int a=5,b=4,c=6,d; printf("%d\n",d=

    以下程序的输出结果是______。 #include<stdio.h> main() { int a=5,b=4,c=6,d; printf("%d\n",d=a>b?(a>c?a:c):(b)); }

    A.5

    B.4

    C.6

    D.不确定


    正确答案:C

  • 第12题:

    现有如下程序段

    #include "stdio.h"

    int *fun(int *a,int *b)

    {int c;

    c=*a%*b;

    return &c;}

    main()

    {int a=5,b=19,*c;

    c=fun(&a,&b);

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

    则程序段执行后的结果为

    A.8

    B.7

    C.6

    D.5


    正确答案:C

  • 第13题:

    现有如下程序段,则程序段的输出结果为 【16】 。

    #include "stdio.h"

    int fun()

    {static int k;

    return k;}

    main()

    {int m;

    m=fun();

    printf("%d\n",m);}


    正确答案:
    0

  • 第14题:

    现有如下程序段

    #include "stdio.h"

    int fun(int k,int *m)

    {if(k%3)*m=k*k;

    else *m=k/3;}

    main()

    { int (*p)(int,int *),m;

    p=fun;

    (*p)(78, &m);

    printf( "%d\n",m);}

    则程序段的输出结果为

    A.24

    B.25

    C.26

    D.27


    正确答案:C

  • 第15题:

    有如下程序:includeint func(int a,int b){return(a+b):}main(){int x=2,y=5,z=8,r; r

    有如下程序: #include <stdio.h> int func(int a,int b) { return(a+b):} main() { int x=2,y=5,z=8,r; r=func(func(x,y),z); printf("%d\n",r); } 该程序的输出结果是( )。

    A.12

    B.13

    C.14

    D.15


    正确答案:D
    解析:在表达式r=func(func(x,y),z)中,func(x,y)是第一次调用函数,它的返回值7作为func函数第二次调用的实参,结果为15。

  • 第16题:

    下面程序的输出结果是() include main( ) { int i,a[ ]={2,4,6,8}; int * p=a;

    下面程序的输出结果是 ( ) # include<stdio.h> main( ) { int i,a[ ]={2,4,6,8}; int * p=a; for(i=0;i<4;i+ +)a[i]=* p+ +; printf(*%d\n",a[2]); }

    A.6

    B.8

    C.4

    D.2


    正确答案:A

  • 第17题:

    有如下程序段: includedefine Max(a,b) a>b?a:bmain(){int a=5,b=6,c=4,d;d=c+Max(a,

    有如下程序段: #include<stdio.h> #define Max(a,b) a>b?a:b main() { int a=5,b=6,c=4,d; d=c+Max(a,b); printf("%d",d); } 其输出结果为______。

    A.10

    B.5

    C.6

    D.编译错误


    正确答案:B
    解析:在C语言中,宏定义是直接替换的,所以在c+a>b?a:b这个条件表达式中,c+a>b为真,所以用a的值作为整个表达式的值,而a的值为5,所以整个表达式的值为5。

  • 第18题:

    下面程序的运行结果是( )。include main(){int a=25; fun(&A); }fun(int *x){ print

    下面程序的运行结果是( )。

    include<stdio.h>

    main()

    {int a=25;

    fun(&A);

    }

    fun(int *x)

    { printf("%d\n",++*x);

    }


    正确答案:26
    26 解析:在主函数中只调用了fun函数,调用时把变量a的地址传递给形参。fun函数的形参x是一个指针,其基类型与主函数中a的类型一致,因此在调用时得到的是a的地址,输出项是++*x,*x代表的就是主函数中变量a的存储单元,++*x就是使主函数中a的值加1,输出26。

  • 第19题:

    有以下程序 include main() { int i=5; do { if(i%3==1)

    有以下程序 #include <stdio.h> main() { int i=5; do { if(i%3==1) if(i%5==2) { printf"*%d",i); break; } i++; } while(i!=0); printf("\n"); } 程序的运行结果是______。

    A.*7

    B.*3*5

    C.*5

    D.*2*6


    正确答案:A
    解析:do-while语句的特点是先执行循环体,然后判断循环条件是否成立,当循环条件的值为0时循环结束。break的特点;当break出现在循环体中,则在执行break后,跳出本层循环体。本题执行过程如下:
    i=5:不满足条件i%3=1,执行i++,此叫i=6;
    i=6:不满足条件i%3=1,执行i++,此时i=7;
    i=7:满足条件i%3=1,执行内嵌if,判断条件i%5=2,满足,输出“*7”,执行break,跳出do循坏体,执行“printf("\n");”,结束。

  • 第20题:

    下面的程序段中,有()处错误和警告。includeint main()int x; cin>>x cout<

    下面的程序段中,有( )处错误和警告。 #include<stdio.h> int main() int x; cin>>x cout<<x; }

    A.1

    B.2

    C.3

    D.4


    正确答案:D
    解析:本题考核C++程序的基本结构。第1处错误:头文件stdio.h>应改为iostream.h>。因为在C++语言中,输入输出流的流类库是在iostream.h>头文件中定义的。第2处错误:主函数缺少左大括号“{”。第3处错误:语句cin>>x后面缺少“;”。第4处错误:由于已设定主函数的返回类型是血型,因此,在程序结束后,必须给出返回值或者将主函数的返回类型更改为void型。

  • 第21题:

    有如下程序 include main() { int a[4][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12},{13,14

    有如下程序 #include<stdio.h> main() { int a[4][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12},{13,14,15,16)); int i,s=0; for(i=0;i<4;i++)s+=a[i][1]; printf("%d\n",s); }程序运行后的输出结果是______。

    A.11

    B.32

    C.13

    D.20


    正确答案:B

  • 第22题:

    有如下程序:includemain(){ int n=9;while(n>6){n--;printf("%d",n);}}该程序的输出结

    有如下程序: #include<stdio.h> main() { int n=9; while(n>6){n--;printf("%d",n);} } 该程序的输出结果是( )。

    A.987

    B.876

    C.8765

    D.9876


    正确答案:B
    解析:该程序应根据循环体第一次和最后一次的输出结果来决定哪一项是正确的。第一次进入循环时,n的值是9,在循环体内,经过n--运算后,n的值变为8,所以第一次的输出值是8,由此排除选项A)和D)。由循环条件n>6可知,最后一次循环开始时,n值为7,所以最后一次执行循环体输出的n值为6,由此排除选项C)。

  • 第23题:

    有如下程序段:include define Max(a,b) a>b?a:bmain(){int a=5,b=6,c=4,d;d=c+Max(a,

    有如下程序段: #include <stdio.h> #define Max(a,b) a>b?a:b main() { int a=5,b=6,c=4,d; d=c+Max(a,b) ; printf("%d",d) ; } 其输出结果为______。

    A.10

    B.5

    C.6

    D.编译错误


    正确答案:B
    解析:在C语言中,宏定义是直接替换的,所以在c+a>b?a:b这个条件表达式中,c+a>b为真,所以用a的值作为整个表达式的值,而a的值为5,所以整个表达式的值为5。