1、基础语法要点

常量的定义:

#include <iostream>
using namespace std;
//常量的定义
#define day 7
const int a = 10;
int main()
{
cout << "Hello, world!"<<" day="<< day << endl;
cout << "常量a=" << a << endl;
system("pause");
return 0;
}

常量一经定义后不可修改,要注意define 没有分号;

数据类型的占用空间

数据类型

占用空间

取值范围

short

2B

-2^15~2^15-1

int

4B

-2^31~2^31-1

long

windows4B,linux4B(x86),linux8B(x64)

-2^31~2^31-1

long long

8B

-2^63~2^63-1

float

4B

7位有效数字

double

8B

15~16位有效数字

char

1B

 注意:float定义变量,如果后边没有f后缀的话,默认为double类型,如图所示:

C++复习基础语法_数组

C和C++中字符型变量只占用1个字节;

字符型变量并不是把字符本身放到内存中去存储,而是将对应的ASCII编码放入到存储单元;

字符串表示:

1、利用char[]表示

         char str1[] = "hello world";

2、

        #include

        string name = "pshdhx";

查看类型的函数

sizeof(int)

布尔值 bool

只要是非0值,都代表真!

前置递增和后置递增

a++:后置递增。先进行表达式的运算后,自身再进行+1操作;

++a:前置递增。先进行自身+1操作后,再进行表达式的运算;

switch语句

        优点:结构清晰,执行效率高;

        缺点:判断的时候只能判断整型和字符型,不可以是一个区间;

一维数组

        数组的定义方式

int arr[5];
arr[0] = 1;
int arr2[5] = { 10,20,30,40,50 };
int arr3[] = { 1,2,3,4,5 };

        整个数组占用的内存空间: sizeof(arr)

        每个数组元素占用的内存空间:sizeof(arr[0])

        数组中的元素个数sizeof(arr)/sizeof(arr[0])

        数组中的首地址:int(arr)

        数组中第一个元素的地址为:(int)&arr[0]

        数组名是常量,不可以进行赋值操作: //arr = 100;错误

二维数组


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

一般来讲,在头文件中作函数声明,在源文件中写函数定义。

指针

//定义指针
int a = 10;
int* p;
p = &a;//让指针p记录变量a的地址;
cout << a << endl; //10
cout << p << endl; //001DFBEC
cout << *p << endl;//*p是解指针
*p = 100;
cout << a << endl; //100
cout << *p << endl; //100

在32位操作系统下,不管是什么类型的指针,都是占用4B

在64位操作系统下,不管是什么类型的指针,都是占用8B

结构体

struct Student {
string name;
int age;
int sex;
};

Student s1;
s1.name = "pshdhx";
s1.age = 24;
cout << s1.name << s1.age << endl;


Student s2 = { "pshdx",24,1 };

Student * pp = &s2;

cout << pp->name << pp->sex << endl;

结构体常量不可修改 

关于函数

值传递:修改形参的值,实际的值不会发生改变;【是拷贝参数,调用越多,空间损耗越大】