① c语言,y——和——y各什么意思
intmain()
{
inty=0;
y--;//此时y值还是0,执行完该行后y才等于-1,如果在表达式中的话,y先参与运算,运算结束后自减
intx=0;
--x;//此时x值已经是-1了,在表达式中x先自减,再参与运算。
}
② C语言中!y是什么意思
!y,对于y取非
一般用于判断式中,例如:
if(!y)
当y等于0时,!y就为!0,0为假,所以!y为真,if条件成立
当y不等于0时,!y就为!真,所以!y为假(也可以理解为!y=0),if条件不成立
③ 请问在c语言中,x>++y和x>y++一样吗
不一样;
int x=3,y=2;
x>++y;
x>y++;
++y;先自加1,再去取值;也就是x>3
y++;先取值,再自加1;也就是x>2
④ c语言中Y||y
Y||y中,“||”表示逻辑操作符(或),所以意思是大写的Y或者小写的y。
“||”表示逻辑操作符(或),它的操作数是布尔型,即只有“0”(表示false)和“1”(表示true)两个数值。C语言规定,在逻辑运算中,所有非0的数值都被看成1处理。
布尔型变量是有两种逻辑状态的变量,它包含两个值:真和假。如果在表达式中使用了布尔型变量,那么将根据变量值的真假而赋予整型值1或0。要把一个整型变量转换成布尔型变量,如果整型值为0,则其布尔型值为假;反之如果整型值为非0,则其布尔型值为真。布尔型变量在运行时通常用做标志,比如进行逻辑测试以改变程序流程。
⑤ C语言中--y什么意思
--y的意思就是进行如下运算:
1.y=y-1
2.返回y的值
y--的意思就是:
1.返回y的值
2.y=y-1
两个有区别
这和优先级没有关系,--y和y++的优先级是一样的
区别就在于返回值不一样
例如1:
y=1;
x=--y;//x的值为0,y的值为0
例如2:
y=1;
x=y--;//x的值为1,y的值为0
for ( int x = 5; x > 0; x--)//这个时候--x和x--没有区别
⑥ c语言中(x--)-y和x---y这两个表达式的值是否一样
首先,值是一样的;
其次,运算之后的x,y的值也都是一样的;
最后,他们运算的过程也是一样的
因为C语言是按照贪婪原则编译的,它从左到右扫描表达式的时候,会将尽可能多的符号或名称放到一起以组成有意义的表达式。当表达式有多种解释的时候,就按照这个原则来确定表达式的意义!
⑦ C语言编程题中的++Y与y++的区别
++y:先给y加上1,再进行其它运算。
y++:先让y进行其它运算,再给y加上1
比如下面的代码:
#include<stdio.h>
intmain()
{
intav=0,bv=0;
intr1=++av;
intr2=bv++;
printf("%d %d ",r1,r2);
return0;
}
r1=1,是因为++av,先要增加1,再给r1赋值,所以结果是1。
r2=0,是因为bv++,先让bv赋值给r2,再给bv加1,所结果是0。
⑧ !y在c语言中是什么意思
?在语言中表示疑问,那么疑问来自于判断。
:在语言中表示判断的结果选择。
所以编程逻辑就是先进行判断,然后再进行选择。
例如,当a>b时,x=1否则x=0,可以写成x=a>b?1:0。
(8)c语言中y和y一样吗扩展阅读:
C语言运算符号:
比较特别的是,比特右移(>>)运算符可以是算术(左端补最高有效位)或是逻辑(左端补 0)位移。例如,将 11100011 右移 3 比特,算术右移后成为 11111100,逻辑右移则为 00011100。
因算术比特右移较适于处理带负号整数,所以几乎所有的编译器都是算术比特右移。
运算符的优先级从高到低大致是:单目运算符、算术运算符、关系运算符、逻辑运算符、条件运算符、赋值运算符(=)和逗号运算符。
关系运算符号 :== 、!=
⑨ ++y与y++有什么区别吗
一、运算过程不同
1、++y:运算过程为y首先进行自加运算,之后再执行y表达式。
2、y++:运算过程为先执行y表达式,之后进行自加运算。
二、内存过程不同
1、++y:内存中寄存器先自增1,之后执行y。
2、y++:内存中先执行y,之后寄存器增加1。
(9)c语言中y和y一样吗扩展阅读
自增自减运算符存在于C/C++/C#/Java等高级语言中,它的作用是在运算结束前(前置自增自减运算符)或后(后置自增自减运算符)将变量的值加(或减)一。
相较于这些语言中的+=和-=运算符,自增运算符更加简洁,且可以控制效果作用于运算之前还是之后,具有很大的便利性。
自增运算符 ++ 使操作数的值加1,其操作数必须为可变左值(可简单地理解为变量)。
自减运算符--与之类似,只不过是变加为减而已。
在同一条语句中,被操作的数出现多次是可以通过编译的,但是其在C++ Standard等语言标准中被定义为"Undefined behavior"(不确定的行为),即不同的编译器或编译器版本所编译得到的机器码可能不尽相同。
不推荐在同一条语句中使被操作的数出现多次,这不仅仅将导致程序的含义难以理解,可读性大幅降低,同时可能导致不同的编译器或编译器版本得到不同的结果。
⑩ C语言,这里面的*y和y变化的都是什么呀
y是一个指针类型变量,y的值是另一个变量的地址,假定另一个非指针变量为m,通常赋值语句会是y=&m(注意类型必须符合一定语法规则,比如基类指针=&派生类对象,某类型指针=&该类型变量),这里改变的是y的值。
如果*y=c;这里表示访问y所指向的对象m,并将m的值修改为c。