精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

C語言簡單編程速成

開發 后端
我們將所有的 C 語言要素放置到一份易讀的備忘錄上。C 語言是一種相當簡約和直接的語言。除了編程的基礎知識之外,并沒有很高級的概念,這很大程度上是因為 C 語言實際上就是現代編程語言的基礎之一。

C語言簡單編程速成

我們將所有的 C 語言要素放置到一份易讀的備忘錄上。

1972 年,丹尼斯·里奇Dennis Ritchie任職于貝爾實驗室Bell Labs,在幾年前,他和他的團隊成員發明了 Unix 。在創建了一個經久不衰的操作系統(至今仍在使用)之后,他需要一種好的方法來對這些 Unix 計算機編程,以便它們可用執行新的任務。在現在看來,這很奇怪,但在當時,編程語言相對較少,Fortran、Lisp、Algol 以及 B 語言都很流行,但是,對于貝爾實驗室的研究員們想要做的事情來說,它們還是遠遠不夠的。丹尼斯·里奇表現出一種后來被稱為程序員的主要特征的特質:創造了他自己的解決方案。他稱之為 C 語言,并且在近 50 年后,它仍在廣泛的使用。

為什么你應該學習 C 語言

今天,有很多語言為程序員提供了比 C 語言更多的特性。最明顯的是 C++ 語言,這是一種以相當露骨的方式命名的語言,它構建在 C 語言之上,創建了一種很好的面向對象語言。不過,許多其它語言的存在是有充分理由的。計算機擅長一致的重復,因此任何可預見的東西都可以構建在編程語言中,對程序員來說這意味著更少的工作量。為什么在 C++ 語言中用一行語句就可以將一個 int 轉換為一個 long 時(long x = long(n);),還要在 C 語言用兩行語句呢?

然而,C 語言在今天仍然有用。

首先,C 語言是一種相當簡約和直接的語言。除了編程的基礎知識之外,并沒有很高級的概念,這很大程度上是因為 C 語言實際上就是現代編程語言的基礎之一。例如,C 語言的特性之一是數組,但是它不提供字典(除非你自己寫一個)。當你學習 C 語言時,你會學習編程的基礎組成部分,它可以幫助你認識到如今的編程語言的改進及其的精心設計。

因為 C 語言是一種最小化的編程語言,你的應用程序很可能會獲得性能上的提升,這在其它許多編程語言中是看不到的。當你考慮你的代碼可以執行多快的時候,很容易陷入錙銖必較的境地,因此,重要的是要問清楚你是否需要為某一特定任務提供更多的速度。與 Python 或 Java 相比,使用 C 語言,你在每行代碼中需要糾結的地方更少。C 語言程序運行很快。這是 Linux 內核使用 C 語言編寫的一個很好的理由。

最后,C 語言很容易入門,特別是,如果你正在運行 Linux,就已經能運行 C 語言代碼了,因為 Linux 系統包含 GNU C 庫(glibc)。為了編寫和構建 C 語言程序,你需要做的全部工作就是安裝一個編譯器,打開一個文本編輯器,開始編碼。

開始學習 C 語言

如果你正在運行 Linux ,你可以使用你的軟件包管理器安裝一個 C 編譯器。在 Fedora 或 RHEL 上:

  1. $ sudo dnf install gcc

在 Debian 及其衍生系統上:

  1. $ sudo apt install build-essential

在 macOS 上,你可以 安裝 Homebrew ,并使用它來安裝 GCC

  1. $ brew install gcc

在 Windows 上, 你可以使用 MinGW 安裝一套最小的包含 GCC 的 GNU 實用程序集。

在 Linux 或 macOS 上驗證你已經安裝的 GCC:

  1. $ gcc --version
  2. gcc (GCC) x.y.z
  3. Copyright (C) 20XX Free Software Foundation, Inc.

在 Windows 上,提供 EXE 文件的完整路徑:

  1. PS> C:\MinGW\bin\gcc.exe --version
  2. gcc.exe (MinGW.org GCC Build-2) x.y.z
  3. Copyright (C) 20XX Free Software Foundation, Inc.

C 語法

C 語言不是一種腳本語言。它是一種編譯型語言,這意味著它由 C 編譯器處理來產生一個二進制可執行文件。這不同于腳本語言(如 Bash)或混合型語言(如 Python)。

在 C 語言中,你可以創建函數來執行你希望做到的任務。默認情況下,執行的是一個名為 main 的函數。

這里是一個使用 C 語言寫的簡單的 “hello world” 程序:

  1. #include <stdio.h>
  2.  
  3. int main() {
  4. printf("Hello world");
  5. return 0;
  6. }

第一行包含一個被稱為 stdio.h(標準輸入和輸出)的 頭文件,它基本上是自由使用的、非常初級的 C 語言代碼,你可以在你自己的程序中重復使用它。然后創建了一個由一條基本的輸出語句構成的名為 main 的函數。保存這些文本到一個被稱為 hello.c 的文件中,然后使用 GCC 編譯它:

  1. $ gcc hello.c --output hello

嘗試運行你的 C 語言程序:

  1. $ ./hello
  2. Hello world$

返回值

這是 Unix 哲學的一部分,一個函數在執行后“返回”一些東西:在成功時不返回任何東西,在失敗時返回其它的一些東西(例如,一個錯誤信息)。這些返回的內容通常使用數字(確切地說是整數)表示:0 表示沒有錯誤,任何大于 0 的數字都表示一些不成功的狀態。

Unix 和 Linux 被設計成在運行成功時保持沉默是很明智的。這是為了讓你在執行一系列命令時,假設沒有任何錯誤或警告會妨礙你的工作,從而可以始終為成功執行做準備。類似地,在 C 語言中的函數在設計上也預期不出現錯誤。

你可以通過一個小的修改,讓你的程序看起來是失敗的,就可以看到這一點:

  1. include <stdio.h>
  2.  
  3. int main() {
  4. printf("Hello world");
  5. return 1;
  6. }

編譯它:

  1. $ gcc hello.c --output failer

現在使用一個內置的 Linux 測試方式來運行它。僅在成功時,&& 操作符才會執行一個命令的第二部分。例如:

  1. $ echo "success" && echo "it worked"
  2. success
  3. it worked

失敗時,|| 測試會執行一個命令的第二部分。

  1. $ ls blah || echo "it did not work"
  2. ls: cannot access 'blah': No such file or directory
  3. it did not work

現在,嘗試你的程序,在成功時,它返回 0;而是返回 1

  1. $ ./failer && echo "it worked"
  2. String is: hello

這個程序成功地執行了,但是沒有觸發第二個命令。

變量和類型

在一些語言中,你可以創建變量而不具體指定變量所包含的數據的類型。這些語言如此設計使得解釋器需要對一個變量運行一些測試來視圖發現變量是什么樣的數據類型。例如,var=1 定義了一個整型數,當你創建一個表達式將 var 與某些東西相加時,Python 知道顯然它是一個整型數。它同樣知道當你連接 hello 和 world 時,單詞 world 是一個字符串。

C 語言不會為你做任何這些識別和調查;你必須自己定義你的變量類型。這里有幾種變量類型,包括整型(int),字符型(char),浮點型(float),布爾型(boolean)。

你可能也注意到這里沒有字符串類型。與 Python 和 Java 和 Lua 以及其它的編程語言不同,C 語言沒有字符串類型,而是將字符串看作一個字符數組。

這里是一些簡單的代碼,它建立了一個 char 數組變量,然后使用 printf 將數組變量和一段簡單的信息打印到你的屏幕上:

  1. #include <stdio.h>
  2.  
  3. int main() {
  4. char var[6] = "hello";
  5. printf("Your string is: %s\r\n",var);
  6. }

你可能會注意到,這個代碼示例向一個由五個字母組成的單詞提供了六個字符的空間。這是因為在字符串的結尾有處一個隱藏的終止符,它占用了數組中的一個字節。你可以通過編譯和執行代碼來運行它:

  1. $ gcc hello.c --output hello
  2. $ ./hello
  3. hello

函數

和其它的編程語言一樣,C 函數也接受可選的參數。你可以通過定義你希望函數接受的數據類型,來將參數從一個函數傳遞到另一個函數:

  1. #include <stdio.h>
  2.  
  3. int printmsg(char a[]) {
  4. printf("String is: %s\r\n",a);
  5. }
  6.  
  7. int main() {
  8. char a[6] = "hello";
  9. printmsg(a);
  10. return 0;
  11. }

簡單地將一個函數分解為兩個函數的這種方法并不是非常有用,但是它演示了默認運行 main 函數以及如何在函數之間傳遞數據。

條件語句

在真實的編程中,你通常希望你的代碼根據數據做出判斷。這是使用條件語句完成的,if 語句是其中最基礎的一個語句。

為了使這個示例程序更具動態性,你可以包含 string.h 頭文件,顧名思義,它包含用于檢查字符串的代碼。嘗試使用來自 string.h 文件中的 strlen 函數測試傳遞給 printmsg 函數的字符串是否大于 0

  1. #include <stdio.h>
  2. #include <string.h>
  3.  
  4. int printmsg(char a[]) {
  5. size_t len = strlen(a);
  6. if ( len > 0) {
  7. printf("String is: %s\r\n",a);
  8. }
  9. }
  10.  
  11. int main() {
  12. char a[6] = "hello";
  13. printmsg(a);
  14. return 1;
  15. }

正如在這個示例中所實現的,該條件永遠都不會是非真的,因為所提供的字符串總是 hello,它的長度總是大于 0。這個不夠認真的重新實現的 echo 命令的最后一點要做是接受來自用戶的輸入。

命令參數

stdio.h 文件包含的代碼在每次程序啟動時提供了兩個參數: 一個是命令中包含多少項的計數(argc),一個是包含每個項的數組(argv)。例如, 假設你發出這個虛構的命令:

  1. $ foo -i bar

argc 是 3argv 的內容是:

  • argv[0] = foo
  • argv[1] = -i
  • argv[2] = bar

你可以修改示例 C 語言程序來以字符串方式接受 argv[2],而不是默認的 hello 嗎?

命令式編程語言

C 語言是一種命令式編程語言。它不是面向對象的,也沒有類結構。使用 C 語言的經驗可以教你很多關于如何處理數據,以及如何更好地管理你的代碼運行時生成的數據。多使用 C 語言,你最后能夠編寫出其它語言(例如 Python 和 Lua)可以使用的庫。

想要了解更多關于 C 的知識,你需要使用它。在 /usr/include/ 中查找有用的 C 語言頭文件,并且看看你可以做什么小任務來使 C 語言對你有用。在學習的過程中,使用來自 FreeDOS 的 Jim Hall 編寫的 C 語言忘備錄。它在一張雙面紙忘備錄上放置了所有的基本要素,所以在你練習時,可以立即訪問 C 語言語法的所有要素。 

 

責任編輯:龐桂玉 來源: Linux中國
相關推薦

2019-02-11 08:32:22

編程語言Go

2021-05-27 08:47:16

C語言C語言程序開發

2010-03-19 09:39:17

Python編程語言

2023-05-24 09:31:51

CGo

2010-08-24 16:07:37

C語言

2015-08-12 10:10:44

2021-03-09 07:44:31

C語言編程小知識復合文字

2021-12-15 12:35:51

C語言編程內存

2010-01-11 09:40:02

C++語言

2020-10-30 07:11:31

C 語言編程

2009-08-14 15:54:12

C#編程語言

2011-07-14 22:25:36

2009-01-12 08:48:04

2015-08-21 10:38:16

編程語言GoC語言

2010-01-25 15:09:17

C++語言

2022-04-26 18:08:21

C語言代碼編程規范

2010-01-20 17:23:03

C++編程語言

2011-01-05 14:18:10

C語言

2011-08-18 09:21:17

Objective-C

2010-01-12 15:24:48

C++語言
點贊
收藏

51CTO技術棧公眾號

偷偷要91色婷婷| 成人搞黄视频| 国产精品伦一区| 亚洲一区二区三区成人在线视频精品 | 日韩av影视在线| 天堂av在线网站| av免费在线观| 久久久久久黄色| 91在线观看免费观看| 欧美xxxx×黑人性爽| 一区二区电影免费观看| 国产精品欧美精品| 国产一区免费在线| 国产精品一区二区人人爽| 亚洲区一区二| 日韩视频在线一区二区| 午夜精品久久久久久久无码| 日本视频在线播放| 91亚洲精品乱码久久久久久蜜桃| 国产精品亚洲综合天堂夜夜| 国产精品1000| 亚洲国产中文在线二区三区免| 国产精品素人一区二区| 国产精华一区| 国产又粗又猛视频免费| 夜夜嗨av一区二区三区网站四季av| 中文字幕日韩欧美在线 | 99久久免费国产| 成人做爰www免费看视频网站| 69视频免费在线观看| 北条麻妃在线一区二区免费播放| 欧美日韩加勒比精品一区| 欧美日韩一区综合| 空姐吹箫视频大全| 激情欧美日韩| 久久久成人av| 欧日韩不卡视频| 亚洲免费成人av在线| 精品va天堂亚洲国产| 中文字幕国产高清| 丰满少妇一区| 欧美日韩一区久久| 奇米影音第四色| 天天综合网站| 色94色欧美sute亚洲线路一久| 国产 日韩 欧美在线| 伊人在我在线看导航| 亚洲欧美一区二区三区极速播放 | 色综合久久中文综合久久97| 日韩黄色片在线| 亚洲羞羞网站| 一区二区国产视频| 91大学生片黄在线观看| 黄色动漫在线观看| 国产黄人亚洲片| 91青草视频久久| 国产手机av在线| 日韩午夜免费| 91国偷自产一区二区三区的观看方式| 国产一级在线观看视频| 精品成人国产| 欧亚精品中文字幕| www毛片com| 日韩电影在线看| 国产精品美女久久| 一区二区三区免费观看视频| 久久激情五月激情| 成人黄色av网站| 99久久精品国产一区二区成人| 国产一区欧美日韩| 成人免费观看网站| 婷婷av一区二区三区| ww久久中文字幕| 成人www视频在线观看| 亚洲一级av毛片| av成人毛片| 国产成人a亚洲精品| 伊人久久中文字幕| 国产一区视频导航| 国产一级精品aaaaa看| 精品亚洲综合| 亚洲欧美日韩综合aⅴ视频| 国产精品视频一二三四区| 99久久精品免费看国产小宝寻花| 天天亚洲美女在线视频| 狠狠热免费视频| 久久一级大片| 日韩国产欧美区| 99热这里只有精品4| 欧美午夜一区| 奇米影视亚洲狠狠色| 在线观看国产精品视频| 国产成人亚洲精品青草天美| 鲁丝片一区二区三区| 在线观看黄色av| 亚洲一卡二卡三卡四卡无卡久久| 亚洲高清不卡一区| 91精品久久久久久粉嫩| 激情懂色av一区av二区av| 日韩av片网站| 久久黄色影视| 久久精品中文字幕免费mv| 日韩欧美中文字幕一区二区| 日本免费新一区视频 | 欧美日韩精品免费观看视完整| 欧美日韩一区二区电影| 国产精品成人99一区无码 | 成人性做爰片免费视频| 亚洲最大成人| 精品日韩一区二区| 欧美成人短视频| 夜夜爽av福利精品导航| 91久久在线播放| 国产小视频免费在线网址| 一区二区三区在线观看网站| 国产超碰在线播放| 欧美日韩一区二区三区在线电影| 久久精品国产99国产精品澳门| 看片网址国产福利av中文字幕| 国产在线精品一区在线观看麻豆| 日韩福利影院| 青青青免费在线视频| 亚洲一区二区三区视频在线播放 | 国产亚洲人成a在线v网站| 亚洲激情 国产| 日本一级二级视频| 日本成人中文字幕在线视频| 精品国产电影| 暧暧视频在线免费观看| 亚洲黄网站在线观看| 日韩一级片免费视频| 国产精品亚洲一区二区在线观看| 国产亚洲精品美女久久久久| 国产大屁股喷水视频在线观看| 亚洲精选在线| 国产91精品入口17c| 中文字幕有码在线视频| 欧美精品久久99| 天堂а√在线中文在线鲁大师| 日韩电影免费一区| 日本不卡一区二区三区在线观看| 成人精品一区二区三区免费| 欧美日韩中文字幕在线视频| 啊啊啊国产视频| 伊人久久大香线蕉av不卡| 91av视频在线观看| 天天干天天操av| 欧美日韩国内自拍| 人人妻人人澡人人爽人人精品| 精品国产成人| 国产成人一区二区| 九色网友自拍视频手机在线| 欧美性xxxxxxxxx| 三叶草欧洲码在线| 亚洲欧美日韩视频二区| 免费在线观看一区二区| 国产精品迅雷| 中文字幕九色91在线| 免费在线不卡av| 国产精品每日更新| 九一精品久久久| 一本到12不卡视频在线dvd| 亚洲一区免费网站| 九色91在线| 日韩精品极品在线观看播放免费视频| 久草视频在线观| 国产免费观看久久| 亚洲自拍第三页| 亚洲制服一区| 国产精品久久久久久久天堂| 麻豆传媒视频在线观看免费| 欧美日韩国产综合新一区| 中文字幕一二三四区| 日韩精品一二三区| 四虎免费在线观看视频| 黄色亚洲网站| 亚洲人永久免费| 91麻豆成人精品国产| 一区二区三区四区av| bl动漫在线观看| 免费欧美在线视频| 成年人视频网站免费| 亚洲人成网www| 成人免费网站在线看| 国产乱码在线| 亚洲天堂男人天堂| 国产乱色精品成人免费视频 | 综合久久中文字幕| 亚洲精品福利视频网站| 好男人香蕉影院| 免费一区二区视频| 五十路熟女丰满大屁股| 欧美日韩国产一区二区三区不卡| 99porn视频在线| 久久精品女人天堂av免费观看| 蜜臀久久99精品久久久无需会员 | 久久久亚洲精品视频| 国产区在线视频| 欧美成人综合网站| 黑人と日本人の交わりビデオ| 精品一二线国产| 色综合视频二区偷拍在线| 国产亚洲字幕| 日本aⅴ大伊香蕉精品视频| 老司机免费在线视频| 日韩精品视频在线观看网址| 国产婷婷在线视频| 欧洲一区在线观看| 国产在线视频在线观看| 国产精品国产自产拍在线| 色综合久久五月| 国产福利一区二区| 欧美成人福利在线观看| 亚洲在线观看| 成人在线观看你懂的| 婷婷久久一区| 日韩偷拍一区二区| 人人香蕉久久| 97免费资源站| 蜜臀av在线播放| 最新中文字幕亚洲| 免费资源在线观看| 亚洲国产精品中文| 亚洲国产精品久久久久久久| 欧美日韩一区二区三区高清 | 欧美xxxx黑人又粗又长密月| 成人h动漫免费观看网站| 亚洲影院污污.| 99精品视频在线免费播放| 国产精品观看在线亚洲人成网 | 久久精品国产免费观看| 久久精品a一级国产免视看成人 | 伊人免费在线| 国产一区二区精品丝袜| 欧美孕妇孕交| 欧美亚洲动漫另类| 一级黄色在线视频| 国产精品久久久久桃色tv| 免费毛片视频网站| 91丨九色porny丨蝌蚪| 亚洲欧美日韩色| 久久久久久亚洲精品杨幂换脸| 欧美黑人在线观看| 欧美a级片网站| 中文字幕一区二区三区四区五区六区 | 亚洲在线电影| 亚洲乱码中文字幕久久孕妇黑人| 亚洲经典视频在线观看| 97超碰国产精品| 在线免费高清一区二区三区| 欧美久久在线观看| 在线亚洲精品| 欧美视频第一区| 视频一区二区不卡| 午夜久久久精品| 久久福利视频一区二区| 日韩精品在线视频免费观看| 欧美日韩国产成人精品| 国产精品入口芒果| av不卡在线| 日韩一级免费在线观看| 日韩av高清在线观看| 中文字幕 日韩 欧美| 国内精品久久久久影院色 | 中文字幕人妻一区二区在线视频| 亚洲日本在线天堂| 在线免费日韩av| 亚洲成av人片在线观看无码| 美国精品一区二区| 亚洲色图在线播放| 四虎成人精品永久免费av| 午夜精品久久久久久久99水蜜桃 | 国产欧美综合一区二区三区| 国产精品99久久免费黑人人妻| 日韩激情一二三区| 一级黄色高清视频| 成人app下载| 亚洲欧美日韩一二三区| 成人高清在线视频| 人妻av无码一区二区三区 | 久久精品国产亚洲av无码娇色 | 国产精品-色哟哟| 精品日韩欧美在线| 春暖花开成人亚洲区| 欧美成人精品xxx| xxxxxx欧美| 91在线直播亚洲| 亚洲免费福利一区| 日本一道在线观看| 男女精品网站| 免费观看黄网站| 国产亚洲福利社区一区| 午夜少妇久久久久久久久| 精品久久久久久久久久久久久| 亚洲午夜无码久久久久| 精品久久久网站| 日本高清中文字幕在线| 久久久久久久电影一区| 欧美成人三级| 久久av一区二区三区亚洲| 91综合久久| 日韩精品无码一区二区三区免费| 国产在线观看免费一区| 国产熟妇搡bbbb搡bbbb| 一个色综合av| 91超薄丝袜肉丝一区二区| 日韩av一卡二卡| 日本高清在线观看| 国产精品视频网站| 婷婷五月色综合香五月| 777久久精品一区二区三区无码| 久久天天综合| www.88av| 亚洲在线中文字幕| 又骚又黄的视频| 亚洲精品在线视频| 九色网友自拍视频手机在线| 欧美激情欧美激情| 日韩电影免费观看高清完整版在线观看| 国产精品久久久久不卡| 免费观看成人www动漫视频| 99久re热视频精品98| 日本成人超碰在线观看| 爱爱免费小视频| 狠狠爱在线视频一区| 色wwwwww| 欧美激情一级欧美精品| 91麻豆精品国产91久久久更新资源速度超快| 蜜桃久久精品乱码一区二区| 亚洲欧洲一级| 国产原创剧情av| 亚洲第一综合色| 亚洲av无码一区二区三区性色 | 蜜桃传媒一区二区| 99xxxx成人网| 在线观看国产免费视频| 亚洲国产精品影院| 免费看国产片在线观看| 欧美黑人极品猛少妇色xxxxx| 中文字幕你懂的| 亚洲精品二三区| 高清毛片在线观看| 成人欧美视频在线| 亚洲图片在线| 人妻 丝袜美腿 中文字幕| 一区二区三区蜜桃| 亚洲精品国产suv一区| 欧美激情在线观看| 在线精品自拍| 妞干网在线视频观看| 91影院在线观看| 手机在线看片1024| 永久免费看mv网站入口亚洲| www成人在线视频| 亚洲精品8mav| 国内久久精品视频| 精品在线视频观看| 亚洲国模精品私拍| 成人欧美magnet| 亚洲电影免费| 国产精品一区二区久久不卡 | 亚洲一区二区三区在线免费观看 | 国产无套内射久久久国产| 久久久www免费人成精品| 人妻中文字幕一区二区三区| 丝袜亚洲另类欧美重口| 精品网站999| 成人午夜视频在线观看免费| www久久精品| 91丨porny丨在线中文 | 久久av免费观看| 成人好色电影| 爱福利视频一区| 亚洲视频一起| 农村妇女精品一二区| 亚洲欧洲在线观看av| 亚洲av永久无码国产精品久久| 欧美黑人一区二区三区| 外国成人在线视频| 国内国产精品天干天干| 亚洲国产乱码最新视频| 国产视频第一区| 91日本在线视频| 国产视频一区三区| 成人精品一二三区| 亚洲二区中文字幕| 国产在线|日韩| cao在线观看| 中文字幕国产一区| 国产自产一区二区| 国产精品久久久久久久久免费看| 中文字幕免费一区二区| 少妇精品一区二区三区| 欧美精品久久99久久在免费线| 午夜久久中文| 免费看日本黄色| 中文字幕欧美日本乱码一线二线| 亚洲黄色小说网| 91精品久久久久久久久久久久久久| 欧美经典一区|