重庆大学程序设计C++复习总结

 面向过程

+ 三种循环

  + while(){}常用于不知道循环次数时,次数>=0,经常用法是while(1)、while(true),配合break使用;

  + for(;;){}常用于知道循环次数,次数>=0;

  + do{}while();至少做一次循环

+ break和continue

  + break有两个用法

    + switch语句跳出case分支

    + 跳出本轮循环,后面循环都不做

  + continue一般用于跳出本次循环

+ 数组

  + 数组名是地址常量

    + 比如,int a[5]; int* p = a;

  + 数组不做初始化,里面是随机值

    + int a[5];//{?,?,?,?,?}

  + 动态数组不能不指定动态开辟内存的个数。

    + int* a = new int[]{1,2,3,4,5};//错,先分配内存,再赋值

    + int* a = new int[5]{1,2,3,4,5};//对

    + int a[] = {1,2,3,4,5};//对,自动推导个数

  + 字符数组

    + char a[5];a = "xixi";//错,a依旧是字符常量

    + char a[5] = "12345"//错,越界

    + char a[5] = "1234"//对  

    + char a[5] = {'1','2','3','4','\0'};//等价于第三种形式

+ 排序

  + 冒泡排序

    ```c++

    const int N = 5;

      int a[] = {5, 4, 3, 2, 1};

      for (int i = 0; i < N - 1; i++) {

           for (int j = 0; j < N - i - 1; j++) {

                if (a[j] > a[j + 1]) {

                    int temp = a[j];

                    a[j] = a[j + 1];

                    a[j + 1] = temp;

                }

           }

      }

    ```

   

  + 选择排序

    ```c++

    const int N = 5;

      int a[] = {5, 4, 3, 2, 1};

      for (int i = 0; i < N - 1; i++) {

           int k = i;

           for (int j = i + 1; j < N; j++) {

                if (a[j] < a[k]) {

                    k = j;

                }

           }

           int temp = a[k];

           a[k] = a[i];

           a[i] = temp;

      }

    ```

+ 指针

  + 指针:带类型的地址

    + int a;//&a

    + char c; //&c

  + 指针变量:用于存储`带类型的地址`的变量

    + int* pa = &a;

    + char* pc = &c;

    + *pa,  *pc

  + 应用:

    + 动态开辟内存

      + int* a = new int[5];

      + int* a = new int(5);

    + 交换函数

      ```c++

      void swap(int* a,int* b)

      {

         int temp = *a;

         *a = *b;

         *b = temp;

      }

      int main()

      {

          int a = 5,b = 6;

          swap(&a,&b);

          return 0;

      }

      ```

    + 多态

      ```c++

      class Parent {

         public:

              virtual void show() {

                   cout << "这是基类show()方法";

              }

      };

     

      class Son: public Parent {

         public:

              void show() {

                   cout << "这是子类show()方法";

              }

      };

     

      void test() {

         Parent *p = new Son;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

CQU_Freshman

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值