C++和C的语法区别_输⼊输出
语法区别:
C:使⽤printf、scanf、 gets、puts等
C++:使⽤cin、cout
优点:
C++使⽤cin和cout有三个突出优点:
1、简单安全:根据操作对象⾃适应的,只需要使⽤>>或者<<;就可以搞定⼀切
2、⽀持⽤户⾃定义类型的流操作:需要重载<<;运算符
注意事项:
1、要使⽤头⽂件iostream。cout和cin并不是C++语⾔中提供的语句,它们是iostream类的对象,故使⽤的时候必须加上头⽂件iostream,⼜因为cout是std名字空间中定义的全局对象,在main函数执⾏前就已经构造好了,只管⽤就是,⽽不⽤在定义对象等操作。
2、⼆者效率不同。⾄于printf和cout那个快,根据数据不同,会有不同的结果。但是百度上说做ZOJ时,使⽤cout会有超时的情况,这个要注意。
3、不同类的输⼊输出语句不能混合使⽤。cin和cout搭配使⽤,printf和scanf搭配使⽤。因为运⾏机制不同,混合使⽤可能会出问题。
常⽤语法:
cin>>变量/指针;
1、数据流向谁就指向谁。(记忆)(键盘->内存)
2、变量可以是⼀个也可以是多个,数据之间可以使⽤空格、Tab或回车分开
cin>>a>>b
cout<<;变量/常量(各种类型常量);
c语言和c++区别1、数据流向谁就指向谁。(内存->显⽰器)
2、变量可以是⼀个、多个、也可以是表达式
cout<<a<<b<<a+b;
cout<<endl;
典型问题:
原因:printf不使⽤缓冲,输⼊时直接输出到终端,但是cout使⽤流,有缓冲输出,总是在强制刷新或程序结束后才能显⽰结果。
cout < < "abc " < <endl; 等价于 cout < < "abc\n ";cout < <flush; (flush使⽴即强迫缓冲输出)
endl相当于输出回车后,再强迫缓冲输出,包含flush的作⽤。
通过cout分步执⾏可以看到,执⾏cout<< "B\n "时(这⾥没使⽤endl或刷新)⽆内容⽴即输出,⼀直到程序⽽执⾏cout<< "B"<<endl;时有结果输出。
则cout分步执⾏时,到程序结束时或使⽤endl才输出结果到屏幕⽽ printf每步运⾏都有结果输出,有利于调试。
因此,调试的时候,语句中含有cout < < "abc "这种的时候,要加上endl或改成 printf 语句。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论