1,cin的用法
char ch;
cin.get(ch); //僅僅接受一個字符(輸入12,則ch僅僅賦值為1)
cout<<ch;
2,對於字符型變量ch,++ch與ch+1的區別
[html]
<span style="font-size:18px;"><strong>int main()
{
char ch;
cin.get(ch);
while(ch!='.')
{
if(ch=='\n')
cout<<ch;
else
cout<<ch+1;
cin.get(ch);
}
}</strong></span>
cout<<++ch;輸出的是 相應ASCCI碼加一之後的 字符
cout<<ch+1;輸出的是 相應ASCCI碼加一之後的 ASCCI碼
3,if條件判斷句的巧妙寫法
if(i==0)寫法時候,往往因為忘記一個“=”而令代碼出現難以查證的邏輯錯誤。
if(0==i)寫法,當忘記一個"="的時候,代碼編譯時候會報錯,所以極易查找錯誤來源。
4,邏輯表達式(||、&&、!)
邏輯表達式的優先級比關系表達式低,先修改左側的值然後對右側的值進行判定。如:i++<6||i==j
測試一個變量的范圍的寫法:if(age>15&&age<35)
錯誤寫法:if(15<age<35)
分析:15<age為true時,表達式值為1 1<35恆成立
15<age為false時,表達式值為0 0<35恆成立
5,字符函數庫 cctype(頭文件 cctype.h)
判斷是否為字母字符:if(isalpha(ch))
if((ch>='a'&&ch<='z')||(ch>='A'&&ch<='Z'))
isalnum()//判斷是否為字母數組
isblank()//判斷是否為空格活水平制表符
isdigit()//判斷是否為數字
6,? :操作符
int i=5>3?1:0;//給i賦值為1
7,break和continue語句
break語句的執行表示:跳出循環體,執行循環體以外的下一條語句。
countinue語句的執行表示:跳過本次循環,但不會跳過循環更新表達式
8,讀取數字的循環
cin>>i;用來接收用戶的輸入。當用戶發現輸入錯誤時候應采取三個步驟
1)重置cin 以接受新的輸入
2)刪除錯誤輸入cin.clear();
3)提示用戶再輸入
例:
cout<<請輸入年齡<<endl;
int age;
while(!(cin>>age))
{
cin.clear();
cout<<請再次輸入<<endl;
}
9,簡單文件輸入/輸出
文本I/O:使用cin進行輸入時,程序將輸入視為一系列的字節,其中每個字節都被解釋為字符編碼。不管目標數據類型是什麼,輸入一開始都是字符數據-文本數據。然後,cin對象負責將文本轉換為其他類型。
38.5 19.2
char ch;
cin>>ch;//第一個字符3 被賦值給ch,字符編碼(二進制)被存儲在變量ch中。輸入和目標都是字符,不需要轉換。
int n;
cin>>n;//cin不斷讀取,直到遇到非數字字符。讀取38,因此將38的二進制編碼復制到變量n中。
double x;
cin>>x;//cin不斷讀取,直到遇到第一個不屬於浮點數的字符。讀取38.5
char word[50];
cin>>word;//cin不斷讀取,直到遇到空白字符。讀取38.5,然後將38.5字符編碼存儲到數組word中,並在末尾加上一個空字符。
cin.getline(word,50);//cin不斷讀取,直到遇到換行符。讀取38.5 19.2
10,使用文件輸出的步驟
1)包含頭文件fstream
2)創建一個ofstream
3)將該ofstream對象仝一個文件關聯起來。
4)就像使用cout一樣使用ofstream
摘自 小田的專欄