C++初学(2)

2.1、其他简单C++语句例子

下面这个程序要求运行时输入值

#include <iostream>
int main()
{
	using namespace std;
	int yuanshi;
	cout << "How many yuanshi do you have?" << endl;
	cin >> yuanshi;
	cout << "Here are two more." << endl;
	yuanshi += 2;
	cout << "Now you have " << yuanshi << " yuanshi." << endl;

	return 0;
}

下面是该程序的运行情况

该程序包含两项新特性:用cin来读取键盘输入以及将四条输出语句组合成一条。下面分别介绍它们。

2.1.1、使用cin

上面输出表明,从键盘输入的"158"最终被赋给变量yuanshi。下面就是执行该功能的语句:

cin>>yuanshi;

cin的用法与cout相反,iostream文件将cin定义为一个表示这种流的对象。输出时,<<运算符将字符串插入到输出流中;输入时,cin使用>>运算符从输入流中抽取字符,需要在运算符右侧提供一个变量,以便接收到抽取的信息。

2.1.2、使用cout进行拼接

cout << "Now you have " << yuanshi << " yuanshi." << endl;

这其实将几个语句进行合并输出,得出的结果与下面相似

cout<<"Now you have ";
cout<<yuanshi;
cout<<" yuanshi.";
cout<<endl;

或者

cout<<"Now you have ";
     <<yuanshi;
     <<" yuanshi.";
     <<endl;

2.1.3、类简介

类是C++中面向对象编程(OOP)的核心概念之一。

类是用户定义的一种数据类型。要定义类,需要描述它能够表示什么信息及可对数据执行哪些操作。**也就是说,类定义描述的是数据格式及其用法,而对象则是根据数据格式创建的实体。**换句话说,类就好比985、211,而对象就好比清北。

现在来看cout,它是一个ostream类对象。ostream类定义(iostream文件的另一个成员)描述了ostream对象表示的数据以及可以对它的操作。

知道了类是用户定义的类型,但作为用户,并没有设计ostream和istream类。就像函数可以来自函数库一样,类也可以来自类库。这些类定义位于iostream文件中,没有被内置到编译器中。类描述指定了可对类对象执行的所有操作。要对特定对象执行这些允许的的操作,需要给该对象发送一条信息。C++提供了两种发送信息的方式:一种方式是使用类方法(本质上是函数调用,下面会讲),另一种是重新定义运算符,cin和cout用的就是这个方法。

2.2、函数

函数用于创建C++程序的模块,对C++的OOP定义至关重要,现在了解函数的一些基本特征。

C++函数分为两种:有返回值的和没有返回值的。下面首先来看有返回值的函数。

2.2.1、使用有返回值的函数

有返回值的函数将生成一个值,而这个值可赋给变量或在其他表达式中使用。例如,C/C++库包含一个名为sqrt()的函数,它返回平方根。假如要计算6.25的平方根,并将这个值赋给变量x,则可以在程序中使用下列语句:

x=sqrt(6.25);

括号内的参数传递给函数,得到的结果叫作返回值。在使用函数之前,C++编译器必须知道函数的参数定义和返回值类型。C++提供这种信息的方式是使用函数原型语句。

注:C++程序应当为程序中使用的每个函数提供原型。

double sqrt(double);

表示函数需要一个double参数,返回一个double参数。原型结尾的分号表明它是一条语句,这使得它是一个原型,而不是函数头。在程序使用函数时,可以通过两种方式提供原型:

1.在源代码文件输入函数原型

2.包含定义了原型的头文件

第二种更好,更有可能使原型正确。库文件包含了函数的编译代码,而头文件则包含了原型。

应在首次使用函数之前提供其原型,通常的做法是把原型放到main()函数定义的前面。

在C++中,cin和cout知道如何将信息转化为double类型,这些对象都很智能化。

2.2.2、函数变体

有些函数需要多项信息。如数学函数pow()。

double pow(double,double);

另外一些函数不接受任何参数。如随机函数rand(),并返回一个随机函数。

int rand(void);

关键字void明确指出,该函数不接受任何参数。如果省略void,则C++将其解释为一个不接受任何参数的隐式声明。

如果在函数之前加上void,代表该函数没有返回值。

2.2.3、自定义的函数

1.函数格式:和main()函数一致。

2.函数头:yuanshen的函数头是void yuanshen (int n),开头的void表明yuanshen()没有返回值,因此不能在赋值使用它。

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

using namespace std;

1.将其放到main()函数前面,能让所有函数使用名称空间std的所有元素。

2.放到指定函数定义中,让该函数能使用名称空间std的所有元素。

3.其他用法与上一篇相似。

今天就那么多

相关推荐
A懿轩A1 小时前
C/C++ 数据结构与算法【数组】 数组详细解析【日常学习,考研必备】带图+详细代码
c语言·数据结构·c++·学习·考研·算法·数组
古希腊掌管学习的神1 小时前
[搜广推]王树森推荐系统——矩阵补充&最近邻查找
python·算法·机器学习·矩阵
云边有个稻草人1 小时前
【优选算法】—复写零(双指针算法)
笔记·算法·双指针算法
机器视觉知识推荐、就业指导1 小时前
C++设计模式:享元模式 (附文字处理系统中的字符对象案例)
c++
半盏茶香1 小时前
在21世纪的我用C语言探寻世界本质 ——编译和链接(编译环境和运行环境)
c语言·开发语言·c++·算法
忘梓.2 小时前
解锁动态规划的奥秘:从零到精通的创新思维解析(3)
算法·动态规划
Evand J2 小时前
LOS/NLOS环境建模与三维TOA定位,MATLAB仿真程序,可自定义锚点数量和轨迹点长度
开发语言·matlab
LucianaiB2 小时前
探索CSDN博客数据:使用Python爬虫技术
开发语言·爬虫·python
Ronin3052 小时前
11.vector的介绍及模拟实现
开发语言·c++
✿ ༺ ོIT技术༻2 小时前
C++11:新特性&右值引用&移动语义
linux·数据结构·c++