第一章小结

1.从根本上说,计算机只能识别和执行由10组成的二进制指令,不能识别和执行用高级语言写的指令,必须用编译器将源程序翻译为二进制目标程序。

2.字节:计算机用于计量存储容量和传输容量的一种计量单位,一个字节等于8位二进制数。

3.Short into 2字节,double都为8字节,long Int 4字节,char 1字节

4.程序中无论把浮点数写成小数还是指数形式,在内存中都是以指数形式存储的。

5.Register 请求编译器尽可能快的将变量存在cpu内部寄存器中。

6.Cpu从内存寄存器中取东西,内存寄存器从内存中取东西。

7.Strlen的计算不包括\0sizeof的计算包括\0.

8.二维数组用指针偏移形式的输出为:**p+i+j;

9.冒泡排序的方法:

    源数据   5    4    3    2    1

第一趟:

第一遍   4    5    3    2    1

第二遍  4    3    5    2    1

第三遍   4    3    2    5    1

第四遍   4    3    2    1    5

第二趟:

第一遍   3    4    2    1    5

第二遍  3    2    4    1    5

第三遍   3    2    1    4    5

第三趟:

第一遍   2    3    1    4    5

第二遍  2    1    3    4    5

第四趟:

第一遍   1    2    3    4    5

如果有n个数据,则需要执行n - 1趟循环  for(int i = 1; i < n; i++)

那么第 i 趟循环,需要执行n - i次比较大小   for(int j = 0; j < n– I; j++)

依次取出相邻的两个数,将较大值放到后面       if( a[j] > a[j+1] )   交换a[j]a[j+1]的值

10.动态生成二维数组的方法代码如下:

// C++  动态创建二维数组.cpp : 定义控制台应用程序的入口点。

//

#include "stdafx.h"

#include<iostream>

using namespace std;

int _tmain(int argc,_TCHAR*argv[])

{

int a, b;

cin >> a >> b;

//pa存放的是动态创建的具有a个整型指针的一维数组

int **pa = new int*[a];

for (int i = 0; i < a; i++)

{

//动态生成含有b个整形数据的数组,将返回的数组头地址赋值给 数组pa的第i个元素,

pa[i] = new int[b];

}

for (int i = 0; i < a; i++)

{

for (int j = 0; j < b; j++)

{

//对动态生成的二位数组pa里面的各个元素进行赋值

pa[i][j] = i*j;

cout << pa[i][j] << "  ";

}

cout << endl;

}

for (int i = 0; i < a; i++)

{

//首先释放掉各行的一维数组

delete[] pa[i];

}

//最后释放存放各个一维数组头地址的 数组pa

delete[]pa;

system("pause");

return 0;

}

11.动态生成的二维数组内存地址不一定连续。

12.递归函数:直接或者间接的调用函数本身。

原理:函数每次执行都会保留函数的入口地址,直到找到最终的结果,然后退栈,按照保留的函数地址进行出栈。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值