*s+=1;在c语言中是什么意思

作者&投稿:郝娅 (若有异议请与网页底部的电邮联系)
问一下 s+=i 在c语言里面是什么意思啊??~

s+=i,等价于s=s+i,意思是使用加赋值,不但可以让代码更加简洁,而且能提高程序的运行效率。
复合赋值运算符共 10种:+= 加赋值,-= 减赋值,*= 乘赋值,/= 除赋值,%= 求余赋值,&= 按位与赋值,| = 按位或赋值,^= 按位异或赋值,>= 右移位赋值。

扩展资料:
在赋值运算符当中,有一类C/C++独有的复合赋值运算符。它们实际上是一种缩写形式,使得对变量的改变更为简洁。
Total=Total+3;
它的意思是本身的值加3,然后在赋值给本身。为了简化,上面的代码也可以写成:
Total+=3;
同样,x*=y+7 等价于x=x*(y+7) r%=p 等价于r=r%p

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

s=1L在C中是将1强制为long型赋给long型变量s的意思。显然s是被定义为long型的,由于C对意即整数默认的是int型,所以将int型1赋给一个long型变量s时要把1强制为long型,以使=号左右数据类型匹配。不过这里可以不写L,因为int型比long型“短”,编译器会自动使短的向长的看齐——这叫隐式类型转换。不过写上L是个好习惯,对于代码阅读具有一定的提示作用。

*s表示s是一个指针
另外,指针跟地址不是一个概念。
指针是一种变量类型,这种变量类型的值是地址。
就像int变量的值是整数一样。你可以说数字5是整数,但是不能说5是一个int变量

比如
int *s;
int a = 10;
s = &a;
&a计算出来是地址,并把这个地址赋给指针变量
就像int a = 5;把5这个整数赋给整型变量

谭浩强的那本书就没把指针跟地址区别开,误人子弟。

你好,*s表示s是一个指针。*s表示s指针指向的相应变量的值。
比如。
int *s;
int a = 10;
s = &a;
*s这个时候指向的是int类型的变量a,*s等于a的值,也就是10.

C语言中1<<i表示将1的二进制每位想左移动i位,末位补0。

左移运算符(<<)是C语言中的一种常见的运算符,一般用法可以通过下面的例子讲解来说明:
如:1<<5
由于1的二进制为0000 0001,左移5位就是将每位向左移动5位,末位补0,所以1<<5后结果为0010 0000,转换为十进制就是32。

就是变量s取它的相反数。
例如,s=34;
s=-s;
后,s的值就是-34。
如再执行一次s=-s; 后,s的值就是34。


C语言编程,s=1+1\/2-1\/3+1\/4-1\/5...+1\/n,
include <stdio.h>void fun( int n ) \/\/要传参数!!{int i;double j;double s=1;for(i=2;i<=n;i++) \/\/从2开始,s初值是1了{ \/\/多条语句要加括号j=1.0\/i; \/\/有1.0参与,不用加强转了if(i%2!=0) \/\/这里应该是ij=-j;s+=j;}printf("%lf\\n",s); \/\/double用%lf...

C语言编程:计算s=1+(1×3)+(1×3×5)+(1×3×5×7)+(1×3×5×7×9...
pt);printf("The result is: %d",ps[0]);\/\/首元素数字不要前导0for(i=1;i<n;printf("%07d",ps[i++]));\/\/后续元素必须输出前导0free(ps);printf("\\n");return 0;}运行结果如下:以上代码中,pt充当文字说明中的t角色,ps充当和记录变量s角色。代码应运行在32位int平台下。

C语言编程,s=1+1\/2-1\/3+1\/4-1\/5...+1\/n,
include<stdio.h>int main(){int i=2,n;float s=1;while(i<=n){if(i%2)s-=1.0\/i; else s+=1.0\/i; i++; } printf("%f\\n",s); return 0;}

...int f() { static int i=0; int s=1; s+=i; i++; return s; }_百度...
static int i=0是静态变量,也就是说在程序整个生命周期里都是稳定存在的。因此每调用一次f(),由于i++而增加1;s是局部变量,每次调用都重新分配而初始化为0 因此f()返回是1,2,3,4,5……,每次调用都加1 了解这点,问题就好解决了。

用C语言编写程序,求1到10的阶乘之和:S=1!+2!+3!+4!+5!+6!+7!+8!+9...
mul=1;\/\/每次循环前都需要初始化为1,要不然最后结果会变大 for(j=1;j<=i;j++)\/\/阶乘循环 { mul=mul*j;} sum=sum+mul;} printf("%d",sum);system("pause");return 0;} C11标准:2011年12月8日,国际标准化组织(ISO)和国际电工委员会(IEC)再次发布了C语言的新标准,名叫ISO\/IEC...

用C语言中的循环结构,求s=1!+2!+...+n!,要求键盘输入
include<stdio.h> void main(){ int result;int sum;int n;sum=0;result=1;printf("Please input the N\\n");scanf("%d",&n);for(int i=1;i<=n;i++){ for(int j=1;j<=i;j++){ result=result*j;} sum=sum+result;} printf("%d\\n",sum);} 这个算法简单,好理解。望...

用C语言编程s=1+1\/2!+1\/3!+1\/4!+……+1\/n!其中n的值由键盘输入(急呀...
include <stdio> double a(int num){ double s=1;for(int i=1;i<=num;i++)s=s*i;return s;} void main(){ int n;scanf("%d",&n);double s=0;for(int i=1;i<=n;i++)s+=1.0\/a(i);printf("%f",s);}

用c语言编程,求S的值;S=1+1\/2+1\/3+...+1\/100
示例代码:include <stdio.h>int main(){ double s, i = 0; for(i = 1; i <= 100; ++i) s+=(1\/i); printf("%f",S); return 0;}

c语言求s=1!+2!+3!+…+n!(n由输入决定)。求大神能详细解读一下这个程...
第四行代码:scanf("%d",&n);利用scanf()函数输入n。第五行代码:for (i=1;i<=n;i++)\/\/进入for循环,外部for循环的主要作用是进行阶乘的求和。第六七八行代码:t=1;for(j=1;j<=i;j++)t=t*j;\/\/引用t这个变量进行对i这个阶乘的计算,并将结果储存在t中。内部的for循环的主要作用是...

C语言编程中 请问上s=1!+2!+3!+4!+5!```100!S 的和值 请帮我分析!是什...
sum用来统计和,用long类型吧,因为他比较大,item用来统计每一项,将item初始值为1,即1*1 1*2 1*2*3 这种项。通过规律发现,项满足item*=i; 第一项:1*1 第二项:1*2 第三项:1*2*3 那么和也就是sum+=item.就这样分析,该题就很清楚了吧。c语言逻辑性比较强,需要多联系,...

江城哈尼族彝族自治县13524617391: *s+=1;在c语言中是什么意思 -
采儿氨酚: 在C语言中,运算符和操作数按规则结合构成表达式,这里的规则包括两方面:1运算符的优先级,2.运算符的结合性. 在这个表达式中,就涉及到*和+=两个运算符,其中*的优先级高于+=,所以s先与*结合组成表达式(*s),这就代表了指针变量s所指向的变量了;接着这个整体在于+=以及后面的1结合,那就是把s所指向的变量的值加1,再存回去了

江城哈尼族彝族自治县13524617391: c语言中 s=s+1是啥意思 等式左右的s各为什么意思 最终结果表达的是什么.... -
采儿氨酚: 不好说,具体情况具体分析.分情况而言 如果s是一个变量,且赋有初值值,那么把s+1的值赋给变量s 如果s是指针变量.那么s+1表示指针变量指向下一个变量

江城哈尼族彝族自治县13524617391: c语言中*s++=*p是什么意思 -
采儿氨酚: 这个就是看运算符优先级,++运算符最高,接着是*运算符,接着是=运算符.++是后置运算,先不管, *是对指针指向地址取内容, 所以就是右边p指针指向的内容赋值到左边s指针指向的内容, 这个赋值操作完成后,++运算会让s指向下一个地址处.举例: char a[]= {'a', 'b', 'c'}; char b[]= {'1', '2', '3'};char *s = a, *p = b; 那么*s++=*p等价于 { a[0]=b[0]; //赋值 s = &a[1]; //s指针移位 }

江城哈尼族彝族自治县13524617391: C语言 ch=*s中的*s是什么意思?主要解释那个* -
采儿氨酚: ch = *s中,s是一个指针,按题中的意思猜,应该是一个指向字符类型的指针:char *s;指针可以指向单个字符变量或者字符数组(字符串),如s = "Hello World !";要用到这个字符串里的字符时只要ch = *s即可,*s表示取s指针指向的第一个字符,当前应该是'H',若要取第二个字符:ch = *(s+1);

江城哈尼族彝族自治县13524617391: c语言中*p++=*s++;是什么意思? -
采儿氨酚: 将指针*c的值赋给*p,然后p,s的地址前进一位.例如 int a[10]={1,2,3,4,5,6,7,8,9,10}; int *p=&a[1],s=&a[5];则执行*p++=*s++后,a[1]=6,*p=a[2]=3,*s=a[6]=7

江城哈尼族彝族自治县13524617391: C语言中s*=*(p+i)是啥意思? -
采儿氨酚: 表达式中p应该是个指针,指向一个数组,如a[10] 数组a的首地址传输给指针p,*(p+i)就是数组的第i个元素a[i].表达式“s*=”就是s=s*() 于是,该表达式即为s=s*(*(p+i)) 也就是s=s*a[i] 表达式中第一个“*”是乘法运算 第二个“*”是指针运算符.

江城哈尼族彝族自治县13524617391: char *s="abc",这是什么意思,s指向&a吗,abc在内存中是连续存放的吗,*s+1是b -
采儿氨酚: char *s="abc"; 意思是:定义一个字符指针变量s,并且将字符串常量的起始地址初始化给指针变量s.也就是说,存放在变量s里面的是一个地址,是字符串“abc”的首地址,即是字符'a'的地址."abc"是一个字符串常量,是连续存放的,由编译系统来管理其存放的存储空间,其实后面还有一个\0(字符串结束符)的.*(s+1)是b 因为s指向a,s+1指向b(即s+1是'b'这个字符的地址).*s+1的值也是b,因为*s+1='a'+1,所以是 'b'字符.

江城哈尼族彝族自治县13524617391: C语言中i++==1是什么意思 -
采儿氨酚: c语言中,i+=1就是i=i+1. i+=1是i=i+1的缩写.它们表示的意思都是相同的,并且在运行时的结果也是相同的,c语言中类似这样的缩写还有a+=b→a=a+b 、a-=b→a=a-b 、a*=b→a=a*b 、a/=b→a=a/b 5、a%=b→a=a MOD b ,即a/b的余...

江城哈尼族彝族自治县13524617391: 问一下 s+=i 在c语言里面是什么意思啊?? -
采儿氨酚: 就是s=s+i; /* +=是一个复合运算符 */

江城哈尼族彝族自治县13524617391: s=1L在c语言中什么意思 啊? -
采儿氨酚: s=1L在C中是将1强制为long型赋给long型变量s的意思.显然s是被定义为long型的,由于C对意即整数默认的是int型,所以将int型1赋给一个long型变量s时要把1强制为long型,以使=号左右数据类型匹配.不过这里可以不写L,因为int型比long型“短”,编译器会自动使短的向长的看齐——这叫隐式类型转换.不过写上L是个好习惯,对于代码阅读具有一定的提示作用.

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