當前位置:首頁 » 編程語言 » 如何將c語言程序轉化為代碼
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

如何將c語言程序轉化為代碼

發布時間: 2022-12-25 11:53:20

『壹』 將一個C++程序代碼轉化成c語言程序代碼

#include<stdio.h>
#include<math.h>
double lnchoose(int,int);
int main()
{
int m,n;
double zuheshu;
printf("本程序用來計算組合數 C(n,m),請輸入n和m(n>=m)");
scanf("%d %d",&m,&n);
zuheshu=exp(lnchoose(n/1.0, m/1.0));
printf(" C(%d,%d)的值為:%d\n",zuheshu);
}
double lnchoose(int n, int m)
{
int ub;
double s1 = 0,s2 = 0;
if (m > n)
return 0;
if (m < n/2.0)
m = n-m; //原理是組合數中 C(n,m) = C(n,n-m)
for (int i=m+1; i<=n; i++)
{s1 += log((double)i);} //log中的參數是double類型
ub=n-m;
for (int i=2; i<=ub; i++)
{s2 += log((double)i);}
return s1-s2;
}
其實差不多就是改改輸入輸出,樓主大可自己動手的~~不過還是幫你改了~

『貳』 C語言採用解釋方式將源程序轉換為二進制的目標代碼嗎

不是,C語言採用編譯方式將源程序轉換為二進制的目標代碼。使用C語言編譯器來完成。

所謂C語言編譯器,就是把編程得到的文件,比如.c,.h的文件,進行讀取,並對內容進行分析,按照C語言的規則,將其轉換成cpu可以執行的二進制文件。其本質在於對文件的讀入,分析,及處理。

C語言編寫的程序代碼稱為源程序,對於計算機本身來說,它並不能直接識別由高級語言編寫的程序。C語言程序經C語言編譯程序編譯後,生成後綴為.obj的二進制文件(稱為目標文件)。

此.obj文件必須與系統提供的各種庫函數連接起來生成一個後綴為.exe的可執行文件才可以執行。C語言的可執行文件由一系列機器指令構成的。

(2)如何將c語言程序轉化為代碼擴展閱讀

解釋執行和編譯執行是計算機語言的執行方式。解釋執行由解釋器現場解釋執行,不生成目標程序。如BASIC便是解釋執行,一般解釋執行效率較低,低於編譯執行。

編譯執行由編譯程序將目標代碼一次性編譯成目標程序,再由機器運行目標程序。如:PASCAL,C,C++,delphi等語言。效率高於解釋執行。

『叄』 如何把c語言代碼轉化為c 語言,如下

你的問題是「C語言代碼轉化為c 語言」,比較奇怪。你所附代碼里出現了:

using namespace std;

因此這應該是C++代碼。

C和C++兩者的比較明顯的差別,就是前者面向過程,後者面向目標。若把C++的源代碼,變成C,則需要把C++所定義的class之類,都拆開,按照C的方式進行組合。

具體到你的源代碼,C++專有的只有2處。可以做如下改變:

using namespace std; --- 這一行刪除

cin >> t; --- 這一行改成如下的C格式

scanf("%d", &t);

因為你所附的源代碼被緊縮到一塊了,比較不方便進一步查看。你可以試試看,有問題繼續交流。

『肆』 怎麼把這個C語言代碼轉化為c++代碼

實際上這段代碼也算是C++代碼,C語言是C++的子集,這段代碼可以使用C++編譯器編譯的。

如果一定要改這段代碼的話,也只能替換輸入輸出語句了:


#include <iostream>

using namespace std;

int main()
{
int n,r,i;

while(cin >> n >> r) {
if(n<0) {
cout << '-';
n=-n;
}
if(n==0) {
cout << '0' << endl;
continue;
}

int c=0, a[100];
while(n) {
a[c] = n % r;
c++;
n /= r;
}
for(i=c-1;i>=0;i--) {
if(a[i]>=10) {
cout << 'A' + a[i] - 10;
} else {
cout << a[i];
}
}
cout << endl;
}
}

『伍』 如何將編寫好的C語言源程序變成可執行文件EXE

以GCC編譯器為例,可以分為四步。x0dx0a第一步是預處理,包括語法檢查等工作。x0dx0agcc -P abc.cx0dx0a第二步由源程序生產匯編語言代碼。x0dx0agcc -S abc.c x0dx0a會生成abc.s文件,這個文件里就是匯編代碼。x0dx0a第三步編譯器生成目標代碼,一個源文件生成一個目標代碼。x0dx0agcc -c abc.cx0dx0a會生成abc.ox0dx0a第四步連接器從目標代碼生成可執行文件。x0dx0agcc abc.ox0dx0ax0dx0a目標代碼包括機器碼和符號表(函數及變數名)。連接器的主要作用是通過符號表在庫文件和其他模塊中找到在目標代碼中引入或未定義的符號(函數及變數名),將幾個目標代碼合成可執行文件。

『陸』 怎樣把C語言源程序代碼變成可執行程序

比如你有一個study項目,裡面建了一個test.cpp文件x0dx0a點菜單欄的生成-生成studyx0dx0a然後再去你建這個項目的文件夾裡面的debug文件夾里有個和項目study同名的exe文件。x0dx0a如在d盤的。x0dx0ad:\study\debug\study.exex0dx0a這個就是生成的可執行文件了。

『柒』 把C語言代碼轉成Java代碼

package dis;
import java.io.*;
import java.math.*;
public class dis
{
public static void main(String [] s) throws Exception
{
Float a,b,c;
double x2;
double x1;
System.out.println("請輸入a, b, c的值");
BufferedReader bReader=new BufferedReader(new InputStreamReader(System.in));
a=Float.parseFloat(bReader.readLine());
b=Float.parseFloat(bReader.readLine());
c=Float.parseFloat(bReader.readLine());
if (b*b - 4*a*c <= 0)
System.out.println("輸入的系數不對,b2-4ac不大於0!程序退出!");
else
{
x1 = (-b + Math.sqrt(b*b - 4*a*c))/2*a;
x2 = (-b - Math.sqrt(b*b - 4*a*c))/2*a;

System.out.println("x1 = "+ x1);
System.out.println("x2 = "+x2);
}
return;
}

}

『捌』 如何將下面c語言代碼轉換成Java代碼

完整的直譯為java方法是這樣的,但是這樣寫dataLen的值必須小於等於數組長度,不然會出現下標越界的異常

public int accumulativeVerification(int[] data, int dataLen) {
    int sum = 0;
    for (int i = 0; i < dataLen; i++) {
        sum += data[i];
    }
    return sum;
}

如果是意譯(計算int數組的所有數之和),那麼java可以這樣寫

public int accumulativeVerification(int[] data) {
    int sum = 0;
    for (int i = 0; i < data.length; i++) {
        sum += data[i];
    }
    return sum;
}

『玖』 如何將c語言程序轉成匯編語言程序。

如果是VC則在編譯器命令行參數再加 /FA 則會生成匯編代碼。如果參數是 /FAs 則會同時將源碼和匯編代碼。
/FA 程序集代碼;.asm
/FAc 機器碼和程序集代碼;.cod
/FAs 源代碼和程序集代碼;.asm
/FAcs 機器碼、源代碼和程序集碼;.cod

/Fa的用法

/Fa 為編譯中的每個源代碼文件創建一個源文件.asm。
/Fa文件名 將文件名.asm 放到當前目錄中。僅在編譯單個源代碼文件時有效。
/Fa文件名.擴展名 將文件名.擴展名放到當前目錄中。僅在編譯單個源代碼文件時有效。
/Fa目錄\ 為編譯中的每個源代碼文件創建一個源文件.asm,並將其放到指定目錄中。請注意必須有後綴反斜杠。只允許使用當前磁碟上的路徑。
/Fa目錄\文件名 將文件名.asm 放到指定目錄中。僅在編譯單個源代碼文件時有效。
/Fa目錄\文件名.擴展名 將文件名.擴展名放到指定目錄中。僅在編譯單個源代碼文件時有效。

如果你是用gcc 或 g++編譯器,如dev c++則加入命令行參數 -S 即可