博主在回忆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语言小白,各位大神还请借道哈,不要喷我,如果有错误还请帮忙指出,不胜感激。 本人也是小白一枚,愿与诸君共同进步,通向成神之路!!!
a = a + 10; printf("a1=%d\n",a); //加等表达式 ==》a=a+10 =20+10=30 a+= 10; printf("a2=%d\n",a); //减等表达式...==>a=a-10=30-10=20 a-= 10; printf("a3=%d\n",a); //乘等表达式 ==>a=a*10=20*10=200 a*= 10; printf("a4=...10 a=10; //自增表达式 ,在原来a的基础上+1再赋值 给a =10+1 a++; printf("a5=%d\n",a); //重定义变量a=10 a=10; //设置变量c=...10,然后循环的时候再10+1 int c = a++; //现将a的值自加 ,后将a的值赋给c,这时c=12 c = ++a; printf("a10=%d\n",c); int b =...a--; int b = --a; return 0; } 初学自增自减表达式
分享之前我还是要推荐下我自己的C/C++学习交流群:三四零六五一六八七,不管你是小白还是大牛,小编我都挺欢迎,不定期分享干货,包括我自己整理的一份2017最新的C/C++资料和零基础入门教程,送给大家,...下面软妹子给大家看一下流行语言对比图,希望能帮助在编程门外徘徊的同学更好的理解各种语言的用处、难易程度,然后选择一门适合自己的语言!...3、C# C#是运行于.NET Framework之上的高级程序设计语言,由C语言和C++衍生而来。 4、python 当我们思考应该找哪一门语言入门时,往往会有人跟你推Python。...Python作为一类轻量级语言,存在一定的优势,但是相对Java这类成熟类语言,Python存在一些可观原因。...6、C++ C++也是在C语言的基础上开发的一种面向对象编程语言,常用于系统开发,引擎开发等应用领域,支持类、封装、继承、多态等特性。
%d",a,b,c); 输入:12 34 56 输出:a=34,b=56,c=0 相当于:忽略掉第一个输入12(它本身), 并将a与第二个数匹配,b与第三个数, 所以c没有匹配的输入,故c还是原来的值...c=%d",a,b,c); 输入:12 34 56 输出:a=12,b=56,c=0 相当于:忽略掉第二个输入34(它本身) scanf("%d%d%*d",&a,&b,&c); printf...*d%d%d",&a,&b,&c); printf("a=%d,b=%d,c=%d",a,b,c); 输入:12 34 56 输出:a=12,b=56,c=0 相当于:忽略掉第二个输入34(它的下一个...*d%d",&a,&b,&c); printf("a=%d,b=%d,c=%d",a,b,c); 输入:12 34 56 输出:a=12,b=34,c=0 相当于:忽略掉第三个输入56(它的下一个)...所以c就没了对象了。 也就是说:原来是a的老婆被枪毙了 所以: 原来是b的老婆就嫁给了a 原来是c的老婆就嫁给了b 最终导致c没了老婆,c哭了。
在 C++ 中,预增(或预减)可用作左值,但后增(或后减)不能用作左值。
5.C99标准把枚举类型作为一种整型数据,所以枚举类型是应该支持自加一操作的,《谭浩强 C程序设计》中也应用了枚举类型自加的操作,比如我们写这样一个代码: #include int...black;i++) { printf("当为第%d个颜色\n",i); } getchar(); return 0; } 这时应该打印出4列话才对,但是我用vs2010 把文件后缀改成.c,...所以我只能理解为微软对C语言的支持不是太好,C99中的一些特性并没有支持。
自增运算符 在C++中,常常使用自增运算符(++),来使变量的值增1 i++ int i=3; int j; i++; j=i++; 在使用i之后,先让i的值加1,比如上述代码,执行j=i++之后,...i--; j=i--; 在使用i之后,先让i的值减1,如上述代码,执行之后,j的值是3,但是i的值变为2 --i int i=3; int j; --i; j=--i; 在使用i之前,先让i的值减1,...执行后,j的值为2 在使用自增自减运算符的时候要注意以下几点 自增和自减运算符都是用于变量,不能用于常量或者表达式。...自增和自减运算符结合方向的规则是自右向左,和前面小节将的自左向右正好相反。 自增和自减运算符在C++中主要用于循环语句中,使循环变量的值自动+1或者-1。...自增和自减运算符也用于指针变量中,可以使指针指向下一个地址,和C语言类似。
C语言的开发场景: 应用软件 主要包含各种软件如:QQ,百度网盘,游戏 (上层) 操作系统 windows/macOS/Linux (下 电脑硬件 ...层) C语言是一个擅长底层开发的语言。...而C语言的主要编译器有:Clang/GCC/MSVS。
有人提问:C语言中NULL究竟是不是0 等问题? NULL与数字0是不是等价的?...在C语言中,NULL一般有如下定义(在stddef.h中): #define NULL ((void*)0) 看起来似乎是一样的?没错从这里看,值确实一样的。...实际上,NULL可以是整数0(C++中NULL为0,相关阅读《为什么建议你用nullptr而不是NULL》),也可以是某个整数值转换为void*。 实际上NULL并不一定需要是0。...更多内容可以参考C11标准文档的6.3.2.3 Pointers一节。 NULL的值可以为0,但不是必须为0 NULL用来和其他指针对象和函数区分开 NULL和0含义不一样 ?
16进制数字,并以小写abcdef表示 %X 无符号的16进制数字,并以大写ABCDEF表示 %f 输入输出为浮点型 (%lf双精度浮点型) %E/e 用科学表示格式的浮点数 %c
等标准库 , 功能得到了极大的增强 ; 成熟阶段 : 1988年至1998年 , C语言成熟,推出 C语言标准和规范 , 如 : ISO/IEC 9899 ; 现代阶段 : 1998年至今,C语言 推出...C99 , C11 , C17 等标准 , 以满足新的编程需求 ; 二、C 语言缺陷 C 语言有如下缺陷 : C 语言 没有经历过 缜密的 设计过程 , 都是根据需求逐渐完善的 , 出现了很多缺陷和漏洞...; C 语言 在开发时 , 有很多 " 灰色地带 " , 稍不注意就会产生无法排查的问题 , 如 : 内存的管理 - 分配和释放内存 , 指针操作 - 野指针 , 类型转换时精度损失 , 并发死锁 等问题...2、C 语言与 C++ 语言关系 C 语言 与 C++ 语言 并 不是 竞争关系 ; C++ 语言 是 以 C 语言为基础 的 加强版本编程语言 , 可以看作是更好的 C 语言 , 在 C++ 语言...语言应用场景 C 语言 和 C++ 语言的应用场景 : C语言 应用场景 : 系统软件、操作系统、编译器等 底层系统级应用 ; C++ 语言 应用场景 : 大型应用程序、游戏 等更 高级的应用 ; 在不同的
这是EasyC++系列的第20篇,简单聊聊C++当中的自增与自减。 自增与自减 基本用法 自增与自减是C++当中两个使用频率非常高的运算符,不仅在循环当中用到,在日常的代码当中也经常使用。...甚至C++这个名称的由来都和自增运算符有关,表示C语言的升级版。当然这也是C#名字的由来,#这个符号表示4个叠加的加号……不得不吐槽这微软的恶趣味。...以上的规则同样适用于自减。 进阶理解 现在我们知道了++i的执行顺序在i++之前,那么问题来了,那么它们两者的执行顺序究竟是怎样的?差异到底在哪里呢?...对此,C++当中有一个叫做顺序点的概念,顺序点指的是程序执行过程中的一个点。在C++当中语句中的分号就是一个顺序点,在程序处理下一条语句之前,赋值运算符、自增、自减运算符执行的所有修改都必须完成。...指针自增、自减 自增自减操作同样可以运用在指针上,前文当中介绍过,这表示指针的移动。自增表示向右移动一位,自减表示向左移动一位。 这很简单,但是当我们把一些操作符结合在一起就有些麻烦了。
所以为了有效的使用内存,就把内存划分成一个个小的内存单元,每个内存单元的大小是一个字节。
一、主函数 C语言的主函数是main()函数,有且仅有一个。 例如: int main() { return 0; } 是一个标准的C语言主函数。...二、输入、输出函数 C语言中的输出函数为printf,输入函数为scanf,使用前需要引用头文件#include 。...(2)C语言中的常见单位(从小到大): bit(比特)<byte(字节)<KB<MB<GB<TB<PB<..... 1byte = 8bit 1KB = 1024byte 1MB = 1024KB...四、变量和常量 4.1 变量的使用 C语言中常量是不变的值,变量是可变的值 创建变量的使用: int age = 10; char ch = 'w'; float weight = 45.5f...4.3 常量 C语言中的常量分为字面常量,const修饰的常变量,#define 定义的标识符常量,枚举常量。 (1)字面常量:100,'w',3.14等。
int ages[count];//如果不进行初始化,则这种写法正确,编译器不会报错为其分配20个字节的存储空间,ages[0]=1;ages[1]=2;可以像这样对数组的元素进行赋值,但是2,3,4等元素的值时不确定的...ages)/sizeof(int); //数组的总长度除以单个的长度等于元素个数 三、数组内存存储细节 假设有数组如下: Int x[]={1,2}; Char ca[5]={‘a’,‘A’,‘B’,‘C’...提示:数组作为一个函数的参数时,如果函数体涉及到数组遍历等操作,通常把数组的实际元素个数也作为参数传递给函数。...使用场合:五子棋,俄罗斯方块等, 假设: char Y[3][2]={ {‘A’,‘B’}, {‘C,‘D’}, {‘E,‘F’} }; 内存情况: ?
C语言文件读取操作特别是在linux内核,嵌入式开发中使用的较为频繁。...文件读取示例文件读取操作char buf[100] = {0};fd = open("xxx.c");// fd接受返回值,-1为错误char writebuf[20] = "I love";// 读取文件到...buf数组中,长度为10个ret = read(fd, buf, 10);// 写入数据ret = write(fd, writebuf, strlen(writebuf));close(fd); C语言中...,文件操作为:打开(open),操作(write),关闭(close)区别于python等语言,缺少关闭操作,但同时有保存操作。
由于工作需要用到C语言,所以开始接触学习C语言,从最基础开始学习了解。...C语言中的关键字: auto 声明自动变量 break 跳出当前循环 case 开关语句分支 char 声明字符型变量或函数返回值类型 const 声明只读变量 continue...C变量 基本数据类型 char int float double void C常量 常量是固定值,在程序执行期间不会改变 字符常量 \n 换行符 \f 换页符 \r...回车 C存储类 auto register static extern C运算符 算术运算符 + - * / % ++ – 关系运算符 == !...: 条件表达式 枚举 enum C中操作字符串的函数 strcpy(s1,s2) 复制字符串s2到字符串s1 Strcat(s1,s2) 连接字符串s2到字符串s1的末尾 Strlen(
C语言的重要性 C语言是所有高级语言的前辈,C++,C#,Java ,都是由C语言演变过来的,包括现在很火的python,第一个Python编译器诞生,它是用C语言实现的。...所有大学理科专业的必修课程都是C语言,就算你将来不从事开发, 期末考试总不能挂科吧,除了C语言,小林不知道还有哪一门课这么普及。...我们常用的操作系统windows、linux、unix是C语言开发的,如果你想当黑客必须学C语言,你去黑别人电脑的是不是绕不操作系统。 如果你想入职阿里、腾讯这样的大厂,必须学C语言,为什么呢?...C语言数据类型极其丰富。 C语言程序执行效率很高,可以直接操作内存。 C语言学习目标 掌握C语言的语法规则,数组、循环、函数、指针等。 要学会一些算法,比如冒泡排序、快速排序、递归等。...在学习的过程中理解什么是面向过程,为将来学习C++、Java等面向对象语言做准备。
C语言的源代码可以在任意架构的处理器上使用。 C语言的特点 1.语言简洁灵活 C语言是现有程序设计语言中规模最小的语言之一,C语言的关键字仅仅只有32个,控制语句也只有9个。...C语言提供的数据类型包括:整型、浮点型、数组类型、指针类型、等,C99又扩充了复数浮点类型、超长整型(long long)和布尔类型(bool)等。可以用来实现各种复杂的数据结构的运算。...4.运算符丰富 C语言的运算符包含的范围非常广泛,一共有34种运算符。C语言把括号、赋值和强制类型转换等都作为运算符处理,使C程序的表达式类型和运算符类型都非常丰富,表达式类型多样化。...灵活使用各种运算符可以实现在其他高级语言中难以实现的运算。 5.具有结构化的控机语句 如for语句、if...else语句和switch语句等。可以用于实现函数的逻辑控制,方便面向过程的程序设计。...源文件就是一段纯文本文件,他的后缀.c等只是为了帮助程序员与编译器更加容易识别,它并不会改变文本文件的内部格式。
---- 友情提醒:本文可能是全csdn最详细的指针内容了,希望你能用心读下去 前言 接下来的讲解部分是指针的进阶,包含多种指针以及对应的数组,这部分章节对我们来说很重要,也是c语言中的重点模块儿,重要性不言而喻...(c/c++会把常量字符串储存到单独的一个内存区域中) 当这两个指针指向同一个常量字符串时,实际上就是指向同一块儿地址**(指针就是地址,地址就是指针)** 2.数组指针 2.1数组指针的定义 1.数组指针嘛...我们直接大白话给他翻译成通俗易懂的语言。怎么样就是回调函数呢?就比如你现在有一个可以实现两数之和功能的函数Add,你明明可以在main函数里面直接调用这个函数,给他传上两个整数的参数,让他返回和的值。
领取专属 10元无门槛券
手把手带您无忧上云