若已定义x和y为double类型,则逗号表达式 x=1,y=x+3/2 的值为()。
A.1
B.2
C.2.000000
D.2.500000
A.1
B.2
C.2.000000
D.2.500000
第2题
有以下程序:
fun(int x,int y){return(x+y);}
main
{ int a=1,b=2,c=2,sum;
sum=fun((a++,b++,a+b),c++);
printf("%d\n",sum);
}
执行后的结果是( )。
A.6
B.7
C.8
D.9
【我提交的答案】: B |
【参考答案与解析】: 正确答案:C |
表达式a++,b++,a+b是一个逗号表达式,在逗号表达式中,从左向右进行各个表达式的运算,最后一个表达式的值就是逗号表达式的结果,所以表达式a++,b++,a+b的值为5,所以fun函数中的形参x 的值为5;表达式c++先把变量C的值传给形参y,然后c 的值加1,所以y的值为3,因此函数fun((a++,b++,a+b),c++)的返回值为8。
先把c的值传给y,那y的值为2啊,为什么是3呢
第3题
有以下程序:
fun(int x,int y){return(x+y);}
main
{ int a=1,b=2,c=2,sum;
sum=fun((a++,b++,a+b),c++);
printf("%d\n",sum);
}
执行后的结果是( )。
A.6
B.7
C.8
D.9
【我提交的答案】: B |
【参考答案与解析】: 正确答案:C |
表达式a++,b++,a+b是一个逗号表达式,在逗号表达式中,从左向右进行各个表达式的运算,最后一个表达式的值就是逗号表达式的结果,所以表达式a++,b++,a+b的值为5,所以fun函数中的形参x 的值为5;表达式c++先把变量C的值传给形参y,然后c 的值加1,所以y的值为3,因此函数fun((a++,b++,a+b),c++)的返回值为8。
c++ 应先引用再自增,所以y不应该等于2吗?
第4题
有以下程序:
fun(int x,int y){return(x+y);}
main
{ int a=1,b=2,c=2,sum;
sum=fun((a++,b++,a+b),c++);
printf("%d\n",sum);
}
执行后的结果是( )。
A.6
B.7
C.8
D.9
【我提交的答案】: B |
【参考答案与解析】: 正确答案:C |
表达式a++,b++,a+b是一个逗号表达式,在逗号表达式中,从左向右进行各个表达式的运算,最后一个表达式的值就是逗号表达式的结果,所以表达式a++,b++,a+b的值为5,所以fun函数中的形参x 的值为5;表达式c++先把变量C的值传给形参y,然后c 的值加1,所以y的值为3,因此函数fun((a++,b++,a+b),c++)的返回值为8。
第5题
有以下程序:
fun(int x,int y){return(x+y);}
main
{ int a=1,b=2,c=2,sum;
sum=fun((a++,b++,a+b),c++);
printf("%d\n",sum);
}
执行后的结果是( )。
A.6
B.7
C.8
D.9
【我提交的答案】: B |
【参考答案与解析】: 正确答案:C |
表达式a++,b++,a+b是一个逗号表达式,在逗号表达式中,从左向右进行各个表达式的运算,最后一个表达式的值就是逗号表达式的结果,所以表达式a++,b++,a+b的值为5,所以fun函数中的形参x 的值为5;表达式c++先把变量C的值传给形参y,然后c 的值加1,所以y的值为3,因此函数fun((a++,b++,a+b),c++)的返回值为8。
是把c++的值给y还是把c给y;我觉得是直接把c++的值给y,这时y的值应该是2
第6题
有以下程序:
fun(int x,int y){return(x+y);}
main
{ int a=1,b=2,c=2,sum;
sum=fun((a++,b++,a+b),c++);
printf("%d\n",sum);
}
执行后的结果是( )。
A.6
B.7
C.8
D.9
【我提交的答案】: B |
【参考答案与解析】: 正确答案:C |
表达式a++,b++,a+b是一个逗号表达式,在逗号表达式中,从左向右进行各个表达式的运算,最后一个表达式的值就是逗号表达式的结果,所以表达式a++,b++,a+b的值为5,所以fun函数中的形参x 的值为5;表达式c++先把变量C的值传给形参y,然后c 的值加1,所以y的值为3,因此函数fun((a++,b++,a+b),c++)的返回值为8。
第7题
有以下程序:
fun(int x,int y){return(x+y);}
main
{ int a=1,b=2,c=2,sum;
sum=fun((a++,b++,a+b),c++);
printf("%d\n",sum);
}
执行后的结果是( )。
A.6
B.7
C.8
D.9
【我提交的答案】: B |
【参考答案与解析】: 正确答案:C |
表达式a++,b++,a+b是一个逗号表达式,在逗号表达式中,从左向右进行各个表达式的运算,最后一个表达式的值就是逗号表达式的结果,所以表达式a++,b++,a+b的值为5,所以fun函数中的形参x 的值为5;表达式c++先把变量C的值传给形参y,然后c 的值加1,所以y的值为3,因此函数fun((a++,b++,a+b),c++)的返回值为8。
此题答案应为B项,其中C++因为是后加,所以传参给y时应该用加之前的数值,所以y=2,5+2=7
第8题
有以下程序:
fun(int x,int y){return(x+y);}
main
{ int a=1,b=2,c=2,sum;
sum=fun((a++,b++,a+b),c++);
printf("%d\n",sum);
}
执行后的结果是( )。
A.6
B.7
C.8
D.9
【我提交的答案】: B |
【参考答案与解析】: 正确答案:C |
表达式a++,b++,a+b是一个逗号表达式,在逗号表达式中,从左向右进行各个表达式的运算,最后一个表达式的值就是逗号表达式的结果,所以表达式a++,b++,a+b的值为5,所以fun函数中的形参x 的值为5;表达式c++先把变量C的值传给形参y,然后c 的值加1,所以y的值为3,因此函数fun((a++,b++,a+b),c++)的返回值为8。
此题答案应为B项,其中C++因为是后加,所以传参给y时应该用加之前的数值,所以y=2,5+2=7
第9题
有以下程序:
fun(int x,int y){return(x+y);}
main
{ int a=1,b=2,c=2,sum;
sum=fun((a++,b++,a+b),c++);
printf("%d\n",sum);
}
执行后的结果是( )。
A.6
B.7
C.8
D.9
【我提交的答案】: B |
【参考答案与解析】: 正确答案:C |
表达式a++,b++,a+b是一个逗号表达式,在逗号表达式中,从左向右进行各个表达式的运算,最后一个表达式的值就是逗号表达式的结果,所以表达式a++,b++,a+b的值为5,所以fun函数中的形参x 的值为5;表达式c++先把变量C的值传给形参y,然后c 的值加1,所以y的值为3,因此函数fun((a++,b++,a+b),c++)的返回值为8。
此题答案应为B项,其中C++因为是后加,所以传参给y时应该用加之前的数值,所以y=2,5+2=7
为了保护您的账号安全,请在“上学吧”公众号进行验证,点击“官网服务”-“账号验证”后输入验证码“”完成验证,验证成功后方可继续查看答案!