日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學無先后,達者為師

網站首頁 編程語言 正文

C語言特殊符號的補充理解_C 語言

作者:喬喬家的龍龍 ? 更新時間: 2022-04-20 編程語言

續接符

反斜杠"",他有兩種最常見的功能,一就是續航功能,二就是我們提到反斜杠就會很敏感的轉義字符。

if("1==a&&2==b&&3==c)
{
printf("hello\n");
}

有以上的代碼我們可以等價于

if("1==a&&\
2==b&&\
3==c)
{
printf("hello\n");
}

這里反斜線就起到了一個連接上下兩行的代碼,在咱看來是獨立的三行但在編譯器眼里這仨貨就是在同一排。設想一下當我的條件足夠多時為了提高代碼可讀性,我們最好不擠在一排看著又臭又長,分占會顯得更加清新,所在大的工程文件里面我們經常會使用續航符號來操作我們代碼的美觀。

注意:續航符在使用時要注意空格,續航符之前的空格是不存在影響的,但如果放在后面就不能編譯。

旋轉光標

由我們系統方面的知識和C語言關鍵字基礎,我們就能搞出來一個我們常見的旋轉光標:

int main()
{
int a = 0;
const char *spot = "|/-\\";
while(1)
{
printf("[%c]\n",spot[a]);
a++;
Sleep(300);
}
}

效果如下:

在這里插入圖片描述

單雙引號潛規則

char a= 'abc';
printf("%c\n",a);

我們來看看這個代碼的結果:

在這里插入圖片描述

一個問題,我們腦海里學習的知識告訴我們char類型是一個字符,但上面代碼不僅不報錯還能完完全全打印出來,我把內容換成 ‘abcd’ 依然能打印出一個 d ,再加一個 e 時就會開始報錯了,我們就針對這個打印 ‘abc’ 的現象來看看

我們直接對比一下他的字符長度:

在這里插入圖片描述

擦嘞,為啥 ‘1’ 會是4個字節大小?其實在C99中,這里的 a 叫做整型字符常量,本質上是被編譯器看作int類型,所以其實就是在發生著一個截斷現象,我們對 char 類型的認知并沒有毛病,只是這里一直是在將4個字節的數據保存進一個 char 類型里面。

當然,這種認知也只是存在與C語言里,在C艸中仍然是被解釋成一個字節,這也能解釋為什么咱四個字節以內都能跑。

短路

很簡單,說的就是一個邏輯與 (&&),含義就是一個條件不通過就不需要再看后續的條件的情況就是短路。

ASCII碼剛需

為什么咱計算機要搞這么多花里胡哨的符號呢?內存里存的都是二進制數據,即0和1的一串序列,這時所謂的計算機語言,但作為一個person來講,咱最擅長的不是看0和1,是我們能直觀理解的語句。

我們的計算器程序,在計算結果后如果返回的不是十進制數而是一個二進制序列是對我們極為不友好的,特別是不熟悉二進制的普通用戶。所以程序會存在一個映射,這個映射機制就是給一個二進制序列安排一個人為設計的符號或圖形,比如我屏幕上一個“1234”,在我們眼中它是一個整型1234,但在計算機眼里它就是四個字符。

所以為什么我們手機啥的能更換語言系統,英文,簡體中文,繁體中文……,其本質原理就是改了一張映射表。

原文鏈接:https://blog.csdn.net/qq_61500888/article/details/122144106

欄目分類
最近更新