C与C++的不同之处

努力的小咸鱼 2019-05-08 07:21:08
c和c++可以说现在都是比较流行的,但是两者到底有什么联系和区别吗,这是学习c和c++最需要注意的,不要把两者搞混了,我们先开始就来看一下c和c++有什么联系,这两者可以这样说:C++是C的超集,兼容大部分C的语法的结构,其实任何语言之间都没有明显的界限,C语言是基础; 所以c++是比c更高级一些吧,他们都是编程语言。但是他们的用法很多都是有不一样的,来听楼主一一道来: 首先不同之处一:他们的应用场合是不一样的 C语言:C语言是结构化和模块化的语言,是面向过程的。当程序的规模较小时,C语言运用起来得心应手。但是当问题比较复杂、程序的规模比较大的时候,C语言就会展现出它的局限性。 C++:正是因为有大规模的程序需要去处理,C++就应运而生了。C++是由C发展而来的,与C语言兼容。C++既可用于面向过程的结构化程序设计,也可用于面向对象的程序设计,是一种功能强大的混合型的程序设计语言。 接下来不同之处二:语法的不同C语言: 用一个例子说明一下: int a=1; double d=3.1415926; printf("%d\n",a); printf("a=%d\n",a); printf("b=%6.3f, b=%6.2f, b=%.3f\n",b,b,b); scanf("%d",&a);//取地址,输入a的值 %d和%f称为格式说明符,表示以此格式输出对应表达式的值,\n表示换行。%6.3f 中的6表示占六列,.3 表示输出对应浮点表达式值时只输出三位小数。 C++:也是用一个例子说明: int a=5; float b; cout << "a="< cin >>b; cout必须要和”<<“一起使用,cin必须要和”>>“一起使用。我觉得C++中的输入输出流是很强大的,它不像C里面还要指定格式。endl表示换行。 2、字符串 另外一个我觉得C++里面另外一个特别好用的用来存放字符串的就是string,它是在C++标准库中声明的一个字符串类。 C语言:char a[20]="hangzhou"; char *p="hangzhou"; C++: string s1="abcd"; string s2="hello world"; string s3=s1+s2; s1=s2; c++比c更方便许多。 3、头文件 C语言中所有的头文件都带后缀 .h(比如stdio.h) C++中有系统提供的头文件不带后缀 .h,用户自己编制的头文件可以有后缀 .h。 4、结构体和类 C语言:结构体 struct Student //声明了一个名为Student的结构体类型 { int num; char name[20]; char sex; } ; Student stud1,stud2; //定义了两个结构体变量 ,默认情况下为public类型。 C++:类 class Student { private: int num; char name[20]; char sex; public: void display() { cout<<"num="< cout<<"name="< cout<<"sex="< }; Student stud1,stud2;//定义了两个Student类的对象 C++中的类将数据和操作封装在一起,并且指定了访问权限。如果不指定public,也不指定private,则系统就默认为私有的,这一点和C语言中的结构体是不一样的。 其实总的来说,C语言和c++,他们除了表现在使用场合不同,还有更多的是语法的不同,C语言更加注重过程,c++比C语言更高一级,对c和c++应该有大致的了解了吧 那么最后,送给真正喜欢C++的小伙伴一段小代码,理解下来有惊喜哦: #include<iostream> int main() { cout<<"Welcome to the world of C/C++. " cout<<endl int q=1707254786 cout<<"q="<<q<<endl return 0; }
...全文
221 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
tongshou 2019-05-09
  • 打赏
  • 举报
回复
引用 4 楼 qq_45024413 的回复:
[quote=引用 3 楼 tongshou的回复:] cout<<"q="<<q<<endl

感觉这种格式挺丑陋的,不太人性化。

呃,这种格式也是合法的,怎么用纯粹看个人的喜好,你要是觉得这样不简洁也可以切到下一行
cout<<"q="
cout<<q
cout<<endl
都是可以的[/quote]
大概您没有明白我的意思,
cout<<"q="<<q<<endl
这语句如果能够简化成 如下格式,应该会更直观(可读性, 除去过多、扰人的 << ,还有 endl):
cout<< “q=”, q;

为什么C++使用上面格式,为了遵循操作符<<重载,很多程序员好像也满足于该格式。只要愿意,编译器支持简化格式并不困难,
另外,大概我有一点阅读阻碍症状,是 cout << 还是 cout >> 常常给我 带来负担。










636f6c696e 2019-05-09
  • 打赏
  • 举报
回复
建议语言没学透前,别来总结语言之间的优劣个差异。。。
赵4老师 2019-05-09
  • 打赏
  • 举报
回复
做个可能不太恰当的比喻: 人想让狗帮忙逮只兔子,可是人说话狗听不懂,于是人发明了一种介乎人言和狗语之间的语言,即口令。 人想让电脑帮忙做计算,可是人话电脑听不懂,于是人发明了一种介乎人言和汇编机器码之间的语言,即C语言。 人对狗的口令得让人容易学、也得让狗容易懂。 C语言同样得让人容易学、也得让电脑容易懂。 相比之下C++、Java就是人学得费劲、电脑也经常闹不懂。
赵4老师 2019-05-09
  • 打赏
  • 举报
回复
乍看起来c++的cin、cout、ifstream、ofstream、istringstream、ostringstream在输入、输出上比c的scanf、printf、fscanf、fprintf、fread、fwrite、sscanf、sprintf简单,不用格式控制符! 但是不用格式控制符,输入输出恰好是你期望的格式的时候好说;等到输入输出不是你期望的格式的时候,你就会觉得还是用格式控制符更方便、更靠谱。 摒弃cin、cout、ifstream、ofstream、istringstream、ostringstream! 使用scanf、printf、fscanf、fprintf、fread、fwrite、sscanf、sprintf。
努力的小咸鱼 2019-05-09
  • 打赏
  • 举报
回复
引用 2 楼 Italink的回复:
1:cin,cout是强大,但存在缓存(可取消),效率比scanf低好几倍 4:C++中结构体也能像类一样有构造,成员函数,可使用修饰符,而C中不行 最后的代码:我居然发现了qq 好像这论坛被用来提问的,写东西的话要写博客
多谢补充,也感谢大佬一起来学习
努力的小咸鱼 2019-05-09
  • 打赏
  • 举报
回复
嗷嗷,第一次发贴,不太懂
努力的小咸鱼 2019-05-09
  • 打赏
  • 举报
回复
引用 3 楼 tongshou的回复:
cout<<"q="<<q<<endl

感觉这种格式挺丑陋的,不太人性化。
呃,这种格式也是合法的,怎么用纯粹看个人的喜好,你要是觉得这样不简洁也可以切到下一行 cout<<"q=" cout<<q cout<<endl 都是可以的
好运萝 2019-05-09
  • 打赏
  • 举报
回复
cin cout感觉用起来没有scanf printf得心应手
tongshou 2019-05-08
  • 打赏
  • 举报
回复
cout<<"q="<<q<<endl

感觉这种格式挺丑陋的,不太人性化。

Italink 2019-05-08
  • 打赏
  • 举报
回复
1:cin,cout是强大,但存在缓存(可取消),效率比scanf低好几倍 4:C++中结构体也能像类一样有构造,成员函数,可使用修饰符,而C中不行 最后的代码:我居然发现了qq 好像这论坛被用来提问的,写东西的话要写博客
  • 打赏
  • 举报
回复
所以你在自问自答吗

33,311

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 新手乐园
社区管理员
  • 新手乐园社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧