C语言是面向过程的,而C++是面向对象的
C和C++的区别:
C是一个结构化语言,它的重点在于算法和数据结构。C程序的设计首要考虑的是如何通过一个过程,对输入(或环境条件)进行运算处理得到输出(或实现过程(事务)控制)。
C++,首要考虑的是如何构造一个对象模型,让这个模型能够契合与之对应的问题域,这样就可以通过获取对象的状态信息得到输出或实现过程(事务)控制。 所以C与C++的最大区别在于它们的用于解决问题的思想方法不一样。之所以说C++比C更先进,是因为“ 设计这个概念已经被融入到C++之中 ”。
C与C++的最大区别:在于它们的用于解决问题的思想方法不一样。之所以说C++比C更先进,是因为“ 设计这个概念已经被融入到C++之中 ”,而就语言本身而言,在C中更多的是算法的概念。那么是不是C就不重要了,错!算法是程序设计的基础,好的设计如果没有好的算法,一样不行。而且,“C加上好的设计”也能写出非常好的东西。
C语言的数据类型分为四大类:基本类型,构造类型,指针类型和空类型
小编推荐一个学C语言/C++的学习裙【 七三零,一三零,二二一 】,无论你是大牛还是小白,是想转行还是想入行都可以来了解一起进步一起学习!裙内有开发工具,很多干货和技术资料分享!
空类型void很好理解,就是不属于任何一种类型。
基本类型包括数值类型和字符类型。简单来说,数值类型就是指数字(1,5,10,1.2,0.314...),字符类型char就是指字符(a,b,c,<,@...),字符类型的输入输出用%c表示。数值类型又分为整型和浮点型,整形可以理解为整数(像1,2,3,4,5这样的数值)整型的输入输出用%d表示,浮点型可以理解为小数(像3.14,0.618,2.718等),浮点型的输入输出用%f表示。
从图中可以看到整型值有三种:短整型(short),整型(int),长整型(long),这三种类型都表示整数,只是能够表示的范围不同,short一般表示-32767~+32768之间的整数,int表示-2147483648~+2147483647之间的整数,long表示的范围则更大。 浮点型有两种:单精度型(float),双精度型(double),类似的,这两种的区别是表示范围不同,精度不同(简单理解就是小数点后的长度不同),并且是double大于float.
3.构造类型包括:数组,结构体(struct),共用体(union)和枚举类型(enum)。
数组用来存放多个相同类型的变量,比如我们定义这样一个数组:int a[4]={1,2,3,4} 表示定义了一个int型的数组a,它的长度是4,也就是说a这个变量包含了4个int型值,这四个值是:1,2,3,4。C语言中用方括号括住数字[n]来表示数组中的第几个元素,a[0]表示数组a中的第一个元素,也就是a[0]=1,(在编程世界中,一般用0表示第一个,这与我们日常生活中用1表示第一个略有区别),a[1]就是第二个元素,也就是a[1]=2,同理,a[2]=3,a[3]=4。
数组用来存放同一类型的多个值,若要存放不同类型的多个值就要用到结构体了。
结构体struct可以包含多个不同类型或相同类型的值,其表示方法是:
struct 结构体名{
结构体包含的变量;
}; 例如:
struct bird{
int age;
float speed;
char name;
};
这里我们定义了一个叫“bird”的结构体,它包含三个不同的变量:int,float ,char。那怎么使用它呢?如下:
bird a ;
a.age=3;a.speed=12.5;a.name='h';
发现结构体的使用与基本类型一样,bird a;就定义了一个bird型的结构体,名字叫a,这时a中就包含了三个不同的变量(名叫"age"的int型变量,名叫"speed"的float型变量和名叫"name"的char型变量),然后我们通过a.age=3,a.speed=12.5,a.name='h'给a的三个变量赋值,就可以使用了。比如printf("the age of a is %d",a.age);就输出了a的age值是多少!
共用体和枚举类型限于篇幅暂且不讲,有兴趣大家可以先自行学习一下。
在讲解最后一种类型(指针类型)前先稍休息一下~
小编推荐一个学C语言/C++的学习裙【 七三零,一三零,二二一 】,无论你是大牛还是小白,是想转行还是想入行都可以来了解一起进步一起学习!裙内有开发工具,很多干货和技术资料分享!
4.指针类型
指针可以说是C语言最精髓的内容,被称为C语言的灵魂。第一次接触指针不太好理解。大家先记住一句话:“指针就是地址。",以后如果你被指针绕晕了,就好好想想这句话。
原本打算在这一篇中一口气讲完C语言的数据类型,有了数据类型的概念再讲解C语言的函数返回值就容易理解了。但限于篇幅,且大家可能需要先消化一下,而且指针这一部分又比较重要,所以我把指针和函数返回值的讲解放到下一篇。这样扎实走好每一步,可以掌握的更牢!
这些是C/C++能做的
服务器开发工程师、人工智能、云计算工程师、信息安全(黑客反黑客)、大数据 、数据平台、嵌入式工程师、流媒体服务器、数据控解、图像处理、音频视频开发工程师、游戏服务器、分布式系统、游戏辅助等