热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

c语言程序设计交换值,c语言中数值交换

本文目录一览:1、c语言将变量A和B的值进行互换的程序

本文目录一览:


  • 1、c语言 将变量A和B的值进行互换 的程序


  • 2、定义两个变量a,b,如何用c语言编程,使两个变量的值能相互交换?


  • 3、c语言怎么实现两个数据交换


  • 4、c语言如何编写两个数字数值交换

c语言 将变量A和B的值进行互换 的程序

代码如下:#includestdio.h

#include stdlib.h

void swap1(int a,int b)  //使用中间变量交换两个值

{

int temp = a;

a = b;

b = temp;

}

void swap2(int a, int b)     //只用加法、减法、乘法也可以交换两个值

{

a = a + b;

b = a - b;

a = a - b;

}

void swap3(int a, int b)     //使用位运算也可以交换两个值

{

a = a^b;

b = a^b;

a = a^b;

}

void main1mianshiti7()

{

int a1 = 1, b1 = 2;

int a2 = 10, b2 = 15;

int a3 = 78, b3 = 90;

int a = 2147483647, b = 1;

printf("a1=%p,b1=%p", a1, b1);

swap1(a1, b1);

swap2(a2, b2);

swap3(a3, b3);

printf("swap after~~~~~~~~~~~~~\n");

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

printf("a2=%d,b2=%d\n", a2, b2);

printf("a3=%d,b3=%d\n", a3, b3);

swap2(a, b);

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

system("pause");

}

源代码截图:

参考资料:百度百科-网页链接

扩展资料:

C语言是一门通用计算机编程语言,广泛应用于底层开发。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。

尽管C语言提供了许多低级处理的功能,但仍然保持着良好跨平台的特性,以一个标准规格写出的C语言程序可在许多电脑平台上进行编译,甚至包含一些嵌入式处理器(单片机或称MCU)以及超级电脑等作业平台。

二十世纪八十年代,为了避免各开发厂商用的C语言语法产生差异,由美国国家标准局为C语言制定了一套完整的美国国家标准语法,称为ANSI C,作为C语言最初的标准。[1] 目前2011年12月8日,国际标准化组织(ISO)和国际电工委员会(IEC)发布的C11标准是C语言的第三个官方标准,也是C语言的最新标准,该标准更好的支持了汉字函数名和汉字标识符,一定程度上实现了汉字编程。

C语言是一门面向过程的计算机编程语言,与C++,Java等面向对象的编程语言有所不同。

其编译器主要有Clang、GCC、WIN-TC、SUBLIME、MSVC、Turbo C等。

定义两个变量a,b,如何用c语言编程,使两个变量的值能相互交换?

我给你两种方法:

方法一,用位操作对换(好处:不用消耗额外的内存,缺点:只能对整形变量,字符变量等进行此操作):

int

a

=

3,b

=

9;

a

^=

b;

b

^=

a;

a

^=

b;

方法二,利用中间变量对换(好处:适用于所有变量类型,缺点:需要消耗额外的内存)

int

a

=

3,b

=

9;

int

temp;

temp

=

a;

a

=

b;

b

=

temp;

c语言怎么实现两个数据交换

您好,很高兴回答您的问题。

在程序设计中,若是交换两个数的话,是需要结合一个中间变量的。因为在赋值运算时,就是把右边数据的值赋值给左边变量,那么左边变量原来的值就消失了,为了避免出现这种值被覆盖的情况,一定要把原来变量的值先移出来,怎么移呢?就是把原来的值赋值给另一个中间变量。

c语言如何编写两个数字数值交换

我们用C语言的时候,经常需要将两个数字交换,那么如何实现呢?下面我给大家分享一下。

工具/材料

Dev C++

01

首先我们在Dev C++软件中新建一个C语言项目,如下图所示

02

接下来我们在C语言文件中声明两个数字并输出,如下图所示

03

然后用一个中间变量对他们进行交换,如下图所示

04

最后运行编写好的C语言文件,我们就可以看到如下图所示的交换结果了


推荐阅读
  • 本文由编程笔记#小编整理,主要介绍了关于数论相关的知识,包括数论的算法和百度百科的链接。文章还介绍了欧几里得算法、辗转相除法、gcd、lcm和扩展欧几里得算法的使用方法。此外,文章还提到了数论在求解不定方程、模线性方程和乘法逆元方面的应用。摘要长度:184字。 ... [详细]
  • Java学习笔记之面向对象编程(OOP)
    本文介绍了Java学习笔记中的面向对象编程(OOP)内容,包括OOP的三大特性(封装、继承、多态)和五大原则(单一职责原则、开放封闭原则、里式替换原则、依赖倒置原则)。通过学习OOP,可以提高代码复用性、拓展性和安全性。 ... [详细]
  • Java太阳系小游戏分析和源码详解
    本文介绍了一个基于Java的太阳系小游戏的分析和源码详解。通过对面向对象的知识的学习和实践,作者实现了太阳系各行星绕太阳转的效果。文章详细介绍了游戏的设计思路和源码结构,包括工具类、常量、图片加载、面板等。通过这个小游戏的制作,读者可以巩固和应用所学的知识,如类的继承、方法的重载与重写、多态和封装等。 ... [详细]
  • Iamtryingtomakeaclassthatwillreadatextfileofnamesintoanarray,thenreturnthatarra ... [详细]
  • 本文介绍了一个Java猜拳小游戏的代码,通过使用Scanner类获取用户输入的拳的数字,并随机生成计算机的拳,然后判断胜负。该游戏可以选择剪刀、石头、布三种拳,通过比较两者的拳来决定胜负。 ... [详细]
  • Java容器中的compareto方法排序原理解析
    本文从源码解析Java容器中的compareto方法的排序原理,讲解了在使用数组存储数据时的限制以及存储效率的问题。同时提到了Redis的五大数据结构和list、set等知识点,回忆了作者大学时代的Java学习经历。文章以作者做的思维导图作为目录,展示了整个讲解过程。 ... [详细]
  • 本文介绍了OC学习笔记中的@property和@synthesize,包括属性的定义和合成的使用方法。通过示例代码详细讲解了@property和@synthesize的作用和用法。 ... [详细]
  • JavaSE笔试题-接口、抽象类、多态等问题解答
    本文解答了JavaSE笔试题中关于接口、抽象类、多态等问题。包括Math类的取整数方法、接口是否可继承、抽象类是否可实现接口、抽象类是否可继承具体类、抽象类中是否可以有静态main方法等问题。同时介绍了面向对象的特征,以及Java中实现多态的机制。 ... [详细]
  • 如何用UE4制作2D游戏文档——计算篇
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了如何用UE4制作2D游戏文档——计算篇相关的知识,希望对你有一定的参考价值。 ... [详细]
  • 本文讨论了一个关于cuowu类的问题,作者在使用cuowu类时遇到了错误提示和使用AdjustmentListener的问题。文章提供了16个解决方案,并给出了两个可能导致错误的原因。 ... [详细]
  • 闭包一直是Java社区中争论不断的话题,很多语言都支持闭包这个语言特性,闭包定义了一个依赖于外部环境的自由变量的函数,这个函数能够访问外部环境的变量。本文以JavaScript的一个闭包为例,介绍了闭包的定义和特性。 ... [详细]
  • 本文介绍了C++中的引用运算符及其应用。引用运算符是一种将变量定义为另一个变量的引用变量的方式,在改变其中一个变量时,两者均会同步变化。引用变量来源于数学,在计算机语言中用于储存计算结果或表示值抽象概念。变量可以通过变量名访问,在指令式语言中引用变量通常是可变的,但在纯函数式语言中可能是不可变的。本文还介绍了引用变量的示例及验证,以及引用变量在函数形参中的应用。当定义的函数使用引用型形参时,函数调用时形参的改变会同时带来实参的改变。 ... [详细]
  • SpringMVC接收请求参数的方式总结
    本文总结了在SpringMVC开发中处理控制器参数的各种方式,包括处理使用@RequestParam注解的参数、MultipartFile类型参数和Simple类型参数的RequestParamMethodArgumentResolver,处理@RequestBody注解的参数的RequestResponseBodyMethodProcessor,以及PathVariableMapMethodArgumentResol等子类。 ... [详细]
  • Python脚本编写创建输出数据库并添加模型和场数据的方法
    本文介绍了使用Python脚本编写创建输出数据库并添加模型数据和场数据的方法。首先导入相应模块,然后创建输出数据库并添加材料属性、截面、部件实例、分析步和帧、节点和单元等对象。接着向输出数据库中添加场数据和历程数据,本例中只添加了节点位移。最后保存数据库文件并关闭文件。文章还提供了部分代码和Abaqus操作步骤。另外,作者还建立了关于Abaqus的学习交流群,欢迎加入并提问。 ... [详细]
  • MySQL5.6.40在CentOS764下安装过程 ... [详细]
author-avatar
BOSS
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有