91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

C語言編譯器是用來做什么的

汽車玩家 ? 來源:電子發(fā)燒友網(wǎng) ? 2018-03-27 13:47 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

C語言編譯器及其實例

C語言是一種結構化語言。它層次清晰,便于按模塊化方式組織程序,易于調試和維護。C語言的表現(xiàn)能力和處理能力極強。它不僅具有豐富的運算符和數(shù)據(jù)類型,便于實現(xiàn)各類復雜的數(shù)據(jù)結構。它還可以直接訪問內存的物理地址,進行位(bit)一級的操作。由于C語言實現(xiàn)了對硬件的編程操作,因此C語言集高級語言和低級語言的功能于一體。既可用于系統(tǒng)軟件的開發(fā),也適合于應用軟件的開發(fā)。此外,C語言還具有效率高,可移植性強等特點。因此廣泛地移植到了各類各型計算機上,從而形成了多種版本的C語言。

直接插入排序(Straight Insertion Sort)的基本思想是將新記錄插入到已經(jīng)排好序的有序表中,初始有序表只有無序表的第一個數(shù)據(jù),依次對無序表每個數(shù)據(jù)進行直接插入排序,從而得到了有序表,具體步驟為

若新記錄小于有序表高位l.r[j],則設置哨兵

有序表后移,j+1=j

重復第2步,直至新紀錄》=有序表中的j記錄,則j+1就是要插入的位置

從而得到一個新的、記錄數(shù)增加1的有序表。

#include 《stdio.h》

typedef float keyType;

typedef struct{

keyType score;

char name[20];

}student;

typedef struct{

int length=6;

student stu[6];

}sqList;

void SIS(sqList &L){

for(int i=2;i《L.length;i++){

if(L.stu[i].score》L.stu[i-1].score){

L.stu[0]= L.stu[i]://設置哨兵

int j;

for(j=i-1;L.stu[0].score》L.stu[j].score;j--)

L.stu[j + 1]= L.stu[j];//記錄后移

L.stu[j+ 1]= L.stu[0]://找到位置,插入元素

}

}

}

int main(){

sqList L;

for(int i= 1;i《L.length;i+ +){

printf(“ 請輸入第%d個學生的姓名:”,i);

gets(L.stu[i].name);

printf(“分數(shù):”);

sCanf(“%f”,&(L.stu[j].score);

getchar();

}

SIS(L);

for(int i= 1;i《L.length;i++){

printf(“ 學生%s 分數(shù)%f 第%d 名”,L.stu[j].name,Lstce);

}

語言是在70年代初問世的。一九七八年由美國電話電報公司(AT&T)貝爾實驗室正式發(fā)表了C語言。同時由B.W.Kernighan和D.M.Ritchit合著了著名的“THE C PROGRAMMING LANGUAGE”一書。通常簡稱為《K&R》,也有人稱之為《K&R》標準。但是,在《K&R》中并沒有定義一個完整的標準C語言,后來由美國國家標準學會在此基礎上制定了一個C 語言標準,于一九八三年發(fā)表。通常稱之為ANSI C。早期的C語言主要是用于UNIX系統(tǒng)。由于C語言的強大功能和各方面的優(yōu)點逐漸為人們認識,到了八十年代,C開始進入其它操作系統(tǒng),并很快在各類大、中、小和微型計算機上得到了廣泛的使用。成為當代最優(yōu)秀的程序設計語言之一。

目前最流行的C語言編譯器有以下幾種:·GNU Compiler Collection 或稱 GCC·Microsoft C 或稱 MS C·Borland Turbo C 或稱 Turbo C這些C語言版本不僅實現(xiàn)了ANSI C標準,而且在此基礎上各自作了一些擴充,使之更加方便、完美。

編譯器及其主要工作流程

編譯器,是將便于人編寫,閱讀,維護的高階計算機語言翻譯為計算機能解讀、運行的低階機器語言的程序。編譯器將原始程序(Source program)作為輸入,翻譯產(chǎn)生使用目標語言(Target language)的等價程序。源代碼一般為高階語言 (High-level language), 如 Pascal、C++、Java 等,而目標語言則是匯編語言或目標機器的目標代碼(Object code),有時也稱作機器代碼(Machine code)。

一個現(xiàn)代編譯器的主要工作流程如下:

源代碼 (source code) → 預處理器 (preprocessor) → 編譯器 (compiler) → 匯編程序 (assembler) → 目標代碼 (object code) → 連接器 (Linker) → 可執(zhí)行程序 (executables)

將C語言源代碼編譯成計算機可直接運行的目標代碼或機器碼。說白了就是把更加貼近于人類語言的程序語言翻譯成更貼近計算機的機器語言。

實現(xiàn)了基本高級語言所必須的語法要素,包括簡單變量聲明、函數(shù)的實現(xiàn)、整數(shù)和字符串運算、條件判斷語句和循環(huán)語句及跳轉語句、基本代數(shù)運算、賦值等,還支持匯編語言嵌入。本編譯器是利用編譯器生成器Parse Generator和VC6.0在Windows平臺上實現(xiàn)的,并開發(fā)了一個基于Windows平臺的32位編譯集成開發(fā)環(huán)境CompilerMan,提供了關鍵字彩色提示、出錯同屏提示、出錯代碼跳轉等較為完善方便的功能。由于編譯程序本身涉及到詞法分析、語法分析、代碼生成、錯誤恢復和優(yōu)化等諸多模塊,要在實驗中做到面面俱到不太可能,所以本編譯器不可避免的會存在各種問題,但作為一個具有基本功能的、可擴充的系統(tǒng),完全達到鞏固編譯原理的理論知識,并將其運用。

編譯程序,就是一種具有編撰和翻譯功能的程序。人們要用計算機來解決問題,首先面臨的一個問題,就是要告訴計算機解決什么問題,或者告訴計算機如何解決這個問題。這就涉及到用什么樣的語言來描述的問題,人所習慣的自然語言和計算機認識的機器語言有很大的差別,用機器語言來描述人想解決的問題十分不便,因而,計算機科學家設計一些人們比較習慣的語言來描述要解決的問題,稱之為高級語言。

用語言來描述的問題,統(tǒng)稱為程序。然而,用高級語言寫的程序,不能被計算機所直接認識和理解,必須經(jīng)過等價的轉換,變成機器能理解并執(zhí)行的機器語言的程序。進行這種等價轉換工作的工具,就是編譯程序。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • C語言
    +關注

    關注

    183

    文章

    7645

    瀏覽量

    145779
  • 編譯器
    +關注

    關注

    1

    文章

    1672

    瀏覽量

    51725
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    C編譯器錯誤與解決方法

    C語言keil編譯器提示錯誤的解決方法,可以幫你解決程序編譯中的煩惱!! C編譯器錯誤與解決方
    發(fā)表于 01-22 08:03

    請問如何實現(xiàn)C語言訪問MCU寄存

    MCU的寄存。而IAR和CodeVisionAVR編譯器對ANSI C進行了擴充,都定義了新的數(shù)據(jù)類型,是C語言可以直接訪問MCU的有關寄
    發(fā)表于 12-26 07:00

    C語言C++之間的區(qū)別是什么

    C++的標準庫那樣集成度高和功能齊全。 6、編譯器語言特性: C++編譯器通常比C
    發(fā)表于 12-11 06:23

    單片機開發(fā)功能安全中編譯器

    的問題是,防御性編碼和外部數(shù)據(jù)訪問等實踐并不屬于編譯器認可的領域。例如,CC ++都沒有為內存損壞留出任何余地,因此,除非在沒有這種損壞的情況下可以訪問旨在防止內存損壞的代碼,否則在對代碼進行優(yōu)化
    發(fā)表于 12-01 06:44

    開源鴻蒙技術大會2025丨編譯器與編程語言分論壇:語言驅動系統(tǒng)創(chuàng)新,編譯賦能生態(tài)繁榮

    在萬物智聯(lián)的時代背景下,操作系統(tǒng)底層能力的構建離不開編程語言編譯器的關鍵支撐。作為開源鴻蒙生態(tài)的核心技術,語言設計與編譯器、虛擬機實現(xiàn)的進步直接關系到開發(fā)效率、運行性能與系統(tǒng)安全。本
    的頭像 發(fā)表于 11-20 17:24 ?963次閱讀
    開源鴻蒙技術大會2025丨<b class='flag-5'>編譯器</b>與編程<b class='flag-5'>語言</b>分論壇:<b class='flag-5'>語言</b>驅動系統(tǒng)創(chuàng)新,<b class='flag-5'>編譯</b>賦能生態(tài)繁榮

    C語言和單片機C語言有什么差異

    成匯編語言機器才能讀懂,所以每個平臺的編譯器編譯成對應平臺匯編的程序,每個平臺的匯編不一樣,當然編譯器也不一樣。 DOS上的TC2 TC3 WINDOWS上的VC 8051的
    發(fā)表于 11-14 07:55

    飛凌嵌入式ElfBoard-Vim編輯之GCC編譯器的安裝

    GCC(GNU Compiler Collection)是由GNU開發(fā)的編程語言編譯器,最初是作為GNU操作系統(tǒng)的編譯器編寫的。GCC是一個編譯器套件,包含很多軟件包,支持多種
    發(fā)表于 10-15 08:44

    GCC編譯器,怎么才能實現(xiàn)c文件中未被調用的函數(shù),不會被編譯呢?

    GCC編譯器,怎么才能實現(xiàn)c文件中未被調用的函數(shù),不會被編譯?有什么編譯選項可以設置嗎? 移植代碼,有些函數(shù)沒被調用的函數(shù)想留在代碼里,但不想被編譯
    發(fā)表于 09-28 12:25

    如何在Keil中將NuMicro BSP從Arm編譯器5遷移到編譯器6?

    在Keil中將NuMicro BSP從Arm編譯器5遷移到編譯器6!
    發(fā)表于 08-20 06:29

    進迭時空同構融合RISC-V AI CPU的Triton算子編譯器實踐

    Triton是由OpenAI開發(fā)的一個開源編程語言編譯器,旨在簡化高性能GPU內核的編寫。它提供了類似Python的語法,并通過高級抽象降低了GPU編程的復雜性,同時保持了高性能。目前
    的頭像 發(fā)表于 07-15 09:04 ?1960次閱讀
    進迭時空同構融合RISC-V AI CPU的Triton算子<b class='flag-5'>編譯器</b>實踐

    邊緣設備AI部署:編譯器如何實現(xiàn)輕量化與高性能?

    電子發(fā)燒友網(wǎng)綜合報道 AI編譯器是專門為人工智能(AI)和機器學習(ML)模型設計的編譯器,其核心目標是將高級的AI模型描述(如計算圖、神經(jīng)網(wǎng)絡結構)轉換為特定硬件平臺(如CPU、GPU、FPGA
    的頭像 發(fā)表于 07-06 05:49 ?6726次閱讀

    編譯器功能安全驗證的關鍵要素

    在汽車、工業(yè)、醫(yī)療等安全關鍵型應用中,確保功能安全合規(guī)性需要嚴格的工具鏈驗證。開發(fā)安全關鍵型軟件的企業(yè)必須遵守ISO 26262、IEC 61508、ISO 62304等國際標準對編譯器工具鏈進行全面的驗證。
    的頭像 發(fā)表于 07-05 13:37 ?1598次閱讀

    兆松科技ZCC編譯器全面支持芯來科技NA系列處理

    近日,兆松科技(武漢)有限公司(以下簡稱“兆松科技”)宣布正式發(fā)布高性能RISC-V編譯器ZCC 4.0.0版本。
    的頭像 發(fā)表于 06-11 09:56 ?1759次閱讀

    RVCT編譯器是否比GNU的編譯器的代碼執(zhí)行速度更快?

    使用FX3S遇到了RVCT編譯器的問題。 1、在SDK的release note中有支持RVCT的描述, 但是在EZ USB Suite的設置中沒有找到RVCT的選項, 請問支持的具體版本
    發(fā)表于 05-08 07:49

    HighTec編譯器全面適配紫光同芯THA6 Gen2系列產(chǎn)品

    近日,紫光同芯與全球領先的汽車級C/C++編譯器供應商HighTec共同宣布,HighTec編譯器完成對紫光同芯THA6 Gen2系列產(chǎn)品的全面適配。此次合作實現(xiàn)了從指令集優(yōu)化到功能安
    的頭像 發(fā)表于 04-02 09:42 ?1216次閱讀