c與指標的第一章通過介紹乙個讀入字串並將該字串的子段提取、拼接再輸出的例子,讓讀者對c語言有乙個整體的印象。經查漏,要補缺的點如下:
在新增現有.h和.cpp檔案時,應先把.h和.cpp檔案拷貝到當前vs工程的資料夾下(必要時可改名),再通過ide新增;
scanf別忘了加&;
從標準輸入中迴圈讀取字元的語句(注意:此處將ch宣告為整型,是因為eof超過了char型的範圍):
int ch;
while(ch = getchar() != eof || ch != '\n')
從標準輸入中迴圈讀取一行字元的語句:
char line[max_chars]
while(gets_s(line, max_chars) != null)
5.從檔案中讀取一行的語句(注意此處的getline是string類的):
//c++方法
ifstream gt;
gt.open(txt_file.c_str());
if (!gt.is_open())
std::cout << "ground truth file " << txt_file
<< " can not be read" << std::endl;
std::string line;
int tmp1, tmp2, t***, tmp4;
while (getline(gt, line))
gt.close();
//c方法
file *fp;
fp = fopen(txt_file.c_str(), "r");
char cread[30];
if (fp == null)
char ctmp1[5], ctmp2[5], ct***[5], ctmp4[5];
int ntmp1, ntmp2, nt***, ntmp4;
while (fgets(cread, 30, fp) != null)
6.strcpy是從src複製到dest,src找到『\0』之前的所有字元進行複製,要確保dest的容量比src大1,以存放『\0』;
7.string型別可以加減,to_string()函式可將數字變為string型別:
str = std::to_string(++lineindex) + '.' + str;
8.while(scanf("%d",&n) != eof),在終端(黑框)中手動輸入時,系統並不知道什麼時候到達了所謂的「檔案末尾」,因此需要用組合鍵然後按 enter 鍵的方式來告訴系統已經到了eof,這樣系統才會結束while。eof用在讀取檔案中;
9.strlen返回的長度不包含』\0』,因此,strcpy_s要多複製乙個』\0』:
strcpy_s(longestline, strlen(line)+ 1, line);
9.gets_s從標準輸入中讀取一行會連行尾的』\n』一同讀入,然後將其替換為』\0』。fgets_s則會保持』\n』。因此,while (gets_s(line, max_length) != null)遇到』\n』不會結束,gets_s碰到eof才返回null,需要手動輸入eof(ctrl+z,再回車);
10.第一章給出的例子,涉及的程式設計知識:
1)輸出字串指標和被擷取字串指標同時移位,前者每次移動「已輸出字元數」,後者根據輸入計算擷取區間;
2)輸出字串每次增加新內容時,要判斷是否還有容量,超過了就退出;判斷存量加上當前次加入的量,是否超過容量,超過了就要用容量-存量來計算只能加入多少。
書中給出的警告:
1.在scanf函式的標量引數前未新增&字元;
2.機械地把printf函式的格式碼照搬於scanf函式;
3.在應該使用&&操作符的地方誤用了&操作符;
4.誤用=操作符而不是==操作符來測試相等性。
C 學習筆記 第一章
1 整形int 2 浮點型float 3 字元型char 4 布林型boolean 1 字串string 2 複數complexnumber 3 向量vector 4 列表list 例子 1 為了使用string型別,必須包含標頭檔案 include string str hello,world 2...
C 學習筆記 第一章
1.2學習c 在學習c 時,最重要的事情就是集中關注概念,不要迷失在語言的技術細節中。c 支援多種不同的程式設計風格。1.3.2哲學註記 c語言的基本設計觀點 要求 盡可能地接近機器的 語言,以使機器的所有重要方面都能以一種對程式設計師相當明顯的方式簡單而有效地加以處理。c 是 盡可能接近需要解決的...
第一章學習筆記
看c primer已經好幾遍了,但是還是有很多基礎的問題,總是那樣容易忘記,這次看的時候,決定好好的寫寫讀書筆記 希望能夠認真的堅持下去。incluede的兩種不同格式 include some file 表明檔案是乙個標準工程,查詢先檢查預定義的目錄。include my file 表明改檔案是使...