C++ Primer Plus学习笔记一(第二章)

1)有些窗口环境在独立的窗口中运行程序,并在程序运行完毕后自动关闭该窗口。要让窗口一直打开,直到你按任何键,可在return语句之前添加:cin.get();。


2)C++注释:C++注释以双斜杠(//)打头,到行尾结束。可以位于单独的一行上,也可以和代码位于同一行上。编译器完全忽略注释。


/*--------------------------------------------------*/

这个是C风格的注释,可以跨越多行。在C++中也适用,但应尽量使用C++风格注释,因为这里不涉及到结尾符号与起始符号的正确配对,所以它产生问题的可能性很小。


应该使用注释来说明程序,程序越复杂,注释的价值就越大。不仅帮助别人理解代码,也有助于自己日后重新应用代码。


3)#include <iostream> 

该编译指令导致预处理器将iostream文件的内容添加到程序中。在源代码被编译之前,替换或添加文本。也就是说:iostream文件的内容取代程序中此代码行。


C++头文件没有扩展名(.h)。有些C头文件被转换为C++头文件,只是去掉了扩展名h(使之成为C++风格),并在前面加上前缀c(表面来自c语言)。如math.h-->cmath。


4)如果使用iostream,而不是iostream.h,则应该使用下面的名称空间编译指令来使iostream中的定义对程序可用,即:using nemespace std;


类、函数和变量就是C++编译器的标准组件,它们是在名称空间std中。仅当头文件没有扩展名h时,才需要添加这个名称空间。


使用cin和cout进行输入和输出的程序必须包含文件iostream。如果没有使用:using nemespace std;

这句,那么就要这样运用cin,cout,endl:

std::cout<<"Come up with me!";

std::cin>>string[];

std::cout<<std::endl;


或者在前面加上using ,也就是这样:

using std::cout;

using std::endl;

using std::cin;


5)cout<<"come up and C++ me some fime";

cout的对象属性包括一个插入运算符(<<),它可以将其右侧的字符串信息插入到输出流中。


<<符号表示将该字符串发送给cout,指出了信息流动的路径。


如果string是一个字符串,则这样表达来显示该字符串:

cout<<string;


<<是运算符重载的例子,既表示插入运算符,也表示按位左移运算符。

&既表示地址运算符,也表示按位AND运算符。

*既表示乘法,也表示指针解除引用。


6)控制符endl:另起一行

cout<<endl;

在输出流中插入endl将导致屏幕光标移动到下一行开头。


endl在头文件iostream中定义,且位于名称空间std中。


C语言换行符:“\n”

cout<<"What is next?\n";也能起到换行的效果


二者区别:显示引号括起的字符串时,一般用换行符“\n”,其他情况则用控制符endl。endl确保程序继续运行前刷新输出(就是立即将内容显示在屏幕上);而使用“\n”不一定能这样做。


7)C++代码格式化:

不能把空格、制表符或回车放在元素中间,也不能把回车放在字符串中间。下面做法是错误的:

int ma  in()          //空格                              re

   turn  0;              //换行符

cout <<"never  give

up!";     //换行符


必须用空格、制表符或回车将两个标记分开,空格、制表符和回车统称为空白。注意,空格和回车是可以互换的。

int                                            intmain()              错误

main()    正确                          int main()         正确

                                                return(0);      正确

return0;     错误                      return(0);              正确


每条语句占一行。

每个函数都有一个开始花括号和一个结束花括号,这两个花括号各占一行。

函数中的语句都相对于花括号进行缩进。

与函数名称相关的圆括号周围没有空白。也就是int  foo();  foo也()之间不应该有空格。


8)使用cout进行拼接

可以将4条语句合并为一条:

cout<<"now you have"<<carrots<<"carrots"<<endl;


也可以分开来书写:

cout<<"now you have";

cout<<carrots;

cout<<"carrots";

cout<<endl;


也可以将一条语句写在4行上:

cout<<"now you have";

<<carrots;

<<"carrots";

<<endl;

这是因为自由格式规则将换行符和空格看作是可以互换的。


注意:cout语句的输出紧跟在前一条cout语句的输出后面,即使两条cout语句之间有其他语句,也是如此。


9)关于main函数的调用

int main()

{... ...

return 0;

}

程序中没有哪个地方可以看出对main函数的调用?


可以将计算机操作系统(如UNIX或Windows)看作调用程序。因此,函数调用main函数是返回给操作系统的。很多操作系统都可以使用程序的返回值。


10)让程序访问名称空间std的方法有一下4种:

a,将using namespace std;放在函数定义之前,让文件中所有的函数都能够使用名称空间std中所有的元素。


b,将using namespcae std;放在特定的函数定义中,让该函数能够使用名称空间std中所有的元素。


c,在特定的函数中使用using std::这样的编译命令,让该函数使用特定的元素。


d,完全不用编译指令using ,而在需要使用名称空间std中的元素时,再使用前缀std::。


注意区分c和d两种方法的差别。


第二章(完)








评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值