中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當前位置: 首頁 > news >正文

西安誰家做網(wǎng)站seo營銷培訓(xùn)

西安誰家做網(wǎng)站,seo營銷培訓(xùn),梁山做網(wǎng)站的公司,網(wǎng)站建設(shè)技術(shù)開發(fā)第一個C語言程序 我們有兩種方式從計算機獲得信息:一是看屏幕上的文字、圖片、視頻等,二是聽從喇叭發(fā)出來的聲音。讓喇叭發(fā)出聲音目前還比較麻煩,我們先來看看如何在屏幕上顯示一些文字吧。 在屏幕上顯示文字非常簡單,只需要一個…

第一個C語言程序

我們有兩種方式從計算機獲得信息:一是看屏幕上的文字、圖片、視頻等,二是聽從喇叭發(fā)出來的聲音。讓喇叭發(fā)出聲音目前還比較麻煩,我們先來看看如何在屏幕上顯示一些文字吧。

在屏幕上顯示文字非常簡單,只需要一個語句,例如,下面的代碼會讓屏幕顯示出“C語言中文網(wǎng)”:

puts("C語言中文網(wǎng)");

這里有一個生疏的詞匯puts,用來讓計算機在屏幕上顯示文字。

更加專業(yè)的稱呼:

  • "在屏幕上顯示文字"叫做輸出(Output);
  • 每個文字都是一個字符(Character);
  • 多個字符組合起來,就是一個字符序列,叫做字符串(String)。


puts 是 output string 的縮寫,意思是”輸出字符串“。

在C語言中,字符串需要用雙引號" "包圍起來,C語言中文網(wǎng)什么也不是,計算機不認識它,"C語言中文網(wǎng)"才是字符串。

puts 在輸出字符串的時候,需要將字符串放在( )內(nèi)。

在漢語和英語中,分別使用.表示一句話的結(jié)束,而在C語言中,使用;表示一個語句的結(jié)束。puts("C語言中文網(wǎng)")表達了完整的意思,是一個完整的語句,需要在最后加上;,表示當前語句結(jié)束了。

總結(jié)起來,上面的語句可以分為三個部分:

  • puts( )命令計算機輸出字符串;
  • "C語言中文網(wǎng)"是要輸出的內(nèi)容;
  • ;表示語句結(jié)束。

C語言程序的整體框架

puts 可以在顯示器上輸出內(nèi)容,但是僅有 puts 是不夠的,程序不能運行,還需要添加其他代碼,構(gòu)成一個完整的框架。完整的程序如下:

#include <stdio.h>
int main()
{puts("C語言中文網(wǎng)");return 0;
}

第 1~3 行、第 5~6 行是固定的,所有C語言源代碼都必須有這幾行。你暫時不需要理解它們是什么意思,反正有這個就是了,以后會慢慢講解。

但是請記住,今后我們寫的所有類似 puts 這樣的語句,都必須放在{ }之間才有效。

上面的代碼,看起來枯燥無趣,不好區(qū)分各個語句,我們不妨來給它們加上顏色和行號,如下所示:

?
  1. #include <stdio.h>
  2. int main()
  3. {
  4. ??? puts("C語言中文網(wǎng)");
  5. ??? return 0;
  6. }
顏色和行號是筆者自己加上去的,主要是為了讓大家閱讀方便,明顯地區(qū)分各個語句,C語言本身沒有對這些作要求,你可以隨意設(shè)置各個字符的顏色,也可以沒有顏色。

這就是我們的第一個C語言程序,它非常簡單,帶領(lǐng)我們進入了C語言的大門。

編程時請選擇正確的輸入法,嚴格區(qū)分中英文

10103552R-1.png


圖:搜狗輸入法半角和全角


我們知道,在編程時要使用英文半角輸入法。為了加強練習(xí),出個選擇題,請大家判斷下面哪一種描述是正確的:
A) 編程的時候不用在意中英文符號的區(qū)別。
B) 在源代碼的任何地方都不能出現(xiàn)中文漢字、字符等。
C) 感嘆號沒有中文和英文的區(qū)別。
D) 編程時,使用的英文引號,也有左引號和右引號的區(qū)別。
E) 中文和英文模式下的制表符(鍵盤tab鍵)輸入效果一致。

答案:E 選項正確。

什么是源文件?

在開發(fā)軟件的過程中,我們需要將編寫好的代碼(Code)保存到一個文件中,這樣代碼才不會丟失,才能夠被編譯器找到,才能最終變成可執(zhí)行文件。這種用來保存代碼的文件就叫做源文件(Source File)。

我們將在《 編譯和鏈接》一節(jié)中講解編譯器的概念。

每種編程語言的源文件都有特定的后綴,以方便被編譯器識別,被程序員理解。源文件后綴大都根據(jù)編程語言本身的名字來命名,例如:

  • C語言源文件的后綴是.c
  • C++語言(C Plus Plus)源文件的后綴是.cpp
  • Java?源文件的后綴是.java
  • Python?源文件的后綴是.py
  • JavaScript?源文件后置是.js。


源文件其實就是純文本文件,它的內(nèi)部并沒有特殊格式,能證明這一結(jié)論的典型例子是:在 Windows 下用記事本程序新建一個文本文檔,并命名為demo.txt,輸入一段C語言代碼并保存,然后將該文件強制重命名為demo.c(后綴從.txt變成了.c),發(fā)現(xiàn)編譯器依然能夠正確識別其中的C語言代碼,并順利生成可執(zhí)行文件。

源文件的后綴僅僅是為了表明該文件中保存的是某種語言的代碼(例如.c文件中保存的是C語言代碼),這樣程序員更加容易區(qū)分,編譯器也更加容易識別,它并不會導(dǎo)致該文件的內(nèi)部格式發(fā)生改變。

C++?是站在C語言的肩膀上發(fā)展起來的,是在C語言的基礎(chǔ)上進行的擴展,C++ 包含了C語言的全部內(nèi)容(請猛擊《C語言和C++到底有什么關(guān)系》一文了解更多),將C語言代碼放在.cpp文件中不會有錯,很多初學(xué)者都是這么做的,很多大學(xué)老師也是這么教的。但是,我還是強烈建議將C語言代碼放在.c文件中,這樣能夠更加嚴格地遵循C語言的語法,也能夠更加清晰地了解C語言和C++的區(qū)別。

C語言編譯和鏈接詳解(通俗易懂,深入本質(zhì))

件組合起來。

再次強調(diào),編譯是針對一個源文件的,有多少個源文件就需要編譯多少次,就會生成多少個目標文件。

總結(jié)

不管我們編寫的代碼有多么簡單,都必須經(jīng)過「編譯 --> 鏈接」的過程才能生成可執(zhí)行文件:

  • 編譯就是將我們編寫的源代碼“翻譯”成計算機可以識別的二進制格式,它們以目標文件的形式存在;
  • 鏈接就是一個“打包”的過程,它將所有的目標文件以及系統(tǒng)組件組合成一個可執(zhí)行文件。


如果不是特別強調(diào),一般情況下我們所說的“編譯器”實際上也包括了鏈接器,比如,你使用了哪種編譯器?去哪里下載C語言編譯器?我的編譯器為什么報錯了呢?

C語言編譯器(C語言編程軟件)完全攻略(包含所有平臺)

嵌入式系統(tǒng)

而在嵌入式系統(tǒng)方面,可用的C語言編譯器就非常豐富了,比如:

  • 用于 Keil 公司 51 系列單片機的 Keil C51 編譯器;
  • 當前大紅大紫的 Arduino 板搭載的開發(fā)套件,可用針對 AVR 微控制器的 AVR GCC 編譯器;
  • ARM 自己出的 ADS(ARM Development Suite)、RVDS(RealView Development Suite)和當前最新的 DS-5 Studio;
  • DSP 設(shè)計商 TI(Texas Instruments)的 CCS(Code Composer Studio);
  • DSP 設(shè)計商 ADI(Analog Devices,Inc.)的 Visual DSP++ 編譯器,等等。


通常,用于嵌入式系統(tǒng)開發(fā)的編譯工具鏈都沒有免費版本,而且一般需要通過國內(nèi)代理進行購買。所以,這對于個人開發(fā)者或者嵌入式系統(tǒng)愛好者而言是一道不低的門檻。

不過 Arduino 的開發(fā)套件是可免費下載使用的,并且用它做開發(fā)板連接調(diào)試也十分簡單。Arduino 所采用的C編譯器是基于 GCC 的。

還有像樹莓派(Raspberry Pi)這種迷你電腦可以直接使用 GCC 和 Clang 編譯器。此外,還有像 nVidia 公司推出的 Jetson TK 系列開發(fā)板也可直接使用 GCC 和 Clang 編譯器。樹莓派與 Jetson TK 都默認安裝了 Linux 操作系統(tǒng)。

在嵌入式領(lǐng)域,一般比較低端的單片機,比如 8 位的 MCU 所對應(yīng)的C編譯器可能只支持 C90 標準,有些甚至連 C90 標準的很多特性都不支持。因為它們一方面內(nèi)存小,ROM 的容量也小;另一方面,本身處理器機能就十分有限,有些甚至無法支持函數(shù)指針,因為處理器本身不包含通過寄存器做間接過程調(diào)用的指令。

而像 32 位處理器或 DSP,一般都至少能支持 C99 標準,它們本身的性能也十分強大。而像 ARM 出的 RVDS 編譯器甚至可用 GNU 語法擴展。

下圖展示了上述C語言編譯器的分類。

31fea49044534e6ab3c37232c29d6910.jpg

?什么是IDE(集成開發(fā)環(huán)境)?

實際開發(fā)中,除了編譯器是必須的工具,我們往往還需要很多其他輔助軟件,例如:

  • 編輯器:用來編寫代碼,并且給代碼著色,以方便閱讀;
  • 代碼提示器:輸入部分代碼,即可提示全部代碼,加速代碼的編寫過程;
  • 調(diào)試器:觀察程序的每一個運行步驟,發(fā)現(xiàn)程序的邏輯錯誤;
  • 項目管理工具:對程序涉及到的所有資源進行管理,包括源文件、圖片、視頻、第三方庫等;
  • 漂亮的界面:各種按鈕、面板、菜單、窗口等控件整齊排布,操作更方便。


這些工具通常被打包在一起,統(tǒng)一發(fā)布和安裝,例如 Visual Studio、Dev?C++、Xcode、Visual C++ 6.0、C-Free、Code::Blocks 等,它們統(tǒng)稱為集成開發(fā)環(huán)境(IDE,Integrated Development Environment)。

集成開發(fā)環(huán)境就是一系列開發(fā)工具的組合套裝。這就好比臺式機,一個臺式機的核心部件是主機,有了主機就能獨立工作了,但是我們在購買臺式機時,往往還要附帶上顯示器、鍵盤、鼠標、U盤、攝像頭等外圍設(shè)備,因為只有主機太不方便了,必須有外設(shè)才能玩的爽。

集成開發(fā)環(huán)境也是這個道理,只有編譯器不方便,所以還要增加其他的輔助工具。在實際開發(fā)中,我一般也是使用集成開發(fā)環(huán)境,而不是單獨地使用編譯器。

通俗的稱呼

有時候為了稱呼方便,或者初學(xué)者沒有嚴格區(qū)分概念,也會將C語言集成開發(fā)環(huán)境稱作“C語言編譯器”或者“C語言編程軟件”。這里大家不要認為是一種錯誤,就把它當做“鄉(xiāng)間俗語”吧。

什么是工程/項目?

一個真正的程序(也可以說軟件)往往包含多項功能,每一項功能都需要幾十行甚至幾千行、幾萬行的代碼來實現(xiàn),如果我們將這些代碼都放到一個源文件中,那將會讓人崩潰,不但源文件打開速度極慢,代碼的編寫和維護也將變得非常困難。

在實際開發(fā)中,程序員都是將這些代碼分門別類地放到多個源文件中。除了這些成千上萬行的代碼,一個程序往往還要包含圖片、視頻、音頻、控件、庫(也可以說框架)等其它資源,它們也都是一個一個地文件。

為了有效地管理這些種類繁雜、數(shù)目眾多的文件,我們有理由把它們都放到一個目錄(文件夾)下,并且這個目錄下只存放與當前程序有關(guān)的資源。實際上 IDE 也是這么做的,它會為每一個程序都創(chuàng)建一個專門的目錄,將用到的所有文件都集中到這個目錄下,并對它們進行便捷的管理,比如重命名、刪除文件、編輯文件等。

這個為當前程序配備的專用文件夾,在 IDE 中也有一個專門的稱呼,叫做“Project”,翻譯過來就是“工程”或者“項目”。在 Visual?C++?6.0 下,這叫做一個“工程”,而在 Visual Studio 下,這又叫做一個“項目”,它們只是單詞“Project”的不同翻譯而已,實際上是一個概念。

工程類型/項目類型

“程序”是一個比較寬泛的稱呼,它可以細分為很多種類,例如:

  • 有的程序不帶界面,完全是“黑屏”的,只能輸入一些字符或者命令,稱為控制臺程序(Console Application),例如 Windows 下的 cmd.exe,Linux 或 Mac OS 下的終端(Terminal)。
  • 有的程序帶界面,看起來很漂亮,能夠使用鼠標點擊,稱為GUI程序(Graphical User Interface Program),例如 QQ、迅雷、Chrome 等。
  • 有的程序不單獨出現(xiàn),而是作為其它程序的一個組成部分,普通用戶很難接觸到它們,例如靜態(tài)庫、動態(tài)庫等。


不同的程序?qū)?yīng)不同的工程類型(項目類型),使用 IDE 時必須選擇正確的工程類型才能創(chuàng)建出我們想要的程序。換句話說,IDE 包含了多種工程類型,不同的工程類型會創(chuàng)建出不同的程序。

不同的工程類型本質(zhì)上是對 IDE 中各個參數(shù)的不同設(shè)置;我們也可以創(chuàng)建一個空白的工程類型,然后自己去設(shè)置各種參數(shù)(不過一般不這樣做)。

控制臺程序?qū)?yīng)的工程類型為“Win32控制臺程序(Win32 Console Application)”,GUI 程序?qū)?yīng)的工程類型為“Win32程序(Win32 Application)”。

控制臺程序是 DOS 時代的產(chǎn)物了,它沒有復(fù)雜的功能,沒有漂亮的界面,只能看到一些文字,雖然枯燥無趣,也不實用,但是它非常簡單,不受界面的干擾,所以適合入門,我強烈建議初學(xué)者從控制臺程序?qū)W起。等大家對編程掌握的比較熟練了,能編寫上百行的代碼了,再慢慢過渡到 GUI 程序。

哪款C語言編譯器(IDE)適合初學(xué)者?

Code::Blocks 是一款開源、跨平臺、免費的 C/C++ IDE,它和 Dev C++ 非常類似,小巧靈活,易于安裝和卸載,不過它的界面要比 Dev C++ 復(fù)雜一些,不如 Dev C++ 來得清爽。

5)?Turbo C

Turbo C 是一款古老的、DOS 年代的C語言開發(fā)工具,程序員只能使用鍵盤來操作 Turbo C,不能使用鼠標,所以非常不方便。但是 Turbo C 集成了一套圖形庫,可以在控制臺程序中畫圖,看起來非常炫酷,所以至今仍然有人在使用。

6)?C-Free

C-Free 是一款國產(chǎn)的 Windows 下的C/C++ IDE,最新版本是 5.0,整個軟件才 14M,非常輕巧,安裝也簡單,界面也比 Dev C++ 漂亮。C-Free 的缺點也是調(diào)試功能弱??上У氖?#xff0c;C-Free 已經(jīng)多年不更新了,組件都老了,只能在 XP、Win7 下運行,在 Win8、Win10 下可能會存在兼容性問題。

下面我們給出了各種 IDE(含不同版本)的下載地址、安裝方法以及使用教程,并以紅色字體附帶了建議。

  • VS2022?[力薦]
    • ?S2022下載地址和安裝教程(圖解)
    • 使用VS2022編寫C語言程序
  • VS2019?[薦]
    • ?S2019下載地址和安裝教程(圖解)
    • 使用VS2019編寫C語言程序
  • VS2017
    • VS2017下載地址和安裝教程(圖解)
    • 使用VS2017編寫C語言程序
  • VS2015
    • VS2015下載地址和安裝教程(圖解)
    • 使用VS2015編寫C語言程序
  • Dev C++?[薦]
    • Dev C++下載地址和安裝教程(圖解)
    • 使用Dev C++編寫C語言程序
  • VC6.0?[不建議]
    • VC6.0(VC++6.0)下載地址和安裝教程(圖解)
    • 使用VC6.0(VC++6.0)編寫C語言程序
  • Code::Blocks
    • Code::Blocks下載地址和安裝教程(圖解)
    • Code::Blocks漢化教程(附帶漢化包)
    • 使用Code::Blocks編寫C語言程序
  • Turbo C?[不建議]
    • Turbo C 2.0下載地址和安裝教程(圖解)
    • 使用Turbo C 2.0編寫C語言程序
  • C-Free?[不建議]
    • C-Free 5.0下載地址和激活教程(圖解)
    • 使用C-Free編寫C語言程序

Linux 下如何選擇 IDE?

Linux 下可以不使用 IDE,只使用 GCC 編譯器和一個文本編輯器(例如 Gedit)即可,這樣對初學(xué)者理解C語言程序的生成過程非常有幫助,請參考:Linux GCC簡明教程(使用GCC編寫C語言程序)

當然,如果你希望使用 IDE,那么可以選擇 CodeLite、Code::Blocks、Anjuta、Eclipse、NetBeans 等。

Mac OS 下如何選擇 IDE?

Mac OS 下推薦使用 Apple 官方開發(fā)的 Xcode,在 APP Store 即可下載,具體請參見:Xcode簡明教程(使用Xcode編寫C語言程序)

另外,Visual Studio 也推出了 Mac 版本,已經(jīng)習(xí)慣了 Visual Studio 的用戶可以高興一把了。

C語言程序的錯誤和警告


?

1F9244595-6.png


圖7:C-Free 5.0 的錯誤提示


可以看出,C-Free 的錯誤提示信息比較少,不方便程序員糾錯。VC 和 VS 的錯誤信息類似,只是中英文的差別。

下圖分析了 VC 6.0 的錯誤信息:

1F924H52-7.png


圖8:錯誤信息說明


翻譯:源文件?E:\cDemo\hello.c 第5行發(fā)生了語法錯誤,錯誤代碼是?C2143,原因是?'return' 前面丟失了 ';'。

我敢保證,你寫的代碼肯定會發(fā)生錯誤,一定要有分析錯誤的能力,這是一個合格的程序員必備的技能。

分析第一個C語言程序

    前面我們給出了一段最簡單的C語言代碼,并演示了如何在不同的平臺下進行編譯,這節(jié)我們來分析一下這段代碼,讓讀者有個整體的認識。代碼如下:
?
  1. #include <stdio.h>
  2. int main()
  3. {
  4. puts("C語言中文網(wǎng)");
  5. return 0;
  6. }

函數(shù)的概念

關(guān)于庫的概念,我們已在《 不要這樣學(xué)習(xí)C語言,這是一個坑》中進行了詳細介紹。

除了庫函數(shù),我們還可以編寫自己的函數(shù),拓展程序的功能。自己編寫的函數(shù)稱為自定義函數(shù)。自定義函數(shù)和庫函數(shù)在編寫和使用方式上完全相同,只是由不同的機構(gòu)來編寫。

示例中第2~6行代碼就是我們自己編寫的一個函數(shù)。main 是函數(shù)的名字,( ) 表明這是函數(shù)定義,{ } 之間的代碼是函數(shù)要實現(xiàn)的功能。

函數(shù)可以接收待處理的數(shù)據(jù),同樣可以將處理結(jié)果告訴我們;使用return可以告知處理結(jié)果。示例中第5行代碼表明,main 函數(shù)的處理結(jié)果是整數(shù) 0。return 可以翻譯為“返回”,所以函數(shù)的處理結(jié)果被稱為返回值(Return Value)。

第2行代碼中,int 是 integer 的簡寫,意為“整數(shù)”。它告訴我們,函數(shù)的返回值是整數(shù)。

需要注意的是,示例中的自定義函數(shù)必須命名為 main。C語言規(guī)定,一個程序必須有且只有一個 main 函數(shù)。main 被稱為主函數(shù),是程序的入口函數(shù),程序運行時從 main 函數(shù)開始,直到 main 函數(shù)結(jié)束(遇到 return 或者執(zhí)行到函數(shù)末尾時,函數(shù)才結(jié)束)。

也就是說,沒有 main 函數(shù)程序?qū)⒉恢缽哪睦镩_始執(zhí)行,運行時會報錯。

綜上所述:第2~6行代碼定義了主函數(shù) main,它的返回值是整數(shù) 0,程序?qū)倪@里開始執(zhí)行。main 函數(shù)的返回值在程序運行結(jié)束時由系統(tǒng)接收。

關(guān)于自定義函數(shù)的更多內(nèi)容,我們將在《 C語言函數(shù)》一章中詳細講解,這里不再展開討論。

有的教材中將 main 函數(shù)寫作:

void main()
{// Some Code...
}

這在 VC6.0 下能夠通過編譯,但在 C-Free、GCC?中卻會報錯,因為這不是標準的 main 函數(shù)的寫法,大家不要被誤導(dǎo),最好按照示例中的格式來寫。

頭文件的概念

還有最后一個問題,示例中第1行的#include <stdio.h>是什么意思呢?

C語言開發(fā)者們編寫了很多常用函數(shù),并分門別類的放在了不同的文件,這些文件就稱為頭文件(header file)。每個頭文件中都包含了若干個功能類似的函數(shù),調(diào)用某個函數(shù)時,要引入對應(yīng)的頭文件,否則編譯器找不到函數(shù)。

實際上,頭文件往往只包含函數(shù)的說明,也就是告訴我們函數(shù)怎么用,而函數(shù)本身保存在其他文件中,在鏈接時才會找到。對于初學(xué)者,可以暫時理解為頭文件中包含了若干函數(shù)。

引入頭文件使用#include命令,并將文件名放在< >中,#include 和 < > 之間可以有空格,也可以沒有。

頭文件以.h為后綴,而C語言代碼文件以.c為后綴,它們都是文本文件,沒有本質(zhì)上的區(qū)別,#include 命令的作用也僅僅是將頭文件中的文本復(fù)制到當前文件,然后和當前文件一起編譯。你可以嘗試將頭文件中的內(nèi)容復(fù)制到當前文件,那樣也可以不引入頭文件。

.h中代碼的語法規(guī)則和.c中是一樣的,你也可以#include <xxx.c>,這是完全正確的。不過實際開發(fā)中沒有人會這樣做,這樣看起來非常不專業(yè),也不規(guī)范。

較早的C語言標準庫包含了15個頭文件,stdio.h 和 stdlib.h 是最常用的兩個:

  • stdio 是 standard input output 的縮寫,stdio.h 被稱為“標準輸入輸出文件”,包含的函數(shù)大都和輸入輸出有關(guān),puts() 就是其中之一。
  • stdlib 是 standard library 的縮寫,stdlib.h 被稱為“標準庫文件”,包含的函數(shù)比較雜亂,多是一些通用工具型函數(shù),system() 就是其中之一。

最后的總結(jié)

初學(xué)編程,有很多基本概念需要了解,本節(jié)就涉及到很多,建議大家把上面的內(nèi)容多讀幾遍,必將有所收獲。

本節(jié)開頭的示例是一個C語言程序的基本結(jié)構(gòu),我們不妨整理一下思路,從整體上再分析一遍:
1) 第1行引入頭文件 stdio.h,這是編程中最常用的一個頭文件。頭文件不是必須要引入的,我們用到了 puts 函數(shù),所以才引入 stdio.h。例如下面的代碼完全正確:

?
  1. int main()
  2. {
  3. return 0;
  4. }

我們沒有調(diào)用任何函數(shù),所以不必引入頭文件。

2) 第2行開始定義主函數(shù) main。main 是程序的入口函數(shù),一個C程序必須有 main 函數(shù),而且只能有一個。

3) 第4行調(diào)用 puts 函數(shù)向顯示器輸出字符串。

4) 第5行是 main 函數(shù)的返回值。程序運行正確一般返回 0。

C語言代碼中的空白符

空格、制表符、換行符等統(tǒng)稱為空白符(space character),它們只用來占位,并沒有實際的內(nèi)容,也顯示不出具體的字符。

制表符分為水平制表符和垂直制表符,它們的 ASCII 編碼值分別是 9 和 11。
  • 垂直制表符在現(xiàn)代計算機中基本不再使用了,也沒法在鍵盤上直接輸入,它已經(jīng)被換行符取代了。
  • 水平制表符相當于四個空格,對于大部分編輯器,按下 Tab 鍵默認就是輸入一個水平制表符;如果你進行了個性化設(shè)置,按下 Tab 鍵也可能會輸入四個或者兩個空格。

對于編譯器,有的空白符會被忽略,有的卻不能。請看下面幾種 puts 的寫法:

#include<stdio.h>
int main()
{puts("C語言");puts("中文網(wǎng)");puts("C語言中文網(wǎng)");puts("C語言中文網(wǎng)");puts   ("C語言中文網(wǎng)");puts    (    "C語言中文網(wǎng)"    )    ;return 0;
}

運行結(jié)果:
?

1G5211930-0.png



看到輸出結(jié)果,說明代碼沒有錯誤,以上幾種 puts 的用法是正確的。puts()之間、" "()之間可以有任意的空白符,它們會被編譯器忽略,編譯器不認為它們是代碼的一部分,它們的存在只是在編輯器中呈現(xiàn)一定的格式,讓程序員閱讀方便。

需要注意的是,由" "包圍起來的字符串中的空白符不會被忽略,它們會被原樣輸出到控制臺上;并且字符串中間不能換行,否則會產(chǎn)生編譯錯誤。請看下面的代碼:

#include<stdio.h>
int main()
{puts("C語  言 中文網(wǎng)");puts("C語言中文網(wǎng)");return 0;
}

第 5~6 行代碼是錯誤的,字符串必須在一行內(nèi)結(jié)束,不能換行。把這兩行代碼刪除,運行結(jié)果為:


?

1G5216159-1.png



程序員要善于利用空白符:縮進(制表符)和換行可以讓代碼結(jié)構(gòu)更加清晰,空格可以讓代碼看起來不那么擁擠。專業(yè)的程序員同樣追求專業(yè)的代碼格式,大家在以后的學(xué)習(xí)中可以慢慢體會

http://www.risenshineclean.com/news/53764.html

相關(guān)文章:

  • 云南住房和建設(shè)廳網(wǎng)站首頁小程序推廣的十種方式
  • 男女做爰真人視頻免費網(wǎng)站網(wǎng)絡(luò)seo優(yōu)化推廣
  • 公司網(wǎng)站制作天強科技windows優(yōu)化大師和360哪個好
  • 個人網(wǎng)站做什么好北京做網(wǎng)站公司哪家好
  • 徐州有哪些做網(wǎng)站百度推廣
  • 做spa會所網(wǎng)站深圳網(wǎng)絡(luò)推廣收費標準
  • .net做網(wǎng)站用什么的多雅虎搜索
  • 專業(yè)的網(wǎng)站建設(shè)設(shè)計價格怎么做一個免費的網(wǎng)站
  • 制作網(wǎng)站必做步驟域名注冊
  • 專業(yè)公司網(wǎng)站設(shè)計企業(yè)seo網(wǎng)絡(luò)推廣知識
  • 慈溪做無痛同濟&網(wǎng)站福州今日頭條新聞
  • 音響網(wǎng)站模板免費下載網(wǎng)絡(luò)推廣外包要多少錢
  • 網(wǎng)站制作的合同百度指數(shù)查詢排行榜
  • 網(wǎng)站簡單制作免費友情鏈接交換平臺
  • 常州建設(shè)網(wǎng)站公司網(wǎng)站產(chǎn)品推廣文章
  • 大公司做網(wǎng)站營銷策劃書
  • 黃驊市網(wǎng)站建設(shè)價格新聞發(fā)布
  • 長沙網(wǎng)站制作工作室知名公司關(guān)鍵詞有哪幾種
  • 微網(wǎng)站 制作平臺最佳bt磁力狗
  • 一個做BAT筆試題的網(wǎng)站關(guān)鍵詞名詞解釋
  • 網(wǎng)站后臺圖片上傳失敗福建百度seo排名點擊軟件
  • 撩人的網(wǎng)站怎么做看網(wǎng)站時的關(guān)鍵詞
  • WordPress更改網(wǎng)站地址抖音seo排名系統(tǒng)哪個好用
  • 如何給別人做網(wǎng)站成都私人網(wǎng)站制作
  • 巴中網(wǎng)站制作公司公司怎么做網(wǎng)站推廣
  • 輕博客網(wǎng)站開發(fā)去了外包簡歷就毀了嗎
  • 傳世手游新開服網(wǎng)站網(wǎng)站首頁不收錄
  • 做網(wǎng)站用什么后綴好網(wǎng)站模板
  • 淘寶網(wǎng)站建設(shè) 推廣 上海濟寧百度推廣開戶
  • thinkphp做雙語網(wǎng)站百度知道app官方下載