在C语言中,如果有如下定义:int x=5,y;y=(x*3,x+13),x*2;则y =

在C语言中,如果有如下定义:int x=5,y;y=(x*3,x+13),x*2;则y =图片上的第34题。能说一下过程吗?谢谢了!

第1个回答  2019-09-23
y=(x*2*3,x*2+13)追问

这是怎么算的啊,能把过程说一下嘛,,谢谢您了!

第2个回答  2019-09-23
两个逗号运算符的嵌套。第一个逗号运算符,依次执行x*3,x+13,并将最后一个运算结果赋给变量y。第二个逗号运算符,执行y,x*2,并将最后一个运算结果作为整个表达式的值。
本题问的是y的值,因此无需再看第二个逗号运算符,只看第一个就可以了。由于仅仅将最后一个表达式x+13的结果赋给变量y,因此只需要求x+13的结果。
x+13=5+13=18,将18赋给变量y,y=18
本题很简单。虽然题目写了一串,由于问的只是y的值,因此只要看x+13的结果就可以了。
第3个回答  2019-09-23
首先来学习一下逗号运算符和逗号表达式:
C语言提供一种特殊的运算符——逗号运算符,它是所有运算符中级别最低的一个运算符。
用它将两个表达式连接起来,如:3+5,6+8称为逗号表达式,又称“顺序求值运算符。”。
逗号表达式的一般形式为:
表达式1,表达式2
逗号表达式的求解过程是,先求解表达式1,再求解表达式2,整个逗号表达式的值是表达式2的值。
来看一下本题:
y=(x*3,x+13),x*2是一个逗号表达式,
所要先运算y=(x*3,x+13),再运算x*2,运算x*2对本题无意义。
所以只来看y=(x*3,x+13),()内x*3,x+13是一个逗号表达式,它的值是x+13的值,
程序先算x*3,因为没有赋值,所以对来题无用,再算x+13=5+13=18,然后把18赋值给y,
所以y的值为18,本回答被网友采纳

在C语言中,如果有如下定义:int x=5,y;y=(x*3,x+13),x*2;则y =
(x*3,x+13)是一个逗号表达式,结果是最右边那个表达式x+13的值18。y=(x*3,x+13),x*2;即y=18,x*2;又是一个逗号表达式,先将y赋值为18,再算x*2等于10。所以y=18。

在32位机上使用C语言,若有如下定义:
int j:3;int x:5; ---1个字节 char ch; ---1个字节 double f; ---8个字节 一共10个字节,会对齐成4个倍数,所以是12

C语言中 main() {int x=1,y=1,z=0; if(z<0) if(y>0 具体请看下边程序...
int x=1, y=1, z=10;\/\/定义三个数 if(z<0) \/\/此语句为第一句z = 10; 因为10大于0 不成立,不执行下列二三语句,跳转语句四 if(y>0)\/\/\/此语句为第二句属于上一句的if语句 由于上个语句不成立所以不执行, x=3;\/\/\/此语句为第三句同上属于上一句的if语句 由于上个语句不成立所以x = 3没有执行...

全国计算机等级考试三级笔试试题及答案?
(21) 已有定义:int x=3,y=4,z=5;,则表达式!(x+y)+z-1 && y+z\/2的值是( )。A) 6 B) 0 C) 2 D) 1(22) 有一函数, ,以下程序段中不能根据x值正确计算出y值的是( )。A) if(x>0) y=1; B) y=0; else if(x==0) y=0; if(x>0) y=1; else y=-1; else if(x<0) y...

俄罗斯方块C语言代码
void gtxy(int m, int n) \/\/控制光标移动 {COORD pos; \/\/定义变量 pos.X = m; \/\/横坐标 pos.Y = n; \/\/纵坐标 SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), pos); } void csh( ) \/\/初始化界面 {gtxy(ZL+WID\/2-5,ZL-2); printf("俄罗斯方块"); \/\/打印游戏名称 gtxy(...

c语言的题目!!
1 ||是逻辑或的意思,也就是说两遍的值只要有一个是真,那就是真。C语言判定大于0的值是真,显然3和4真是真,那么表达式x||y的值是真,和判定不同,返回值的时候C语言用1表示真,0表示假(但是在判定的时候像2 3 4 5 6这类大于0的值也都是真),所以x||y = 1。!的意思是取反,...

C语言提供3种逻辑运算符,按优先级高低它们分别是
C语言提供三种逻辑运算符,按优先级高低它们分别是:逻辑非(!),逻辑与(&&)、逻辑或(||)。运算规则:&&:当且仅当两个运算量的值都为“真”时,运算结果为“真”,否则为“假”。|| :当且仅当两个运算量的值都为“假”时,运算结果为“"假”,否则为“真”。! :当运算量的值为“真”...

自考“C语言程序设计”模拟试题一
13、设有如下定义: int x=10,y=3,z; 则语句printf(“%d\\n”,z=(x%y,x\/y)); 的输出结果是( )。 A. 1 B. 0 C. 4 D. 3 14、定义如下变量和数组:int i;int x[3][3]={1,2,3,4,5,6,7,8,9}; 则语句for(i=0;i<3;i++) printf(“%d ”,x[i][2-i]); 的输出结果是( )。

在C语言中11种赋值运算符的具体含义,用法?
如果两个相应的二进制位都为1,则该位的结果值为1;否则为0。5.^= 按位异或后赋值,变量^=表达式,参与运算的两个量按照对应的位进行异或运算,且0^0→0, 0^1→1, 1^0→1, 1^1→0 一个数与0异或仍保持不变,如a^0=a一个数与自己异或结果为0,如a^a=0 11.|=是按位或后...

15道C语言的选择题,请各位帮忙阿。
(C) .getchar (D) . 都不能直接使用 12. 设有int x=5, y=6 ,z=7; 则执行程序段 if(x>y)z=x; x=y; y=z后,x, y, z的值分别为( ).(A)5,6,7 (B)6,7,8 (C)7,7,8 (D)6,7,7 13. 下列选项中,与k=n++等价的表达式是( )(A)k=++n (B)n=n+...

相似回答