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

题目

有以下程序:

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

A.2 3 4 4

B.4 3 3 2

C.1 2 3 4

D.1 1 2 3

如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

有以下程序:

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

A.1

B.2

C.3

D.4


正确答案:B
本题重点考察函数的递归调用;题目中给出的fun()函数直接调用了自身,所以是一个递归函数。其功能是:当参数b为0时,返回参数a的值,否则返回fIln(一一a.一一b)的值。从这里可以看出,当b不断递减时,a也不断递减,直到b为0时返回a的值。那么a递减的总值就是b原来的值。所以整个递归函数的作用就是返回a—b的值。因此B选项正确。

第2题:

有以下程序:

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

A.2,3,3

B.2,3,2

C.2,3,1

D.2,2,1


正确答案:C
z=X++,Y++,++y;因为赋值运算符的优先级高于逗号运算符的优先级,所以可以将上式表示成(Z=x++),(Y++),(++y)。然后从左向右先计算表达式Z=X++,因为x++先使用后自增,所以z的值为1,X的值为2。再计算逗号表达式第二个表达式Y++,此时Y的值为2,最后计算第三个表达式++y,Y的值为3。

第3题:

有以下程序: 程序运行后的输出结果是( )。 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。

第4题:

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

有以下程序

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

A.6,4,3,2

B.6,2,l,l,

C.1,1,2,6,

D.2,3,1,6,


正确答案:A
第一个嵌套的for循环功能将对角线上的数据从大到小排序,其他数据不变,排序完成后,a[0][0]值为6,输出第一行为6432,答案选择A)

第5题:

有以下程序:

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

A.4,5,2,4,1,3,

B.4,4,2,2,1,1,

C.5,5,3,3,2,2,

D.4,4,2,2,1,3


正确答案:A
sizeof()是运算符,在头文件中typedef为unsignedint,其值在编译时即计算好了,参数可以是数组、指针、对象、函数等。它的功能是:获得保证能容纳实现所建立的最大对象的字节大小。strlen(·char)函数,要在运行时才能计算,参数必须是字符型指针(char·),当数组名作为参数传人时,实际上数组就退化成指针了,它的功能是:返回字符串的长度。该字符串可能是自己定义的,也可能是内存中随机的,该函数实际完成的功能是从代表该字符串的第一个地址开始遍历,直到遇到结束符NULL,返回的长度大小不包括NULL。sizeof(a)求数组a所占空间的大小,包括字符串最后的’、0’,所以sizeof(a)=5,strlen()遇到’、0’就结束,strlen(a)=4。strlen(b)是指针指向的字符串长度,sizeof(b)是指针的大小。strlen(c)是字符串的长度,sizeof(c)是数组的长度。因此,输出4,5,2,4,l,3。故答案为A选项。

第6题:

有以下程序:

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

A.2,3,1,6,8,7,5,4,10,9,

B.10,9,8,7,6,5,4,3,2,l,

C.1,2,3,4,5,6,7,8,9,10,

D.10,9,8,7,6,1,2,3,4,5,


正确答案:C
本题的子函数f的功能是对结构体变量。中第二个成员数组中所有的数据进行从小到大的冒泡排序,所以结果是C。

第7题:

有以下程序:

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

A.1,1,2,6,

B.6,2,1,1,

C.6,4,3,2,

D.2,3,4,6,


正确答案:C
首先对二维数组进行赋值操作,a[0]J[o]、a[o][1]、…、a[3][2]、a[3儿3]的值为1、4、…、6、1。通I过for嵌套循环语句和话条件语句,对二维数组对角线元素进l行由大到小的捧序操作,程序最后通过for语句输出二维数组I第1行的4个元素。因此c选项正确。

第8题:

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

A.1

B.2

C.3.

D.4


正确答案:A
在函数point函数调用时,系统自动为函数的形参P分配内存空间,并赋值为实参P的值。当执行语句P+=3;时,系统操作的是形参P的内存空间,更改形参P的内容,而实参指针变量P的值未受影响,即指针变量作为函数参

第9题:

有以下程序

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

A.2,3,1

B.2,3,2

C.2,3,3

D.2,2,1


正确答案:A
对于表达式“z=x++,y++,++y;”,因为赋值运算符的优先级高于逗号运算符的优先级,所以可以将上式改成“(z=x++),()r++),(++y)”。然后从左向右先计算表达式z----X++,因为x++先使用后自增,所以z的值为l:x的值为2。再计算逗号表达式第二个表达式y++,此时y的值为l,y++的值为2:最后计算第三个表达式++y,y的值为3。故本题答案为A。

第10题:

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

A.2,2,3,4,5,

B.6,2,3,4,5,

C.1,2,3,4,5,

D.2,3,4,5,6,


正确答案:B
本题考查的是指针作为函数的参数和函数的调用。题目中定义了一个指针变量作为函数f的形参。主函数main中调用f函数,当i=0时,执行语句(*q)++,此处*q代表的就是数组元素a[O]的值,即将1进行加1操作;当i=1时,q仍指向数组元素a[0]的地址,因为在函数f中并未对指针变量q作任何变动,也即*q仍代表了数组元素a[0]的值,所以此次(*q)++即2+1,所以a[O]的值变为3;……直到i=4时,执行(*q)++(即5+1)后a[0]的值变为6。所以最后的输出结果为:6,2,3,4…5