C++ primer 复习 第一章

C++ primer 复习 第一章,第1张

C++ primer 复习 第一章 C++ primer 复习 第一章 1.1 编写一个简单的C++程序

C++程序内容

每个C++程序都包含一个或多个函数,其中一个必须命名为 main

函数的定义

函数名,参数列表,函数体,返回类型

main 函数

int main(){
	return 0;
}

类型

定义了数据元素的内容(所占内存大小)和该数据上可进行的计算

数据保存

数据保存在变量中,每个变量都有自己的类型

若 int a = 0,则 a 是一个int类型的变量或 a是 int型

内置类型

语言自定义的类型

1.2 输入和输出

(stream)流

一个流就是一个字符序列,从IO设备读出或写入。

流表示随着时间推移,字符序列是顺序生成还是消耗

IStream & OStream

输入流(input stream)& 输出流(output stream)

四个IO对象

IO对象名所属类型解释cinIStream的类型对象标准输入coutOStream的类型对象标准输出cerrOStream的类型对象标准错误clogOStream的类型对象一般日志打印

补充:cout << (或 cin >>)重载运算符会返回它本身

#include	// 使用标准库必须包含头文件

int main(){
	
    // std是标准库的命名空间
	std::cout << "Entenr two number " << std::endl;

	int num1, num2;
    
    // 等价于(std::cin >> num1) >> num2
    // >> 输入运算符,左边必须是istream对象
	std::cin >> num1 >> num2; 
	std::cout << "The sum of " << num1 << 
	" and " << num2 << " is " << (num1 + num2) << std::endl;
    
    //endl (end line) 结束当前行,将设备的缓存区内容刷到设备中

	system("pause");
	return 0;
}

注释

多行注释 用于解释函数或类

单行注释 用于解释单行语句

1.3 控制流循环和分支

控制流

语句一般顺序执行,但也能提供不同的控制流语句

while :根据判断条件,决定循环语句是否执行

int main(){
	int sum = 0, val = 1;
	while (val<=10){
		sum += val;
		++val;
	}

	std::cout << "sum of 1 to 10 includsive is " << sum << std::endl;
	system("pause");
	return 0;
}

for :检测变量以判断是否继续循环,且在循环体中递增这种模式非常普遍。for是为了简化这种过程

int sum = 0;
for (int val = 1; val <= 10;++val){
	sum += val;
}

小程序


//变量必须初始化, https://blog.csdn.net/qq_38880380/article/details/79459195
int sum = 0, val = 0;
//读取数据直至末尾(EOF/Ctrl+Z)或读取错误
while (std::cin>>val)
{
	sum += val;
}

std::cout << "The sum is " << sum << std::endl;

int count = 1, head = 0,behind = 0;

	std::cin >> head;
	while (std::cin >> behind)
	{	
		if (head == behind){
			++count;
		}else{
			std::cout << "The " << head << " number appear " << 
                count << " tiems" << std::endl;
			count = 1;
			head = behind;
		}
	}

	std::cout << "The " << head << " number appear " 
        << count << " tiems" << std::endl;
1.4 类简介

用来定义自己的数据结构

一个类定义了一种类型,及其相关的 *** 作

#include
#include


class Sales_item{
public:
	Sales_item(std::string isbn, double price, int copies){
		m_isbn = isbn;
		m_price = price;
		m_copies = copies;
	}

	//2、由于需要访问 Sales_item 类的私有成员,因此在 Sales_item 类定义中将它声明为友元
	friend std::ostream & operator<<(std::ostream & os, const Sales_item & salesItem);

private:
	std::string m_isbn;
	double m_price;
	int m_copies;
};

//1、因为没有办法修改 ostream 类,所以只能将 << 重载为全局函数的形式
std::ostream & operator<<(std::ostream & os, const Sales_item & salesitem)
{
	os << (salesitem.m_isbn + "t" + std::to_string(salesitem.m_copies) 
		+ "t" + std::to_string(salesitem.m_price)) << std::endl;
	return os;
}

int main(){
	Sales_item salesItem("0-2021-10-29", 59.9, 10);
	std::cout << salesItem;

	system("pause");
	return 0;
}

成员函数

类中定义的函数,也被称为方法

VS 快捷注释

注释: 先CTRL+K+C

取消注释: 先CTRL+K+U

左移运算符

C++ 中左移运算符 << 可以和标准输出 cout 一起用于输出,因此也常被称为输出运算符

<< 本没有这样的功能,因为其被 ostream 重载了,cout 是 ostream 类的对象。在头文件 中声明,ostream 类将 << 重载为成员函数,如下

ostream & ostream::operator << (const char* s)
{
    //输出s的代码
    return * this;
}
附 第一章思维导图

方便复习和记忆

C++ 中左移运算符 << 可以和标准输出 cout 一起用于输出,因此也常被称为输出运算符

<< 本没有这样的功能,因为其被 ostream 重载了,cout 是 ostream 类的对象。在头文件 中声明,ostream 类将 << 重载为成员函数,如下

ostream & ostream::operator << (const char* s)
{
    //输出s的代码
    return * this;
}
附 第一章思维导图

方便复习和记忆
初识C++,整了个错别字,擦汗

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/4949811.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-13
下一篇 2022-11-13

发表评论

登录后才能评论

评论列表(0条)

保存