| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 984 人关注过本帖
标题:一个自学的新手关于代码迷惑。请高手赐教!!!
只看楼主 加入收藏
为兴趣工作
Rank: 1
来 自:广东省化州市
等 级:新手上路
帖 子:6
专家分:0
注 册:2012-2-1
收藏
 问题点数:0 回复次数:12 
一个自学的新手关于代码迷惑。请高手赐教!!!
#include<iostream.h> & #include<iostream>

cout<<"Hello,c++"<<endl; & cout<<"程序运行结果:";

cout<<123<<endl; & cout<<-123<<endl;//

敢问各路高手,以上的代码,为何会有所不同?(学编程是新手,在论坛也是新手,这个分数就不给了,就当作是为自己巩固知识吧,拜托了!)
搜索更多相关主题的帖子: 自学 include 
2012-02-02 21:39
lz1091914999
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:四川
等 级:贵宾
威 望:37
帖 子:2011
专家分:5959
注 册:2010-11-1
收藏
得分:0 
如果你能再表述清楚一点呢,我就帮帮你!

My life is brilliant
2012-02-02 22:42
BianChengNan
Rank: 8Rank: 8
等 级:贵宾
威 望:13
帖 子:302
专家分:972
注 册:2011-11-30
收藏
得分:0 
楼主描述的还真不清楚呢

我的群:149544757 C/C++/Assembly 喜欢交流的朋友进,进群请写消息
2012-02-03 10:21
pangding
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:北京
等 级:贵宾
威 望:94
帖 子:6784
专家分:16751
注 册:2008-12-20
收藏
得分:0 
回复 楼主 为兴趣工作
您能别横着写吗……竖着写两个就好了。
如果你想强调某几个局部的代码,可以试试把局部代码变变颜色,来体现你不懂的地方。

另外,你不应该问为什么不同,应该说说怎么个不同法。我们也好知道你到底觉得哪奇怪。

如果你就是想问头文件的话,那就用
include <iostream>
using namespace std;
这样的。
2012-02-03 10:23
为兴趣工作
Rank: 1
来 自:广东省化州市
等 级:新手上路
帖 子:6
专家分:0
注 册:2012-2-1
收藏
得分:0 
好吧,首先得感谢你!

<iostream.h>这个代码里面有“.h”,可这个为什么就没有呢<iostream>


cout<<"Hello,c++"<<endl;这个代码有两个“<<”,可为何这个cout<<"程序运行结果:";只有一个?还以第一个有“endl”换行,第二个为什么就没有?


cout<<123<<endl;输出数字也许能像明白,就想不明白输出负数的代码语句结束后面还带了两个斜杠 cout<<-123<<endl;//

2012-02-03 10:26
为兴趣工作
Rank: 1
来 自:广东省化州市
等 级:新手上路
帖 子:6
专家分:0
注 册:2012-2-1
收藏
得分:0 
对哦,看书看到后面出现了“using namespace std;”是干啥用的?谢谢大家啊!!!
2012-02-03 10:29
pangding
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:北京
等 级:贵宾
威 望:94
帖 子:6784
专家分:16751
注 册:2008-12-20
收藏
得分:0 
回复 5楼 为兴趣工作
额……先回答后面那个问题。
其实这是个很丰富的主题。我在这里只是简要说明一下(但恐怕还是得很多字):

c 语言里的头文件就是 .h 的。c++ 里为了兼容 c,就也有 .h 的。但如果是写 c++ 代码最好就是换成没有 .h 的。

区别是 c++ 里提出了一种叫做 名空间(namespace) 的机制,来避免诸如命名冲突带来的问题。
因为标准库里用到的名字太多了,名字起的又比较好听,比如 count(),很多人没听过。自己也写了一个叫 count() 的函数。这样编译的时候有时会莫名其妙的冒出一堆错误。引入名空间之后,标准规定所有标准库的东西,全部都在 std (这个词是 standard (标准) 的缩写)这个名空间里,因此标准库的 count 其实全名是 std::count (:: (两个冒号)表示域或名空间引用 )。这样你自己如果写了个 count 函数,因为不在 std 空间里,就不会出现重名的问题了,因为它的全名是 ::count (可以理解成是在顶级空间,或者无名空间里的 count)。
有 .h 的就是没有名空间概念的,没有 .h 的就是有的。(听着好像有点绕口,其实就是 C 里没有,C++ 里有。)

但是,这样每次调用 count (或者 cout 也一样) 的时候就要写 std::count,或者 std::cout 这样,有人嫌这麻烦。
所在又提出了 using 和 using namespace 语句。如果声明了:
using std::cout;
就表示,所有出现的 cout 就是指 std 中的 cout。再用的时候就不用每次 std::cout 这样的。但 count 还是得 std::count 这么写。
如果声明:
using namespace std;
就表示,所有出现的东西,都是 std 中的。无论是 cout 还是 count。一直没提的 std::endl 也会包括进去。

标准觉得,你既然知道用 using 语句,就是知道有名空间这么一回事,那么你就应该主动避免可能引发的相关的问题。
但如果用了 using namespace std;,很多重名的问题就又回来了。比如你在毫不知情的情况写了 count 函数,照样重名。
这主要是由于引回来的东西太多了,所以很多书都教导尽量使用 using std::cout; 这样的语句。因为这种语句不会逃出你的知识范围,即使你没听过 count 这个函数,那么由于你没写 using std::count,所以即使后面写了 count 函数,也不会重名。
2012-02-03 12:14
pangding
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:北京
等 级:贵宾
威 望:94
帖 子:6784
专家分:16751
注 册:2008-12-20
收藏
得分:0 
回复 5楼 为兴趣工作
cout<<"Hello,c++"<<endl;这个代码有两个“<<”,可为何这个cout<<"程序运行结果:";只有一个?还以第一个有“endl”换行,第二个为什么就没有?


cout<<123<<endl;输出数字也许能像明白,就想不明白输出负数的代码语句结束后面还带了两个斜杠 cout<<-123<<endl;//

前面那几个问题问的是细节,你自己看书的话,很快就应该能学到的。

cout 可以连续一次连续输出很多东西:比如字符串呀,数字呀,等等。
cout<<"Hello,c++"<<endl;
也可以写成:
cout << "Hello" << "," << "c++" << endl;
意思都是完全一样的,只是后面那个不是打起字来得费很多劲吗。

cout << endl 意思基本就是输出一个换行符。当然也有一些其它副作用,不过一般来说不太容易观察到。
如果你需要它换行,就加一个,如果不需要就不加,从 C++ 语言来讲,没什么要求。
比如第二个,你要求输出的是
程序运行结果:123
那就用:
cout << "程序运行结果:";
cout << 123;
如果要求的是:
程序运行结果:
123
那你就得在第一句后面加个 << endl;


另一个关于 // 的问题。
那个是表示注释的。即可以单独写在一行里,可以在和别的语句写在一起。
从它开始,直到这行结束,之间的内容都叫 注释(Comment)。注释是写给人看的,一般是帮助其他人阅读时能更好地理解代码,电脑会忽略所有注释的内容。也就是说注释之间的东西,可以和 C++ 一点关系都没有,如果你用的编译器支持,用中文都可以。比如:
// 这一整行都是注释。但下面那行我要声明一个整型变量 a。
int a;
int b;    // 前面那是声明了另一个变量 b,但从 // 开始,剩下的就都是注释了。
老一点的编译器,对国际化的支持不太好。也许只能用英文注释。但规则是一样的。
2012-02-03 12:28
pangding
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:北京
等 级:贵宾
威 望:94
帖 子:6784
专家分:16751
注 册:2008-12-20
收藏
得分:0 
呵呵。好久没在 C++ 回答问题了。

我就喜欢答答这种没技术含量的。能碰上个我会答的问题真不容易。希望回答的没有太多错误。
2012-02-03 12:37
BianChengNan
Rank: 8Rank: 8
等 级:贵宾
威 望:13
帖 子:302
专家分:972
注 册:2011-11-30
收藏
得分:0 
pangding版主威武

我的群:149544757 C/C++/Assembly 喜欢交流的朋友进,进群请写消息
2012-02-03 14:13
快速回复:一个自学的新手关于代码迷惑。请高手赐教!!!
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017158 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved