位運算
1.按位與&
1 1 爲 1 , 其餘爲零
例 a=3,b=-2 ,c=a&b=2
2.按位或 |
有1 爲一,0 0 爲零
例 a=3,b=-2 ,c=a|b= -1
3.按位異或 ^
相同爲0,不同爲1
4.按位取反~
5.左移<<
乘以相應 2的次方數
6.右移>>
1.cout對象和cin對象
“<<” 流插入操作符
“>>” 流提取操作符
字符數組的初步應用:
char name[21];
cin>>name;
cout<<name<<endl;
注意:溢出、串中含有空格問題
只讀空格前的數組
指定輸入域寬
方法1: char word[10];
cin>>setw(10)>>word;
方法2:cin.width(10);
cin>>word;
注:域寬只對與其相鄰的下一個輸入有效;
3.讀取一行
例:char sentence[81];
cin.getline(sentence,81);
4.讀取一個字符
1.char ch;
cin>>ch;
省略前邊的空格
2. cin.get(ch);
不略過空格
cin.ignore();忽略換行符。
1.7 枚舉類型
1)類型定義
enum weekday{sun,mon,tue,wed,thu,fri,sat};HUo
enum weekday{sun=7,mon=1,tue,wed,thu,fri,sat};
2)變量定義:
enum weekday day1,day2;
也可類型變量一起定義:
enum weekday{sun=7,mon=1,tue,wed,thu,fri,sat} day1,day2;
例題:定義一個枚舉類型triangle,其中的枚舉常量有scalene(不等邊),isosceles(等腰),equilateral(等邊),notriangle(非三角形),編寫程序根據輸入三角形各邊的長度,輸出三角形的形狀。
int main() {
enum triangle{scalene,isosceles,equilateral,notriangle};
enum trangle tri;
int a,b,c;
cout<<" shu ru sanbian chang";
cin>>a>>b>>c;
if(a+b<=c||a+c<=b||b+c<=a)
tri=notriangle;
else if(a==b&&b==c)
tri=equilateral;
else if(a==b||b==c||a==c)
tri=isosceles;
else
tri=scalene;
switch(trl){
case scalene::
cout<<“scalene triangle”<<endl;
break;
case isosceles:
cout<<“isoceles triangle”<<endl;
break;
case equilateral:
cout<<“equilateral triangle”<<endl;
break;
case notriangle:
cout<<“notriangle”<<endl;
break;
}
return o;
}
第二章
一 、算法的基本概念和表示方法
算法:解決某個特定的問題而採取的正確且有限的步驟。
算法的特性:
有窮性、確定性、零個或多個輸入、有一個或多個輸出、有效性
算法的描述方法
自然語言
僞代碼:不受語法約束的一種語言描述方式
流程圖:
計算機語言
算法的基本結構
順序結構
選擇結構
循環結構:當型、直到型
if …else
例2.2 輸入2個數,輸出他們的上。