int x=5,y=5;执行x+=y++后,x=?y=?

作者&投稿:苏睿 (若有异议请与网页底部的电邮联系)
int x=5,y=5;执行y=++x*--y后,x=?y=?~

y=529
解析:++或--后置运算符优先级小于*,而前置运算符优先级却大于*,所以,运行y=x++*x++;时,首先计算y=x×x=5×5=25,再计算x=x+1=6;x=x+1=7;运行y=--y*--y;时,先y=y-1=25-1=24,;再计算y=24-1=23;最后计算y=23×23=529.
即等效代码为:
int x=5;
y=x*x;
x=x+1;
x=x+1;
y=y-1;
y=y-1;
y=y*y;
运行结果如下:

x=5
解题过程如下:
x %= y + z;
首先,会计算y+z的值,为5+5=10;
此时相当于:
x %= 10;
也就是:
x = x %10
即:x = 5 % 10
所以,整个表达式x的值为5.

扩展资料c语言其主要特点如下:(1)简洁的语言
C语言包含的各种控制语句仅有9种,关键字也只有32 个,程序的编写要求不严格且以小写字母为主,对许多不必要的部分进行了精简。实际上,语句构成与硬件有关联的较少,且C语言本身不提供与硬件相关的输入输出、文件管理等功能,如需此类功能要通过配合编译系统所支持的各类库进行编程,故c语言拥有非常简洁的编译系统。
(2)具有结构化的控制语句
C语言是一种结构化的语言,提供的控制语句具有结构化特征,如for语句、if⋯else语句和switch语句等。可以用于实现函数的逻辑控制,方便面向过程的程序设计。

x=10 y=6
原因:"y++"表示使用y之后再将y的值加1,所以是运算x+=y,这个时候的x为5,y也为5,得到结果为x=10,然后y自增1,结果y=6.
补充:y++和++y的区别在于前者是使用y这个变量后再将y自增1,后者是使用y之前就先将y自增1.
所以如果表达式为x+=++y,其结果为x=11 y=6

x=10
y=5

x=10
y=6


社旗县18230464500: C语言中 int x=5,y=5,z=5;执行语句x%=y+z;后x的值是多少?详细一点 谢谢 -
矣咬复方: 因为%=运算符的优先级低于+,所以,先算y+z = 5+5=10 x %= y+z ; x %= 10 ; x= x%10=5%10=5 %=表示取模后,结果还赋值给左变量 %表示模运算,即:整除取余数.

社旗县18230464500: int x=5,y=5;执行y=++x* -- y后,x=?y=? -
矣咬复方: public class Op1 { public static void main(String[] args) {int x=5;int y=5;y=++x*--y;System.out.println(x);System.out.println(y); } } 我自己测试了一下发现是6和24对,这东西最好多动手自己测.才能学好编程

社旗县18230464500: int x=5;执行x+=x++ +(x++)后x是多少?为什么? -
矣咬复方: x+=x++ +(x++)的操作实际上就是 x=x+(x++)+(x++) (后缀的++操作,如楼主所说) 于是x=5+5+6=16 ===========补充的分割线=========== 怎么会先算括号中的...加法是从左到右的.运算符优先级是()与+同时需要判断的时候优先级高的先执行而已..

社旗县18230464500: 问:int x=5;为什么y=++x* -- x的结果是25而printf("%d",++x*--x);的结果为什么是30呢? -
矣咬复方: #include int main(void) { int x=5; int y = ++x * --x; printf("%d\n", y); printf("%d\n", ++x * --x); return 0; } 贴上警告:test.c:6: warning: operation on 'x' may be undefined test.c:8: warning: operation on 'x' may be undefined

社旗县18230464500: int x=5;y=x++*x++;y= -- y*--y;运行后y是多少 -
矣咬复方: y=529 解析:++或--后置运算符优先级小于*,而前置运算符优先级却大于*,所以,运行y=x++*x++;时,首先计算y=x*x=5*5=25,再计算x=x+1=6;x=x+1=7;运行y=--y*--y;时,先y=y-1=25-1=24,;再计算y=24-1=23;最后计算y=23*23=529.即等效代码为:int x=5;y=x*x;x=x+1;x=x+1;y=y-1;y=y-1;y=y*y;运行结果如下:

社旗县18230464500: 已知int x=5,y=5,z=5;执行语句x%=y+z;后,x的值是 多少 . -
矣咬复方: 这个语句应该是从右到左吧:x=x%(y+z)%的意思是取余x最后应该是10;自己理解的,对不对不知道我也是学编程的

社旗县18230464500: 已知 int x=5;,执行下列语句后,x的值为( ). x+=x - =x*x; -
矣咬复方: -40 是这样的,首先 x = 5; x*x = 25 然后x-=x*x,5 - 25 = -20,此时x = -20 最后 x+=x-=x*x;也就是-20+(-20) = -40

社旗县18230464500: C语言题目 已知int x=5,y=5,z=5,执行语句x%=y+z 后,x的值是 A) 0 B)1 C)5 D)6 -
矣咬复方: x=x%(y+z)x=5%(5+5)=5 选C

社旗县18230464500: C++中执行代码int x,y(5); x=~y; 后,X的值为什么是 - 6? -
矣咬复方: y=5在内存中为:0000 0101 所以~y为:1111 1010(所有位取反) 即x = 1111 1010 然后分析x: 第一个1是符号位,为负数, 然后其他位取补然后加1,即000 0101+1=000 0110即6 所以答案是-6

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网