c语言语法与c++语法区别,初学者快速区分指南

admin C语言 4


刚开始学编程的朋友,是不是经常听说 C 语言和 C++?这俩名字差不多,有时候真让人搞不清,它们到底有啥不一样啊?学了 C 语言,再学 C++ 会不会很费劲?其实啊,C++ 算是 C 语言的 “升级版”,但语法上有不少差别,今天兔子哥就用大白话跟你们说说,初学者该怎么快速区分它们,看完你就明白了。

从输入输出就能看出不一样


写程序总得让电脑显示点东西,或者从键盘输点东西吧,就这一点,C 和 C++ 的写法就差挺多。
C 语言用的是 printf 和 scanf,用的时候还得带格式符,比如 % d 代表整数,% f 代表小数。就像这样:
int a;
printf ("请输入一个数:");
scanf ("% d", &a);
printf ("你输入的是 % d", a);
而 C++ 呢,用的是 cout 和 cin,不用记那么多格式符,用 <<和>> 连接就行,看起来更简单:
int a;
cout << "请输入一个数:";
cin >> a;
cout << "你输入的是" << a;
是不是一眼就能看出区别?刚开始可能觉得 C++ 的写法更顺手,但用惯了 C 语言的朋友,可能还得适应适应。


C++ 有 “类”,C 语言没有,这是大不同


这个点很重要,你猜怎么着?C 语言是面向过程的,就是一步一步告诉电脑该干啥;而 C++ 是面向对象的,多了个叫 “类” 的东西。
类就像一个模板,里面可以装数据,也可以装操作这些数据的函数。比如想做一个 “学生” 的程序,C++ 可以定义一个 Student 类,里面有姓名、年龄这些数据,还有计算成绩、显示信息的函数。用的时候直接创建个 Student 对象,就能用里面的东西了。
但 C 语言没有类,只能用结构体装数据,函数得写在外面,调用的时候还得把结构体传进去。虽然也能实现功能,但总觉得没那么方便。
不过话说回来,对于初学者来说,刚开始可能体会不到类的好处,慢慢学深入了,才会发现它的方便之处。


函数重载:C++ 能重名,C 语言不行


啥叫函数重载?说白了,就是函数名字可以一样,但参数不一样。这在 C++ 里是允许的,比如:
int add (int a, int b) { return a + b; }
float add (float a, float b) { return a + b; }
这两个函数都叫 add,但一个算整数加法,一个算小数加法,C++ 能分清。但在 C 语言里,这就不行了,函数名必须独一无二,不然编译器就懵了,不知道该用哪个。
这一点也挺好区分的,看到同一个函数名但参数不同的,肯定是 C++ 代码没跑了。


其他一些小区别,也得知道


  • bool 类型:C++ 里直接有 bool 类型,只有 true 和 false 两个值;C 语言里没有,得自己定义,或者用 0 代表假,非 0 代表真。
  • 头文件:C 语言的头文件一般是 #include 这种,C++ 除了能兼容 C 的头文件,还有自己的,比如 #include
  • 注释:C 语言只有 /* */ 这种注释方式;C++ 还多了 // 这种单行注释,写起来更方便,现在很多人写 C 语言也会用 //,不过严格来说这是 C++ 的语法。

可能有朋友会问,那我该先学哪个呢?兔子哥觉得,先学 C 语言挺好的,把基础打牢,再学 C++ 会轻松很多。毕竟 C++ 是在 C 的基础上发展来的,很多 C 的语法在 C++ 里也能用。而且,搞懂它们的区别,学起来才不会 confusion,对吧?
其实啊,不管是 C 还是 C++,语法只是工具,重要的是编程思路。刚开始不用纠结哪个更厉害,先选一个好好学,等有了基础,再看另一个,会发现很多东西是相通的。希望这些能帮到你,有啥不懂的,随时可以问兔子哥哦!

标签: 显示点 有时候

发布评论 0条评论)

  • Refresh code

还木有评论哦,快来抢沙发吧~