當前位置:首頁 » 編程語言 » c語言採用解釋方式翻譯
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言採用解釋方式翻譯

發布時間: 2022-06-23 07:15:12

A. c語言採用解釋方式將源程序轉換為二進制的目標代碼嗎

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

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

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

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

(1)c語言採用解釋方式翻譯擴展閱讀

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

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

B. 將高級語言編寫的程序翻譯成機器語言程序,採用的兩種翻譯方式是( )。

正確答案是A,編譯和解釋。

原因是:編譯和解釋是將高級語言編寫的程序翻譯成機器語言程序的兩種方式。解釋方式是將源程序逐句解釋執行,即解釋一句執行一句,因此在解釋方式中不產生目標文件。

例如,早期的BASIC語言採用的就是「解釋」方式。編譯方式是將整個高級語言編寫的源程序先翻譯成機器語言程序,然後再生成可在操作系統下直接運行的執行程序,通常會產生目標程序。

(2)c語言採用解釋方式翻譯擴展閱讀

程序設計語言的類型:

1、命令式語言。這種語言的語義基礎是模擬「數據存儲/數據操作」的圖靈機可計算模型,十分符合現代計算機體系結構的自然實現方式。其中產生操作的主要途徑是依賴語句或命令產生的副作用。現代流行的大多數語言都是這一類型,比如Fortran、Pascal、Cobol、C、C++、Basic、Ada、Java、C#等,各種腳本語言也被看作是此種類型。

2、函數式語言。這種語言的語義基礎是基於數學函數概念的值映射的λ運算元可計算模型。這種語言非常適合於進行人工智慧等工作的計算。典型的函數式語言如Lisp、Haskell、ML、Scheme、F#等。

3、邏輯式語言。這種語言的語義基礎是基於一組已知規則的形式邏輯系統。這種語言主要用在專家系統的實現中。最著名的邏輯式語言是Prolog。

4、面向對象語言。現代語言中的大多數都提供面向對象的支持,但有些語言是直接建立在面向對象基本模型上的,語言的語法形式的語義就是基本對象操作。主要的純面向對象語言是Smalltalk。

C. 用C語言編寫一個簡單翻譯程序

LZ 的那種方法 可以實現 ,但很顯然是不實用,因為那樣記錄的也太多了吧,,,

我覺得,你可以記錄下常用的特殊短語 像: hello China就可以了,因為很大一部分就是按照順序翻譯的,「有道」也經常出現這種問題的,以下是自己在用參考「有道」的時候的實現的一些想法,可以作為參考:

如果想智能點的話,你就得「教會」這個 【 英語和漢語 】這兩門課 教的方法,就是把你會的東西全都教給他,比如說:

首先,你可以為每個單詞定義一個struct數據結構,裡麵包含的是這個單詞的 1. 【字義】(一個單詞總不止一個意思吧)2.【詞性】(你學習語法的時候要用到吧)3.【其他】(片語了什麼的,有發音功能的話還得記錄音標吧、、呵呵)

然後,要教它語法吧、、、這其實是最難的,語法就相當於你的演算法了,程序的靈魂所在;

這也許就是C一直吸引著我們的地方,將抽象變為具體,呵呵、、祝你學習愉快、、、

D. c語言是解釋型語言嗎

編程語言分為兩大類:1-編譯型語言;2-解釋型語言。之前我們講解過編譯型語言。現在就來講講解釋型語言

同學們可以繼續與翻譯進行類別,來理解「解釋型語言」。之前說過,編譯型語言是雇一個翻譯,將你寫的中文信全篇翻譯成英文,然後交給美國總統閱讀。而解釋型語言則不同,更像是「同聲傳譯」。

也就是說,解釋型語言使用一個翻譯站在你身邊,你寫出一句中文,它就直接翻譯成英文給對方閱讀。實際上,這個「翻譯」是一種虛擬機。所謂虛擬機,也是一種程序,它幫你隨時將編寫的源代碼翻譯成計算機可以理解的機器語言,讓計算機執行命令。而不需要產生中間的機器碼文件。比如,「BASIC」語言就是一種解釋型語言。

比如,你使用BASIC語言,想在屏幕上顯示文本「Hello」。那麼你可以先編寫源代碼文件,比如叫「hello.bas」,然後你可以直接將hello.bas文件送入虛擬機程序。然後虛擬機會直接幫你運行hello.bas(直接逐行解釋你的源代碼文件)。

解釋型語言最大的特點就是不創建中間文件。

解釋型語言的優點

對於不同的系統適應性較好,同樣的源代碼,可以直接運行在不同的系統(當然,前提是在不同系統上安裝好相應的虛擬機)。

解釋型語言的缺點

逐行解釋會導致程序運行速度不如編譯型語言快。可以想像下,你講中文時,說一句中文翻譯翻譯一句(解釋型語言)的速度,顯然比先把演講稿翻譯成全英文稿(編譯型語言)要慢很多。

解釋型語言舉例

屬於解釋型語言的有如下幾種:

Perl
JavaScript
VBScript
AppleScript

E. c語言怎麼翻譯

C語言是Combined Language(組合語言)的中英混合簡稱。是一種計算機程序設計語言。它既具有高級語言的特點,又具有匯編語言的特點。它可以作為工作系統設計語言,編寫系統應用程序,也可以作為應用程序設計語言,編寫不依賴計算機硬體的應用程序。因此,它的應用范圍廣泛,不僅僅是在軟體開發上,而且各類科研都需要用到C語言,具體應用比如單片機以及嵌入式系統開發。

F. C語言的翻譯方式是編譯方式還是解釋方式

這是一種命名方式,一種縮寫.clearerr=clearerror.因為是文件操作類函數的所以以f開頭(file).fopen=fileopenfclose=fileclose這些都是標准庫,常用的就那幾個,多用幾次就熟悉了.建議看下"駝峰命名法","匈牙利命名法"!

G. C語言既可以編譯執行又可以解釋執行嗎 編譯執行怎麼解釋 解釋執行又怎麼解釋

C 語言程序僅可以解釋執行。

解釋程序是將源程序(如BASIC)作為輸入,解釋一句後就提交計算機執行一句,並不形成目標程序。編譯程序是把高級語言(如FORTRAN、COBOL、Pascal、C等)源程序作為輸入,進行翻譯轉換,產生出機器語言的目標程序,然後再讓計算機執行這個目標程序,得到計算結果。

相對於編譯性語言,其優點是可移植性好,只要有解釋器環境,程序就可以在不同的操作系統上運行。

缺點是代碼需要有專門的解釋器,在程序運行時,除要給用戶程序本身分配內存空間外,解釋器也佔用系統資源,所以其運行速度較慢。另外,也很難達到像C、C++那樣操作系統底層操作的目的。

解釋型語言常用於,一是對運行速度要求不高(如一些網頁腳本等)的場合,二是對跨平台(操作系統的兼容性)有要求的場合。

(7)c語言採用解釋方式翻譯擴展閱讀

1、Python和Java語言,專門有一個解釋器能夠直接執行Python程序,每個語句都是執行的時候才翻譯。

2、Python代碼在運行前,會先編譯成中間代碼,每個 .py 文件將被換轉成pyc 文件,pyc 就是一種位元組碼文件,它是與平台無關的中間代碼。不管放在 Windows 還是 Linux 平台都可以執行,運行時將由虛擬機逐行把位元組碼翻譯成目標代碼。

H. C語言代碼求解釋翻譯,越詳細越好!

#include "circle.h"

//創建一個圓實例(分配內存)
circle *circle_new()
{
circle *returnValue;

returnValue = (circle *) malloc(sizeof(circle));
memset(returnValue, 0, sizeof(circle));

return returnValue;
}

//創建一個圓列表的實例(分配內存)
//noOfCircle表示該列表最多容納多少個圓
//由於沒有頭文件,猜測該列表是通過一個數組模擬的。(list是一個圓指針的數組)
circleList *circleList_new(int noOfCircle)
{
circleList *returnValue;

returnValue = (circleList *) malloc(sizeof(circleList));
memset(returnValue, 0, sizeof(circleList));
returnValue->list = (circle **) malloc(sizeof(circle *)*noOfCircle);
returnValue->noOfCircle = noOfCircle;

return returnValue;
}

//根據指定的ID獲得圓
//circleList *aCircleList(圓列表), int circleID(圓ID)
//返回指定的圓
circle *circle_getCircle(circleList *aCircleList, int circleID)
{
circle *returnValue;

returnValue = aCircleList->list[circleID];

return returnValue;
}

//列印一個圓,包括圓心坐標:x,y和半徑r
void circle_print(circle *aCircle)
{
double x, y, radius;

x = aCircle->x;
y = aCircle->y;
radius = aCircle->radius;

printf("(%.5f, %.5f) with radius = %.5f\n", x, y, radius);
}

//列印一個列表中的所有的圓,
void circleList_print(circleList *aCircleList)
{
circle **list;
circle *aCircle;

int i;

int noOfCircle;

noOfCircle = aCircleList->noOfCircle;
list = aCircleList->list;

for (i = 0; i < noOfCircle; i++)
{
aCircle = list[i];
printf(" Circle %d \n", i);
circle_print(aCircle);
}
}

//檢查一個圓(aCircle)是否覆蓋某個點(x,y)
int circle_checkWhetherCircleCoverPoint(circle *aCircle, double x, double y)
{
int returnValue;

double centerX, centerY;
double radius;

double leftSide, rightSide;

double temp1, temp2;

centerX = aCircle->x;
centerY = aCircle->y;
radius = aCircle->radius;

temp1 = centerX - x;
temp2 = centerY - y;

leftSide = temp1*temp1 + temp2*temp2;
rightSide = radius*radius;

if (leftSide <= rightSide)
{
returnValue = 1;
}
else
{
returnValue = 0;
}

return returnValue;
}

I. C語言語法翻譯

這個就是C語言的方法,就像所有語言一樣,C語言也有自己的一套,輸入的這些,最後都要輸出一組數據,你要做的就是把這個處理過程用C語言寫進去,具體的要看書,就像學英語那樣,什麼意思的就要用特定的符號來表示,建議你慢慢看書,把這些符號的意思都弄明白,就像破譯密碼一樣,就會了

J. C語言如何把它翻譯成中文

C語言特徵字不是標準的英文或縮寫,翻譯了也不符合語法含義。在線翻譯軟體給出的結果如下:
無效排序(int bn){
int i, j, sum=0;
字元學校[40];
學生t;
for(i=0; i<bn; i++){
for(j=i+1; j<bn; j++){
if(student[i].id>student[j].id){
t = 學生 [i];
學生[i] = 學生[j];
學生[j] = t;
}
}
}
printf("\n排序後的結果為:\n");
for(i=0; i<bn; i++){
輸出一個學生(i);
}
}