[導讀]“?本文為《CPrimer中文版(第五版)》1-16章閱讀要點總結(jié)。原書更為詳細,本文僅作學習交流使用?!钡谝徽麻_始—1.1編寫一個簡單的C程序intmain(){return0;}每個C程序都包含一個或多個函數(shù),其中一個必須命名為main.1.2初識輸入輸出對象用途cin標準輸...
“?本文為《C Primer 中文版(第五版)》1-16章閱讀要點總結(jié)。原書更為詳細,本文僅作學習交流使用。”第一章 開始—1.1 編寫一個簡單的C 程序
int main()
{
return 0;
}
每個C 程序都包含一個或多個函數(shù),其中一個必須命名為main.1.2 初識輸入輸出
對象 | 用途 |
---|
cin | 標準輸入 |
cout | 標準輸出 |
cerr | 標準錯誤 |
clog | 輸出運行時的一般性消息 |
1.3 注釋簡介
兩種:單行注釋://界定符:/* 和 */1.4 控制流
while;for;if;第二章 變量和基本類型—P30-P71數(shù)據(jù)類型是程序的基礎(chǔ)。C 語言支持廣泛的數(shù)據(jù)類型。基本內(nèi)置類型
算術(shù)類型
類型 | 最小尺寸 |
---|
bool | 未定義 |
char | 8位 |
w_char_t | 16位 |
char16_t | 16位 |
char32_t | 32位 |
short | 16位 |
int | 16位 |
long | 32位 |
long long | 64位 |
float | 6位有效數(shù)字 |
double | 10位有效數(shù)字 |
long double | 10位有效數(shù)字 |
類型轉(zhuǎn)換
不要混用符號類型和無符號類型。變量
變量定義
(1)基本形式:類型說明符,隨后緊跟著一個或者多個變量名組成的列表,其中變量名以逗號分隔,最后以分號結(jié)束。(2)初始值在C 中,初始化和賦值是2個完全不同的操作。初始化的含義是創(chuàng)建變量的時候賦予一個初始值,而賦值的含義是把對象的當前值擦除,用一個新值來替代。兩者區(qū)別很小。(3)列表初始化用花括號來初始化變量的方式,稱為列表初始化。(4)默認初始化如果定義變量沒有指定初始值,則變量被默認初始化。::: tip例外情況:定義在函數(shù)體內(nèi)部的內(nèi)置類型變量將不被初始化,其值未定義。建議初始化每個內(nèi)置類型的變量。:::變量聲明和定義的關(guān)系
變量聲明:規(guī)定了變量的類型和名字。變量定義:除聲明之外,還需要申請存儲空間。如果想聲明一個變量,而非定義它,需要使用extern關(guān)鍵詞。extern int i; // 聲明i而非定義i
int j; // 聲明并定義j
::: tip變量只能被定義一次,但可以被多次聲明。:::名字的作用域
作用域:C 中大多數(shù)作用域都用花括號分隔。作用域中一旦聲明了某個名字,它所嵌套的所有作用域都能訪問該名字。同時,允許在內(nèi)層作用域中重新定義外層作用域中有的名字。::: warning如果函數(shù)有可能用到某全局變量,則不宜再定義一個同名的局部變量。:::復合類型
定義:復合類型是基于其他類型定義的類型。
引用
引用:為對象起另外一個名字。::: warning引用必須被初始化。引用本身不是對象,所以不能定義引用的引用。引用要和綁定的對象嚴格匹配。引用類型的初始值,必須是一個對象。:::指針
指針:本身就是一個對象。允許對指針賦值和拷貝。指針無須在定義的時候賦值。(1)利用指針訪問對象如果指針指向了一個對象,則允許使用解引用符(*)來訪問該對象。(2)void* 指針理解復合類型的聲明
(1)指向指針的指針** 表示指向指針的指針*** 表示指向指針的指針的指針(2)指向指針的引用不能定義指向引用的指針。但指針是對象,所以存在對指針的引用。const限定符
定義:const用于定義一個變量,它的值不能被改變。const對象必須初始化。::: tip默認狀態(tài)下,const對象僅在文件內(nèi)有效。當多個文件出現(xiàn)了同名的const變量時,等同于在不同文件中分別定義了獨立的變量。如果想讓const變量在文件間共享,則使用extern修飾。:::(1)const的引用允許為一個常量引用綁定非常量的對象、字面值,甚至是個一般表達式。一般,引用的類型必須與其所引用對象的類型一致,特殊情況是表達式。(2)指針和const弄清楚類型,可以從右邊往左邊閱讀。(3)頂層consttop-level const 表示指針本身是個常量low-level const表示指針所指的對象是一個常量。(4)constexpr和常量表達式C 新標準規(guī)定,允許將變量聲明為constexpr類型以便由編譯器來驗證變量的值是否是一個常量表達式。處理類型
類型別名
兩種方法用于定義類型別名:(1)使用關(guān)鍵詞typedeftypedef double wages; //wages是double的同義詞
typedef wages *p; // p是double*的同義詞
(2)別名聲明using SI = Sales_item; // SI是Sales_item的同義詞
auto類型說明符:讓編譯器通過初始值來推算變量的類型。decltype類型指示符:選擇并返回操作符的數(shù)據(jù)類型。只得到類型,不實際計算表達式的值。自定義數(shù)據(jù)結(jié)構(gòu)
(1)類數(shù)據(jù)結(jié)構(gòu)是把一組相關(guān)的數(shù)據(jù)元素組織起來,然后使用它們的策略和方法。類一般不定義在函數(shù)體內(nèi),為了確保各個文件中類的定義一致,類通常被定義在頭文件中,而且類所在頭文件的名字應該與類的名字一樣。頭文件通常包含那些被定義一次的實體。(2)預處理器#ifndef SALES_DATA_H
#define SALES_DATA_H
#endif
一般把預處理變量的名字全部大寫。術(shù)語
空指針 :值為0的指針,空指針合法但是不指向任何對象。nullPtr是表示空指針的字面值常量。void*:可以指向任意非常量的指針類型,不能執(zhí)行解引用操作。第三章 字符串、向量和數(shù)組—P74-P118
string表示可變長的字符序列,vector存放的是某種給定類型對象的可變長序列。命名空間的 using 聲明
頭文件不應包含using聲明。using namespace:name;
標準庫類型 string
#include
using namespace std;
(1)定義和初始化
string s1;
sting s2(s1);
string s3("value");
string s3 = "value";
string s4(n, 'c');
(2)string對象的操作
s.empty(); // 判空
s.size(); // 字符個數(shù)
s[n]; // s中第n個字符的引用
s1 s2; // s1和s2連接
<,<=,>,>= // 比較
::: warning標準局允許把字面值和字符串字面值轉(zhuǎn)換成string對象。字面值和string是不同的類型。:::(3)處理string對象中的字符::: tipC 程序的頭文件應該使用cname,而不應該使用name.h的形式:::遍歷給定序列中的每個值執(zhí)行某種操作for (declaration : expression)
statement
標準庫類型 vector
標準庫vector表示對象的集合,其中所有對象的類型都相同。vector是一個類模板,而不是類型。(1)定義和初始化vector對象vector v1;
vector v2(v1);
vector v2 = v1;
vector v3(n, val);
vector v4(n);
vector v5{a,b,c...}
vecrot v5={a,b,c...}
如果用圓括號,那么提供的值是用來構(gòu)造vector對象的。如果用花括號,則是使用列表初始化該vector對象。(2)向vector對象添加元素先定義一個空的vector對象,在運行的時候使用push_back向其中添加具體指。(3)其他vector操作v.empty();
v.size();
v.push_back(t);
v[n];
::: warning只能對確認已存在的元素執(zhí)行下標操作。:::迭代器介紹
迭代器運算符*iter // 解引用,返回引用
iter->mem // 等價于 (*iter).mem
iter
--iter
iter1 == iter2
iter1 != iter2
iter n
iter - n
iter = n
iter -= n
iter1 - iter2 // 兩個迭代器相減的結(jié)果是它們之間的距離
>, >=, <, <= // 位置比較
::: warning凡是使用了迭代器的循環(huán)體,都不能向迭代器所屬的容器添加元素。:::數(shù)組
(1)數(shù)組、指針使用數(shù)組下標的時候,通常將其定義為size_t類型。::: warning定義數(shù)組必須指定數(shù)組的類型,不允許用auto推斷。不存在引用的數(shù)組。如果兩個指針分別指向不相關(guān)的對象,則不能進行對這2個指針進行比較。:::多維數(shù)組
多維數(shù)組實際上是數(shù)組的數(shù)組。size_t cnt = 0;
for(auto
本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。
關(guān)鍵字:
阿維塔
塞力斯
華為
加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...
關(guān)鍵字:
AWS
AN
BSP
數(shù)字化
倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...
關(guān)鍵字:
汽車
人工智能
智能驅(qū)動
BSP
北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務中斷的風險,如企業(yè)系統(tǒng)復雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務連續(xù)性,提升韌性,成...
關(guān)鍵字:
亞馬遜
解密
控制平面
BSP
8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。
關(guān)鍵字:
騰訊
編碼器
CPU
8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。
關(guān)鍵字:
華為
12nm
EDA
半導體
8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。
關(guān)鍵字:
華為
12nm
手機
衛(wèi)星通信
要點: 有效應對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強核心競爭優(yōu)勢...
關(guān)鍵字:
通信
BSP
電信運營商
數(shù)字經(jīng)濟
北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...
關(guān)鍵字:
VI
傳輸協(xié)議
音頻
BSP
北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...
關(guān)鍵字:
BSP
信息技術(shù)
山海路引?嵐悅新程 三亞2024年8月27日 /美通社/ --?近日,海南地區(qū)六家凱悅系酒店與中國高端新能源車企嵐圖汽車(VOYAH)正式達成戰(zhàn)略合作協(xié)議。這一合作標志著兩大品牌在高端出行體驗和環(huán)保理念上的深度融合,將...
關(guān)鍵字:
新能源
BSP
PLAYER
ASIA
上海2024年8月28日 /美通社/ -- 8月26日至8月28日,AHN LAN安嵐與股神巴菲特的孫女妮可?巴菲特共同開啟了一場自然和藝術(shù)的療愈之旅。 妮可·巴菲特在療愈之旅活動現(xiàn)場合影 ...
關(guān)鍵字:
MIDDOT
BSP
LAN
SPI
8月29日消息,近日,華為董事、質(zhì)量流程IT總裁陶景文在中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式上表示,中國科技企業(yè)不應怕美國對其封鎖。
關(guān)鍵字:
華為
12nm
EDA
半導體
上海2024年8月26日 /美通社/ -- 近日,全球領(lǐng)先的消費者研究與零售監(jiān)測公司尼爾森IQ(NielsenIQ)迎來進入中國市場四十周年的重要里程碑,正式翻開在華發(fā)展新篇章。自改革開放以來,中國市場不斷展現(xiàn)出前所未有...
關(guān)鍵字:
BSP
NI
SE
TRACE
上海2024年8月26日 /美通社/ -- 第二十二屆跨盈年度B2B營銷高管峰會(CC2025)將于2025年1月15-17日在上海舉辦,本次峰會早鳥票注冊通道開啟,截止時間10月11日。 了解更多會議信息:cc.co...
關(guān)鍵字:
BSP
COM
AI
INDEX
上海2024年8月26日 /美通社/ -- 今日,高端全合成潤滑油品牌美孚1號攜手品牌體驗官周冠宇,開啟全新旅程,助力廣大車主通過駕駛?cè)ヌ剿鞲鼜V闊的世界。在全新發(fā)布的品牌視頻中,周冠宇及不同背景的消費者表達了對駕駛的熱愛...
關(guān)鍵字:
BSP
汽車制造
此次發(fā)布標志著Cision首次為亞太市場量身定制全方位的媒體監(jiān)測服務。 芝加哥2024年8月27日 /美通社/ -- 消費者和媒體情報、互動及傳播解決方案的全球領(lǐng)導者Cis...
關(guān)鍵字:
CIS
IO
SI
BSP
上海2024年8月27日 /美通社/ -- 近來,具有強大學習、理解和多模態(tài)處理能力的大模型迅猛發(fā)展,正在給人類的生產(chǎn)、生活帶來革命性的變化。在這一變革浪潮中,物聯(lián)網(wǎng)成為了大模型技術(shù)發(fā)揮作用的重要陣地。 作為全球領(lǐng)先的...
關(guān)鍵字:
模型
移遠通信
BSP
高通
北京2024年8月27日 /美通社/ -- 高途教育科技公司(紐約證券交易所股票代碼:GOTU)("高途"或"公司"),一家技術(shù)驅(qū)動的在線直播大班培訓機構(gòu),今日發(fā)布截至2024年6月30日第二季度未經(jīng)審計財務報告。 2...
關(guān)鍵字:
BSP
電話會議
COM
TE
8月26日消息,華為公司最近正式啟動了“華為AI百校計劃”,向國內(nèi)高校提供基于昇騰云服務的AI計算資源。
關(guān)鍵字:
華為
12nm
EDA
半導體