C++学习笔记(Day1-2)

学习网址

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;
}

对象的基本特点有:

对象唯一性。

每个对象都有自身唯一的标识,通过这种标识,可找到相应的对象。在对象的整个生命期中,它的标识都不改变,不同的对象不能有相同的标识。

分类性

分类性是指将具有一致的数据结构(属性)和行为(操作)的对象抽象成类。一个类就是这样一种抽象,它反映了与应用有关的重要性质,而忽略其他一些无关内容。任何类的划分都是主观的,但必须与具体的应用有关。

继承性

继承性是子类自动共享父类数据结构和方法的机制,这是类之间的一种关系。在定义和实现一个类的时候,可以在一个已经存在的类的基础之上来进行,把这个已经存在的类所定义的内容作为自己的内容,并加入若干新的内容。

多态性(多形性)

多态性使指相同的操作或函数、过程可作用于多种类型的对象上并获得不同的结果。不同的对象,收到同一消息可以产生不同的结果,这种现象称为多态性。

多态性允许每个对象以适合自身的方式去响应共同的消息。多态性增强了软件的灵活性和重用性。

本题“一致性”选项表述不明确,不是对象的基本特点。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值