首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

c语言:自增自减运算符的操作详解

博主在回忆c语言的基本知识时,突然发现自增自减运算符(--、++)这个知识点有些模糊不清,故博主为了给同为小白的同学们提供一些经验,特写下这篇文章。 首先,自增自减运算符共有两种操作方式。...#include //自增自减运算符的测试 int main() { int a = 21; int c; c = a--; printf("%d\n", c); a = 21...; c = a++; printf("%d\n", c); a = 21; c = --a; printf("%d\n", c); a = 21; c = ++a; printf("%d...由此可知,我们可以得到一个结论:诸如“a++”类自增自减运算符在变量之后的,进行操作时是先赋值,后运算;而“++a”类的操作则正是与此相反。...这篇文章主要是针对c语言小白,各位大神还请借道哈,不要喷我,如果有错误还请帮忙指出,不胜感激。 本人也是小白一枚,愿与诸君共同进步,通向成神之路!!!

2.6K30
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    C语言基础(2)

    数据类型;常量,变量 数据类型 c语言如何描述:常量——不能改变的量;                             变量——能被改变的量 定义变量的方法  #下表为定义整型变量的示范案例,最终执行结果为...#include int main() { int age=20; age=age+2; printf("%d\n",age); return 0; } 打印时需注意:1....打印整型——%d                           2.打印单精度浮点型(float)——%f                            3.打印双精度浮点型(double...2.全局变量的作用域的是整个工程。 生命周期:变量的生命周期指的是变量的创建到变量的销毁之间的一个时间段。                ...2.全局变量的生命周期是:整个程序的生命周期。

    7810

    C语言——指针(2)

    我们可以看到在main函数内部,创建了a和b,a的地址是0x009af998,b的地址是0x009af98c,在调用Swap函数时,将a和b传递给了Swap函数,在Swap函数内部创建了形参x和y接收a...* pc = &c;//字符指针 printf("%c\n", *pc);//字符指针解引用 return 0; } 字符指针只有一种使用方式吗?...正确形式: #include int main() { char* pc = "abcdef"; printf("%c\n", *pc); printf("%c\n", *(pc...我们一起来看看: C/C++会把常量字符串存储到单独的⼀个内存区域,我们知道常量字符串是不可以被修改的,既然不可以被修改,那么内容相同的常量字符串只需要保存一次就好了,当⼏个指针指向同⼀...; int* pc = &c;*/ int* p[3] = { &a,&b,&c }; //下标 0 1 2 int i = 0; for (i = 0; i < 3; i

    8310

    初识C语言·2

    一个整型占4个字节,短整型占2个字节,长整型占8或者4个字节,更长的整型占8个字节。 有人就问了,欸long为什么是两种情况,这是因为C语言中规定占字节数long>=int,取决于多少位系统。...相信不少刚接触C语言的认为答案是1.5,那么结果是否如此呢?...当然,也可以进行连续赋值,如: int a = 1; int b = 2; int c = 0; c = b = a+3;//连续赋值,从右向左依次赋值 C语言支持这种写法,但是这种代码不易理解,所以建议拆开写...复合赋值符 写代码的时候我们经常会对一个数进行自增自减的操作,如下 int a = 0; int b = 0; a = a+3; b = b-2; C语言中提供了更加方便的写法 int a = 18;...三目操作符,即是有三个操作数的,在C语言中有且仅有一个三目操作符, 实现代码是 (exp1 ? exp2:exp3)exp是表达式的意思。

    8510

    c语言进阶(2)

    类型在c语言中为什么有这么多种?因为应用场景不同,解决应用场景应对方式不同,需要空间的大小也不同。 sizeof不仅可以求内置类型,还能够求自定义类型。...方法一:减一然后符号位不变,按位取反。  方法二:符号位不变,其他位直接按位取反。再加一。(推荐使用方法二)计算机硬件完成,只用一套系统就可以完成。...char c=0这样写是没有问题的,但是不便于用户理解。...那么,我们就理解了,对于多少位,应该是这样一个范围: 那么,就让我们根据一些练习题练习一下,看看是否掌握了吧 int i=-20,等于2的4次方+2的2次方,因为都是4个字节,所以都是32个比特位。...所以c99当中的bool类型可移植性较好。 运行下面这个程序: 我们会发现输出结果是1 2 3。 第一种比较方法不推荐,因为我们会误认为是整数比较。第二种方法也不推荐,false只有C99支持。

    9810

    初识C语言(2)

    C语言中给了数组的定义:一组相同类型元素的集合 8.1数组定义 数组的作用就是存放一组相同类型的数,[]里面是数组的大小,10表示这个数组可以存放10个元素,arr是数组名,int是表示这个数组是整形数组...int arr[10] = {1,2,3,4,5,6,7,8,9,10};//定义一个整形数组,最多放10个元素 8.2数组的下标 C语言规定:数组的每个元素都有一个下标,下标是从0开始的。...1.算数操作符(加,减,乘,除,取模) + - * / % int r = 7/2; float r = 7/2; 对于除法来说,除号的两端都是整数的话,执行的是整数除法....在C语言中,0表示假,非0表示真。&和*我们讲指针时再讲。·~后期讲。 !就可以把真假互换。  sizeof可以计算类型大小。...感谢大家的阅读,下期我们将结束初识C语言,让我们下期再见。

    12710

    C语言入门笔记2

    先说一下C语言中的运算是什么?C语言中的运算就是对数据进行操作、处理的过程。那么运算符又干什么的呢?运算符就是指定该运算的处理方式。 那么C语言中又有哪些运算符呢?...如下所示: ※ 算术运算符 ※ 赋值运算符 ※ 关系运算符 ※ 逻辑运算符 ※ 三目运算符 2、算术运算符 C语言基本算术运算符如下表: ?...注:C语言中没有乘方这个运算符,也不能用×,÷等算术符号。 另:关于自增自减运算符,会在下一小节讲解。...3、自增与自减运算符 自增运算符为“++”,其功能是使变量的值自增1;自减运算符为“--”,其功能是使变量值自减1。它们经常使用在循环中。自增自减运算符有以下几种形式: ?...解析:C语言中运算符中最高等级的为(),因此执行过程为: 1、先计算a>3和a+3的结果,计算后算式为1*a-14%3; 2、再计算1*a和14%3的结果,计算后算式为11-2; 3、最后算出结果为9。

    1.1K10

    C语言---深入指针(2)

    int arr[]) { int sz2 = sizeof(arr) / sizeof(arr[0]); printf("sz2=%d", sz2); } int main() {...//假设是9 8 7 6 5 4 3 2 1 0, //而9和相邻的数换位置要换9次,换完位置就是这样的 //8 7 6 5 4 3 2 1 0 9 //9已经换好了,可以不用动了...在C语言中,int*arr[5] 声明了一个包含5个元素的数组,每个元素都是一个指向int类型数据的指针。这个数组可以存储指向整数的指针,可以是指向整数变量的指针,也可以是指向整数数组的指针。...int*arr[5] 还可以用于指向整数数组的指针,例如: int array1[3] = {1, 2, 3}; int array2[3] = {4, 5, 6}; int* arr[2] = {...array1, array2 }; 在这个例子中,arr数组的元素arr[0]和arr[1]分别指向array1和array2这两个整数数组的首地址。

    9310

    C语言 | 基础总结 (2)

    最 好的安排是在某个相关的 .c 文件中定义, 然后在头文件 (.h) 中进行外部声明, 在需 要使用的时候, 只要包含对应的头文件即可。...定义变量的 .c 文件也应该包含该头 文件, 以便编译器检查定义和声明的一致性。这条规则提供了高度的可移植性: 它和 ANSI C 标准一致, 同时也兼容大多 数 ANSI 前的编译器和连接器。...Unix 编译器和连接器通常使用 “通用模式” 允许 多重定义, 只要保证最多对一处进行初始化就可以了; ANSI C 标准称这种行为为 “公共扩展”, 没有语带双关的意思。...特 别是, 永远不要把外部函数的原型放到 .c 文件中: 通常它与定义的一致性不能得 到检查, 而矛盾的原型比不用还糟糕。 有时候,正是那些意想不到之人,成就了无人能成之事。 ——图灵

    6273229

    C语言深度剖析(2)

    ; 3.条件语句 在C语言里面,我们可以把我们想要注释掉的语句放到if(0)里面,这样同样可以实现语句的注释的功能,因为在C语言里面1是真的,0是假的,如果是if(0),这样就不会执行大括号里面的语句;...,有的平台可以正常运行,有的平台就不支持,因此,我们并不推荐微软的这套写法;其实布尔类型的本质和我们的C语言里面的0表示假,1表示真是一样的效果; 这个类型的使用需要包含我们的头文件stdbool.h;...我们在设置循环条件的时候,尽量写成左开右闭的形式,这样有诸多好处;就是对于同样的意思,我们可以有不同的表达,i减一的操作...,尤其是算法题里面需要进行角标的运算,这个时候使用左闭右开[0,10)就会很方便计算; 9.void语句 (1)void本身就被编译器解释为空类型,所以不允许使用void定义变量; (2)C语言里面的返回值可以不带类型...这个函数不需要进行传参; (5)void*可以用来定义变量,void*是指针,指针的大小是明确的,就是4/8个字节;void*可以被任何类型的指针接受,也可以接受任何类型的指针(通用接口,例如我们常见的内存函数),但是在C语言里面

    3200
    领券