C语言菜鸟基础教程之a++与++a
(一)a++
在C语言或其它语言中,++符号表示“自加”,就是变量在原来的基础上加1。
例1:
a = 0; a++;
则此时a的值为1。
同样的道理,--表示”自减”。
例2:
a = 100; a--;
则此时a的值为99。
注意,程序语言里没有”自乘”和”自除”的概念。
验证程序:
#include <stdio.h> int main() { int a = 0; // 给a赋值 a++; printf("After ++, a = %d\n", a); a = 100; // 重新给a赋值 a--; printf("After --, a = %d\n", a); return 0; }
运行结果:
After ++, a = 1 After --, a = 99
(二)++a
除了a++表示自加外,++a也表示自加。同理--a表示自减
验证程序:
#include <stdio.h> int main() { int a = 0; // 给a赋值 ++a; printf("After ++, a = %d\n", a); a = 100; // 重新给a赋值 --a; printf("After --, a = %d\n", a); return 0; }
运行结果:
After ++, a = 1 After --, a = 99
(三)a++与++a的区别
既然a++与++a都是让a自加,那么二者是否完全一样呢?
先看一个程序:
#include <stdio.h> int main() { int a = 0; printf("a = %d\n", a++); printf("a = %d\n", a); printf("a = %d\n", ++a); printf("a = %d\n", a); return 0; }
运行结果:
a = 0
a = 1
a = 2
a = 2
从运行结果可以看出,a++和++a是有区别的:
a++是先读取a的值,再让a的值增加1;
++a是先让a的值增加1,再读取a的值。
相关推荐
-
C语言菜鸟基础教程之求1到100的和
题目:求1+2+3+--+98+99+100 (1)用数学方法求解 (2)编写C语言程序求解 解: (1)数学方法 S = 1+2+3+--+98+99+100 = (1+100) + (2+99) + (3+98) + -- + (49+52) + (50+51) = 101 * 50 = 5050 (2)C语言编程 #include <stdio.h> int main() { int sum = 0; // 赋初值 for(int i = 1; i <= 100; i++) { s
-
C语言结构数组实现贪吃蛇小游戏
一.设计思路 蛇身本质上就是个结构数组,数组里存储了坐标x.y的值,再通过一个循环把它打印出来,蛇的移动则是不断地刷新重新打印.所以撞墙.咬到自己只是数组x.y值的简单比较. 二.用上的知识点 结构数组Windows API函数 三.具体实现 先来实现静态页面,把地图.初始蛇身.食物搞定. 这里需要用到Windows API的知识,也就是对控制台上坐标的修改 //这段代码来自参考1 void Pos(int x, int y) { COORD pos; HANDLE hOutput; pos.X
-
linux下c语言的多线程编程
我们在写linux的服务的时候,经常会用到linux的多线程技术以提高程序性能 多线程的一些小知识: 一个应用程序可以启动若干个线程. 线程(Lightweight Process,LWP),是程序执行的最小单元. 一般一个最简单的程序最少会有一个线程,就是程序本身,也就是主函数(单线程的进程可以简单的认为只有一个线程的进程) 一个线程阻塞并不会影响到另外一个线程. 多线程的进程可以尽可能的利用系统CPU资源. 1创建线程 先上一段在一个进程中创建一个线程的简单的代码,然后慢慢深入. #incl
-
C 读取ini文件的实例详解
C 读取ini文件 前言: 在Windows下可以用GetPrivateProfileString或GetPrivateProfileInt方便读取.ini配置文件内容,但是在Linux平台上就一筹莫展了.为了解决该问题,打算用C来读取.ini,即可不受平台的限制了. #define CONF_FILE_PATH "Config.ini" #include <string.h> #ifdef WIN32 #include <Windows.h> #include
-
C语言菜鸟基础教程之判断
(一) 先动手编写一个程序: #include <stdio.h> int main() { if(1) { printf("The condition is true!\n"); } return 0; } 运行结果: The condition is true! 再把1依次改为,2,5,100,-10,发现运行结果完全一样. 再改成if(0),此时发现没有运行结果,说明printf()语句没被执行. C语言把判断语句中的任何非0或非空的值当作真.所以if(1), if(
-
必须知道的C语言八大排序算法(收藏)
概述 排序有内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能容纳全部的排序记录,在排序过程中需要访问外存. 我们这里说说八大排序就是内部排序. 当n较大,则应采用时间复杂度为O(nlog2n)的排序方法:快速排序.堆排序或归并排序序. 快速排序:是目前基于比较的内部排序中被认为是最好的方法,当待排序的关键字是随机分布时,快速排序的平均时间最短: 1.插入排序-直接插入排序(Straight Insertion Sort) 基本思想: 将一个记录插入到
-
C语言中二级指针的实例详解
C语言中二级指针的实例详解 用图说明 示例代码: #include <stdio.h> int main(int argc, const char * argv[]) { // int a = 5; int *p1 = &a; //-打印地址-----地址相同--------------- printf("&a = %p\n", &a);// printf("p1 = %p\n", p1);// int **p2 = &p
-
C语言菜鸟基础教程之a++与++a
(一)a++ 在C语言或其它语言中,++符号表示"自加",就是变量在原来的基础上加1. 例1: a = 0; a++; 则此时a的值为1. 同样的道理,--表示"自减". 例2: a = 100; a--; 则此时a的值为99. 注意,程序语言里没有"自乘"和"自除"的概念. 验证程序: #include <stdio.h> int main() { int a = 0; // 给a赋值 a++; printf(&
-
C语言菜鸟基础教程之Hello World
首先,需要一款C语言的编译器,可以使用在线编译器,也可以在本地安装编译器,比如Mac电脑可以安装Xcode,PC可以安装Dev C++. 编写第一个程序:Hello World! #include <stdio.h> int main() { /* 我的第一个 C 程序 */ printf("Hello, World! \n"); return 0; } 运行结果: Hello, World! 程序分析: (1) 这里stdio.h是一个头文件.代表stantard inp
-
C语言菜鸟基础教程之for循环
先看程序: #include <stdio.h> int main() { for(int i = 0; i < 5; i++) { printf("i = %d\n", i); } printf("Loop ended!\n"); return 0; } 运行结果: i = 0 i = 1 i = 2 i = 3 i = 4 Loop ended! for循环的语句结构为: for(表达式1; 表达式2; 表达式3) { 语句; } 其执
-
Kotlin基础教程之Run,标签Label,函数Function-Type
Kotlin基础教程之Run,标签Label,函数Function-Type 在Java中可以使用{}建立一个匿名的代码块,代码块会被正常的执行,除了改变了作用域之外,似乎并没有什么其他的作用.然而在Kotlin中却不能这么做,这是为什么呢? 其实,我们都知道一个函数一定与一个内存地址相关,而一个匿名的代码块其实也相当于是一个匿名的函数.在Kotlin中一般使用run函数来运行一段匿名代码块. 如下: 在Kotlin中使用标识符后跟@符号来定义一个标签,使用@后跟标识符来引用一个标签,run函数
-
Jquery基础教程之DOM操作
对于dom的全称大家都知道吧,DOM是Document Object Model的缩写,其意思是文档对象模型.DOM是一种与浏览器.平台.语言无关的接口,使用dom接口很容易的访问页面中所有标准组件.dom操作一般可以分为三个方面即DOM Core(核心).HTM-Dom和CSS-DOM. 每一个网页都可以用DOM表示出来,每个DOM都可以看作是一棵DOM树.下面的html页面结构可以构建出一棵DOM树,代码: 代码如下: <!DOCTYPE html PUBLIC "-//W3C//DT
-
Python基础教程之if判断,while循环,循环嵌套
if判断 判断的定义 如果条件满足,就做一件事:条件不满足,就做另一件事: 判断语句又被称为分支语句,有判断,才有分支: if判断语句基本语法 if语句格式: if 判断的条件: 条件成立后做的事 ... ... 代码缩进为一个tab键,或者四个空格,官方建议使用空格:但应注意,在python开发中,tab和空格不能混用! 判断年龄示例: # 判断是否成年,成年则可以进网吧 age = 19 if age>=18: print("你满了18岁,可以进网吧") i
-
Kotlin基础教程之dataclass,objectclass,use函数,类扩展,socket
Kotlin基础教程之dataclass,objectclass,use函数,类扩展,socket Kotlin提供了一些机制来扩展已有的类,如下: 还记得我们之前写过的Point3D类吗?(将其略作修改,将成员变量改为Double类型) 让我们为其扩展一个length函数 扩展的方法很简单,只要在函数名前面加上类名就行了. 这样Point3D的对象就有了一个名为length的方法. 运行的结果不出所料: 除此之外,在Kotlin中还有一些特殊的类,比如Data Class: 有些类只包含数据,
-
JavaWeb基础教程之Java基础加强版
1.myeclipse的安装和使用 * eclipse:是一个免费的开发工具 * myeclipse:是一个收费的插件,破解myeclipse, ** 安装目录的要求: 不能有中文和空格 ** 安装完成之后,选择一个工作空间 ,这个工作空间不能有中文和空格 * 破解myeclipse ** 运行run.bat文件,但是运行之前,必须要安装jdk,通过配置环境变量 * myeclipse的使用 * 创建一个工程 - 类型 java project web project - 选择依赖的jdk,可以
-
jQuery EasyUI基础教程之EasyUI常用组件(推荐)
本文主要内容是介绍EasyUI的一些常用组件的使用,都是一些非常基础的知识,适合入门者学习,主要包括Base(基础).Layout(布局).菜单和按钮.表单.窗口.表格和树等的使用.要求完全掌握这些内容,学会查阅文档,了解开发基本思想.如果想进一步深入学习,可以直接去官网进行学习,查阅文档等http://www.jeasyui.com/. 一.简介 EasyUI是一种第三方组织开发的,开源的,功能强大的,基于jquery的插件库. 主要可以用于web的后台前端.jQuery EasyUI 提供易
随机推荐
- jQuery中.attr()和.data()的区别分析
- HP ILO2 使用详细教程[图文]
- mybatis同一张表多次连接查询相同列赋值问题小结
- iOS实现相册多选图片上传功能
- 深入解析Java设计模式编程中观察者模式的运用
- 使用Angular和Nodejs、socket.io搭建聊天室及多人聊天室
- ASP.NET AJAX 4.0的模版编程(Template Programming)介绍
- PHP正则表达式匹配替换与分割功能实例浅析
- PHP循环获取GET和POST值的代码
- unix编程创建前缀固定的临时文件代码分享
- php stripslashes和addslashes的区别
- python实现下载文件的三种方法
- iOS开发教程之扇形动画的实现
- 基于C++内存分配、函数调用与返回值的深入分析
- 一个oracle+PHP的查询的例子
- select获取下拉框的值 下拉框默认选中方法
- C#中使用angular的方法步骤
- 浅谈C#中对引用类型的误解
- Django中使用session保持用户登陆连接的例子
- 利用python list完成最简单的DB连接池方法