C++ primer读书记录 第一次更新2021.7.6

需要对程序进行恰当的缩进保持程序的可读性

第一章 开始

cout<<c1<<endl;可以视为(cout<<c1)<<endl;
cin>>v1>>v2;可以视为(cin>>v1)>>v2;

endl的作用是将与设备相关联的缓冲区(buffer)的内容美国都刷到设备中去

//1.2节练习
#include <iostream>
using namespace std;

int main()
{
   cout << "Hello World!\n";
   cout << "Please enter two numbers" << endl;
   int c1, c2;
   cin >> c1 >> c2;
   cout << "The sum of two numbers is " << c1 + c2 << endl;
   cout << "The * of two numbers is" << c1 * c2 << endl;
   return 0;
}

在多行注释中,一个注释不能嵌套另一个注释

//1.4.1练习
int i = 50;
int sum = 0;
while (i <= 100)
	{
		sum += i;
		++i;
	}
cout << "The sum of 50 to 100 is " << sum << endl;
int j = 10;
while (j >= 0)
	{
		cout << j << " ";
		--j;
	}
cout << "Please enter two numbers" << endl;
int c1, c2;
cin >> c1 >> c2;
while (c2 >= c1)
	{
		cout << c1 << " ";
		++c1;
	}
//1.4.4练习
int cout_value= 0, value = 0;
if (cin >> cout_value)
{
   int cnt = 1;
   while (cin >> value)
	{
		if (cout_value == value)
		{
			++cnt;
		}
		else {
			cout << cout_value << " occurs" << cnt << " times" << endl;
			cnt = 1;
			cout_value = value;
		}
	}
	cout<< cout_value << "occurs" << cnt << "times" << endl;
}

如果1.4.4练习中输入相同的数字,那么程序会一直循序下去

点运算符只能用于类类型的对象,即左边运算对象必须是一个类类型的对象,右侧运算对象必须是该类型的一个成员名

第二章 变量和基本类型

一个字节占8比特,一个字通常由32或64比特构成,即4或8字节

2.1 基本内置类型

当函数不返回任何值时使用空类型作为返回类型

使用short进行整型运算,如果数值超过了int的表示范围,选用long long。

执行浮点数运算一般选用double,因为float通常精度不够而且双精度和单精度浮点数的计算代价相差无几

short<=int<=long

不要混用有符号数和无符号数

	unsigned u = 10, u2 = 42;
	int i = 10, i2 = 42;
	cout << u2 - u << endl;//32 正
	cout << u - u2 << endl;//4294967264 错
	cout << i2 - i << endl;//32 正
	cout << i - u << endl;//0 正
	cout << u - i << endl;//0 正

以0开头的数代表8进制数
以0x或0X开头的代表十六进制数
在默认情况下,十进制数是带符号数,8进制和十六进制没有明确规定

由单引号括起来的一个字符叫char型字面值
双引号括起来的零个或者多个字符叫做字符串型字面值,且编译器会在每个字符串的结尾处加上空字符(‘\0’),所以字符串实际长度会多1

转义字符也是字符,输出需要在引号内
将转义字符收集如下:
转义字符 意义 ASCII码值(十进制)
\a 响铃(BEL) 007
\b 退格(BS) 008
\f 换页(FF) 012
\n 换行(LF) 010
\r 回车(CR) 013
\t 水平制表(HT) 009
\v 垂直制表(VT) 011
\ 反斜杠 092
? 问号字符 063
’ 单引号字符 039
" 双引号字符 034
\0 空字符(NULL) 000
\ddd 任意字符 三位八进制
\xhh 任意字符 二位十六进制

不过要注意:

1,\v垂直制表和\f换页符对屏幕没有任何影响,但会影响打印机执行响应操作。

2,\n其实应该叫回车换行。换行只是换一行,不改变光标的横坐标;回车只是回到行首,不改变光标的纵坐标。

3,\t 光标向前移动四格或八格,可以在编译器里设置

4,’ 在字符里(即单引号里)使用。在字符串里(即双引号里)不需要,只要用 ’ 即可。

5,? 其实不必要。只要用 ? 就可以了(在windows VC6 和tc2 中验证)。

6, 转义字符中只能使用小写字母,每个转义字符只能看作一个字符。

泛化的转义字符是\x后紧跟1个或多个十六进制数字,或者\后跟1-3个八进制数字(不能超过三个)
C++ primer读书记录 第一次更新2021.7.6

2.2 变量

上一篇:《C++primer》学习:第二章(笔记及程序设计练习)


下一篇:c++学习笔记(1)——c++ primer plus