计算机二级

设x和y都是int类型,且x=1,y=2,则printf("%d%d",x,y,(x,y))的输出结果是( )。A.1 2B.1 2 2C.1,2D.输出值不确定

题目

设x和y都是int类型,且x=1,y=2,则printf("%d%d",x,y,(x,y))的输出结果是( )。

A.1 2

B.1 2 2

C.1,2

D.输出值不确定

参考答案和解析
正确答案:A
解析:本题考查printf函数的格式和逗号表达式。printf函数在输出时,是根据格式说明符的个数输出的,如果函数中有有多余的项将不予输出;如果有输出项少于格式说明符,则出错,不能输出正确的结果。  本题中逗号表达式(x,y)只返回y的值。此时格式说明的个数是2,而输出项的个数是3,因此printf函数只输出前两项。
如果没有搜索结果,请直接 联系老师 获取答案。
相似问题和答案

第1题:

【单选题】设x,y均为int型变量,且x=10,y=3,则printf("%d,%dn",x--,--y);语句的输出结果是

A.10,3

B.9,3

C.9,2

D.10,2


交换x和y中的值

第2题:

【单选题】设x,y均为int型变量,且x=10,y=3,则printf("%d,%dn",x--,--y);语句的输出结果是

A.10,3

B.9,3

C.9,2

D.10,2


交换x和y中的值

第3题:

设x和y都是int类型,且x=1,y=2,则printf("%d%d",x,y,(x,y))的输出结果是( )。

A)12

B)122

C)1,2

D)输出值不确定


正确答案:A

第4题:

设x,y均为int型变量,且x=10,y=3,则printf("%d,%d\n",x-,-y);语句的输出结果是______。

A.10,3

B.9,3

C.9,2

D.10,2}


正确答案:D
解析:C语言的自减运算符有前置与后置两种形式。当自减运算符前置时,变量先自减一后再参与表达式运算;而后置时,变量先参与表达式运算后再自身减一。

第5题:

下列程序的输出结果是( )。 void fun(int*X,int y) { printf("%d%d",*x,*y);*x=3;*y=1;} main { int x=1,y=2; fun(&y,&x); printf("%d%d",x,y); }

A.2 1 4 3

B.1 2 1 2

C.1 2 3 4

D.2 1 1 2


正确答案:C
当执行fun函数时,因为参数传递时是地址传递,因此形参值的改变会影响实参中的数,在执行fun函数时先输出12,接着把*X赋3,*y赋4,此时带回主函数中,输出的值为34。

第6题:

设x,y均为int型变量,且x=10,y=3,则printf("%d\n"x-,-y);语句的输出结果是 ______。

A.10,3

B.9,3

C.9,2

D.10,2}


正确答案:D
解析:C语言的自减运算符有前置与后置两种形式。当自减运算符前置时,变量先自减一后再参与表达式运算;而后置时,变量先参与表达式运算后再自身减一。

第7题:

下列程序段的输出结果是______。 void fun(int *x,int *y) {printf("%d%d",*x,*y);*x=3;*y=4;} main() { int x=1,y=2; fun(&y,&x); printf("%d%d",x,y); }

A.2 1 4 3

B.1 2 1 2

C.1 2 3 4

D.2 1 1 2


正确答案:A
解析:本题中函数传递的是变量的地址,如果形参在函数中发生改变,相对应的实参也就有了改变。

第8题:

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

void fun(int*X,int y)

{ printf("%d%d",*x,*y);*x=3;*y=1;}

main

{ int x=1,y=2;

fun(&y,&x);

printf("%d%d",x,y);

}

A.2 1 4 3

B.1 2 1 2

C.1 2 3 4

D.2 1 1 2


正确答案:C
当执行fun函数时,因为参数传递时是地址传递,因此形参值的改变会影响实参中的数,在执行fun函数时先输出12,接着把*X赋3,*y赋4,此时带回主函数中,输出的值为34。

第9题:

下列程序段的输出结果是( )。 void fun(int *x,int *y) { printf("%d%d",*x,*y);*x=3;*y=4; } main() { int x=2,y=1; fun(&y,&x); printf("%d%d",X,y); }

A.1243

B.1212

C.1234

D.2112


正确答案:A
解析:本题主函数中首先定义了两个变量x和y,并初始化为2和1,然后将y和x的地址值,传入函数fun(),函数fun()中的形参x和y分别指向主函数中的变量y和x,所以fun()函数输出的值为1和2,fun()函数在结束之前把形参x所指内容赋为3,把形参y所指内容赋为4,所以返回主函数后,主函数中的x和y已被改写为4和3。故程序输出结果为1243。选项A正确。