位运算
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个数,输出他们的上。