1. 程式人生 > >C++ 牛客網做題筆記【200題總結】

C++ 牛客網做題筆記【200題總結】

做了老半天,正確率只有60%~~~~~


1:a[2][3],&a+1指向的是整個陣列之後的位置,a+1指向的是第二個陣列的首位置,*a+1指向的是第一個陣列的第二個位置

2:陣列作用於函式的引數會退化為函式指標,所以將陣列名傳入函式再進行sizeof()就是指標的大小,而不是陣列的大小了,指標32位為:4

3:sizeof()計算char a[] = "dasda" ,後還有個\0勿忘

4:char:-128~127,負數的表示方法為其補碼

5:結構體的整體大小為其最大資料型別的整數倍,結構體中的每個元素的起始偏移地址要能被其型別大小整除,short:2,longlong:8,long:4

6:友元函式可以訪問類中的私有成員

7:

16位機器:

char:1個位元組

int: 2個位元組

32位編譯器:
char :1個位元組
char*(即指標變數): 4個位元組(32位的定址空間是2^32, 即32個bit,也就是4個位元組。同理64位編譯器)
short int : 2個位元組
int: 4個位元組
unsigned int : 4個位元組
float: 4個位元組
double: 8個位元組
long: 4個位元組
long long: 8個位元組
unsigned long: 4個位元組


64位編譯器:
char :1個位元組
char*(即指標變數): 8個位元組

short int : 2個位元組
int: 4個位元組
unsigned int : 4個位元組
float: 4個位元組
double: 8個位元組
long: 8個位元組
long long: 8個位元組
unsigned long: 8個位元組

9:對於全域性靜態變數,在函式內部是可以改變的,但是在函式內部新定義一個同名變數卻不會影響到全域性靜態變數,新定義的變數作用域只在函式體內

10:類內的成員若不加限定符是private的,所以在定義建構函式時,前面不加public,編譯器會報錯

11:#define的處理(巨集)是在預編譯期間進行的,轉換結束後再進行編譯,不會佔用程式執行時間,並且預處理命令可以放在程式的任何位置,一定注意#define,會在程式開始之前將程式碼中的相關替換

12:程式碼複用的最好辦法是組合:組合定義:組合是在新類中以原有類的物件作為資料成員,繼承:在不改變現有類的基礎上,採用現有類的形式並在其中新增新程式碼。組合一般用於在新類中使用現有類的功能而不是它的介面。繼承則是用於在新類需要向基類轉化的情況(多型)

13:p是指向一個多維陣列的指標,*(P+1)指的是第二個陣列,*p+1指的是第一個陣列的第二個元素

14:過載函式還可以在引數的順序上不同

15:函式指標在定義時,等式右邊的函式不加()括號,只需要函式名即可(或是函式名前加取址符&),加上括號反而成了函式的呼叫

16:遞迴函式,時間複雜度:O(n),n為遞迴次數,空間複雜度:呼叫幀棧

17:雖然C++中,float到double是可以進行的,編譯器只會警告,也說明C++不是型別安全的

18:未定義行為指的是C語言變準未做規定的行為。同時,變準也從沒要求編譯器預判未定義的行為,總之一句話:未定義行為就是執行結果不確定的情況:

@使用越界陣列  @使用為初始化的變數 @一個隨便指的指標的讀寫

19:strcpy(),複製陣列,以'/0'結尾 .strcat(),連線陣列,前字串的最後的NULL會被消除 .strcmp()str1==str2,則返回零;若str1<str2,則返回負數;若str1>str2,則返回正數。

20:建構函式初始化時必須採用初始化列表的方式的有

1:需要初始化的資料成員是物件

2:需要初始化const修飾的類資料

3:需要初始化引用成員資料

相關推薦

C++ 筆記200總結

做了老半天,正確率只有60%~~~~~ 1:a[2][3],&a+1指向的是整個陣列之後的位置,a+1指向的是第二個陣列的首位置,*a+1指向的是第一個陣列的第二個位置 2:陣列作用於函式

c++筆記(一)

一邊做題一邊思考,才能夠提高學習的效率。為了加深記憶,將每天做的題的筆記記錄在部落格上。 1. 字元陣列與字串 char a[] = {'a','b'}; char b[] = {"ab"}; b陣列比a陣列多一個‘\0’。b為字串常量,a為字元陣列。

C++ 總結

      20天的刷完1234道牛客網C++題,正確率嘛,還算可以,一般~ 1:正確率63% 2:查缺補漏,複習了非常非常多的知識點:牛客網做題筆記 3:當時主要的目的是為了筆試做準備的,找工作的

總結(1)

 在牛客網上做了一 些題,過來總結一下問題    1.陣列   二維陣列第一維長度代表每一列的元素個數,第二維代表每一行的元素個數且不能省略    2.關於類成員函式的過載,覆蓋和隱藏:     

總結:劍指offer中題目,java版一

1、陣列中重複的數字 在一個長度為n的數組裡的所有數字都在0到n-1的範圍內。陣列中某些數字是重複的,但不知道有幾個數字是重複的。也不知道每個數字重複幾次。請找出陣列中任意一個重複的數字。 例如,如果輸入長度為7的陣列{2,3,1,0,2,5,3},那麼對應的輸出是重複的數

C#常見報錯指南

報錯:string input format什麼什麼的不對 可能原因: 1. int.Parse函式內的是一整行字串。牛客網經常在給的栗子裡輸入是一行一行的,事實上測例是一整行用空格隔開,所以需要根據測例進行Split等操作。 2. int.Parse函式

_劍指offer_第二替換空格_C++/C

替換空格replaceSpace C++/C版本 題目描述 請實現一個函式,將一個字串中的空格替換成“%20”。例如,當字串為We Are Happy.則經過替換之後的字串為We%20Are%20Happy。 思路分析 第1步:檢測出空格的個數(

練習賽18 A 數論/整數劃分得到乘積最大/快速乘

vector owb gcd algorithm CI -- ostream 最大的 sig 鏈接:https://www.nowcoder.com/acm/contest/110/A 來源:牛客網 題目描述 這題要你回答T個詢問,給你一個正整數S,若有若幹個正整數的和為S

C++ 普及組第二次測試A

---恢復內容開始--- 時間限制:C/C++ 1秒,其他語言2秒 空間限制:C/C++ 32768K,其他語言65536K 64bit IO Format: %lld 題目描述 牛牛剛學習了輸入輸出,他遇到了一道這樣的題目。 輸入2個整數a和b

C++ 普及組第二次測試B

牛牛最近學習了質數的概念。 質數指在大於1的自然數中,除了1和它本身以外不再有其他因數。 輸入一個n,輸出小於等於n最大的質數。 輸入描述: 輸入一個整數n 輸出描述: 輸出小於等於n的最大的質數 示例1 輸入 複製 2 輸出 複製 2

——華為機試(2:計算字元個數)(Java)

題目描述: 寫出一個程式,接受一個由字母和數字組成的字串,和一個字元,然後輸出輸入字串中含有該字元的個數。不區分大小寫。 輸入描述: 輸入一個有字母和數字以及空格組成的字串,和一個字元。 輸出描述: 輸出輸入字串中含有該字元的個數。 示例1: 輸入: ABCD

——華為機試(5:進位制轉換)(Java)

題目描述: 寫出一個程式,接受一個十六進位制的數值字串,輸出該數值的十進位制字串。(多組同時輸入 ) 輸入描述: 輸入一個十六進位制的數值字串。 輸出描述: 輸出該數值的十進位制字串。 示例1: 輸入: 0xA 輸出: 10 import java.ut

——華為機試(17:座標移動)(Java)

題目描述: 開發一個座標計算工具, A表示向左移動,D表示向右移動,W表示向上移動,S表示向下移動。從(0,0)點開始移動,從輸入字串裡面讀取一些座標,並將最終輸入結果輸出到輸出檔案裡面。 輸入: 合法座標為A(或者D或者W或者S) + 數字(兩位以內) 座標之間以;

——華為機試(14:字串的連線最長路徑查詢)(Java)

題目描述: 給定n個字串,請對n個字串按照字典序排列。 輸入描述: 輸入第一行為一個正整數n(1≤n≤1000),下面n行為n個字串(字串長度≤100),字串中只含有大小寫字母。 輸出描述: 資料輸出n行,輸出結果為按照字典序排列的字串。 示例1: 輸入: 9

——華為機試(15:求int型正整數在記憶體中儲存時1的個數)(Java)

題目描述: 輸入一個int型的正整數,計算出該int型資料在記憶體中儲存時1的個數。 輸入描述: 輸入一個整數(int型別) 輸出描述:  這個數轉換成2進位制後,輸出1的個數 示例1: 輸入: 5 輸出: 2 程式碼:  import java.ut

HTML/CSS專項練習錯彙總

有關瀏覽器的核心判斷 主要分為四類:-o-/-ms-/-moz-/-webkit- 通過js的dom.style.XxxTransition進行相應的校驗判斷: var div = document.createElement('div');

Java 工程師能力評估 20 - 詳解

牛客網 Java 工程師能力評估 20 題 - 詳解 不知在看部落格的你是否知道 牛客網,不知道就太落後了,分享給你 : 牛客網 此 20 題,絕對不只是 20 題! 免責宣告:本部落格為學習筆記,如有侵權請聯絡刪除 牛客網 Java 工程師能力評估 2

——求平均年齡(水

題目描述 班上有學生若干名,給出每名學生的年齡(整數),求班上所有學生的平均年齡,保留到小數點後兩位。 輸入描述: 第一行有一個整數n(1<= n <= 100),表示學生的人數。其後n行每行有1個整數,取值為15到25。 輸出描述: 可能有多組測試資料,對於每組

演算法學習筆記-連結串列

對於一個連結串列,我們需要用一個特定閾值完成對它的分化,使得小於等於這個值的結點移到前面,大於該值的結點在後面,同時保證兩類結點內部的位置關係不變。 給定一個連結串列的頭結點head,同時給定閾值val,請返回一個連結串列,使小於等於它的結點在前,大於等於它的在後,

PAT 算法歷年真 1003: 數素數 (20)

長度 ear code span 數字 print pan += and 1003:數素數 (20) 時間限制 1000 ms 內存限制 32768 KB 代碼長度限制 100 KB 判斷程序 Standard (來自 小小) 題目描述 令Pi表示第i個素數。現任給