【C++ Primer Plus 第6版】第二章 开始学习 C++ 笔记篇
2022/3/19 20:28:44
本文主要是介绍【C++ Primer Plus 第6版】第二章 开始学习 C++ 笔记篇,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
【C++ Primer Plus 第6版】第二章 开始学习 C++
前言
要建造好房屋,首先要打地基、搭框架。如果一开始没有牢固的结构,后面就很难建造窗子、门框、屋顶和镶木地板等。同样,学习计算机语言时,应从程序的基本结构开始学起,只有这样,才能一步一步了解其具体的细节,如循环和对象等。下面是对C++程序的基本结构做一概述,并预览后面将介绍的主题,如函数和类。
2.1 进入C++
程序对大小写敏感
2.1.1 Main()函数
1.1 函数头、函数定义(函数体、结束函数return 0;) 1.2 C++中,语句结束用分号,不能省略 1.3 Main()函数头描述的是mian()和操作系统之间的接口 1.4 Void main()、int main(void)、return 0的区别 1.5 Main()不能使用其它名称原因:因为在运行C++程序时,通常从main()函数开始执行
2.1.2 C++注释
1.6 //打头;C注释/* */ 1.7 用注释说明程序内容
2.1.3 C++预处理器和iostream文件
1.8 预处理器作用:在编译之前,将iostrean文件的内容添加到程序中,在源代码被编译之前,替换或添加文本 1.9 编译指令:#include<iostrean> 1.10 使用cin和cout进行输入和输出的程序必须包含文件iostream
2.1.4 头文件名
1.11 C和C++的头文件差异 1.12 .h一般为头文件
2.1.5 名称空间
1.13 如果使用iostream,而不是iostream.h,则应使用名称空间编译指令来使iostream中的定义对程序可用 Using namespace std; 1.14 名称空间作用:用来区分多个同名函数,例如
Microflop::wanda("go dancing?"); //use Microflop namespace version Piscine::wanda("a fish named Desire"); //use Piscine namespace version;
1.15 如果要省时,最好的方法是通过使用using 声明来实现;就可以省略掉std::(iostream);
2.1.6 使用cout进行C++输出
1.16 Cout<<”come up and c++ me some time”;<<插入运算符 1.17 控制符endl;表示重起一行。 1.18 endl也是在头文件iostream中定义的,且位于名称空间std中 1.19 换行符:\n 1.20 如果输入一空行时,使用cout<<endl;更为方便
2.1.6 使用cout进行C++输出
1.16 Cout<<”come up and c++ me some time”;<<插入运算符 1.17 控制符endl;表示重起一行。 1.18 endl也是在头文件iostream中定义的,且位于名称空间std中 1.19 换行符:\n 1.20 如果输入一空行时,使用cout<<endl;更为方便
2.1.7 C++源代码的格式化1.21 ;表示结束语句
1.22 不能把空格、制表符或回车放在元素中间,也不能把回车符放在字符串中间。 1.23 源代码中的空格和内容要规范 1.24 源代码风格:每条语名占一行;每个函数都用花括号分开等
2.2 C++语句
// carrots.cpp--food processing program //uses and displays a veriable #include <iostream> int main() { using namespace std; int carrots; //declare an integer variable carrots = 25; //assign a value to the variable cout << "I have "; cout << carrots; //display the value of the variable cout << "carrots."; cout << endl; carrots = carrots-1; //modify the variable cout << "Crunch,crunch.Now I have" << carrots << "carrots."<<endl; return 0; }
2.2.1 声明语句和变量
1.25 声明变量不一定就是定义变量 1.26 声明变量时,会提供两项信息:需要的内存和该内存单元的名称 1.27 声明变量的作用:指出了要存储的数据类型和程序对存储在这里的数据使用的名称 1.28 对于声明变量,C++ 的做法是尽可能在首次使用变量前声明它
2.2.2 赋值语句
1.29 “=”,叫做赋值运算符 1.30 这样赋值也是合法的:yamaha=Baldwin=Steinway=88; 1.31 可以对变量的值进行修改:int carrots=20;carrots=carrots-1;
2.2.3 Cout的新花样
1.32 cout<<carrots;程序释义:cout将carrots替换为其当前值25;然后,把值转为合适的输出字符 1.33 在C语言中,要打印字符串“25”和int 25,可公使用C语言的多功能输出函数printf();
printf(“printing a string:%s /n”,”25”); printf(“printing a string:%s /n”,25);
2.3 其他C++语句
2.3.2 使用cout进行拼接
2.3.3 类简介
1.35 类是用户定义的一种数据类型 1.36 类描述的是数据格式及其用法,而对象则是根据数据格式规范创建的实体 1.37 类描述了一种数据类型的全部属性(包括可使用它执行的操作),对象是根据这些描述创建的实体 1.38 类描述指定了可对类对象执行的所有操作,要对特定对象执行这些允许的操作,需要给该对象发送一条消息:共两种方式:一种方式是使用类方法(函数调用);另一种方式是重新定义运算符
2.4 函数
函数分两种:有返回值和没有返回值
2.4.1 使用有返回值的函数
1.39 函数调用,被调用函数 1.40 参数是发送给函数的信息,返回值是从函数中发送回去的值 1.41 C++程序应当为程序中使用的每个函数提供原型(定义返回值和输入参数的类型是一样的) 1.42 原型结尾的分号表明它是一条语句,这使得它是一个原型,而不是函数头。如果省略分号,编译器将把这行代码解释尾一个函数头,并要求接着提供定义该函数的函数体 1.43 函数原型:原型只描述函数接口,也就是说,它描述的是发送给函数的信息和返回的信息 1.44 函数定义:包含了函数的代码
2.4.2 函数变体
1.45 当函数需要使用多个参数时,参数间用逗号分开。比如:answer=pow(5.0,8.0); 1.46 有些函数不接受任何参数。比如:int rand(void);关键字void明确指出,该函数不接受任何参数,如果省略void;让括号为空,则C++将其解释尾一个不接受任何参数的隐式声明,比如:myGues=rand(); 1.47 有些函数没有返回值。比如:bucks(1234.56);
2.4.3 用户定义的函数
1.48 对于库函数,在使用之前必须提供其原型,通常把原型放到main()定义之前头文件) 1.49 用户定义的函数,必须提供新函数的源代码,将代码放在main()的后面。(函数声明要放在前面或头文件中) 1.50 函数格式:
Type functionname(argumentlist) { statements }
1.51 函数头。Void表示没有返回值,不可赋给变量。 1.52 对于有返回值的函数(比如:int main();开头的int表明,main()返回的是一个整数,空括号表明main没有参数)用return 0;来提供返回值,并结束函数。
2.4.4 用户定义的有返回值的函数
1.53 使用return返回一个值,如右图
2.4.5 在多函数程序中使用suing编译指令
1.54 为了让多个函数都能够访问名称空间std,将编译指令放在函数的外面,且位于函数的最前面 1.55 让程序能够访问名称空间std的方法有多种,下面是其中四种 将using namespace std;放在函数定义前 将using namespace std;放在特定函数定义中 在特定函数中使用类似using std::count;这样的编译指令 完全不使用using,而在需要使用名称空间std中的元素时,使用std::
这篇关于【C++ Primer Plus 第6版】第二章 开始学习 C++ 笔记篇的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-05-13PingCAP 戴涛:构建面向未来的金融核心系统
- 2024-05-09flutter3.x_macos桌面os实战
- 2024-05-09Rust中的并发性:Sync 和 Send Traits
- 2024-05-08使用Ollama和OpenWebUI在CPU上玩转Meta Llama3-8B
- 2024-05-08完工标准(DoD)与验收条件(AC)究竟有什么不同?
- 2024-05-084万 star 的 NocoDB 在 sealos 上一键起,轻松把数据库编程智能表格
- 2024-05-08Mac 版Stable Diffusion WebUI的安装
- 2024-05-08解锁CodeGeeX智能问答中3项独有的隐藏技能
- 2024-05-08RAG算法优化+新增代码仓库支持,CodeGeeX的@repo功能效果提升
- 2024-05-08代码报错不用愁,CodeGeeX一键完成代码修复、错误解释的功能上线了!