计算机c语言中k和k在什么情况有区别

2020-11-25 17:24:52 字数 5772 阅读 2006

1楼:宁静の乐章

这么给你解释吧。前置递增++k这个表达式执行两步,将k自加一,然后返回的结果是改变后的k。

而后置的k++第一步是自加一,但是第二步返回的结果是改变之前的k的拷贝值。

2楼:萢萢

输出、传参数、赋值给别的变量等时有区别。

计算机c语言中,k++与-k++有什么区别??

3楼:匿名用户

k++ 和 -k++ 只是数值符号有区别,++操作在这里是一样的。

不过++操作有个特别的地方需要注意,放在变量前后的效果是有点不同,特别用在表达式里面的时候。

k++ 和 ++k 不一样,看下面的例子:

int i=4;

printf("\ni=%d\n", i);

printf("\n4-i++=%d\n", 4-i++);

printf("\ni=%d\n", i);

i=4;

printf("\ni=%d\n", i);

printf("\n4-++i=%d", 4-++i);

printf("\ni=%d\n", i);

i=4;

printf("\ni=%d\n", i);

printf("\n-i++=%d\n", -i++);

printf("\ni=%d\n", i);

i=4;

printf("\ni=%d\n", i);

printf("\n-++i=%d\n", -++i);

printf("\ni=%d\n", i);

输出结果是:

i=44-i++=0

i=5-------------------

i=44-++i=-1

i=5-------------------

i=4-i++=-4

i=5-------------------

i=4-++i=-5

i=5也就是说,当用在表达式里面的时候,++在前和在后的运算次序是不一样的,

++在前则先对变量+1,然后再参与表达式的运算;++在后则先参与表达式运算,然后才对变量+1。

对于初学者,或者专家也好,不建议使用太复杂的表达式,**的可读性也非常重要。

复杂的表达式并不会生成更快的编译**,反而会使别人或自己看不懂**表达的意思,

想想一年或几年后,你自己再来看这些**还看得明白吗?

4楼:戈壁与清潭

int k=4;

int j;

j=k++; //j=4, k=5

k=4;

j=-k++; //j=-4,k=5

5楼:幻☆天芒

其实就是多了个负号而已、没什么区别呀!

如果k=1,执行前面的那句会输出1,执行后面的那一句会输出-1.

c语言中k++,k++是什么意思

6楼:热词课代表

n+1中的n指的是每工作1年支付1个月工资的经济补偿。所谓的+1,是指用人单位解除劳动合同但是未提前30天书面通知劳动者时,额外支付的1个月工资。

7楼:匿名用户

c语言中k+=n+1的意思是k=k+(n+1),即将n+1的计算结果加上k之后重新赋值给k,该形式是k=k+(n+1)的简写形式。

这种形式还有很多种运算类型,如-=、*=、/=、%=等,其规则与+=类似,如k-=n+1的后即为k=k-(n+1),其他类似。

这里需要注意的是,右侧的计算结果参与运算,如k-=n+1,不能看作是k=k-n+1,需要将右侧的表达式加括号,即k=k-(n+1)。

c语言 k++什么意思

8楼:匿名用户

在c语言中,如果一个数字想

自身加1,可以使用k = k + 1;这种表达式。如果开始时k=1,则经过此运算后,k的值变为2,c语言考虑到程序的简捷性,所以使用k++,它与k = k + 1;的作用是一样的。

另外,你需要知道k++与++k的不同,二者虽然都是在原来基础上加1,但前者是用完k再加1,另一个是加完1再使用k。给你个小例子

int k = 0;

如果是printf("%d",k++); //打印0如果是printf("%d",++k); //打印1如果还有什么问题可以加798244577一起讨论

9楼:洪振梅税画

就是把k与=后面的数相加后再赋给k;

即:k+=3等价于k=k+3

但二者区别是前者运算速度快。

10楼:岔路程序缘

k是一个指针,这句话的意思是k指向的地址中存放的变量值加上2。

举例:如果a=2,k=&a,则执行*k+=2后,a=4,相当于执行了a=a+2。

11楼:计算机之祖

!k%2==1,这是一个表达式

这里面有三个运算符,按照优先级从高到低依次为:!,%,==所以表达式相当于(!k)%2==1

可以发现:

当k为假(k等于0)时,整个表达式为真,表达式的值为1当k为真(k为非0)时,整个表达式为假,表达式的值为0

12楼:贪吃的xiao熊

k+=3 就是 k=k+3的意思

c的值是'b',那么进入switch语句时为第二条case语句,执行k+=2,此时k=6,由于没有break语句,即不跳出switch,那么继续执行第三条case语句,此时k=7,输出结果,完毕!

【延展】

c语言:

c语言是一门通用计算机编程语言,应用广泛。c语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。

13楼:匿名用户

k++,就是你下一次用到k的时候已经被+1了,int k=0;k++; int a = k;//这个时候k是1了(附:比方说i=0,y=i++,这时i自增,y还是0,下次再用时i=1,与之相近的有前缀++i,表达式y=++i为1,下次用时i也增到1)

14楼:匿名用户

++叫作自增运算符k++或++k在某些时候等价于k=k+1; 但在有些时候就会不一样例如:int i,j;j=2;i=j++;执行完上面的三条语句后i=2,j=3,这里i=2是有原因的,因为当++在后面时整个表达式(j++)的值是变量的原值,即2,而i=j++是将整个后面的j++这个表达式的值赋给i,不是将j的值赋给i。int i,j;j=2;i=++j;执行完上面的三条语句后i=3,j=3,这里i=3是因为当++在前面时整个表达式的值为变量执行自加后的值。

15楼:匿名用户

先将k的所有位依次取反,然后再求上一步的数除以2的余数,最后判断这个余数是否等于1

一句话说,是判断k的非除以2所得的余数是否等于1

16楼:匿名用户

++k单独用等价于k=k+1;混合用如做为数组下标使用(a[++k]),

等价于k=k+1,然后认为表达式++k的值为新k。

k++单独用跟++k是一样的;混合用如做为数组下标使用(a[k++]),

等价于认为表达式k++的值不变,是老k;然后数组a使用表达式的值老k获得元素

a[k]的值xx。然后,做k=k+1。

也就是说混合用时,表达式本身虽一,却蕴含了两个操作;——但其实单独用时也蕴含了同样

两个操作。只不过单独用时,表达式自身的值被舍弃。

17楼:匿名用户

即是k=k+1;自增运算

c语言 k++是什么意思?

18楼:贪吃的xiao熊

k+=3 就是 k=k+3的意思

c的值是'b',那么进入switch语句时为第二条case语句,执行k+=2,此时k=6,由于没有break语句,即不跳出switch,那么继续执行第三条case语句,此时k=7,输出结果,完毕!

【延展】

c语言:

c语言是一门通用计算机编程语言,应用广泛。c语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。

c语言m++&&k++与k++&&m++有什么不同?

19楼:匿名用户

对&&操作如果发现前面的逻辑运算值为0,则不再进行后面的操作,直接认为整个式子值为0.

另外,x++运算的优先级相当低,甚至低于赋值运算,故先执行&&运算在执行++运算

20楼:匿名用户

一样的,你的试卷上的答案恰恰也说明是一样的

c语言中k=n++ k=++n具体运用的时候有什么不同。。。

21楼:**米兰

k=n++

先k=n

然后 n=n+1

k=++n

先n=n+1

然后k=n

22楼:清风or朗月

至于具来

体的应用,在c语言后自面的循环里面会用到bai,i作为循环变量du自zhi加1

还有在数据结构里面指针dao和数组等会用到它的用法的区别关键就是n加上1的时刻不同,前一个是先采用了n的值以后加上1,变成n=n+1;后面那个是先把n变成n=n+1后,再采用n的值,现在的n的值要比原值大1

23楼:匿名用户

n++是参与计算之后n的值加一,++n是先加我一再参与计算

c语言中((j++||k++)&&i++)是什么意思

24楼:12345额时代

是一条赋值语句,zhidao=左边是变量k,右边是表达式,操作方法如下:

1、早c语言中,i++的意思是先进行表达式运算,再进行自增运算。

2、从结果来看,把i++的运算过程拆分开,等效于i=i+1,可以看到运算结果是一致的。

3、但是在表达式运算过程中,i++会先进行表达式运算,然后才会进行自增运算。

4、根据运行结果可以看到b=j;赋值运算结束之后j=j+1,即j进行自增运算。

5、而++i的意思是先进行自增或者自减运算,再进行表达式运算。

6、通过运算结果可以发现,如果仅从i的值来看,++i和i++最终的i值是一样的,都是i自增加了1.。

25楼:华夏沉默

j与k进行或运算,(若j不为0,则或运算的结果为1,或运算以后j自加1,k不变,因为j不为0就可判断或运算结果为1,不需要对k判断;若j为0,则或运算后,j和k的值都自加1。)

j和k或运算的结果(0或者1)在与i进行与运算(若或运算的结果为0,则与运算的结果为0,i的值不进行自加1操作,因为0和任何数与都是0,不需要再对i判断了;若前面或运算的值为1,则再与i与运算后,i的值自加1)

26楼:匿名用户

这个是用于判断的表达式,就是要判断j++、k++、i++三个表达式的真假值。。。。。

27楼:匿名用户

两个逻辑运算,||是或逻辑,&&是与逻辑;i为0,结果为0(假);否则,只要j或k为非0,结果为真;

c语言中k++等于多少

28楼:匿名用户

后置自加

先取值 再自加

所以k++的值, 就是k的原始值

执行后 k才会自加1

比如 k=2

那么k++的值就是2

执行后k值为3

c语言中的和两个运算符有什么区别

1楼 匿名用户 在c语言中,运算符 和运算符 所表示的意义不同。 是赋值运算符,它的含义是将右侧表达式的值赋给左侧的变量。 是关系运算符,如果两侧表达式的值相等,则其值为1,否则为0。 2楼 匿名用户 一个等号是赋值运算符,用于把等号右边的结果赋值给左边的变量 两个等号是判等运算符,用于判断等号左右...