1 2 3 4

c++基础

基础知识

1.概念

  • 变量:给一段指定的内存空间起名,方便操作这段内存
  • 常量:记录程序中不可更改的数据,#defineconst
  • 关键字,标识符的命名规则:不能以数字开头

2.数据类型

创建一个变量或者常量时,需要指定相应的数据类型,否则无法给变量分配内存。

  • sizeof (数据类型 / 变量) 关键字:统计数据类型所占空间大小
  • 整型,最大 INT_MAX;最小 INT_MIN:判断溢出的方法,nums > INT_MAX / 10 || nums < INT_MIN / 10
  • 实型(浮点型):科学计数法3e2,3e-2。
  • 字符型
  • 转义字符 \ :\n , \t,  \\ 
  • 字符串型:
    • char a[] = "adsda"
    • string a = "asdfaf"
  • bool布尔类型

3.运算符

  • 算术运算符:+  -  *  /  %  ++  --
  • 赋值运算符:=  +=  -=  *=  /=  %=
  • 比较运算符:==  !=  <  >  <=  >=
  • 逻辑运算符:!  &&  ||

 4.程序流程结构

  • if:三目运算符    max = a > b ? a :b;
  • switch
  • for ; while ; do ···while
  • break ; continue ; goto :跳转到标记所在位置

 5.数组

  • 一维数组
    • int a[2];
    • int a[2] = {1, 2};
    • int a[] = {1, 2};
  • 数组名称的用途
    • 统计整个数组占用的内存空间:sizeof(arr)
    • 获取数组在内存中的首地址:(int)arr ;  (int)  &arr[0]
  • 二维数组
    • int a[2][2];
    • int a[2][2] = {{1, 2}, {3, 4}}
    • int a[2][2] = {1, 2, 3, 4}
    • int a[][2] = {1, 2, 3, 4}
    • 用 memset 进行初始化

#include <string.h>

void *memset(void *s, int c, size_t n);

s:数组变量的地址

c:填充的字符

n:填充区域的大小

 6.函数

作用:将经常使用的代码封装起来,减少重复代码。

定义:返回值类型; 函数名; 参数列表; 函数体语句; return 表达式

 

函数调用:函数名;小括号;参数

值传递:形参改变,不影响实参

声明:告诉编译器函数名称,以及如何调用函数。函数的实际主体可以单独定义。防止找不到函数。

分文件编写:让代码结构能清晰

  1. 创建后缀名为.h的头文件
  2. 创建后缀名为 .cpp的源文件
  3. 在头文件中写函数的声明
  4. 在源文件中写函数的定义

7.指针

指针变量保存的是地址

作用:通过指针间接访问内存

    int a = 10;
    int *p = &a;
    cout << *p << endl;
    cout << p;    

所占内存空间:操作系统的位数,32位就是4字节,64位就是8字节

空指针:指向内存中编号为0的空间,用于初始化指针变量(空指针指向的内存不可以访问)(0 - 255 为系统占用内存,不允许用户访问)

野指针:指向非法的内存空间,需要尽量避免

const修饰指针

  1. 常量指针:指针指向的值不可变
  2. 指针常量:指针指向的地址不可变,即指针不可变
  3. 以上两个结合:都不可以改

指针和数组:利用指针访问数组中的元素

指针和函数:利用指针作函数参数,可以修改实参的值(本质是传递了实参的地址,所以可以改变实参)

8.结构体

用户自定义的数据类型,允许用户存储不同的数据类型。

struct 结构体名 {结构体成员列表}变量名;

定义时,struct不可以省略,创建结构体变量时,可以省略;结构体变量利用操作符 "." 访问成员。

结构体数组:将自定义的结构体放入到数组中方便维护

struct 结构体名 数组名[元素个数] = {{}, {},··· {}}

结构体指针:通过指针访问结构体中的成员,利用操作符 '->' 可以通过结构体访问结构体属性

void add(const struct student *stu)  //*减少了使用的内存空间,const防止修改结构体的值

 

项目实践:通讯录管理系统

posted @ 2021-11-19 22:26  木木木999  阅读(61)  评论(0)    收藏  举报