⑴ c语言中的i++与++i的使用区别举例说明
c语言i++和++i的区别:
1、i++式子值为原来的值,就是通俗说的“先赋值再加1”;
2、而++i式子值为i变化后的值,也就是“先加1后赋值”。
而在for循环中,如果要表示递增,两种都可以。
例如:
如果i的初始值是0,使用后再加1,则输出i++为0;
如果i的初始值是0,使用前先加1,则输出++i为1。
(1)i1与c语言的区别扩展阅读:
C语言运算符的特点
1、C语言是一个有结构化程序设计、具有变量作用域(variable scope)以及递归功能的过程式语言。
2、C语言传递参数均是以值传递(pass by value),另外也可以传递指针(a pointer passed by value)。
3、不同的变量类型可以用结构体(struct)组合在一起。
4、只有32个保留字(reserved keywords),使变量、函数命名有更多弹性。
5、部分的变量类型可以转换,例如整型和字符型变量。
6、通过指针(pointer),C语言可以容易地对存储器进行低级控制。
7、预编译处理(preprocessor)让C语言的编译更具有弹性。
⑵ C语言中++i 和i++有啥区别啊
i++和++i都是c语言里的自增,但是它们自增的顺序不同。++i表示,i自增1后再参与其它运算,而i++ 则是i参与运算后,i的值再自增1。
for循环里循环变量增值用i++,而不用++i是因为在循环结构里需要循环变量来结束循环,而使用i++则会导致本来应该继续的循环少执行一次,所以循环结构里通常都是循环变量在一次循环结构执行完成之后再自增。
(2)i1与c语言的区别扩展阅读
i++和++i前置后置区别的例子:
1、a = i++;
相当于 a = i; i++;
2、a = ++i;
相当于 i++; a = i;
3、int i=3;
int j=4;
int a = i++;
int b = ++j;
printf("%d, %d
", a, b);
结果是3,5。++前置:i自增1后再参与其它运算;++后置:i参与运算后,i的值再自增1”。很明显,a = i++;由于是先执行赋值运算,再自增,所以结果是a=3,i=4;而b = ++j。
⑶ 在c语言中1<<i与i<<1的区别是什么
1<<i是把1左移i位,每次左移以为就是乘以2,所以1<<i的结果是1乘以2的i次方
i<<1就是把i左移一位,即i乘以2,假如i=5,最后结果就是5*2=10
至于为什么左移一位是乘以2,这是运算器内部机理,说起来就更多了,计算机做乘法运算的时候不是一个个的相加,而是用移位来实现的。>>这个符号是右移,与左移相反,右移是除以2.
这里还有一点容易搞错的,就是移位符号的左边是需要计算的数,右边是需要移动的位数。
⑷ c语言i=i++和i=i+1区别如何理解
i++;
++i;
上面这两个语句没有什么区别,都等价于
i=i+1;
但是一旦将
i++
++i
写到一个表达式里面,就像你说的
i=i++;
这样就有区别了,想必老师们也经常提到,就不多说了,这里单说i=i++和i=i+1区别。
单从表面上来看,没有什么区别,因为结果是一样的,但是将C语言的一个不能再拆解的语句可以用汇编语言进行“拆解”,这个你可以通过编译器看一下就清楚了
7: i = i++;
0040102F mov eax,dword ptr [ebp-4]
00401032 mov dword ptr [ebp-4],eax
00401035 mov ecx,dword ptr [ebp-4]
00401038 add ecx,1
0040103B mov dword ptr [ebp-4],ecx
8: i = i+1;
0040103E mov edx,dword ptr [ebp-4]
00401041 add edx,1
00401044 mov dword ptr [ebp-4],edx
⑸ C语言,i--和--i有什么区别,怎么用
--i和i--都是自减运算符
--i称为前缀运算,i--称为后缀运算
前缀运算后,表达式的值为原变量值减1;
后缀运算后,表达式的值仍为原变量值;
而变量值不论前缀运算还是后缀运算都减1。
例如:i=10;
--i的值为原变量值减1,是9;现在的变量i也是9
i=10
i--的值为原变量值,是10;而变量i现在就是9
⑹ C语言里面i 和 i有什么区别,不是很理解。
前者本次运算为原值后者本次加一运算
先用再加先加再用
前自增和后自增吧
i
是先使用i,用完以后再对i进行
1;i是先对i进行
1,然后在使用i;例如:i=3;a=i
;与i=3;b=
i;得到的结果分别是:a=3
和
b=4
前置自加返回的是加1后的值,
所以返回对象本身.
而后置操作是先返回旧的值,
然后在加1.请参考
C
Primer
(第四版)
第五章
表达式
⑺ c语言加加i和i加加有什么区别
i加加和加加i都是c语言里的自增,但是它们自增的顺序不同。加加i表示,i自增1后再参与其它运算,而i加加则是i参与运算后,i的值再自增1。
相关介绍:
C语言是一门面向过程的计算机编程语言,与C++、Java等面向对象编程语言有所不同。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、仅产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。
C语言描述问题比汇编语言迅速,工作量小、可读性好,易于调试、修改和移植,而代码质量与汇编语言相当。C语言一般只比汇编语言代码生成的目标程序效率低10%~20%。因此,C语言可以编写系统软件。
二十世纪八十年代,美国国家标准局为了避免各开发厂商用的C语言语法产生差异,给C语言制定了一套完整的美国国家标准语法,称为ANSI C。作为C语言最初的标准。
2011年12月8日,国际标准化组织(ISO)和国际电工委员会(IEC)发布的C11标准是C语言的第三个官方标准,也是C语言的最新标准,该标准更好的支持了汉字函数名和汉字标识符,一定程度上实现了汉字编程。
C语言编译器普遍存在于各种不同的操作系统中,例如Microsoft Windows, Mac OS X, Linux, Unix等。C语言的设计影响了众多后来的编程语言,例如C++、Objective-C、Java、C#等。
⑻ 我想知道C语言中++i与i ++的区别,请讲详细一点,谢谢啦!!
++i在求整个表达式的值之前(使用i的值之前)先将i的值增1个,用变的值再参与整个表达式的运算;而i++则是先用操作数i的当前值参与所在表达式的运算,待整个表达式运算完成后,再将i增1.
如 x=i++的计算顺序是: ① n→x ② n+1→n 运算后x的值是5,n的值是6.
而x=++i的计算顺序是: ①n+1→n ②n→x 运算后x的值是6,n的值是6
⑼ C语言里1.0/i与1/i有什么区别
如果i是整型,1.0除以i会转换为浮点除,结果是浮点,1除以i则会整型除法,结果为整型。比如i等于2,1.0/i等于0.5,1/i等于0