导航菜单
首页 >  » 正文

C语言i+=2和i=+2的区别 c语言(a++)+(a++)+(a++)和(++a)+(++a)+(++a)

C语言i+=2和i=+2的区别

1、运算顺序不相同
简单说就是i=i+2 比 i+=2多了一次对变量 i 的运算。i=i+2是先用i的结果,然后在进行i=i+2的式子进行处理。i+=2是先进行i=i+2,然后得出来的结果就是i。
在表达式中,i=i+2就是先进行加法,然后在进行赋值。而i+=2就是先赋值然后在进行加法。
2、得到的结果不相同
C语言中i +=2 等同于 i = i + 2 这是简略写法,但是计算时算法不相同,i=i+2更容易得出i的赋值。如果i的值为1(i=1),i=i+2得到i的结果是i=3,而i+=2得到的结果是i=1,运算得到的值不相同。
3、运算效率不相同
i=i+2运算效率最低,因为运算时读取右i的地址i+1,读取左i的地址;将右值传给左边的i(编译器并不认为左右i的地址相同),而i+=2运算时读取右i的地址,令i=1,将得到的值传给i(因为i的地址已经读出)。

扩展资料:
i=i+2和i+=2都是运用赋值的相关知识,将确定的数值赋给变量的语句叫做赋值语句。各程序设计语言有自己的赋值语句,赋值语句也有不同的类型。所赋“值”可以是数字,也可以是字符串和表达式。 
很多语言都使用“等于号”(即“=”)来作为赋值号,所以可能和和平时的理解不同,在使用的时候应予以注意。
参考资料:搜狗百科-赋值

c语言(a++)+(a++)+(a++)和(++a)+(++a)+(++a)

a=3时,
因为a++是变量a先参与其他运算再加1,所以(a++)+(a++)+(a++)实际上是3+3+3=9,运算后a的值是6.
++a则是先求a=a+1,然后再做其他运算,所以(++a)+(++a)+(++a)实际上是5+5+6=16,运算后a的值是6.

C语言(x++)+(++x)+(x++)?

LZ和Computer 举例经过测试其结果没有错。 根据其运算结果推测: 一元运算符参与赋值运算 ++i 与 i++是有区别的。前者先运算后赋值,后者直接赋值 举例: int i = 2 , l = 2 ; int x = ++i ; int y = l++ printf("x:d% y:%d",x,y) ; /*结果是: x:3 y:2*/ 在 int y=(++x)+(++x)+(x++) 中 (x = 3) a:执计算Y的值时x执行了这样的过程: x = x + 1 x = x + 1 x = x y = 15 b:在计算X的值时X执行的过程是: x = x +1 x = x+1 x = x + 1 x = 6 y=(++x)+(++x)+(++x) ; (x = 3) a:执计算Y的值时x执行了这样的过程: x = x + 1 x = x + 1 x = x + 1 y = 18 b:在计算X的值时X执行的过程是: x = x +1 x = x+1 x = x + 1 x = 6

c语言,,!x与x!分别表示什么意思

C语言中只有!x没有x!。

!x的意思就是x!=0;当X=0时执行while循环;

!即取反,当x!=0时不执行;若x=0,则!x非零;

若x不等于零,则!x=0;一般用if(!x)来做判断式。

c语言 - 搜狗百科c语言是一门面向过程、抽象化的通用程序设计语言,广泛应用于底层开发。C语言具有高效、灵活、功能丰富、表达力强和较高的可移植性等特点,在程序设计中备受青睐。C语言编译器普遍存在于各种不同的操作系统中,其设计也影响了Java、Python等编程语言。C语言是一门面向过程的计算机编程语言,与C++、Java等面向对象编程语言有所不同。

用C语言求圆锥体积

C语言求圆锥体积的源代码如下:
#define pi 3.1415/*定义常量pi*/
#include<stdio.h>
int main()
{
float v,r,h;/*用float可以百计算小数度类型问*/
printf("请分别答输入圆锥的底r和高h:");
scanf("%f %f",&r,&h);
v=1.0/3*pi*r*r*h;/*用1.0/3因为整数算术运算有回封闭性*/
printf("圆锥体积v=%.3f",v);/*保留三位小数*/
fflush(stdin);
getchar();
return 0;
}


扩展资料
c语言答求圆锥的底面周长和底面积的源代码如下:
#define Pi 3.1415/*定义常量Pi*/
#includeint main()
{
 float V,r,h;/*用float可以计算小数类型*/
 printf("请分别输入圆锥的底r和高h:");
scanf("%f %f",&r,&h);
 V=1.0/3*Pi*r*r*h;
printf("圆锥体积V=%.3f ",V);/*保留三位小数*/
printf("圆锥底面积L=%.3f ",Pi*r*2.0);/*保留三位小数*/
fflush(stdin);
getchar();
return 0;
}

c语言:“不能在赋值语句中通过赋值运算符‘=’对字符型数组进行整体赋值。”这句话为什么是对的?

char s[5]="asdf";
这句不知是赋值而是初始化;
讲的赋值语道句是在程序执行中的赋值,就像
int a;
int b;
b=a; 这是赋值;
对于字符而言,回要赋答值就要采用strcpy(s1,s2)这个函数。

c语言,输入长方形的长和宽,计算长方形的周长和面积,并输出,输出结果保留2位小数

代码如下:
#include<stdio.h>
int main()
{
float a,b,c,d;
scanf("%f %f",&a,&b);//输入长和宽
c=a*b;
d=2*(a+b);
printf("S=%.2f  L=%.2f ",c,d);//S是面积,L是周长
return 0;
}


扩展资料:
C语言是一门通用计算机编程语言,广泛应用于底层开发。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。
尽管C语言提供了许多低级处理的功能,但仍然保持着良好跨平台的特性,以一个标准规格写出的C语言程序可在许多电脑平台上进行编译,甚至包含一些嵌入式处理器(单片机或称MCU)以及超级电脑等作业平台。
二十世纪八十年代,为了避免各开发厂商用的C语言语法产生差异,由美国国家标准局为C语言制定了一套完整的美国国家标准语法,称为ANSI C,作为C语言最初的标准。[1] 目前2011年12月8日,国际标准化组织(ISO)和国际电工委员会(IEC)发布的C11标准是C语言的第三个官方标准,也是C语言的最新标准,该标准更好的支持了汉字函数名和汉字标识符,一定程度上实现了汉字编程。
C语言是一门面向过程的计算机编程语言,与C++,Java等面向对象的编程语言有所不同。

用C语言输出1 100之间所有的偶数

main()
{
int
a;
for(a=1;a<=100;a++)
if(a%2==0)
printf("%d",a);
}
a%2==0要放在判断语句里,for每段用分号隔开,printf格式控制符要包含在引号中

C语言中printf是库函数,那么printf的代码到底在哪里呢?

书上说的没错,lib文件中存放的就是被调用系统函数的目标代码,但是和声明文件一样不是一个函数一个文件,而是一批函数放在一个文件里。并且文件是二进制的格式,你也查看不了。
对于.h头文件你理解的没错,头文件是只是函数的声明,里面不放函数的具体代码,具体代码比如VC是在C:Program Files (x86)Microsoft Visual Studio 10.0VCcrtsrc 目录下,你可以找到printf.c文件的源码,如果你是想看源码就看这个。我看了其它人的回复,C编译器的不同位置放的是不同的函数部分,以VC为例,include放的是调用函数的声明部分,并且只有声明部分;src目录放的是函数的源码;lib放的是函数的编译后目标文件,但是是打捆放的,代码只有在链接时,才会将库函数进行连接,并生成最后的EXE可执行文件。

相关推荐: