C++学习笔记—— 第一个C++程序&C++语句

Posted 归止于飞

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C++学习笔记—— 第一个C++程序&C++语句相关的知识,希望对你有一定的参考价值。

本文使用的编译器是VScode2017,教材是C++primer plus(第六版)。我将在blog上记录C++学习的过程与问题,以供他人参考与自己查漏补缺。

2.1 第一个C++程序:

#include<iostream>
int main()
{
	using namespace std;//make definitions visible
	cout << "Hello world!";
	cout << endl;
	return 0;
}

如果需要窗口一直打开直到按任意键,可以在return语句前加上cin,get();
注意,这虽然是最简单的C++程序,其中包括了

  • 注释,由前缀//标识
  • 预处理器编译指令#include
  • 函数头:int main()
  • 编译指令using namespace
  • 函数体,和{}括起
  • 使用C++语句的cout工具显示消息的语句
  • 结束main函数的return语句
    下面将分开介绍

2.1.1.main()函数

main()函数的基本结构如下

int main()
{
	statements
	return 0;
}

语句是要执行的操作。在C++中,不能省略分号。
C++语法要求main函数的定义从int main()开始。
a.作为接口的函数头
函数头描述了函数与调用它的函数之间的接口。位于函数前面的部分叫做函数返回类型,它描述的是从函数返回它的调用函数的信息。函数名后括号中的部分叫做形参列表或参数列表,它描述的是调用函数传递给被调用函数的信息。
经典的C函数头main()&省略返回语句的void main()都是被淘汰的。有个使用标准语法 int main()。
如果main()到结尾都没有返回语句,则认为main函数以return 0;结尾。
b.为什么main不使用别的名称
C++程序中必须包含一个名为main()的函数。
存在一些特殊情况,编写一个动态链接库(DLL模块)。由于DLL不是独立程序,因此不需要main()。

2.1.2 C++注释函数

C++注释以双斜杠(//)打头,与C语言一致

2.1.3 C++预处理器和iostream文件

如果需要使用到C++的输入输出工具,请提供这两行代码

#include<iostream>
using namespace std;

#include<iostream>该编译指令导致预处理器将iostream文件的内容添加到程序中。这涉及到程序与外部环境的通信。
注意:使用cin与count进行输入与输出的程序必须包括iostream

2.1.4 头文件名

像iostream这样的文件叫做包含文件,也叫头文件。这是纯粹C++风格的头文件,去掉h以后可以包含名称空间。

2.1.5 名称空间

using namespace std;

这个叫做using编译指令。先接受它,以后再考虑。
名称空间可以区分不同代码组成的程序里相同命名的函数。
类,函数,变量便是C++编译器的标准组件,它们都存放再名称空间std里。

2.1.6 使用cout进行C++输出

cout << "Hello world!";

如果对象是字符串,cout的接口十分简单

cout << string;

它将一个字符串插入到了输出流中。
1.控制符endl
endl是一个特殊的C++字符,它代表一个重要的概念:重起一行。在输出流将光标移到下一行开头。
2.换行符
C++还提供一种在输出中代表换行的旧式方法:C语言符号\\n
换行符是一种被称为“转义序列”的按键组合

2.1.7 C++源代码的格式化

C++中一条语句的结束是;,这代表一条语句可以分开几行,也可以几条语句放在同一行。
1.源代码中的标记与空白
2.C++源代码的风格

  • 每条语句占一行
  • 每个函数都有一个开始的花括号和一个结束的花括号,两个花括号各占一行
  • 函数中的语句都相对于花括号进行缩进
  • 与函数名称相关的圆括号周围没有空白

2.2 C++语句

C++程序是一组函数,函数是一组语句。C++中有好几种语句。下面程序提供了新的语句。声明语句创建变量,赋值语句给变量提供一个值,另外,该程序演示了cout的新功能。

#include<iostream>

int main()
{
	using namespace std;

	int carrots;

	carrots = 25;
	cout << "I have";
	cout << carrots;
	cout << " carrots.";
	cout << endl;
	carrots = carrots - 1;
	cout << "Crunch,crunch.Now I have" << carrots << "carrots.";
	return 0;
}

2.2.1 声明语句与变量

要存储信息在计算机中,必须指出信息的存储位置和所需的内存空间。如下列语句:

int carrots;

这条语句提供了两项信息:需要的内存以及该内存单元的名称。。其次,它给存储单元指定了名称。变量的声明可以有效防止编程时的拼写错误。
这里程序中的声明是定义声明,简称为定义。在较为复杂的情况下,会有引用声明。可以命令计算机在其它地方定义的变量。

2.2.2 赋值语句

carrots = 25;

符号=叫做赋值运算符。
C++和C有一项不寻常的特性——可以连续使用赋值运算符。
例如:

int a;
int b;
int c;
a=b=c=88;

赋值从右到左进行。

carrots = carrots - 1;

可以对变量的值进行修改。

2.2.3 cout的新花样

cout << carrots;

此程序没有打印carrots,而是打印储存在carrots的数值。经笔者测试:

cout << "Crunch,crunch.Now I have " <<  carrots-1  << " carrots.";

直接把运算式放入cout也是可以跑出来的。
cout与printf()的区别
printf()不够精细,如果打印字符串又错误提供了一个整数,会显示一堆乱码。而cout能识别和显示所开发的新数据类型。如果喜欢printf()的精细控制,可以使用更高级的cout达到同一效果。

2.3 其他C++语句

#include<iostream>

int main()
{
	using namespace std;

	int carrots;

	cout << "How many carrots do you have?" << endl;
	cin >> carrots;
	cout << "Here are two more. ";
	carrots = carrots + 2;
	//the next line concaten output
	cout << "Now you have" << carrots << "carrots." << endl;
	return 0;
}

2.3.1 使用cin

2.3.2 使用cout进行拼接

2.3.3 类简介

2.4 函数

2.4.1 使用返回值的函数

2.4.2 函数变体

2.4.3 用户定义的函数

2.4.4 用户定义的有返回值的函数

2.4.5 在多函数程序中使用using编译指令

以上是关于C++学习笔记—— 第一个C++程序&C++语句的主要内容,如果未能解决你的问题,请参考以下文章

重学C++:笔记C++基础容器&C++指针引用

重学C++:笔记C++基础容器&C++指针引用

重学C++:笔记C++基础容器&C++指针引用

重学C++:笔记C++基础容器&C++指针引用

C++泛型编程&模板学习笔记

C++泛型编程&模板学习笔记