第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

全部開發(fā)者教程

C 語言入門教程

C 語言基礎(chǔ)教程
01 C 語言簡介 02 C 語言的程序結(jié)構(gòu) 03 C 語言的編譯 04 C 語言的標(biāo)準(zhǔn) 05 C 語言中的注釋 06 C 語言中的變量 07 C 語言中的變量類型 08 C 語言的常量 09 C 語言的輸入與輸出 10 C 語言中的 printf() 格式輸出 11 C 語言中的類型轉(zhuǎn)換 12 C 語言中的運算符 13 C 語言中的算數(shù)運算符 14 C 語言中的位運算符 15 C 語言中的邏輯運算符 16 C 語言中的三目運算符 17 C 語言中的分支結(jié)構(gòu) 18 C 語言中的多重分支 19 C 語言中的分支嵌套結(jié)構(gòu) 20 C 語言中的循環(huán)結(jié)構(gòu) 21 C 語言中的 while 循環(huán) 22 C 語言中的 do-While 循環(huán) 23 C 語言中的 for 循環(huán) 24 C 語言中的多重循環(huán)嵌套 25 循環(huán)實戰(zhàn),打印九九乘法表 26 C 語言中的break和continue 27 C 語言中的 if 語句 28 C 語言中的 switch/case 語句 29 C 語言中的函數(shù) 30 C 語言函數(shù)的定義和聲明 31 C 語言中函數(shù)的參數(shù)傳入類型 32 C 語言中的 main() 函數(shù)參數(shù) 33 make 工具 makefile 34 C 語言中的數(shù)組 35 C 語言中的多維數(shù)組 36 數(shù)組的練習(xí) 37 C 語言中的字符串 38 C 語言中的字符串函數(shù) 39 C 語言字符串練習(xí) 40 C 語言中的指針 41 C 語言中的 struct 42 C 語言中的 union 43 C 語言中的 maclloc free() 44 C 語言中的 enum 45 整體練習(xí)-學(xué)生管理系統(tǒng)

C 語言的編譯

上一個小節(jié) C 語言的程序結(jié)構(gòu)中我們簡單的認(rèn)識了一下 C 語言的程序到底由那些部分組成,但是僅僅了解 C 語言的程序結(jié)構(gòu)還不夠,僅僅是萬里長征走完了第一步,后面還需要進(jìn)行很多的步驟才能讓程序成為一個可以使用的工業(yè)產(chǎn)品。還記的上一個小節(jié)中我們提到的 gcc 嗎?其實這是一個 C 語言的編譯器,這一個小節(jié)我們就來學(xué)習(xí)一下編譯器這個概念。

1. C 語言編譯器

每個語言都需要編譯器,甚至包括可以直接操作 CPU 內(nèi)部寄存器的匯編語言。編譯器的作用就是將我們用接近人類自然語言編寫的程序翻譯成計算機(jī)可以直接執(zhí)行的二進(jìn)制文件。

其實使用二進(jìn)制是人類在計算機(jī)發(fā)明過程中妥協(xié)于工程實踐的一個行為。因為從最高效率的數(shù)字進(jìn)制來說,三進(jìn)制其實更為有效率,但是實現(xiàn)起來不那么容易。

C 語言的編譯器有非常多種,下面我們列舉了一些,供大家參考。

編譯器 編譯器作者 支持的操作系統(tǒng) 是否有相關(guān)的集成開發(fā)環(huán)境 授權(quán)許可類型
AMPC Axiomatic Solutions Sdn Bhd Windows,Unix & Other Yes Proprietary
Amsterdam Compiler Kit Andrew Tanenbaum and Ceriel Jacobs Unix & Other No BSD
CCS C Compiler CCS, Inc. Windows,Unix & Other Yes Proprietary
Clang Low-Level Virtual Machine Windows,Unix & Other No BSD
DMS Software Reengineering Toolkit Semantic Designs Windows,Unix & Other No Proprietary
GCC C GNU Project Windows,Unix,IBM mainframe, AmigaOS, VAX/VMS, RTEMS No GPL
RCC (RCOR C Compiler) Rodrigo Caetano (rcor) Windows,Unix No GPL
Interactive C KISS Institute for Practical Robotics Windows, Unix, Mac, Linux, IRIX, Solaris, SunOS No
LabWindows/CVI National Instruments Windows,Unix & Other Yes Proprietary
lcc Chris Fraser and David Hanson Windows,Unix & Other Windows only Freeware (source code available for non-commercial use)
Mark Williams C Mark Williams Company Windows,Other Yes Proprietary
Microsoft C Microsoft Windows Yes Proprietary
Nwcc Nils Weller Windows,Unix,Other No BSD
Open64 SGI Google HP Intel Nvidia PathScale Tsinghua University and others Unix,Other No GPL
Pelles C Pelle Orinius Windows Yes Freeware
PGCC The Portland Group Windows,Unix,Other— Mac OS X Yes — Visual Studio on Windows Proprietary
Portable C Compiler Anders Magnusson and others Windows,Unix,Other No BSD
Power C Mix Software Other No Proprietary
QuickC Microsoft Windows Yes Proprietary
SAS/C SAS Institute Windows,Unix,Other-IBM mainframe, AmigaOS, 68K, 88K, Unix Yes Proprietary
Tiny C Compiler Fabrice Bellard Windows,Unix No LGPL
Turbo C Embarcadero Other No Proprietary - V 2.01 freely available
CCS C Compiler CCS, Inc. Windows,Unix,Other Yes Proprietary
MikroC Compiler MikroElektronika, Inc. Windows,Unix,Other Yes Proprietary
ups debugger (includes C interpreter) Tom Hughes, Ian Edwards, and others Unix,Other-Solaris, SunOS Yes GPL
VBCC Dr. Volker Barthelmann Windows,Unix,Other No Freeware (source code available,
XL C IBM Unix-AIX Eclipse Proprietary

當(dāng)然,編譯器還與計算硬件平臺息息相關(guān)。同一個編譯器會因為計算機(jī)體系結(jié)構(gòu)不同而分為不同的版本。如 arm64,armhf,x86, x86_64,PowerPC 等等。

在本教程中,我們主要會使用到 gcc 編譯器。同時我們會在 arm64,armhf,x84_64 等硬件平臺上編譯我們的程序。從中可以看出 C 語言的移植性還是很好的。同樣的程序,我們可以在不同的編譯器以及硬件平臺上編譯執(zhí)行。

Tips:請大家注意,我們的學(xué)習(xí)要求操作系統(tǒng)為 Windows 10,Linux, Unix, 或者 MacOS。對于微軟已經(jīng)停止維護(hù)的 Windows 7 以及更早的系統(tǒng)。我們沒有辦法使用新的特性來編譯和運行相關(guān)的程序。

2. 使用 IDE 編譯 C 語言

在集成環(huán)境中,編譯 C 語言一般只需要在菜單中選擇 運行 或者 調(diào)試運行 即可。也可以通過相關(guān)的快捷鍵來直接編譯運行程序。要是只編譯不運行,那么里面會有 編譯 選項和與之對應(yīng)的快捷鍵。這時程序只是編譯,并不會運行。

對于初學(xué)者來說建議大家不使用 IDE, 而是直接使用文本編輯器來編輯程序。大家不要擔(dān)心,我不會推薦諸如 VIM,EMACS 這種上個世紀(jì)的產(chǎn)物,因為太小眾了。這里建議大家使用微軟的 Visual Studio Code, 簡稱 VSCode。這個文本編輯器,現(xiàn)代,多功能,多種操作系統(tǒng)下都可以使用,功能強(qiáng)大,可以根據(jù)自己的需要安裝插件擴(kuò)展功能。

3. Ubuntu 下安裝 GCC 編譯器

在類 Linux 中編譯 C 語言是一件簡單的事情。只要打開一個終端窗口安裝 gcc 編譯器即可。

對于基于 Ubuntu 系統(tǒng)的用戶,安裝編譯所需的軟件只需要執(zhí)行如下命令:

sudo apt install build-essential

Tips:對于 RPM 包管理的 Linux 發(fā)行版(如 CentOS,OpenSUSE 等),會有類似的軟件組,只不過名稱和安裝時所使用的命令不同。

在安裝結(jié)束后可以查看 gcc 的版本。

gcc --vresion

會有類似如下的信息輸出:

gcc (Ubuntu 7.4.0-1ubuntu1~18.04.1) 7.4.0
Copyright (C) 2017 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

這時候可以把之前一直使用的示例程序編譯一下。

實例演示
預(yù)覽 復(fù)制
復(fù)制成功!
# include <stdio.h>

int main()
{
    int x,y,z;
    printf("Welcome to Utopia's lessons!\n");
    return 0;
}
運行案例 點擊 "運行案例" 可查看在線運行效果

首先將上面的命令保存為文件名 test.c。

編譯 C 語言的命令如下:

gcc test.c -o test

這個命令的意思是將 test.c 文件名的程序源碼,編譯為名稱 test 二進(jìn)制程序。

4. 在 Windows 下編譯 C 語言

以前在 Windows 下直接編譯 C 語言是一件困難的事情。要么使用諸如 Visual Studio 之類的 IDE,要么安裝 Cygwin 這類的模擬環(huán)境。

但是在目前 Windows 10 中,現(xiàn)在有了更便捷的選擇。可以安裝 WSL 環(huán)境, 全稱為 Windows Subsystem for Linux。大家可以通過搜索上面的關(guān)鍵字來查找安裝方式。

在這里我將微軟的官方文檔鏈接放在這里,方便大家安裝。這里有詳細(xì)步驟,以及大家在安裝過程中會經(jīng)常遇到的安裝問題等。

在選擇安裝 Ubuntu 后,就可以按照上面在 Linux 環(huán)境下編譯 C 語言的方式來編譯了。

Tips:這時候大家可能很好奇文件路徑的問題。在 Windows 10 中的盤符,是掛載在 WSL 系統(tǒng)中 /mnt 目錄下的。比如你的用戶名叫 mooc,那么你的文檔目錄下存儲了源代碼,你要怎么進(jìn)入 文檔 這個目錄呢?

cd /mnt/c/Users/mooc/Documents/

3. 小結(jié)

C 語言的編譯總結(jié)起來其實就是,用編譯器將源代碼,也就是我們可以讀懂的程序,翻譯成機(jī)器可以讀懂的機(jī)器碼。

這個過程需要你做到幾點:

  1. 準(zhǔn)備編譯器;
  2. 準(zhǔn)備代碼編寫工具;
  3. 編寫代碼;
  4. 通過命令行,使用編譯器編譯。

當(dāng)然這是最簡單的使用,后面隨著課程的深入,我們還會通過工具來進(jìn)行編譯命令行的替代。