C系列语法知识
文章平均质量分 95
在专业学习过程中,接触的第一门开发语言,本专栏旨在为大家带来一些帮助,希望大家看后能够巩固知识或者对一些小白来讲能够带来茅塞顿开的感觉
Stark、
一枚清澈愚蠢的大学生,目前已涉及知识有C#,C/C++,数据结构与算法等,下一步学习linux。梦想是一盏明灯,照亮我们前行的路,无论风雨多大,我们都要坚持不懈。
展开
-
输入输出--I/O流【C++提升】
C++ 提供了多种方式来控制输出格式。你可以使用格式化标志和流操作符来改变输出格式。#include // 用于 std::setprecision 和 std::fixed// 输出 123.46return 0;原创 2024-10-15 13:18:17 · 1016 阅读 · 9 评论 -
【C++11入门】新特性总结之移动语义(右值、右值引用、std::move()...)
C++11新特性:深浅拷贝、左值右值、右值引用、移动语义、万能引用(转发引用)、引用折叠、完美转发。你想知道什么?一篇解决你的所有疑惑。原创 2024-10-17 05:15:00 · 2018 阅读 · 17 评论 -
【C++11入门】新特性总结之lambda表达式
现代C++语言的核心特征之一:lambda表达式。虽然其它编程语言早已具备了这种特性,但直到C++11标准发布,C++11才具备了lambda表达式。本节主要讲解lambda表达式的语法和使用方法。具体包括:捕获列表、可选参数列表、可选异常说明符、可选返回值类型等。此外,还将介绍lambda表达式在STL算法中的应用和泛型lambda表达式的使用方法。原创 2024-10-17 05:00:00 · 879 阅读 · 6 评论 -
【C++11入门】新特性总结之智能指针
在C++中,智能指针是用于管理动态分配内存的对象,这些对象能够自动处理内存的释放,从而减少内存泄露的风险。C++11主要引入了三种主要的智能指针:std::unique_ptr, std::share_ptr, std::weak_ptr。下面我们一一介绍。原创 2024-10-14 12:45:00 · 666 阅读 · 52 评论 -
【C++11入门】新特性总结大全-Part1
C++11标准公布后,C++社群中出现了久违的热情,有人甚至叫出“C++的复兴”。指望C++重回20世纪90年代中期那样的地位显然是昧于大势的期望,但是C++经历了这么多年的打磨与起伏,在各领域的地位已经非常稳固了。2011年新标准的出现能够大大提升C++开发的效率和质量。时至今日,能够基本了解C++11标准的程序员恐怕不多,而能够以新的C++风格开发实践的人更是凤毛麟角。因此,接下来几节,我们将盘点C++11的新特性。作为开幕第一篇,我们先说一些我们之前用到的但是你不知道是C++11标准的新特性。原创 2024-10-09 12:03:03 · 1437 阅读 · 50 评论 -
异常处理【C++提升】(基本思想,重要概念,异常处理的函数机制、异常机制,栈解旋......你想要的全都有)
1)异常是一种程序控制机制,与函数机制独立和互补,函数是一种以栈结构展开的上下函数衔接的程序控制系统,异常是另一种控制结构,它依附于栈结构,却可以同时设置多个异常类型作为网捕条件,从而以类型匹配在栈机制中跳跃回馈.2)异常设计目的:栈机制是一种高度节律性控制机制,面向对象编程却要求对象之间有方向、有目的的控制传动,从一开始,异常就是冲着改变程序控制结构,以适应面向对象程序更有效地工作这个主题,而不是仅为了进行错误处理。原创 2024-10-05 12:22:02 · 1421 阅读 · 49 评论 -
类型转换【C++提升】(隐式转换、显式转换、自定义转换、转换构造函数、转换运算符重载......你想知道的全都有)
C++是一种强类型语言,其类型转换机制非常重要。类型转换使得不同数据类型之间可以相互转换,以满足程序的灵活性和可操作性。本文即将探讨的C++中的类型转换内容主要包括:基本类型转换,隐式类型转换,显式类型转换和自定义类型转换等内容原创 2024-10-05 11:44:53 · 1070 阅读 · 24 评论 -
泛型编程--模板【C++提升】(特化、类属、参数包的展开、static、模板机制、重载......你想知道的全都有)
泛型编程是C++很强大的一个特性。它主要的一个目的是增加代码复用性,增加程序的可扩展性。C++的泛型编程主要靠模板来实现,模板又被分为两类:函数模板和类模板。在学习模板前,我先提出一个问题:请写出一个相加函数。你觉得我这是在挑刺,但是事实就是这样,客户就需要你写出来一个能做任何类型都能相加的一个函数。你就无奈的去写去改去增加。为了解决反复更改增加这一问题,我们应该使用C++为我们提供的模板技术来应用到编程上。我们只需要写一段函数代码,就可以实现之前需要定义多个函数需要干的事,是不是很方便。原创 2024-10-04 21:00:17 · 1579 阅读 · 63 评论 -
C/C++进阶(一)--内存管理
更多精彩内容.....🎉❤️✨😘座右铭:梦想是一盏明灯,照亮我们前行的路,无论风雨多大,我们都要坚持不懈。在前面,我们学习C语言的时候,我们就提到过内存的概念,介绍了内存的分区以及各个区域负责的事情,并且给出了一些内存函数使用。本节我们主要是学习内存的管理。原创 2024-10-03 13:53:53 · 1708 阅读 · 27 评论 -
C++模拟实现vector容器【万字模拟✨】
模拟实现vector,根据文档,我们先看一下vector有哪些成员,需要我们完成什么功能。如果你对这些功能有过初步的了解请跳过。认识(.hpp)后缀。原创 2024-10-01 00:39:36 · 1766 阅读 · 26 评论 -
C++入门day5-面向对象编程(终)
C++面向对象基础:多态特性,virtual关键字,函数重写(覆盖),函数隐藏,类的虚函数表,虚函数表指针,动态绑定,纯虚函数和抽象类(接口),虚析构与纯虚析构,菱形继承,虚拟菱形继承,虚基类表,虚基类表指针。等各种知识全都教给你,包你满意原创 2024-09-27 21:20:39 · 1671 阅读 · 26 评论 -
C++入门day4-面向对象编程(下)
B类通过继承A类后,内部会继承一个int变量 a:从下图我们可以看到,B类型的对象mb在通过点运算符访问成员时,自动提示有a成员变量,而且看提示(A::a)我们知道还是A类中的成员变量a,通过继承的手段,让子类也能拥有该成员变量。在此继承方式下,子类可以访问父类中的protected权限下的成员以及public权限下的成员,并将public权限缩小为protected权限。特殊的菱形继承我们需要了解一下。子类继承父类后,子类创建对象时,也会调用父类的构造函数,那么现在的问题就是,二者的顺序是怎么样的呢。原创 2024-09-26 00:49:44 · 1489 阅读 · 20 评论 -
C++入门day3-面向对象编程(中)
这个函数的返回值还是ostream类型的cout,此时cout原创 2024-09-03 22:29:59 · 942 阅读 · 19 评论 -
C++入门day2-面向对象编程(上)
面向对象基础理论、抽象、封装、继承、多态;访问权限修饰符;类与对象;成员;构造函数、析构函数、深浅拷贝、this指针、对象成员、抽象类、接口、工具类、友元。原创 2024-08-19 23:08:09 · 1838 阅读 · 8 评论 -
C++中const的用法
const 我们都见过,但是今天,我们会从头开始重新再说const的所有用法。cosnt的所有用法基本都在了,可以说是相当全的了。建议收藏,哈哈,当然有更全的也可以在评论区留个言,那什么,我也是需要学习的,与诸君共勉 (^_^)!原创 2024-08-23 11:14:29 · 1127 阅读 · 0 评论 -
C++入门Day1
引用类型: 引用:给变量起别名 语法:数据类型 &别名=原名引用特点: 必须初始化,且不能初始化为空 引用不能改变引用关系 //一旦初始化,不可再将这个别名赋给别的变量使用引用的底层: DataType* const p; //指针指向不可改变 即 引用关系不可改 //const修饰必须初始化 即 引用必须初始化原创 2024-08-15 11:32:21 · 500 阅读 · 38 评论 -
《数据结构》预备
位段的声明和结构体是类似的,有两个不同:1.位段的成员必须是int、unsigned int、 signed int,在C99中位段成员也可以选择其它类型。2.位段的成员后边有一个冒号和一个数字。int _b:5;int _c:10;int _d:30;A就是一个位段类型。那位段A所占内存的大小是多少呢?原创 2024-07-19 23:15:41 · 958 阅读 · 0 评论 -
C语言预处理详解
C语言设置了一些预定义符号,可以直接使用,预定义符号也是在预处理期间处理的。1.__FILE__ //进行编译的源文件2.__LINE__ //文件当前的行号3.__DATE__ //文件被编译的日期4.__TIME__ //文件被编译的时间5.__STDC__ //如果编译器遵循ANSI C,其值为1,否则未定义基本语法:举个例子:#define reg register //为 register这个关键字,创建⼀个简短的名字;原创 2024-06-28 14:33:46 · 1031 阅读 · 0 评论 -
C语言编译与链接
在ANSI C的任何一种实现中,存在两个不同的环境。第一种是翻译环境,在这个环境中源代码被翻译成可执行的机器指令(二进制指令)第二种是执行环境,它用于执行代码原创 2024-06-27 09:59:01 · 1037 阅读 · 0 评论 -
C语言的内存知识
这节我们主要认识一下内存,便于理解指针操作和后续内存管理。原创 2024-06-25 21:00:01 · 1473 阅读 · 2 评论 -
C语言的指针进阶
到这一步了,进阶一下试试看呢。开讲了~!主要有:函数、指针、数组的综合;一些补充知识。原创 2024-06-22 17:22:01 · 687 阅读 · 0 评论 -
C语言的指针入门
在传参的时候,我们传值,那么在新的函数里就是简单的copy一下原来变量的值,内部交换,换完之后局部变量销毁,内存释放。上面两个结论非常重要,当变量和指针变量特别多的时候, 一定要搞清楚指针变量存储的是哪个变量的地址,该变量的地址存在了哪些指针变量里。不是的,我们学过函数了,都知道了形参改变不影响实参,那假如我们把实参的地址传过去,实参是不是就可以改变了。同时,指针变量也是一种特殊的变量,就是用于存储其他变量的地址的一个变量,它也有自己的地址。int 类型代表,该指针变量存储的地址是一个整型类型变量的地址。原创 2024-06-18 20:35:47 · 837 阅读 · 0 评论 -
C语言的操作符
1.操作符的分类2.二进制和进制转换3.原码、反码、补码4.移位操作符5.位操作符6.单目操作符7.逗号表达式8.下标访问[]、函数调用()9.结构成员访问操作符10.操作符的属性:优先级,结合性11.操作符优先级附录。原创 2024-06-17 21:00:00 · 941 阅读 · 0 评论 -
C语言的函数
定义形式:返回值类型 函数名(参数列表){函数体}举例:如下。但是切记没有多返回值类型函数,因为在函数栈帧问题上我们会了解到:我们只有一个eax寄存器,所以c语言的函数只能有一个返回值。//无参无返回值类型//有参无返回值类型ib?a:b);return m;原创 2024-06-16 11:30:00 · 657 阅读 · 0 评论 -
C语言的数组
定义:数组是一组相同类型元素的集合特点:所有数据元素类型相同、可以存储一个及以上的同类型元素要素:数组名,集合类型,下标。*定义方式:类型说明符 数组名[整型常量表达式];*说明:命名规则、数组长度、下标、数组类型数组的命名规则和变量的命名类似,在此基础上加上[常量值]即可,[]是一种操作符,叫做下标引用操作符,用来访问数组元素的。数组是一种特殊的变量,它也是有类型的,例如int arr[10]的数据类型就是int [10]。//10//用数组求斐波那契数列前四十项int main()原创 2024-06-15 05:00:00 · 694 阅读 · 0 评论 -
C语言的输入/输出
本节我们主要是讨论C语言的输入和输出#原创 2024-03-19 20:54:13 · 4093 阅读 · 0 评论 -
C语言的循环语句
循环的意义所在,就是减少重复代码的编写,使代码的可读性提高。例如:向屏幕依次打印1到100,如果写一百行代码,太麻烦了。那么我们用while循环语句来实现这个功能就非常简便了。下面,上代码。下面介绍两个关键字continue 和 break这里我们没有直接将i赋值为1.而是从0开始,但我们还想打印1到100,怎么办,那就加一条作为判断的语句,i的值如果比1小,我们就 让加1,然后continue 跳过本次循环直到i加到1时正常参与循环的打印功能。原创 2024-04-14 19:48:21 · 610 阅读 · 1 评论 -
C语言的入门学习(下)
首先,代码一方面是给自己看的,对于一个工程量庞大的程序来讲,注释可以让自己更清晰的理解并记忆代码的意义,或者之后自己回顾代码时,注释可以快速帮助你回忆起来;其次,代码在另一方面上也需要给其他人看,一个好的程序一定有必要的注释,帮助他人快速理解你的想法,有助于与他人专业知识及编程思路的交流。而if else常搭配使用,当然if也可以单独使用,这就是典型的单分支语句,后面再讲,今天主打一个了解认识,后面忘了也可以再过来看看。第一种,单行注释,也是最常用的一种注释方式,用于解释代码语句的作用,思路。原创 2024-03-18 22:47:06 · 782 阅读 · 0 评论 -
C语言的入门学习(上)
程序进行预处理,将函数库引进程序(不然运用里面的函数时计算机不认识就会报错)。定义一个函数(具体功能自行补充,此处是两数相加),但此时并未运行。从main函数处进入实际执行,第一步:打印一个东西,什么东西?add(1,2),此时调用了add函数,执行add函数内部代码,其中x成为了1,y成为了2,1+2=3,return将其后的运算结果3返回,存到了给它占好的位置上了。通过printf函数就将这个东西打印出来了。下面让我们看一下运行结果。本节课我们主要了解了一下:函数(主函数 库函数 自定义函数);原创 2023-10-24 17:13:17 · 139 阅读 · 0 评论 -
C语言的选择语句
显而易见嘛,如果表达式1不成立,那就看看表达式2成不成立,如果还不成立就再看表达式2,实在不行再往下看,总有一句能成立,实在成立不了,别着急,那不还有else收尾呢嘛。(强调一下哦,博主总让大家去看别的文章,不是博主懒,是想要告诉大家一个道理:要想学习计算机,学编程,那就要学会如何利用更多的资源去丰富自己,只有在对比与思考中才能总结出自己的东西)。聪明的人已经看出来了,第一段和第三段是一样的,而不是第二段,这就是{}的省略原则,未加{}时,实际效果等同于仅括住:if之后,第一个分号之前的内容。原创 2024-03-21 20:51:06 · 2743 阅读 · 2 评论
分享