ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

【C++ Primer Plus 第6版】第二章 开始学习 C++ 笔记篇

2022-03-19 18:59:08  阅读:164  来源: 互联网

标签:std Primer 函数 C++ Plus 返回值 2.1 main


提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

【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::

标签:std,Primer,函数,C++,Plus,返回值,2.1,main
来源: https://blog.csdn.net/m0_58725588/article/details/123599378

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有