c语言怎么将字母自增,C语言自增(++)和自减(--)

原标题:C语言自增(++)和自减(--)

117733c1083bdc8ef3fdb441d7cf8f58.png

C语言自增(++)和自减(--)

一个整数自身加一可以这样写:

a+=1;

它等价于a=a+1;。

但是在C语言中还有一种更简单的写法,就是a++;或者++a;。这种写法叫做自加或自增;意思很明确,就是自身加一。

相应的,也有a--和--a,叫做自减,表示自身减一。

++和--分别称为自增和自减运算符。

自增和自减的示例:

#include

#include

int main()

{

int a = 10, b = 20;

printf("a=%d, b=%d\n", a, b);

++a;

--b;

printf("a=%d, b=%d\n", a, b);

a++;

b--;

printf("a=%d, b=%d\n", a, b);

system("pause");

return 0;

}

运行结果:

a=10, b=20

a=11, b=19

a=12, b=18

自增自减完成后,会用新值替换旧值,并将新值保存在当前变量中。自增自减只能针对变量,不能针对数字,例如10++是错误的。

值得注意的是,++ 在变量前面和后面是有区别的:++ 在前面叫做前自增(例如 ++a)。前自增先进行自增操作,再进行其他操作。

++ 在后面叫做后自增(例如 a++)。后自增先进行其他操作,再进行自增操作。

自减(--)也一样,有前自减和后自减之分。

请看下面的例子:

#include

#include

int main()

{

int a=10, a1=++a;

int b=20, b1=b++;

int c=30, c1=--c;

int d=40, d1=d--;

printf("a=%d, a1=%d\n", a, a1);

printf("b=%d, b1=%d\n", b, b1);

printf("c=%d, c1=%d\n", c, c1);

printf("d=%d, d1=%d\n", d, d1);

system("pause");

return 0;

}

输出结果:

a=11, a1=11

b=21, b1=20

c=29, c1=29

d=39, d1=40

a、b、c、d 的输出结果相信大家没有疑问,下面重点分析a1、b1、c1、d1:

1) 对于a1=++a,先执行++a,结果为11,再将11赋值给a1,所以a1的最终值为11。而a经过自增,最终的值也为11。

2) 对于b1=b++,b的值并不会立马加1,而是先把b原来的值交给b1,然后再加1。b原来的值为20,所以b1的值也就为20。而b经过自增,最终值为21。

3) 对于c1=--c,先执行--c,结果为29,再将29赋值给c1,所以c1的最终值为29。而c经过自减,最终的值也为29。

4) 对于d1=d--,d的值并不会立马减1,而是先把d原来的值交给d1,然后再减1。d原来的值为40,所以d1的值也就为40。而d经过自减,最终值为39。

可以看出:a1=++a;会先进行自增操作,再进行赋值操作;而b1=b++;会先进行赋值操作,再进行自增操作。c1=--c;和d1=d--;也是如此。

自增自减非常方便,后续编程中会经常用到,大家要注意区分。为了强化记忆,我们再来看一个自增自减的综合示例:

可以看出:a1=++a;会先进行自增操作,再进行赋值操作;而b1=b++;会先进行赋值操作,再进行自增操作。c1=--c;和d1=d--;也是如此。

自增自减非常方便,后续编程中会经常用到,大家要注意区分。

#include

#include

int main()

{

int a=12;

int b=1;

int c=a-(b--); // ①

int d=(++a)-(--b); // ②

printf("c=%d, d=%d\n", c, d);

system("pause");

return 0;

}

输出结果:

c=11, d=14

我们来分析一下:

1) 执行语句①时,会先进行a-b运算,结果是11,然后 b 再自减,就变成了 0,最后再将a-b的结果(也就是11)交给 c,所以 c 的值是 11。

2) 执行语句②之前,b 的值已经变成 0。对于d=(++a)-(--b),a 会先自增,变成 13,然后 b 再自减,变成 -1,最后再进行13-(-1),结果是14,交给 d,所以 d 最终是 14。

我们这边会带大家写C,C++的代码,同时会有相应的项目跟进,会把项目的源码共享给大家。

后期笔记

字符 与 整数的关系;

字符与字符串常量;

字符:‘a’,'1';编译器会将它放到变量里,可能是栈区,也可能是堆区,也可能是全局区等。

字符串常量: “hello world”;编译器会将它放到“只读常量区”。

两种方式来表示字符串常量:

1.数组;char name[10]="zhangfei";

2.指针; char *p="zhangfei";

它的末位我们看不到,编译器会给它自动加上一个字符‘\0’。‘\0’这是一个结束字符,当某些函数遇到结束字符时会判断 字符串常量到此为止了。

strlen(),sizeof();

strlen("hello world") 等于11; #include"string.h"

sizeof("hello world") 等于11;

运算符:sizeof(),它的作用在于,计算“类型”和“变量”等的大小,单位是字节。

赋值:

i = 12

f = 1.1;

c = 'c';

3.运算符:

算术:加减乘除

+ - * / %

/这个运算的结果是商;

%这个运算的结果是余。

12/3 = 4; 14/3=4; 12/5=2; -10/3=-3; //有的编译器有可能会等于-4,看编译是靠近0还是远离0.

18%5 = 3; 10%3 = 1;

逻辑运算符

&&(与),||(或)

bool flag = 0 非0

0,NULL, false, '\0';

1 && 0 等于 0;

1 && 1 等于 1;

1 || 0 等于 1;

0 || 1 等于 1;

1 || 1 等于 1;

运用括号来避免运算符的“优先级 ”,相同于我们普通数学里面的优先级一样。返回搜狐,查看更多

责任编辑:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值