C++基础入门(一) 0.写在前面 如果你是期末时间紧张冲刺型选手,请移步:C++期末复习超详细总结知识点(期末冲刺) 如果你是时间充足型选手,请按顺序依次学习!...p=1 笔记配合视频效果更好 外链图片上传失败已经解决,手动校正,如有错误和遗漏,可私信与评论进行指正,看到了会及时更改 与各位共勉 用来复习回顾使用 顺序如下 《黑马程序员》C++基础入门(一) 《黑马程序员...运行程序 1.1.1 创建项目 Visual Studio是我们用来编写C++程序的主要工具,我们先将它打开 1.1.2 创建文件 右键源文件,选择添加->新建项 给C++文件起个名称,...C++ 语言的比较运算中, “真”用数字“1”来表示, “假”用数字“0”来表示。...a : b; cout << "c = " << c << endl; //C++中三目运算符返回的是变量,可以继续赋值 (a > b ?
无论你是对计算机科学充满好奇的学生,还是希望提升个人技能的职场人士,掌握C语言都将为你打开一扇通往编程世界的大门。 本篇文章旨在为初学者提供一个C语言的入门指南。...,帮助你更好地理解C语言的精髓。...同时,我们也会分享一些学习编程的经验和技巧,帮助你更高效地掌握C语言 让我们一同踏上这段C语言的旅程,开启你的编程之旅吧! 1. 什么是C语言 C语言是一门通用计算机编程语言,广泛应用于底层开发。...了解知识: 二十世纪八十年代,为了避免各开发厂商用的C语言语法产生差异,由美国国家标准局为C语言制定了一套完整的美国国家标准语法,称为ANSI C,作为C语言最初的标准。...通过这次初识之旅,我们领略了C语言的简洁之美,见证了它如何以少胜多,用基础的语法结构支撑起复杂的程序逻辑 最后,我想用一句话来作为结语:“C语言,是编程之旅的起点,也是通往无限可能的桥梁。”
C是结构化编程语言 每个c程序及其语句必须采用特定结构。每个c程序都有以下一般结构...... 第1行:注释 - 编译器忽略它们 本节用于提供程序的小描述。...在C程序中,注释行是可选的。根据要求,我们写注释。C程序中的所有注释行仅提供了解程序及其代码的指导原则。 第2行:预处理命令 预处理命令用于包括头文件和定义常量。...该语句(main)指定C程序执行的起始点。这里,main是一个用户定义的方法,它告诉编译器这是程序执行的起点。这里,int是在完成主方法执行后将返回操作系统的值的数据类型。...每个用户定义的函数都需要函数调用来执行其语句。 小编给大家推荐一个学习氛围超好的地方,C/C++交流企鹅裙:【八七零+九六三+二五一】适合在校大学生,小白,想转行,想通过这个找工作的加入。...裙里有大量学习资料,有大神解答交流问题,每晚都有免费的直播课程 任何C程序的一般规则 每个可执行语句必须以分号符号(;)结尾。 每个C程序必须包含一个主要方法(程序执行的起始点)。
大家好,又见面了,我是你们的朋友全栈君。 菜鸟教程之C语言基础(上) 一、前言: 前几天,在看另一个教程视频,总感觉太啰嗦,讲的东西不符合我想要的。...这里,通过菜鸟教程,看一遍文档,打一遍笔记,想通过这样学一下C语言的基础。 感谢菜鸟教程。...3、数据类型: 在C语言中,数据类型指的是用于声明不同类型的变量或函数的一个广泛的系统。...C语言有4种数据类型: (1)基本类型: 算术类型(整数类型、浮点类型) (2)枚举类型: 算术类型(被用来定义在程序中只能赋予其一定的离散整数值的变量) (3)void类型: (4)派生类型: 指针类型...(2)变量类型: char(一个字节,整数类型)、int、float(单精度浮点值)、double(双精度浮点值)、void(类型缺失) C语言中也允许定义各种其他类型的变量,如枚举、指针、数组、结构、
01 C语言程序的结构认识 用一个简单的c程序例子,介绍c语言的基本构成、格式、以及良好的书写风格,使小伙伴对c语言有个初步认识。...推荐个10天入门C/C++的公众号:C语言入门到精通 标识符分为如下三类 — 1、关键字 关键字是具有特定含义的,专门用来说明c语言特定成分的一类标识符,不能用作用户的标识符。...(注意:c语言中没有直接表示二进制的整型常量,在c语言源程序中不会出现二进制。)...推荐个10天入门C/C++的公众号:C语言入门到精通 5.2 实型变量 — C语言中,实型变量分为单精度类型( float )和双精度类型( double )两种。...推荐个10天入门C/C++的公众号:C语言入门到精通 应该说明的是,对于有符号数,在右移时,符号位将随同移动。
C语言基本数据类型 ---- Tip: 1B(字节) = 8位(字符) 1、数值类型 a、整型 1)、短整型(short、unsigned short(无符号短整型)):2 bytes...变量不能是C语言关键字或者保留字 32个关键字: auto break case char const continue default do double else enum extern float...,供程序使用 数据类型与格式类型转换符对照表: char %c short %hd int %d long %ld float %f double %f 或 %lf(建议使用) 2、变量初始化 a、声明的同时进行初始化...%c", &mChar_1, &mChar_2); printf("mChar_1 = %c\nmChar_2 = %c\n", mChar_1, mChar_2); int number_5; printf...、结构体、系统定义的名字较长的数据类型
入门基础:第一个程序 #include int main(int argc, const char * argv[]) { // insert code here......: 函数名 3、(int argc, const char * argv[]):参数列表(一般主函数没有参数,括号内为空) a、int argc:表示主函数的参数个数 1)、int(整型):参数的数据类型...:表示输出内容字符串 c、\n:转义字符, 表示换行 3、; :语句结束标识, 表示语句结束(表示这段话已说完) return 0; 1、return:关键字, 用于返回函数根部,终止程序执行(结束运行...) 2、0 :返回数值 3、; :语句结束标识, 表示语句结束(表示这段话已说完) C语言【注释】方式 1、//:单行注释(不进行运行,只应用一行) 2、/* content */:多行注释(不进行运行...,应用多行) C语言 【转义字符】 格式:\ + 字符 1、\n: 回车 2、\r: 换行 3、\t: Tab键
C编译系统使用4个连续的字节(即32位)存储在float类型数据。...在4个字节中,究竟小数部分和指数部分分别占多少位,ANSI C 本身并没有作规定,由具体的C语言编译系统自定。不少C语言编译系统用24位表示数符号和指数部分。...字符常量可以是一个普通的字符(例如 'x')、一个转义序列(例如 '\t'),或一个通用的字符(例如 '\u02C0')。...在 C 中,有一些特定的字符,当它们前面有反斜杠时,它们就具有特殊的含义,被用来表示如换行符(\n)或制表符(\t)等。...可用如下代码证明它们等价: #include int main(){ printf("%c,%c,%c,%c", 0101, '\101', '\x41', 'A');
(); } 紧接着,我们来编写main函数,主函数代码如下所示: int main(int argc,char **argv) { Human h; Englishman e; Chinese c;...test_eating(h); test_eating(e); test_eating(c); return 0; } 按照常规思路,在调用 test_eating()函数的时候,我们传入的实参不同...(e); test_eating(c); return 0; } 执行结果如下所示: [image-20210220163647748] 可见,采用传值调用的时候...test_return(h); test_return(e); test_return(c); return 0 } 代码的执行结果如下所示: [image...提取码:ewun 如果对我的文章感兴趣,欢迎关注我的个人公众号,获取最及时的更新:wenzi嵌入式软件 [公众号名片.jpg]
在今天的教程中,笔者将继续叙述 C++相对于 C语言来说不同的点,将详细叙述命名空间,静态成员,友元函数以及运算符重载这几个知识点。...那为什么要把 int Person::cnt = 0放在 main函数的最开始呢,这是因为要在 main所有实例化对象定义之前就要将其初始化完成。...,用到了两次 getX()和 getY(),这样就显得代码看起来十分的臃肿,所以也就有了如下的更改方式,我们可以将 Point add(Point &p1, Point &p2)函数设置成友元,那么在这样的基础上...运算符重载 上述介绍友元的时候,我们将两个实例化的对象进行相加,使用的是 C 语言的思路,但是对于 C++来说,其具备运算符重载的特性,也就是能够重载一个+号运算符用于类的相加。...为了展开这个知识点,依旧先从之前学习 C语言时的角度去看这个问题,我们之前学习 C语言的时候,我们会接触到这样一个概念,就是++p 和 p++,比如有如下所示的代码: int a = 1; int b;
在今天地教程中,笔者将继续叙述 C++相对于 C语言来说不同的点,将详细叙述命名空间,静态成员,友元函数以及运算符重载这几个知识点。...那为什么要把 int Person::cnt = 0放在 main函数的最开始呢,这是因为要在 main所有实例化对象定义之前就要将其初始化完成。...,用到了两次 getX()和 getY(),这样就显得代码看起来十分的臃肿,所以也就有了如下的更改方式,我们可以将 Point add(Point &p1, Point &p2)函数设置成友元,那么在这样的基础上...运算符重载 上述介绍友元的时候,我们将两个实例化的对象进行相加,使用的是 C 语言的思路,但是对于 C++来说,其具备运算符重载的特性,也就是能够重载一个+号运算符用于类的相加。...为了展开这个知识点,依旧先从之前学习 C语言时的角度去看这个问题,我们之前学习 C语言的时候,我们会接触到这样一个概念,就是++p 和 p++,比如有如下所示的代码: int a = 1; int b;
引言 C 语言通常被认为是一种面向过程的语言,因为其本身的特性更容易编写面向过程的代码,当然也不排除使用 C 语言编写面向过程的代码,比如 Linux 的源代码以及现在很火的国产物联网操作系统 RT-Thread...,其内核的实现方式都是使用 C 语言实现的面向对象的代码。...相比于 C 语言来说,C++ 更能够实现面向对象的程序设计,其具有的特性也要比 C 语言要多的多。下面假设有这样一个需求。 现要描述两个人的信息,姓名,职业,年龄,并输出。...我们首先先使用 C 语言的设计思路实现这个功能。...+ 的特性,在结构体中定义了函数,然后也就可以直接调用函数了,更上面 C 语言的代码相比较,它没了实参,而且代码看起来也比 C 语言更加简洁了。
前言 在上述教程中,我们已经完成了 C++相对于 C语言来说独特的语法部分,在接下来的教程中,我们将叙述 C++中面向对象的语法特性。...在上述代码的基础上,我们增加如下所示的代码: /* 注意是在上述代码的基础上 */ class Student : public Person { }; int main(int argc...(); m--; setMoney(m); } }; 上述定义了两个类,一个是 Father类,一个是 Son类,Son类继承于 Father类,这两个类用通俗的语言进行解释便是...在程序里面也是同样的道理,我们在上述代码的基础上进行更改,Father类不变,改变 Son类。...上述的代码所展示的是一层的继承,我们在继承得到的派生类 Son的基础上继续继承得到 Grandson,首先我们先在 Father类里新增加一个public的数据成员,增加的代码如下所示: class Father
函数模板重载 函数重载是在教程最开始就阐述过的概念,那么函数模板重载又该如何理解呢,我们以上一节教程中比大小的函数模板为背景,具体阐述函数模板重载的概念,代码如下所示: template<typename...mymax(int *,int *); 2、根据参数,进行排序: 第一个:int* -> const int* 第二个:int* -> int* 第四个:int* -> int* 3、根据参数,进行排序: 最匹配的是...*b : *a; } 我们在基于上述两个模板函数的基础上,来编写我们的主函数,主函数代码如下所示: int main(int argc, char **argv) { int ia = 1; int...,编译没有出错,但是实际上这里函数运行结果并非我们想要,它是比较的两个传进去的实参的地址的大小,返回的也是地址的大小,并非值的大小。...那么其实类也是可以进行重载的,类重载也可以称之为是定做,在上述代码的基础上,我们来定做类,代码如下所示: template class AAA { public: void test_func_int
目录 什么是C语言 计算机语言发展 写第一个C语言代码 基本格式 数据类型 单位 变量 作用域 生命周期 常量 函数 数组 数组初始化 操作符 位操作 赋值 单目操作 关系/逻辑/条件 逗号表达式...关键字 字符串 定义 结束标志 局别 求字符串长度 转义字符 注释 选择语句 循环 ---- ---- 什么是C语言 简单来说 C语言就是一门计算机语言,广泛应用与底层开发,使用语言写代码程序,...解决问题 所以说对于计算机这一专业来说C语言和学好C语言相当的重要 ---- 计算机语言发展 就计算机来说,最开始是以通电实现2进制(1/0)来于计算机实现交流然后形成2进制代码 但太麻烦,便发展助记符...(汇编语言),再然后形成吧B语言,后发展出现C语言 再后出现各种解释语言出现(Java,python等) ---- 写第一个C语言代码 工具 推荐VS2019编译器 基本格式 #include...转义字符则是转变原来的意思 例如你想单纯打印\n,那么则需要在“\n”前再打一个“\”,来转变“\n”原本的意思 注释 注释即用来注明,解释代码步骤的意思,让自己和读者能更好的理解 C语言——/*
文件的特殊属性 - 使用 “+” 设置权限,使用 “-” 用于取消 chattr +a file1 只允许以追加方式读写文件 chattr +c file1 允许这个文件能被内核自动压缩/解压... ( cd /tmp/local/ && tar c . ) | ssh -C user@ip_addr ‘cd /home/share/ && tar x -p’ 通过ssh在远程目录中复制一个目录内容... ( tar c /home ) | ssh -C user@ip_addr ‘cd /home/backup-home && tar x -p’ 通过ssh在远程目录中复制一个本地目录 tar... cat example.txt | awk ‘NR%2==1’ 删除example.txt文件中的所有偶数行 echo a b c | awk ‘{print $1}’ 查看一行第一栏 echo...a b c | awk ‘{print $1,$3}’ 查看一行的第一和第三栏 paste file1 file2 合并两个文件或两栏的内容 paste -d ‘+’ file1 file2
前言 在上一则教程中,我们讲述了重载运算符中前 ++和后++的重载函数的实现,阐述了在 C++中可以将运算符进行重载的方法,这种方法大大地便利了程序员编写代码,在接下来地叙述中,我们将着重讲述运算发重载时地一些更为细致地内容...紧接着,我们知道我们在使用 C++进行编码的时候,基本不会再采用 C语言中的语法 printf这个语句,随之替代的是 cout这个语句,我们也知道我们使用 cout进行输出的时候,往往采用的是下面这样的输出方式...小结 上述就是本期教程分享的内容,到本期教程截至,C++相对于 C语言不同的一些语法特性就到此结束了。...下期教程将介绍 C++如何实现面向对象的方法。本期教程所涉及到的代码可以通过百度云链接的方式获取到。...,获取最及时的更新 [公众号名片.jpg]
为了更清楚地说明这个问题,我们编写如下所示地一个函数: void test_func(Person &p) { p.printInfo(); } 基于上述代码地基础上,我们继续来编写主函数代码:...同样的,我们采用打印消息的方式来了解这个执行过程,为了更好地说明这个问题,我们引入如下几个类:Furniture类,Vertification3c类,Sofa类、Bed类、SofaBed类、LeftRightCom...{ public: Vertification3C() { cout <<"Vertification3C()"<<endl; } }; 由上述框图可以知道,Sofa和Bed都是虚拟继承自Furniture...和Vertication3C,那么代码实现如下所示: class Sofa : virtual public Furniture , virtual public Vertification3C { private...<<endl; } }; 在上述基础上,我们继续来实现LeftRightCom类以及 Data类和Type类: class LeftRightCom { public: LeftRightCom()
异常处理机制 在最开始讲述这个概念的时候,我们依旧采用刚刚所述的那个背景,A ----> B ----> C,再有了异常机制之后,我们就可以用异常的处理机制来解决这个问题,那基于这样一个背景,同样是C函数里出现了问题...,我们用依据话来概括异常,也就是函数A捕捉函数C发出的异常。...上述中,我们讲述了异常处理机制时在扔出各个类型的异常时的处理方法,在整个C++教程中,贯穿始终的一直是类这个概念,那么对于C++来说,抛出异常的时候可以抛出类异常么,答案是可以的。...如果在上述类的基础上,又多出来一个子类的异常,又该如何编写呢,下面是子类继承自父类的代码: class MySubException : public MyException { public: void...,即便下面写的代码中有抛出其他类型,其他代码在上述的基础上不变,我们看代码执行的结果: [image-20210226173027356] 可以看到,这个时候,就出错了,并没有能够抛出MyException
前言 在上一则教程中,通过与 C 语言相比较引出了 C++ 的相关特性,其中就包括函数重载,引用,this 指针,以及在脱离 IDE 编写 C++ 程序时,所要用到的 Makefile的相关语法。...本节所要叙述的是 C++的另外两个重要的特性,也就是构造函数和析构函数的相关内容,这两部分内容也是有别于 c语言而存在的,也是 c++的一个重要特性。...具体的来看如下所示的代码,在刚才那段代码的基础上,我们添加一些打印信息,从而推断我们析构函数调用的位置: #include #include #include...自定义拷贝构造函数 我们根据在上述代码的基础上,修改得到我们自定义的拷贝构造函数如下: #include #include #include <unistd.h...对象的构造顺序 在上述代码的基础上,比如说我们存在如下几个实例化对象。
领取专属 10元无门槛券
手把手带您无忧上云