C 基本語法

我們已經看過 C 程序的基本結構,這將有助于我們理解 C 語言的其他基本的構建塊。

C 的令牌(Token)

C 程序由各種令牌組成,令牌可以是關鍵字、標識符、常量、字符串值,或者是一個符號。例如,下面的 C 語句包括五個令牌:

printf("Hello, World! \n");

這五個令牌分別是:

printf
(
"Hello, World! \n"
)
;

分號 ;

在 C 程序中,分號是語句結束符。也就是說,每個語句必須以分號結束。它表明一個邏輯實體的結束。

例如,下面是兩個不同的語句:

printf("Hello, World! \n");
return 0;

注釋

C 語言有兩種注釋方式:

// 單行注釋

以 // 開始的單行注釋,這種注釋可以單獨占一行。

/* 單行注釋 */
/* 多行注釋多行注釋多行注釋*/

/* */ 這種格式的注釋可以單行或多行。

您不能在注釋內嵌套注釋,注釋也不能出現在字符串或字符值中。

標識符

C 標識符是用來標識變量、函數,或任何其他用戶自定義項目的名稱。一個標識符以字母 A-Z 或 a-z 或下劃線 _ 開始,后跟零個或多個字母、下劃線和數字(0-9)。

C 標識符內不允許出現標點字符,比如 @、$ 和 %。C 是區分大小寫的編程語言。因此,在 C 中,Manpower 和 manpower 是兩個不同的標識符。下面列出幾個有效的標識符:

mohd       zara    abc   move_name  a_123
myname50   _temp   j     a23b9      retVal

關鍵字

下表列出了 C 中的保留字。這些保留字不能作為常量名、變量名或其他標識符名稱。

關鍵字說明
auto聲明自動變量
break跳出當前循環
case開關語句分支
char聲明字符型變量或函數返回值類型
const定義常量,如果一個變量被 const 修飾,那么它的值就不能再被改變
continue結束當前循環,開始下一輪循環
default開關語句中的"其它"分支
do循環語句的循環體
double聲明雙精度浮點型變量或函數返回值類型
else條件語句否定分支(與 if 連用)
enum聲明枚舉類型
extern聲明變量或函數是在其它文件或本文件的其他位置定義
float聲明浮點型變量或函數返回值類型
for一種循環語句
goto無條件跳轉語句
if條件語句
int聲明整型變量或函數
long聲明長整型變量或函數返回值類型
register聲明寄存器變量
return子程序返回語句(可以帶參數,也可不帶參數)
short聲明短整型變量或函數
signed聲明有符號類型變量或函數
sizeof計算數據類型或變量長度(即所占字節數)
static聲明靜態變量
struct聲明結構體類型
switch用于開關語句
typedef用以給數據類型取別名
unsigned聲明無符號類型變量或函數
union聲明共用體類型
void聲明函數無返回值或無參數,聲明無類型指針
volatile說明變量在程序執行中可被隱含地改變
while循環語句的循環條件

C99 新增關鍵字

_Bool_Complex_Imaginaryinlinerestrict

C11 新增關鍵字

_Alignas_Alignof_Atomic_Generic_Noreturn_Static_assert_Thread_local

C 中的空格

只包含空格的行,被稱為空白行,可能帶有注釋,C 編譯器會完全忽略它。

在 C 中,空格用于描述空白符、制表符、換行符和注釋。空格分隔語句的各個部分,讓編譯器能識別語句中的某個元素(比如 int)在哪里結束,下一個元素在哪里開始。因此,在下面的語句中:

int age;

在這里,int 和 age 之間必須至少有一個空格字符(通常是一個空白符),這樣編譯器才能夠區分它們。另一方面,在下面的語句中:

fruit = apples + oranges;   // 獲取水果的總數

fruit 和 =,或者 = 和 apples 之間的空格字符不是必需的,但是為了增強可讀性,您可以根據需要適當增加一些空格。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/714541.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/714541.shtml
英文地址,請注明出處:http://en.pswp.cn/news/714541.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

30天自制操作系統(第23天)

23.1 編寫malloc 參考第22天的內容,在繪制窗口前先分配了150*50個字節大小的內存,所以導致該文件經編譯后有7.6k左右,能否在其中使用指針呢?當需要開辟空間時,移動指針即可。在之前的章節中也有函數memman_alloc函數可…

php源碼 單色bmp圖片取模工具 按任意方式取模 生成字節數組 自由編輯點陣

http://2.wjsou.com/BMP/index.html 想試試chatGPT4生成,還是要手工改 php 寫一個網頁界面上可以選擇一張bmp圖片,界面上就顯示這張bmp圖片, 點生成取模按鈕,在圖片下方會顯示這張bmp圖片的取模數據。 取模規則是按界面設置的&a…

Linux 的交換空間(swap)是什么?有什么用?

目錄 swap是什么?swap有什么用?swap使用典型場景如何查看你的系統是否用到交換空間呢?查看系統中swap in/out的情況 swap是什么? swap就是磁盤上的一塊區域。它和Windows系統中的交換文件作用類似,但是它是一段連續的…

03、MongoDB -- MongoDB 權限的設計

目錄 MongoDB 權限的設計演示前準備:啟動 mongodb 服務器 和 客戶端 :1、啟動單機模式的 mongodb 服務器2、啟動 mongodb 的客戶端 MongoDB 權限的設計1、MongoDB 的每個數據庫都可以保存用戶,不止admin數據庫可以保存用戶。2、保存用戶的數據…

Linux 學習筆記(8)

八、 啟動引導 1 、 Linux 的啟動流程 1) BIOS 自檢 2) 啟動 GRUB/LILO 3) 運行 Linux kernel 并檢測硬件 4) 掛載根文件系統 5) 運行 Linux 系統的第一個進程 init( 其 PID 永遠為 1 ,是所有其它進程的父進程 ) 6) init 讀取系統引導配置文件…

GD25Q32驅動

GD25Q32是一款基于SPI的Flash芯片,容量為32/84M bytes。它的引腳如下: 該芯片支持多種SPI操作方式,包括:Standard SPI(標準SPI)、Dual SPI(雙線 SPI)和Quad SPI(四線 SPI) 。有關SPI的介紹可以參考: SPI通信原理-CSDN…

flutter 文字一行顯示,超出換行

因為app有多語言,中文和其他語言長度不一致,可能導致英文會很長。 中文樣式 英文樣式 代碼 Row(mainAxisAlignment: MainAxisAlignment.end,crossAxisAlignment: CrossAxisAlignment.end,children: [Visibility(visible: controller.info.fee ! null,ch…

探尋2024年國內熱門低代碼平臺排行!| 功能特點一覽

低代碼開發是一項革命性的技術,主要目的是盡量避免程序研發的復雜性,讓外行開發者也能加入到應用程序的搭建中。低代碼平臺的核心概念和構成部分通常包括用戶界面和拖拽設計、預構件和模塊、自動化工作內容與數據庫集成和擴展應用,應用低代碼…

web前端css基本內容

web前端css 當我們用html的語法給內容規劃布局樣式時,可能會出現許多個相似的內容需要運用同一種樣式,復制粘貼太麻煩而且如果后期要改動的話比如把許多個地方從紅色改成藍色,就需要一個一個改了,這時候就需要引入css來操作了 把…

java-使用jacob刪除指定文件夾的郵件

總結見文章最后,具體代碼如下: ActiveXComponent outlook = new ActiveXComponent("Outlook.Application");Dispatch myNamespace = Dispatch.call(outlook, "GetNamespace", "MAPI").toDispatch();//指定搜索特定的文件Dispatch allFolders =…

我耀學IT—day05-Bootstrap下拉菜單與導航

一、Bootstrap5 下拉菜單 下拉菜單是可切換的&#xff0c;是以列表格式顯示鏈接的上下文菜單。 例&#xff1a; <div class"dropdown"><button type"button" class"btn btn-primary dropdown-toggle" data-bs-toggle"dropdown&…

U盤彈出提示“該設備正在使用中”:原因與解決方案

在日常使用U盤時&#xff0c;我們可能會遇到一個問題&#xff1a;當嘗試安全彈出U盤時&#xff0c;系統提示“該設備正在使用中”。這種情況可能會讓用戶感到困惑&#xff0c;擔心數據是否安全或是否會導致U盤損壞。本文旨在探討這一現象背后的原因&#xff0c;并提供相應的解決…

【前端素材】推薦優質后臺管理系統網頁Stisla平臺模板(附源碼)

一、需求分析 1、系統定義 后臺管理系統是一種用于管理和控制網站、應用程序或系統的管理界面。它通常被設計用來讓網站或應用程序的管理員或運營人員管理內容、用戶、數據以及其他相關功能。后臺管理系統是一種用于管理網站、應用程序或系統的工具&#xff0c;通常由管理員使…

鉛冶煉作業VR虛擬現實互動培訓平臺降低實操風險

在鋼鐵工業中&#xff0c;焦爐作業是一個關鍵的環節&#xff0c;也是一項技術要求高、操作復雜的任務。傳統焦爐作業的培訓通常需要在實際的焦爐上進行&#xff0c;這不僅對學員的身體素質和心理素質提出了較高的要求&#xff0c;而且也存在一定的安全風險。基于VR虛擬現實制作…

React富文本編輯器開發(三)

現在我們的編輯器顯示的內容很單一&#xff0c;這自然不是我們的目標&#xff0c;讓呈現的內容多元化是我們的追求。這就需要讓編輯器能夠接收多元素的定義。從初始數據的定義我們可以推斷數據的格式遠不止一種&#xff0c;那么其它類型的數據如何定義及呈現的呢&#xff0c;我…

基于單片機的AGV機器人設計的設計要求

基于單片機的AGV機器人設計的設計要求 1. 引言 本設計要求旨在設計一種基于單片機的自動導航車&#xff08;AGV&#xff09;機器人。AGV機器人可以在工廠、倉庫等場景中進行自動導航、物料搬運等任務。本設計要求包括機器人的硬件設計要求和軟件設計要求兩個方面。 2. 硬件設…

(Aliyun AI ACP 02)阿里云人工智能產品體系

文章目錄 阿里云人工智能工程師ACP認證考試知識點輔助閱讀&#xff08;Aliyun AI ACP 02&#xff09;阿里云人工智能產品體系引言阿里云AI產品總體架構基礎設施層&#xff1a;平臺層&#xff1a;算法與模型層&#xff1a;應用層&#xff1a;組成部分詳述&#xff1a;PAI產品家族…

手把手教你免費用Flashduty做消息通知

為什么需要消息通知&#xff1f; 如果有重要的情況發生&#xff0c;希望能通過各種媒介通知我們。可以舉幾個例子&#xff1a; 家里燃氣費沒有了&#xff0c;希望能有短信或者app通知api頻繁500報錯&#xff0c;希望及時感知&#xff0c;及時修復公司網站是https自簽名證書&a…

白話大模型① :AI分析能做什么?在實際落地中會碰到什么問題?

白話大模型系列共六篇文章&#xff0c;將通俗易懂的解讀大模型相關的專業術語。本文為第一篇&#xff1a;AI分析能做什么&#xff1f;在實際落地中會碰到什么問題&#xff1f; 作者&#xff1a;星環科技 人工智能產品部 我們使用一個簡單的應用實例來解析人工智能分析都在做什…

若依框架使用mars3d的環境配置,地球構建

因項目需要&#xff0c;原本使用過的cesium依賴&#xff0c;現在想使用火星科技mars3d的一些功能&#xff0c;所以需要引入mars3d依賴&#xff0c;整個過程非常的坎坷&#xff0c;以至于我都不知道到底是哪些部分是標準的。。。先把我認為對的記錄一下&#xff1a; 1.vue.conf…