c++零基础自学(C++入门级基础知识汇总)
知识来源:https://www.imooc.com/learn/1304
https://www.runoob.com/cplusplus/cpp-tutorial.html
编程第一步导入头文件:
编程第二步 ,写主函数:
输入:
scanf("%d", &a); std::cin>>a>>b; //scanf函数会提前设定读取类型 ,而cin则不需要 ,更加灵活
输出:
printf("a: %d, b: %d", a, b); std::cout<<’字符串’<<a<<std::endl; //printf中需要提前设定好“ ”中的格式化内容和后面的参数 ,而cout则不需要 ,只需要将要输出的内容使用<<连接起来即可
C++基础数据类型
char的大小==unsigned char
long long >= long >= int >= short >= char
格式转化:
显示格式转换int a;
short b = (short)a; //以大转小时必须采用显示转化来告诉计算机我们默许数据丢失
隐式格式转化short a = 100;
int b = a; //当以小转大时我们可以直接使用隐式转化也不会报错 ,因为不会丢失精度
C++结构体:
类似于面向对象编程中的类
C++枚举类型
指针:
没有指向的指针称为野指针 ,对野指针进行操作是十分危险的 ,因为若野指针指向的数据正是别的程序的关键数据 ,则会造成不可逆转的影响 ,若在操作系统中,这样操作野指针的操作则会直接导致程序被杀死 ,故我们需要事先将野指针赋为空指针 。
指针赋空的三种操作
*p = nullptr;
*p = NULL; //NULL = 0 但nullptr是新版指针专属的null ,更新更有规格
*p = 0;
指针操作详解:
int a,b = 3,4;
int *i = &a; // 定义一个指针变量,让其值等于a的地址
int *j;
j = &b; //但在定义之后再对指针赋指针值则不能使用‘*j’,因为此时 *j已经代表实际指针指向的数据块 ,我们不能对实际的代码块赋值指针 。进行输出时 ,*j等同于b,j等同于&b
指针实际案例1:通过指针交换两个变量的内容
C++存储变量的方式:
普通声明的变量采用栈进行存储 ,当{}作用域结束时变量将会自动释放 使用malloc()声明时 ,将采用堆存放 ,只有当使用free()时才会手动释放C++数组:
数组名是指向数组中第一个元素的指针
且是一个特殊的常量指针 ,不可以修改 ,但可以使用来访问
在一个指针连续声明的空间中 ,我们也可以用数组的方式去访问指针空间中的数据。
C++判断if和else if
C++的for循环
While循环
For和while的区别
do while:一种对while的补充/一种用于完成和循环无关操作的循环结构 。先执行再判断
内联函数inline
函数在调用时会使用栈空间拷贝参数 、分配内存 ,因此会造成额外的内存消耗 ,因此在一些不必要的地方(调用次数过少)可以使用内联函数 ,将函数直接翻译进代码块中,不进行额外的函数调用 ,内联函数以代码膨胀(代码块增大)为代价进行优化 。
创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!