参考答案和解析
正确答案: D
解析:
程序中b是一个3×3的二维数组,利用指针表示二维数组元素b[i][j]的方式为:*(*(b+i)+j)。**b表示元素b[0][0],值为1;**(b+1)表示元素b[1][0],值为4;*(*(b+1)+2)表示元素b[1][2],值是18;最后输出b[0][2]+b[1][2]+b[2][2]=12+18+0=30。
更多“有以下程序,输出结果(  )。”相关问题
  • 第1题:

    有以下程序:程序运行后的输出结果是( )。

    A.ABCDDEFEDBD

    B.abcDDfefDbD

    C.abcAAfefAbA

    D.Abcddfefdbd


    正确答案:B
    在内存中,字符数据以ASCIl码存储,它的存储形式与整数的存储形式类似。c语言中,字符型数据和整型数据之间可以通用,也可以对字符型数据进行算术运算,此时相当于对它们的ASCIl码进行算术运算,在本题中,s++相当于s=s+1,即让s指向数组中的下一个元素。

  • 第2题:

    有以下程序: 运行后的输出结果是( )。A.MtemoonB.AftemoonC.MorningSXB

    有以下程序:运行后的输出结果是( )。

    A.Mtemoon

    B.Aftemoon

    C.Morning

    D.orning


    正确答案:B
    语句voidfun(char**P)中的形参是一个指向指针的指针,在调用函数fun(a)后,指针数组a加1,

  • 第3题:

    有以下程序 程序运行后的输出结果是( )。A.程序错无输出结果B.31.5C.7.5SXB

    有以下程序

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

    A.程序错无输出结果

    B.31.5

    C.7.5

    D.14.0


    正确答案:A
    宏定义不是c语句,末尾不需要有分号。因此语句“printf(”%4.1f\n”。S(a+b));”展开后为“prinff(”%4.1tXn",3.5;+a+b}a+b;);”,所以程序会出现语法错误。

  • 第4题:

    有以下程序:

    程序输出的结果是()

    A.17

    B.18

    C.19

    D.20


    正确答案:C
    p=&a[l]则P指向元素为4,y+=*(P+x);相当于y=l+4+6+8=19。

  • 第5题:

    有以下程序: 注意:字母a的ASCIl码值为97,程序运行后的输出结果是( )。 A.dB.goSX

    有以下程序:注意:字母a的ASCIl码值为97,程序运行后的输出结果是( )。

    A.d

    B.go

    C.god

    D.good


    正确答案:A
    fun函数的功能是输出字符串中ASCII码能被2整除的字符,g的ASCIl码为l03,0的ASCIl码为111,d的ASCIl码为l00,只有d满足。因此,本题答案为A)。

  • 第6题:

    有以下程序:

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

    A.7.5

    B.31.5

    C.程序有错无输出结果

    D.14.0


    正确答案:C
    宏定义不是C语句,末尾不需要有分号。所以语句printf(”%4.1f\n”,S(8+b));展开后为parintf(”%4.1f\n”,3.5;*a+b}a+b;);所以程序会出现语法错误。

  • 第7题:

    有以下程序:

    程序的输出结果是( )


    正确答案:C
    本题考查d0…while循环。在d0…while构成的循环体中,总是先执行一次循环体,然后再求表达式的值。当执行完第三次循环时,得到n=3,while循环表达式仍然成立,接着执行直到n=4,表达式不成立,跳出循环,结束程序。

  • 第8题:

    有以下程序: 程序运行后的输出结果是( )。 A.3,3,3B.2,2,3C.1,2,3

    有以下程序:程序运行后的输出结果是( )。

    A.3,3,3

    B.2,2,3

    C.1,2,3

    D.1,l,3


    正确答案:A
    根据程序可以分析出系统只分配了一个整型数据的存储空间,把这个空间的地址分别赋给了指针型变量a,b和c。程序利用指针a把数据1写入了该空间,然后利用指针b,把数据2写入该空间,所以原来的1就被覆盖掉了,最后用指针c把数据3写入该空间把数据2覆盖掉了,此空间中最后留有的数据是3。因为3个指针都指向该空间,所以输出数据均为3。

  • 第9题:

    有以下程序: 程序运行后的输出结果是( )。A.11,12B.12,13C.13,14SXB

    有以下程序:

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

    A.11,12

    B.12,13

    C.13,14

    D.14,11


    正确答案:B
    本题中定义了一个结构体数组dt[2],其中dt[0].x=11,dt[O].y=12,dt[1].x=13,dt[1].y=14。在main函数中指针P指向了结构体数组的第一个元素,因此P一>x值为ll,P_>y值为l2,自加运算的结果分别为12和13。

  • 第10题:

    有以下程序

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

    A.5.OO

    B.5

    C.5.2l

    D.0.0


    正确答案:A
    fun2中a=funl(x);返回1,b=funl(Y);返回值为4,所以fun2函数返回5,按格式输出后为5.00,所以答案选择A)。

  • 第11题:

    有以下程序:程序的输出结果是:A.B.C.D.

    有以下程序:

    程序的输出结果是:


    正确答案:D
    {intk=-3;if(k<=0)printf(″****\n″)elsewind(″&&&&\n″);)中printf(″****\n″)缺少分号,因此会报编译错误。

  • 第12题:

    有以下程序:

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


    正确答案:B
    第一次执行外循环,i的值为3,第一次执行内循环j的值为1,j<=2条件成立,打印i+j的值,即4;第二次执行内循环J的值为2,j<=2条件成立,打印i+j的值,即5;再判断条件不成立,打印回车换行符,跳出内循环。第二次执行外循环,i的值为2,内循环的执行同第一次一样,所以打印3和4,打印回车换行,结束内循环。第三次执行外循环i的值为1,同理内循环中打印2和3,打印回车换行符,结束内循环。

  • 第13题:

    有以下程序:

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

    A.有运行错误

    B.输出ll.10

    C.输出l2.10

    D.输出21.10


    正确答案:A
    calloe(n,sizeof(type))在内存的动态存储区中分配n个长度为size的连续空间,函数返回一个指向分配起始地址的指针,如果分配不成功,返回NULL。s在函数fun()申请了内存空间,但是在调用fun()函数后会释放掉,因此,最后q指向NULL,因此运行是打印出错。答案为A选项。

  • 第14题:

    有以下程序

    程序运行后输出结果是

    A.ABE

    B.BCD

    C.BDI

    D.BCF


    正确答案:C
    在函数main()中,第一次执行for循环时,b的值等于1,此时输出字母B;第二次执行for循环时,b的值等于3,此时输出字母D;第三次执行for循环时,b的值等于8,此时输出字母I。因此C选项正确。