Day1
头文件#include <iostream>
命名空间:using namespace std/std::cout
输入输出: cin>> >>endl; cout<<‘hello world!’<<endl;
<<插入元素
endl 行结束
返回值:int main{} return 0(返回int型数据)
while循环,++i++
全局变量,全局静态变量,局部变量,局部静态变量
异或(b^b=0, b^0=b)
a=a^b
b=a^b=a^b^b=a
a=a^b=a^b^a
Vector<T>
类:私有属性int length; 公有属性 构造函数car(){} 析构函数~car(){};
Day2
基本数据类型:
整数型 浮点型 字符型 布尔型
程序中的数据:
常量:在源程序中直接写明的数据,其值在整个程序运行过程中不可改变
符号常量:const 常量名=常量值 (一定要初始化)
变量:在程序运行过程中允许改变的数据
浮点数是近似存储的,不要直接比较两个浮点数的大小,可以通过相减的差是否充分小。
C风格字符串”C++”在内存中占用的字节数是 4 。
运算与表达式
sizeof运算、位运算
sizeof(short)
sizeof x
位运算——按位与(&)
用途:将某一位置置零,其他位不变。
取指定位
位运算——按位或(|)
用途:将某些位置置1,其他位不变
位运算——按位异或(^)
用途:使特定位翻转
位运算——按位反(~)
位运算——移位(<<、>>)
左移后,低位补0,高位舍弃。
右移后,低位舍弃,无符号数高位补0,有符号数补符号位。
运算优先级、类型转换
数据的输入和输出
操纵符
选择结构:if语句switch语句
#include <iostream>
using namespace std;
int main() {
int day;
cin >> day;
switch(day){
case 0: cout << "Sunday" << endl;break;
case 1: cout << "Monday" << endl;break;
default:
cout << "Day out of range "<<endl;break;
}
return 0;
}
循环语句:while/do-while/for
while语句
例2-5 求自然数1~10之和
#include <iostream>
using namespace std;
int main() {
//例2-5 求自然数1~10之和
int i = 1,sum = 0;
while(i<=10){
sum +=i;
i++;
}
cout << "sum =" << sum << endl;
return 0;
}
do-while语句
例2-6:输入一个数,将各位数字翻转后输出
#include <iostream>
using namespace std;
int main() {
//例2-6:输入一个数,将各位数字翻转后输出
int n,right_digit;
cout << "Enter the number:";
cin >> n;
cout << "The number in reversed order is:";
do{
right_digit = n % 10;
cout << right_digit;
n /= 10;
}while(n!=0);
cout << endl;
return 0;
}
for语句
例2-8:输入一个整数,求出它的所有因子
//for语句
#include <iostream>
using namespace std;
int main() {
int n;
cout << "Enter a positive interger:";
cin >> n;
cout << "Number " << n << " Factors:";
for(int k = 1; k <= n; k++)
if (n % k == 0)
cout << k << " ";
cout << endl;
return 0;
}
例2-10 输入一系列整数,统计出正整数个数i和负整数个数j,读入0则结束。
//for语句
#include <iostream>
using namespace std;
int main() {
int i = 0, j = 0, n;
cout << "Enter some integers please(enter o to quit):" << endl;
cin >> n;
while (n != 0) {
if (n > 0)i += 1;
if (n < 0)j += 1;
cin >> n;
}
cout << "Count of positive integers: " << i << endl;
cout << "Count of negative integers: " << j << endl;
return 0;
}
自定义类型:枚举类型
例2-11
设某次体育比赛的结果有四种可能:胜(WIN)、负(LOSE)、平局(TIE)、比赛取消(CANCEL),编写程序顺序输出这四种情况。
分析:比赛结果只有四种可能,可以声明一个枚举类型。
//自定义枚举类型
#include <iostream>
using namespace std;
enum GameResult{WIN,LOSE,TIE,CANCEL};//定义枚举类型GameResult
int main() {
GameResult result;//定义枚举类型变量result
enum GameResult omit = CANCEL;
for (int count = WIN; count <= CANCEL; count++){
result = GameResult(count);//强制转换int类型到枚举类型
if(result == omit)
cout << "The game was cancelled" << endl;
else{
cout << "The game was played";
if(result == WIN) cout << "and we won!";
if(result == LOSE) cout << "and we lost.";
cout << endl;
}
}
return 0;
}
对象的基本特点有:
对象唯一性。
每个对象都有自身唯一的标识,通过这种标识,可找到相应的对象。在对象的整个生命期中,它的标识都不改变,不同的对象不能有相同的标识。
分类性
分类性是指将具有一致的数据结构(属性)和行为(操作)的对象抽象成类。一个类就是这样一种抽象,它反映了与应用有关的重要性质,而忽略其他一些无关内容。任何类的划分都是主观的,但必须与具体的应用有关。
继承性
继承性是子类自动共享父类数据结构和方法的机制,这是类之间的一种关系。在定义和实现一个类的时候,可以在一个已经存在的类的基础之上来进行,把这个已经存在的类所定义的内容作为自己的内容,并加入若干新的内容。
多态性(多形性)
多态性使指相同的操作或函数、过程可作用于多种类型的对象上并获得不同的结果。不同的对象,收到同一消息可以产生不同的结果,这种现象称为多态性。
多态性允许每个对象以适合自身的方式去响应共同的消息。多态性增强了软件的灵活性和重用性。
本题“一致性”选项表述不明确,不是对象的基本特点。