C语言是面向过程的,而C++是面向对象的
C和C++的区别:
C是一个结构化语言,它的重点在于算法和数据结构。C程序的设计首要考虑的是如何通过一个过程,对输入(或环境条件)进行运算处理得到输出(或实现过程(事务)控制)。
C++,首要考虑的是如何构造一个对象模型,让这个模型能够契合与之对应的问题域,这样就可以通过获取对象的状态信息得到输出或实现过程(事务)控制。 所以C与C++的最大区别在于它们的用于解决问题的思想方法不一样。之所以说C++比C更先进,是因为“ 设计这个概念已经被融入到C++之中 ”。
C与C++的最大区别:在于它们的用于解决问题的思想方法不一样。之所以说C++比C更先进,是因为“ 设计这个概念已经被融入到C++之中 ”,而就语言本身而言,在C中更多的是算法的概念。那么是不是C就不重要了,错!算法是程序设计的基础,好的设计如果没有好的算法,一样不行。而且,“C加上好的设计”也能写出非常好的东西。
前几期的c语言经典算法,得到了很多朋友的响应,很多期待我不要停更,而小编当然也是一个有理想有道德有人品有颜值的人,当然要把自己的IT编程人生继续下去,所以请大家继续多多关注我们,让我们有动力继续下去。今天,我们逐步深入到c语言的核心地带,被很多C语言学习者誉为C语言终极奥义的指针问题。
其实,对于c指针,我们主要抓住它的本质。指针,就是一个地址。比如同学甲的宿舍是213,则213就可以看成同学甲床铺的一个“指针”,这个指针所指向的“内容”就是同学甲的床铺。理解这点,再加上一定的练习和积累,就可以熟练将指针运用在编程之中了。下面几期我会逐步把一些经典程序案例首发到头条,希望各位朋友指点和讨教,共同进步,就像下面这样,人生是多么美好。
题目:统计一字符串在另一字符串出现的次数。
这个题目涉及到两个字符串,利用指针完成的话,就是让短字符串的首字符和长字符串分别对比,符合一定条件就可以判定找到匹配字符串,计数器加一。不过需要提醒的是,编程中一个小插曲还是值得深思的。下面先贴上代码。
#include
int count=0;
main()
{
char *sub_str="nb";
char *str="gonbonienbest";
char *p1,*p2;
p1=sub_str,p2=str;
while(*p2!='')
{
do
{
if(*p1!=*p2)break;
p1++;p2++;
}while(*p1==*p2);
if(*p1=='')
p2++;
p1=sub_str;
}
printf("重复次数%d ",&count);
}
结果,小编满心欢喜,马上运行测试。结果被现实打了一个响亮的巴掌。
什么,重复次数count=4370008?这是绝逼不对啊。问题在哪里?看看程序,分析了下算法部分,没啥问题啊。于是,按下F11,开始调试,调试过程也是相当的顺溜,没啥问题,但是最后的代码,我发现,在调试窗口的count的确是2,原来问题是我把输出部分的count加了一个取地址符号&!!!!去掉这个取地址符号&,就运行正确了!
编程如人生,马虎不得。这就是编程带给我们的重要人生启示之一吧。
这些是C/C++能做的
服务器开发工程师、人工智能、云计算工程师、信息安全(黑客反黑客)、大数据 、数据平台、嵌入式工程师、流媒体服务器、数据控解、图像处理、音频视频开发工程师、游戏服务器、分布式系统、游戏辅助等
领取专属 10元无门槛券
私享最新 技术干货