1. 程式人生 > >C語言學習筆記(一)—— 初識C語言並寫一個簡單的C語言程式

C語言學習筆記(一)—— 初識C語言並寫一個簡單的C語言程式

1、目的碼檔案、可執行檔案、庫

用C語言編寫程式時,編寫的內容被儲存在文字檔案中,該檔案被稱為原始碼檔案,檔案以.c結尾。

目標檔案和可執行檔案都是由機器語言指令組成的,但是目標檔案只包含編譯器為你編寫的程式碼翻譯的機器語言程式碼,可執行檔案還包含你編寫的程式中使用的庫函式和啟動程式碼的機器程式碼。

2、連結器的作用

將你編寫的目的碼、系統的標準啟動程式碼和庫程式碼這3部分合併成一個檔案,即可執行檔案。

3、在linux下寫一段簡單的C語言程式碼並編譯

① 檢視編譯器版本

cc -v

gcc -v

② 安裝gcc編譯環境

yum install gcc-c++ 

③ 編寫測試檔案

[[email protected]
~]# touch test.c [[email protected] ~]# vi test.c
#include <stdio.h>
int main(void){
  printf("Hello World");
  getchar();
  return 0;
}

#include是編譯預處理指令,就是編譯前將stdio.h檔案中的函式都新增到你寫的cpp檔案中,然後參與編譯,生成.obj檔案。

getchar()函式是讀取一次鍵的按下,讓程式執行時暫停。

④ 編譯

[[email protected] ~]# cc test.c

生成的a.out是已編譯程式生成的可執行檔案。

⑤ 執行可執行檔案

[[email protected] ~]# ./a.out

如果要儲存可執行檔案,應該將它重命令,否則,該檔案將被下一次編譯程式時生成的a.out檔案覆蓋掉。

相關推薦

C語言學習筆記—— 初識C語言一個簡單C語言程式

1、目的碼檔案、可執行檔案、庫用C語言編寫程式時,編寫的內容被儲存在文字檔案中,該檔案被稱為原始碼檔案,檔案以.c結尾。目標檔案和可執行檔案都是由機器語言指令組成的,但是目標檔案只包含編譯器為你編寫的程式碼翻譯的機器語言程式碼,可執行檔案還包含你編寫的程式中使用的庫函式和啟動

Spring學習筆記:眼見為實,先上一個簡單例子

概述 所謂眼見為實,Spring雖然是一個輕量級的框架,但涉及眾多的概念,理解起來並不容易,因此,先參考資料寫一個簡單的Demo,從中洞見Spring的大體工作流程,為後面深入學習做鋪墊。 本文的Demo很簡單:模擬圖書資料訪問服務,即向資料庫中新增圖書資訊,涉及IBoo

c 語言學習筆記基礎

lac alert https 內容 con 標記 prime c++ prime c基礎 近期工作上有對C語言算法上的需求,所以要學C,上學的時候沒學過,只學過半年的Java(我是專升本,本科學的材料),2015年工作後也學過C,那時候的需求是能看懂就可以,也就沒深入研究

FPGA學習筆記——初識FPGA

ble 數據 str 存儲 分享 視頻 邏輯 信號 ros ###### 【該隨筆屬於小梅哥FPGA系列視頻學習筆記,原創為小梅哥】 #########   FPGA(Field-Programmable Gate Array,現場可編程門陣列),典型的FPGA

RT-Thread學習筆記—— 初識RT-Thread,構建開發環境

clas 在線 figure 命令行 soft mon 沒有 手機 暑假 學習單片機一年多以來一直是裸機編程玩外設,只是聽說過操作系統的神奇,沒有時間學習,之前深入了解了單片機底層知識,了解了微機工作原理和51的匯編指令,為學習操作系統打下基礎,而且這個暑假剛剛參加完電賽

Go語言學習筆記 簡介、安裝

為什麼選擇Go 程式語言已經非常多,偏效能敏感的編譯型語言有 C、C++、Java、C#、Delphi和Objective-C等,偏快速業務開發的動態解析型語言有PHP、Python、Perl、Ruby、JavaScript和Lua等,面向特定領域的語言有Erlang、R和MATLAB等,

GO語言學習筆記

lee 浮點 lds 問題 chan str 布爾 創建 當前 GO語言學習筆記 1.數組切片slice:可動態增長的數組 2.錯誤處理流程關鍵字:defer panic recover 3.變量的初始化:以下效果一樣 `var a int = 10` `var a = 1

R語言——學習筆記

1.“>”符號後輸入指令。 2.1:100   指輸入1—100連續數值 3.sum()    函式,計算總和 4.sample()    函式,隨機取出     例1:>sample(1:6,1)    從1—6的整數中取出1個     例2:&g

QT學習筆記——初識及訊號槽使用

1、hello world #include "gofuther.h" #include <QApplication> #include <QPushButton>//button #include <QLabel> int main(int argc,

MongoDB學習筆記初識MongoDB

4.MongoDB資料型別 資料型別                         描述                                                              舉例 null                                表示空值或者

JDK8學習筆記初識lambda表示式

       這幾天又學習了一遍關於jdk8中lambda表示式,以前也看過一遍,由於沒怎麼用過,只是看別人程式碼時用過lambda,也沒有做筆記,時間一長就忘的差不多了。為了吸取教訓,這次看了後,做下筆記,供以後參考學習。     j

Redis學習筆記——初識Redis

歡迎訪問:zrxJuly’s Blog Redis介紹 Redis是一個開源、高階的鍵值儲存和一個適用的解決方案,用於構建高效能、可擴充套件的web應用程式,遵循BSD協議[1],是一個高效能的key-value資料庫。 Redis特點:

深入理解C指標學習筆記

第一章 認識指標 指標在C和C++中隨處可見,它給程式設計師帶來了極大的方便,指標為動態記憶體的分配提供了重要支援。使用指標我們可以方便的操控記憶體,提高程式的執行效率;同時利用指標變數我們可以實現各種資料結構,例如連結串列等;另一方面指標與陣列的表示法

C# Hadoop學習筆記—環境安裝

一、安裝環境 1,前期準備:官網下載“NuGet Package Manager”,按自己已有的VS環境下載對應版本; 3,安裝。 4,通過HDInsight,安裝Windows Azure,目前是預覽版本。 二、測試DEMO using System; using

python語言學習筆記------匯率兌換

根據輸入判斷是人民幣還是美元,進行相應的轉換計算,將匯率兌換功能封裝到函式中,使結構程式化,函式lambda def main(): """ 主函式 """ #

C# EmguCV學習筆記---影象加減法操作

影象加法: 使用Image.Add()方法,可以讓兩張圖片相加,或者讓當前影象加上一個色彩值,另外你也可以使用CvInvoke.Add()方法執行相同的操作。 Image.Add()方法內部就是呼叫CvInvoke.Add()方法實現的。 Image.Add()有3個實現,

C++詳細學習筆記

首先,本次學習主要參考的書籍是C++Primer Plus第六版,為了方便今後參閱,故寫下該學習筆記。C++是在C語言基礎上開發的一種集面向物件程式設計、泛型程式設計和過程化程式設計於一體的程式語言,是C語言的超集。一、預備知識      C++有三件法寶:1、繼承了C語言高

go語言學習筆記——GoPath

環境變數介紹 GOROOT:Golang的安裝路徑 GOPATH:可以理解為工作目錄或者工作區,也是平時接觸最多的一個變數。它可以是一個目錄,可以是多個目錄路徑,每個目錄代表一個工作區。這些目錄用於放置Go語言的原始碼檔案(src),以及安裝(命令go insta

SpringBoot2學習筆記初識Spring Boot

一.SpringBoot簡介 簡介: Spring Boot是由Pivotal團隊提供的全新框架,其設計目的是用來簡化新Spring應用的初始搭建以及開發過程。該框架使用了特定的方式來進行配置,從而使開發人員不再需要定義樣板化的配置。通過這種方式,Sprin

AutoCAD二次開發(.net教程)C#版——學習筆記

        最近開始學習AutoCAD(ObjectARX)的二次開發,首先遇到的一個最大問題就是——開發環境的設定問題,CAD的二次開發對開發工具的版本要求很嚴,開發包、CAD版本和開發工具都得對應(在網上看了很多貼了也有人不用對應)。當下C#比較流行的開發工具就是V