还是一个关于C++的小问题~这次分值200

来源:百度知道 编辑:UC知道 时间:2024/05/13 23:20:02
1.简单描述 char name[20] 的意思,通俗易懂最好!
2.cin.get()和cin.getline(),两者的区别,以及两者如何实现换行?
3.如何初始化数据? 例如 name是一个字符数据,如何将其初始化为一个字符串?
4.cin》year;
cin.get();
和cin.get(year.aaa)以及(cin》year).get();
三者之间的区别,请一一解释!
还有就是最后一个为什么等同于第一个函数?最后两个函数写成这样有什么好处?通俗易懂 最好!
5.请解释一下名称空间,为何程序要加入它?有何用处?它如何演变而来?
6. char charr[20]="jaguar";
char charr[20]; 为何jaguar上加有双引号?有何作用?为什么这样表示? 这两个函数的区别,尤其第一个函数请解释一下!通俗易懂最好!
是否可以将第一个函数变成简单易懂的函数?几行都可以!
7.return 0; 为何要在程序结尾加上这个函数?他有什么用?解释一下它的作用!
8.介绍一下 关键字 struct 和 标识符inflatable

以上问题不需要长篇复制!只需要一一解答就可以!200分一份不少
刚开始学习C++ 大约一周!不是特别会!所以问题有些白!还好...呵呵

没人指导~所以只好自己一边学一边问你们问题了!不过还好,正在慢慢进入正轨!有点难,但是多看几边就会慢慢好了!
问题是有些棘手!有些我实在是搞不懂!会混淆!所以问一下!
不过还是谢谢你们!

是不是应该关注个半天后再来回答?- -!(原来楼上有人了,话糟理不糟,其实这里边很多问题都挺基础的,不过基础了反而不好回答,又想起了那个为什么1+1=2的狗血问题- -~~)
如果这个是作业题的话,如果这个是你自己的疑问的话,两个答法不太一样。
不扯了,开始敲:
1.char name[20]是一个字符数组,可以用来存放以‘\0’结尾的字符串。这条语句是声明一个可以存放20个字符的字符数组(含‘\0’)。系统在碰到这条声明语句后会在内存中分配20*1个字节的空间。name,即数组名,它的值就是这块内存的首地址。
2.get用来取一个字符,getline用来取一串字符(注意都是字符)。来看看两个函数的声明可以帮助我们理解一些问题:
///这两个函数实际上的声明在iostream里,属STL的内容,很复杂,简化下如下
istream & get()//得到一个字符,包括空白符(空格,tab,回车等等)
istream & getline(char *buf,int count,char end)//得到一行,包括空白符
get没什么好说的。getline要注意,第一个buf是存放数据的缓冲区,第二个是读取多少个字符,以字节计,end代表终止字符!就是碰到这个字符时就停止读入(这个字符本身也不读到buf中)
这两个函数没什么好换行的,因为换行符也读。第一个就读一个,无所谓换行,第二个换行(是不是终止读入?)就是end字符
eg:
cin.getline(line,100,'t');///输入"abcdefgtabc"时,就只读出了"abcdefg"
3初始化:声明的同时给变量赋值int i=0;//就这样初始化
初始化好用,方便,快捷,从很深的地方说,初始化让程序效率有一点点的提高!
初始化字符串有N多个方法:
(1)char name[]="joneykk";
(2) char name[20]={'j','o','n'};//好像没人用