萌新必看!初学C语言C.+.+编程必会的知识点,你运用自如了吗?

C语言面向过程编程的语言;C++面向对象编程的语言。

两者有本质的区别,其实是完全不同的两种语言,只不过C++兼容C语言而已。

其中C++则一般看作是对C语言的扩展。因为C语言没有面向对象的语法结构,而当时业界又迫切需要面向对象的编程特性,所以贝尔实验室的开发者就为C语言添加了面向对象的结构。现在C++已经不只是C语言的扩展了,它已经完全可以被看作一种新的编程语言。虽然C语言的特性以及库函数仍然被C++支持,不过C++拥有自己的独立的类库体系,功能相当强大。

C/C++的优点在于与底层比较接近,可以控制的粒度更加精细,是开发系统级应用的最佳选择。关于跨平台,C/C++也是很好的语言,因为所有平台都支持,不同的是,不同平台支持的实现不同,类库不同,要编写跨平台的程序,需要选择跨平台的类库,如标准类库,如果标准类库的支持不够也只需要附加编写一个跨平台的支持类库。

如果你想学习C/C++可以来这个群,首先是六九六,中间是三九九,最后是二一零,里面有大量的学习资

料可以下载,有问题也可以咨询我。

在C语言中,运算符还挺多的,有的看起来甚至不像是个运算符。比如:%,这个百分比符合,实际上就是个运算符。

基本运算符

“=”赋值运算符:将右边的值赋给左边

例如:a=2;a这个变量就得到了2这个值。

注意:区别“==”,这个是关系运算符!才是我们说的等于,比如1==1,就是1等于1,a==1,就是a等于1,等于不代表赋值!

“ + - * / ”加减乘除运算符:就和写数学题里面的加减乘除一样。。。

例如:a=1+3/3*4-2

运算顺序也遵循数学的运算顺序,都是计算完之后,再把计算结果赋值给=号左边的变量。

如果你想学习C/C++可以来这个群,首先是六九六,中间是三九九,最后是二一零,里面有大量的学习资

料可以下载,有问题也可以咨询我。

其他运算符

sizeof运算符:计算数据类型所占内存的大小,并以字节的方式返回。

例如:a=sizeof(int); 返回值4给a,说明int类型的数据占4个字节。

既然看这篇文章的人,都是第一次接触编程,那么,我再补充一个小知识吧!

char类型的数据,占1个字节

int类型的数据,占4个字节

double类型的数据,占8个字节

这个是基本的知识,得掌握,不过在不同的编译器当中,可能占的字节有点不一样,会有些出入。如果你想知道自己的编译器是怎么算的,就用sizeof运算符试试看吧!

“%”取余运算符,也有人叫取模运算符:就是将一个算数表达式的的余数作为结果,返回这个余数的值。

比如:a=6%4;那么a的值就是2。就是把余数返回。

注意:这个运算符还有个特点,我们都知道,数学计算里面,只有正整数才有余数的相关计算,可是在编程中,居然也可以a=-6%4;结果是 -2!这一点很神奇,如果深入研究的话,会涉及到《计算机组成原理》里面的内存相关知识,我要是没记错的话,好像和“溢出”有关,好久以前看的,当时囫囵吞枣,学的也不认真,也没有老师教,感兴趣的读者,可以去了解一下。哦,对了,这个运算符只能用于整数。

自加自减运算符

“a++和++a”自加运算符:这两者是有区别的,新手还很容易错,a++是先将a赋值,再自己加1,++a是先自己加1,然后在赋值。

比如:b=a++;(a初始值为1)那么b的值就是1,然后c=a++,这时候,c的值就为2了,因为在赋值给b的时候,a自己加了1

再比如:b=++a,a的初始值为1,此时b的值就为2,因为a先自己加了1,才赋值给b的。

“--a和a--”自减运算符:道理和上面一样,就是变成了减法而已。

关于优先级的问题,如果你不能确认那个运算符先算,很简单,你把要先算的加上括号就可以了!

最后送大家一张图:

如果你想学习C/C++可以来这个群,首先是六九六,中间是三九九,最后是二一零,里面有大量的学习资

料可以下载,有问题也可以咨询我。

最后我来说一说了解C的必要性:

1. 对内存和硬件的操作,是目前绝大部分高级语言所隐藏的,只有坚实C背景的同学,才可以考虑的更多,如果你想对原理有更多的了解,那么C其实是不可绕过的一个环节。

2. 想要缔造一个新的系统和语言,没有C是不行滴(或许C++勉强)。

3. 不管是OC的消息系统,Java的自动回收,Ruby的动态类扩充,这些花哨且时髦的东西,其实都可以用C来实现,而且很多都是用C来实现的,如果你想自己实施,看C吧。

4. 破解和分析程序,C可以起到很大的作用。C是可以人为创建Bug来破坏一个系统滴。

最后我引用我的一个大牛朋友的话:“请不要忽视C语言,它上可九天摘月,下可五洋捉鳖”。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180608A1A28H00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券