成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

嵌入式LinuxC語言:0.前言-創(chuàng)新互聯(lián)

嵌入式Linux C語言:0 前言
    • 1 環(huán)境配置
    • 2 介紹
      • 2.1 編寫代碼
      • 2.2 編譯代碼(complie)
      • 2.3 運行代碼
      • 2.4 格式化輸入/輸出
    • 問題

成都創(chuàng)新互聯(lián)公司成立于2013年,先為葉城等服務(wù)建站,葉城等地企業(yè),進行企業(yè)商務(wù)咨詢服務(wù)。為葉城企業(yè)網(wǎng)站制作PC+手機+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問題。

本篇開始更新嵌入式C語言的全部內(nèi)容,一共11節(jié),系統(tǒng)學(xué)習(xí)C語言的相關(guān)內(nèi)容和一些簡單的內(nèi)容拓展,包括一些題目及一些相關(guān)算法知識。

1 環(huán)境配置

代碼調(diào)試環(huán)境

  1. 虛擬機:VMware-16.2.1
  2. Linux版本:Unbuntu 18.04.4
  3. 文本編輯器:Source Insight 4.0
  4. C語言編輯器:gcc 7.4.0

上述是本系列文章用來調(diào)試C語言代碼的環(huán)境,有些東西可能在不同版本的Linux或windows有不同的答案,相關(guān)學(xué)習(xí)的內(nèi)容均是在Linux 64位下調(diào)試運行。

2 介紹

程序編寫的過程

2.1 編寫代碼

編寫軟件(列舉一些win和Linux下編寫C語言的軟件)

windows簡介
VC++VC++全稱Visual C++,是由微軟提供的C++開發(fā)工具,VC++不僅是一個編譯器,還是一個集成開發(fā)環(huán)境,包括編譯器、調(diào)試器和編譯器等,一般包含在Visual Studio中。Visual Studio包含了VB、VC++、C#等編譯環(huán)境。
Code::BlocksCode::Blocks是一個開發(fā)源碼的全功能跨平臺C/C++集成開發(fā)環(huán)境。Code::Blocks是開放源碼軟件,由純粹的C++語言,基于圖形界面庫wxWidgets開發(fā)。
NotePad++NotePad++是Windows操作系統(tǒng)下的一套文本編輯器,有完整的中文化接口及支持多國語言編寫的功能,是一個免費的開源文本和源代碼編輯器。
文本編輯器常用的文本編輯器有: vscode、NotePad++和VIM等。
記事本windows自帶
Linux簡介
vi/vimVim是從vi發(fā)展出來的一個文本編輯器。(Linux最強大的命令行編輯器)

代碼規(guī)范

  1. 代碼縮進: 向后縮進TAB,向前縮進shift+TAB。
  2. 花括號:{}成對打,防止遺漏;左右邊花括號各占一行且對齊,注意代碼縮進。
2.2 編譯代碼(complie)

編譯
對編譯有兩種解釋

  1. 利用編譯程序從源語言編寫的源程序產(chǎn)生目標(biāo)程序的過程。
  2. 用編譯程序產(chǎn)生目標(biāo)程序的過程。

編譯器(compiler): 用來編譯的軟件。

linux簡介
gccGCC(GNU Compiler Collection, GNU編譯器套件)是由GNU開發(fā)的變成語言編譯器。
arm-linux-gccarm-linux-gcc是基于ARM目標(biāo)機的交叉編譯軟件

編譯命令
gcc xxx.c -o xxx: 將xxx.c源文件編譯生成xxx可執(zhí)行文件。
后面的-o xxx是編譯后生成的可執(zhí)行文件的名字,可省略。

gcc main.c //默認(rèn)生成a.out文件
2.3 運行代碼

./xxx: xxx使用編譯命令后生成的xxx可執(zhí)行文件
使用gcc main.c編譯后的運行命令為./a.out

2.4 格式化輸入/輸出

格式化輸出 printf
格式化輸出 : 按照指定的格式來進行輸出
printf用來格式化輸出
使用命令man printfman -f printf先查找后使用man 3 printf查看printf函數(shù)的相關(guān)內(nèi)容。

man命令: 可以通過一些參數(shù),快速查詢Linux幫助手冊,并格式化顯示。

printf相關(guān)內(nèi)容

#includeint printf(const char * format, ... );

printf函數(shù)可帶多個參數(shù),可分為兩類:

  1. 第一個參數(shù)
    格式化輸出字符串
    格式化輸出字符串有兩類字符
    a、轉(zhuǎn)義字符: 以%開頭的字符
轉(zhuǎn)義字符解釋
%d按照十進制的有符號數(shù)輸出(int/signed int)
%u按照十進制的無符號數(shù)輸出(unsigned int)
%c輸出字符|
%s輸出字符串 (輸出一串字符,遇到'/0'停止
%f以浮點類型輸出
%x以無符號十六進制整數(shù)輸出(字母小寫)
%X以無符號十六進制整數(shù)輸出(字母大寫)
%o以無符號八進制整數(shù)輸出
%e浮點數(shù),按照指數(shù)e的形式輸出
%E浮點數(shù),按照指數(shù)E的形式輸出
%g以%f和%e較短的形式輸出
%G以%F和%E較短的形式輸出
%l以長整形形式輸出,加載的d、o、u、x、X前|

signed : 有符號(可省略)
unsigned : 無符號

  1. 其他參數(shù) “…”
    要輸出的變量或者對象列表
    要輸出的變量或者對象的個數(shù)必須要與前面字符串中轉(zhuǎn)義字符個數(shù)一致
#includeint main()
{int a = 1024;
	char c = 'a';
	printf("a==%d, c==%c\n", a, c);
	return 0;
}

輸出結(jié)果a==1025, c==a

格式化輸入 scanf
格式化輸入 : 按照指定格式進行輸入
使用命令man -f scanfman scanf查看scanf相關(guān)內(nèi)容
scanf相關(guān)內(nèi)容

#includeint scanf(const char *format, ...);

scanf函數(shù)可帶多個參數(shù),可分兩類:

  1. 第一個參數(shù)
    格式化輸入字符串:
    在格式化輸入字符串中有三類字符:
    a、空白符(space(空格), TAB …),可輸入任意空白符(包含0個),scanf把(換行符)當(dāng)作輸出結(jié)束。
    b、非轉(zhuǎn)移字符,需要按照原樣輸入
    c、轉(zhuǎn)義字符(以%開頭的字符)
  2. 其他參數(shù)“…” : 地址列表
    格式化字符串中一個轉(zhuǎn)義字符回對應(yīng)一個地址,把一個轉(zhuǎn)義字符的輸入存儲到指定地址中
    &變量(對象) : 取變量(對象)地址(指針)
問題
  1. scanf獲取輸入時,如何表示結(jié)束?/scanf從stdin的讀緩沖區(qū)取獲取輸入什么時候才會結(jié)束?
    1.輸入完成
    如:
    scanf(“abcd%d %c1234”, %a, &c);
    輸入: abcd123a1234 (該輸入的內(nèi)容全部輸入,scnaf遇到’\n’就會結(jié)束)
    2.匹配失敗 (matching failing)
    如:
    scanf(“abcd%d %c1234”, %a, &c);
    輸入: ABCD (scnaf停止匹配 出錯)

  2. Linux 運行C語言中的一些小問題:

  3. \r、\r的區(qū)別:
    答:\r: 回車: 換行
    Unix系統(tǒng)中,每行結(jié)尾只有換行即
    Linux系統(tǒng)中,回車即\r是將光標(biāo)移動到行首,換行即是將光標(biāo)移到到下一行
    Windows系統(tǒng)中,每行結(jié)尾就是回車換行即\r
    Mac系統(tǒng)中,每行結(jié)尾是回車即\r
    Unix/Mac系統(tǒng)下的文件在Windows里打開的話,所有文字會變成一行;
    Windows里的文件在Unix/Mac下打開的話,在每行的結(jié)尾可能會多出一個^M符號。
    Linux中遇到換行符(“\n”)會進行回車+換行的操作,回車符反而只會作為控制字符^M顯示,不發(fā)生回車的操作。而windows中要回車符+換行符\r才會回車+換行,缺少一個控制符或者順序不對都不能正確的另起一行。
    回車換行(\n\r)和換行(\r)的區(qū)別

  4. printf(‘xxx’)出錯
    答: 因為()中是‘ ’導(dǎo)致,應(yīng)該為" "
    C語言中
    ' '單引號字符常量時使用,表示單個字符,當(dāng)在單引號出現(xiàn)兩個及以上字符或沒有字符時,編譯就會出錯
    " "雙引號在表示字符串常量時使用,可以表示0到多個字符組成的字符串
    printf函數(shù)的參數(shù)類型為const char *常量指針,表示字符字符串。

你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機房具備T級流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級服務(wù)器適合批量采購,新人活動首月15元起,快前往官網(wǎng)查看詳情吧

分享文章:嵌入式LinuxC語言:0.前言-創(chuàng)新互聯(lián)
分享URL:http://jinyejixie.com/article32/hehpc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供定制開發(fā)、網(wǎng)站改版、靜態(tài)網(wǎng)站、面包屑導(dǎo)航Google、微信公眾號

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設(shè)公司
云浮市| 黔西县| 亳州市| 孝感市| 清原| 新竹县| 吴桥县| 巴中市| 贵港市| 太湖县| 保山市| 长宁区| 南川市| 青州市| 图木舒克市| 余姚市| 乌审旗| 云南省| 溧水县| 延庆县| 太谷县| 台山市| 丹棱县| 皋兰县| 东乌| 高碑店市| 通许县| 安远县| 应城市| 五大连池市| 沙坪坝区| 金昌市| 库尔勒市| 霸州市| 墨玉县| 南雄市| 东港市| 剑川县| 崇仁县| 温宿县| 曲阳县|