任意表示式加上分號都是語句
去掉分號的語句不一定是表示式 int abc;
定義乙個const值來表示陣列中元素的個數是乙個好辦法
const int arsize=110;
char abc [arsize];
理解自加自減
字尾運算子指的是 ++在後面
將遞增運算子運用於指標時,指標的值增加其指向的資料型別占用的位元組數
字尾比字首和解除引用的運算子都要高
++pt 先將位址往前挪,然後用指向那個位址
++pt 先找到pt的值,然後將(*pt)+1
逗號運算子:最常見的用途就是講兩個或更多的表示式放進for迴圈表示式中,
其他使用就是,確保先計算第乙個表示式,然後計算第二個表示式 int a=20,j=2*i;
cate=17,250 解釋為(cate=17),250 將cate的值被賦為17, 250不起任何作用
(cate=17,250)由於逗號的優先順序最高,所以這種寫法是 將250賦值給cate
千萬不要混淆等於運算子== 和賦值運算子 =
musicians== 4 判斷是否正確,這個表示式的值為true或false
musician=4 將4賦值給musician
word==」mate」這個做法不是判斷兩個字串是否相等,而是檢視他們是否儲存在相同的位址上
兩個字串相同,則返回0
如果第乙個字串按字母順序排在第二個字串之前 則返回負值
如果 ………………………………………………………………………之後 則返回正值
當括號中值為0或false時候停止迴圈while(name[i])當name[i]為\0時 即false
迴圈的規則:
1、指定迴圈終止的條件
2、試之前初始化條件
3、在條件被試之前更新條件
為型別建立別名的方式
1、 使用預處理器 #define b char 用b來代表char
2、 使用關鍵字typedef
3、 typedef char byte將byte作為char的別名
4、 對於複雜的型別別名而言,使用typedef比#define更好
5、 typedef不會建立新的型別,而是為已有的型別建立乙個新名稱
判斷使用者的輸入
cout將判斷條件用cin放進迴圈體內可以控制訓話的結束
cin.get(char)可以讀取一行
版本一:接受兩個引數
char name [10]
cin.get(name,10).get();
版本二:接受乙個char引數
版本三:不接受任何引數版本
假設在windows中有乙個名叫gofish.exe程式和乙個名為fish的文字檔案,
則可以在命令提示符模式下輸入下面的命令 gofish重定向——允許使用檔案替換鍵盤輸入
通過鍵盤模擬檔案尾條件
unix中 ctrl+d來實現
windows命令提示符 ctrl+z+enter
檢測到eof後,cin將eofbit和failbit都設定為1,
通過成員函式eof()檢視eofbit是否被設定,如果被檢測到eof,cin.eof()將返回bool值 true否則返回false
若eofbit或failbit被設定為1,則fail()返回true 否則返回false
在實際應用中更多的是使用fail()而不是eof()
int a=[4][5] 陣列中有四個元素,每個元素又包含了五個元素(四行五列)
用巢狀迴圈列印乙個二維陣列
可以第一層迴圈列印行,第二層迴圈列印列
巢狀迴圈列印了乙個二維陣列
如果希望字串是可以修改的,則應該省略限定符const
cin>>a 忽略空格,換行符,製表符
cin.get(ch)將讀取所有輸入儲存在ch中
ch=cin.get()函式返回所有字元到ch
迴圈和關係表示式
一 for迴圈 1.在引入bool型別之前,關係表示式為ture 被判定為1 如果為false,被判定為0。2.函式cout.setf 設定了乙個標記。該標記命令cout顯示ture和false,而不是1和0。函式引數為cout.setf ios base boolalpha 但在老式c 可能要求使...
C 學習筆記(四)迴圈和關係表示式
for 迴圈由 1.設定初始值 2.執行測試 3.執行迴圈操作 4.更新用於測試的值 組成如for int i 0 初始值 i 3 執行測試 i 更新測試值 當條件i 3 時,則繼續執行迴圈操作,否則跳出迴圈.組合賦值符 他們的意思都是差不多的,比如 i b 就是i i b 的簡寫。關係表示式 小於...
Day4 迴圈和關係表示式
通常,cout在現實bool值之前將他們轉化為int,但是cout.setf ios boolalpha 函式呼叫設定了乙個標記,該標記命令cout顯示布林值。在一般情況下,字首行數將值加一,然後返回結果 但字尾版本首先複製乙個副本,將其加一,然後將副本返回,因此字首的效率高。c 中可以直接進行比較...