Ⅰ c語言 將變數A和B的值進行互換 的程序
代碼如下:#include<stdio.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~~~~~~~~~~~~~
");
printf("a1=%d,b1=%d
", a1, b1);
printf("a2=%d,b2=%d
", a2, b2);
printf("a3=%d,b3=%d
", a3, b3);
swap2(a, b);
printf("a=%d,b=%d
", 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等。
Ⅱ C語言中怎樣交換兩個字元串
C語言中交換兩個字元串需要藉助strcpy函數或者使用自定義交換函數進行交換
如交換a,b數組中的字元串代碼:
chara[10]="abed",b[10]="efg",t[10];
strcpy(t,a);//a復制給t
strcpy(a,b);//b復制給a
strcpy(b,t);//t復制給b
附:strcpy函數詳情
原型聲明:
char*strcpy(char*dest,constchar*src);
頭文件:
#include<string.h>和#include<stdio.h>
功能:把從src地址開始且含有NULL結束符的字元串復制到以dest開始的地址空間
說明:src和dest所指內存區域不可以重疊且dest必須有足夠的空間來容納src的字元串。返回指向dest的指針。
Ⅲ c語言怎麼實現兩個數據交換
將兩個數進行互換的方法有兩種形式:
1、藉助中間變數完成,此方法直觀,易理解,使用最多
2、不需要中間變數,通過變數身的運算完成交換。
Ⅳ 在C語言中如何將兩個數進行互換
方法1: 使用一個臨時變數來進行保存,這應該也是大家最容易想到的方法,話不多說,直接上代碼。
參考代碼:
#include<stdio.h>
intmain()
{inta=4;
intb=5;
intnTemp;
printf("交換前a,b的值為: ");
printf("a=%d ",a);
printf("b=%d ",b);
printf(" ");
nTemp=a;
a=b;
b=nTemp;
printf("----------------------------------我是分割線------------------------------------ ");
printf("交換前a,b的值為: ");
printf("a=%d ",a);
printf("b=%d ",b);
return0;
}
運行結果:
Ⅳ C語言交換兩個數字的代碼
首先要捋順一下,先看第一段程序。這段程序的目的就是為了將兩個變數的數值進行交換。此時要明白指針的使用方法,這里的交換函數是void swap(int &x, int &y),即無返回值的函數,函數傳遞的參數是int &x和int &y,這兩個東西是什麼呢?這兩個東西是定義的引用,而這個我們就可以理解為是兩個用來存儲傳遞進來的參數的地址的變數(這么說可能有點亂,其實就是將調用該函數是時傳遞進來的變數的地址給這兩個參數),所以如果在這個swap函數中對這兩個參數操作時,實際上就是對傳遞進來的那兩個變數進行操作。至於你問的關於整型的問題,這個也很好理解,在c語言里地址就是整型的,而這兩個變數定義的時候也是int整型的,所以無論是地址還是值都是整型的,而又因為*a和*b是一個指針指向的值,所以*a、*b是整型,而&a、&b是指針的地址,所以也是整型。
接下來看你第二段程序(你自己寫的這個):
看程序前請仔細查看關於函數方面的資料,至於你這個return為什麼是錯的這個問題其實很簡單,首先要了解一個函數的定義,定義函數簡單的可以分為有返回值和無返回值的,有返回值的定義類似這樣
int abc();
float bcd();
如上所示,函數名什麼的都好理解,函數名前面的"int"和"float"是指函數返回的類型,即你這個函數在執行完之後需要用return語句返回一個值,而這個返回類型就是指這個返回值的類型。
還有一種是不需要返回值的,即
void abc();
void cde();
這類函數在執行完成後不需在最後添加return語句來返回值,如果添加了也用不了。
而你寫的這個函數定義的是
int swap(int x,inty)
這里聲明的是一個需要返回整型變數的函數,而這個函數里你的返回值語句return後沒有跟任何變數或值,程序不知道你返回的是什麼東西,所以會報錯,這里一般都會填寫return 0;表示程序執行完成。當然這個0也可以換成整型的變數。
最後說一下你這個程序,你這個程序在執行完成後是不會將需要交換的變數a和b的值進行交換的。這個關繫到形參和實參的概念,請仔細查看書籍或看一些例子,你這個只是將形參的值交換了,真正的需要交換的值不會改變,也就是說你只是將a和b的兩個值復制了一份,然後將復制了的那個交換了,當swap函數完成後又將復制了的那份刪除掉了,所以說,不管怎樣最初的a和b都沒有受到任何影響。
Ⅵ 編寫c語言程序,實現交換兩個變數值的操作。
#include<stdio.h>
int main()
{int a,b,c;
a=5;
b=9;
printf("交換前a=%d,b=%d\n",a,b);
printf("交換後a=%d,b=%d\n",b,a);
return 0;
}
我這樣做可以換值,不過我總覺得有點怪怪的。
Ⅶ c語言中如何實現兩個字元的交換
有多種方法:
1
最常用的,中間變數法。
使用第三個中間變數交換a,b的值。
char
a='-',
b='+',c;
c
=
a;
a
=
b;
b
=
c;
實現a,b值的交換。
2
利用加減法交換。
交換a,b值可以用
a+=b;
b=a-b;
a=a-b;
3
利用異或交換:
交換a,b值的代碼為:
a^=b;
b=a^b;
a=a^b;
Ⅷ C語言編程,如何做兩數交換程序
現設一個變數a
int
a;
a=m;把m的值賦給a,此時a=3,m=3,n=5;
m=n;把n的值賦給m,此時a=3,m=5,n=5;
n=a;把a的值賦給n,此時a=3,m=5,n=3;
就完成m和n的兩數交換
Ⅸ c語言 編一程序 交換兩個變數的值(用指針做函數參數)
#include <stdio.h>
void Swap(int a,int b)
{
int tmp = a;
a = b;
b = tmp;
printf("a=%d,b=%d ",a,b);
}
int main()
{
int a = 5;
int b = 10;
printf("a=%d,b=%d ",a,b);
Swap(a,b);
printf("a=%d,b=%d ",a,b);
return 0;
}
(9)c語言中交換程序擴展閱讀:
形參和實參的特點
1、形參變數只有在被調用時才分配內存單元,在調用結束時,即刻釋放所分配的內存單元。因此,形參只在函數內部有效。函數調用結束返回主調用函數後則不能再使用該形參變數。
2、實參可以是常量、變數、表達式、函數等,無論實參是何種類型的量,在進行函數調用時,它們都必須有確定的值,以便把這些值傳送給形參。因此應預先用賦值,輸入等辦法使參數獲得確定值。
3、實參和形參在數量上,類型上、順序上應嚴格一致,否則就會發生類型不匹配的錯誤。
4、在一般傳值調用的機制中只能把實參傳送給形參,而不能把形參的值反向地傳送給實參。因此在函數調用過程中,形參值發生改變,而實參中的值不會變化。而在引用調用的機制當中是將實參引用的地址傳遞給了形參,所以任何發生在形參上的改變實際上也發生在實參變數上。
網路-形參
Ⅹ C語言中如何交換兩個變數的值
c語言中用函數交換兩個變數的值方法是先將變數賦值給中間變數,然後中間變數再賦值給另外一個變數,程序如下:
#include "Stdio.h"
#include "Conio.h"
void swap(int x,int y)
{
int t,m;
t=x; //變數x賦值給中間變數t
m=y; //變數y賦值給中間變數m
x=m; //中間變數m賦值給變數x,將y的值賦值給了x。
y=t; //中間變數t賦值給變數y,將x的值賦值給了y。
}
main()
{
int a,b;
a=1,b=2;
swap(a,b); //調用交換函數
printf("%d,%d",a,b);
getch();
}
(10)c語言中交換程序擴展閱讀:
C語言的語法結構:
1、順序結構
順序結構的程序設計是最簡單的,只要按照解決問題的順序寫出相應的語句就行,它的執行順序是自上而下,依次執行。
例如:a = 3,b = 5,現交換a,b的值,這個問題就好像交換兩個杯子裡面的水,這當然要用到第三個杯子,假如第三個杯子是c,那麼正確的程序為:c = a; a = b; b = c;執行結果是a = 5,b = c = 3如果改變其順序,寫成:a = b; c = a; b =c;則執行結果就變成a = b = c = 5,不能達到預期的目的,初學者最容易犯這種錯誤。
順序結構可以獨立使用構成一個簡單的完整程序,常見的輸入、計算、輸出三步曲的程序就是順序結構。
2、選擇結構
對於要先做判斷再選擇的問題就要使用選擇結構。選擇結構的執行是依據一定的條件選擇執行路徑,而不是嚴格按照語句出現的物理順序。選擇結構的程序設計方法的關鍵在於構造合適的分支條件和分析程序流程,根據不同的程序流程選擇適當的選擇語句。
選擇結構適合於帶有邏輯或關系比較等條件判斷的計算,設計這類程序時往往都要先繪制其程序流程圖,然後根據程序流程寫出源程序,這樣做把程序設計分析與語言分開,使得問題簡單化,易於理解。程序流程圖是根據解題分析所繪制的程序執行流程圖。
3、循環結構
循環結構可以減少源程序重復書寫的工作量,用來描述重復執行某段演算法的問題,這是程序設計中最能發揮計算機特長的程序結構,C語言中提供四種循環,即goto循環、while循環、do while循環和for循環。
四種循環可以用來處理同一問題,一般情況下它們可以互相代替換,但一般不提倡用goto循環,因為強制改變程序的順序經常會給程序的運行帶來不可預料的錯誤。