【C++ Primer Plus】第2章 开始学习C++

【程序的基本框架】

#include <iostream>

using namespace std;

int main(void)

{

        return 0;

}

main函数的组成结构图】

函数头:指出函数的返回值(如果有的话)的类型和函数期望通过参数传递给它的信息的类型。

函数体:由一系列位于花括号({})中的C++语句组成。

C++程序的模块叫什么?答:函数。

【函数特性】

  1. 有函数头和函数体;
  2. 接受一个参数;
  3. 返回一个值;
  4. 需要一个原型。

【代码风格】

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

C++语句】

  1. 声明语句:定义函数中使用的变量的名称和类型。
  2. 赋值语句:使用赋值运算符(=)给变量赋值。
  3. 消息语句:将消息发送给对象,激发某种行动。
  4. 函数调用:执行函数。被调用的函数执行完毕后,程序返回到函数调用语句后面的语句。
  5. 函数原型:声明函数的返回类型、函数接受的参数数量和类型。
  6. 返回语句:将一个值从被调用的函数那里返回到调用函数中。

【注释】

  1. //双斜线注释单行;
  2. /*  */注释多行;

【预处理】

例如:#include <iostream>

该编译指令导致预处理器将iostream文件的内容添加到程序中。这是一种典型的预处理器操作:在源代码被编译之前,替换或添加文本。

为什么要将iostream文件的内容添加到程序中呢?

答案涉及程序与外部世界之间的通信。iostream中的io指的是输入(进入程序的信息)和输出(从程序中发送出去的信息)。C++的输入/输出方案涉及iostream文件中的多个定义。为了使用cout来显示消息,第一个程序需要这些定义。#include编译指令导致iostream文件的内容随源代码文件的内容一起被发送给编译器。实际上,iostream文件的内容将取代程序中的代码行#include <iostream>。原始文件没有被修改,而是注意:将源代码文件和iostream组合成一个复合文件,编译的下一阶段将使用该文件。

【声明语句】

程序中的声明语句叫做定义声明(defining declaration)语句,简称为定义(definition)。
这意味着它将导致编译器为变量分配内存空间

例如:int carrots;   //定义一个整型变量carrots;

【赋值语句】

赋值语句将值赋给存储单元。
符号=叫做赋值运算符。C++(和C)有一项不寻常的特性—可以连续使用赋值运算符。

int carrots = 8;  //将整数8赋给变量carrots表示的内存单元;
int a, b, c;    
a = b = c = 8;    //连续赋值将从右向左进行;不可以这样int a=b=c=8;

【返回语句】

程序开发一般惯例:

return 0;  //代表程序正常退出
return 1;  //代表程序异常退出
​​​​​​​return -1; //表示返回一个代数值,一般用在子函数结尾表示该函数失败

【函数类型】

  1. 有返回值;例:x = sqrt(25);//在程序中使用sqrt( )时,必须提供原型(包含头文件或输入该函数)
  2. 无返回值;

【常用的数学函数】

使用数学函数库中的函数要加一条头文件语句:#include <cmath>

sqrt()       //平方根函数
pow()       //指数函数,两个参数(底,指数的幂)

【自定义函数的声明和使用】

函数void simon(int n)括号中的int n表明,使用simon( )时,应提供一个int参数。n是一个新的变量,函数调用时传递的值将被赋给它。

using编译指令】

例如:using namespace std;  //名称空间编译指令来使iostream中的定义对程序可用。

C++提供了两个用于处理输入和输出的预定义对象(cin和cout),它们是istream和ostream类的实例,这两个类是在iostream文件中定义的。为ostream类定义的插入运算符(<<)使得将数据插入到输出流成为可能;为istream类定义的抽取运算符(>>)能够从输入流中抽取信息。cin和cout都是智能对象,能够根据程序上下文自动将信息从一种形式转换为另一种形式。

【基本输入输出语句】

使用标准输入输出前必须使用<iostream>头文件和using编译指令语句:using namespace std;

cin >> carrots;                 //从键盘输入一个数,赋值给carrots变量。信息从cin流向carrots。
cout << carrots >> endl;        //打印存储在carrots中的整数值.并换行。
cout.setf(ios.base::fixed, ios_base::floatfield);  //规定输出浮点数显示到小数点后六位
cout << “胡萝卜个数:” << carrots << endl;          //输出文字和变量carrots的数值,双引号中是输出字符串。
cout << “一个有换行的输出方法1:” << endl;
cout << “一个有换行的输出方法2:\n”;
cout << “一个有换行的输出方法3:” << ‘\n’;
cout << “一个有换行的输出方法4:” << “\n”;

【实例代码】

#include <iostream>	    //输入输出的预编译指令
#include <cmath>	    //数学函数库的预编译指令

using namespace std;	//名称空间编译指令来使<iostream>中的定义对程序可用

int main(void)		    //主函数
{
	int area(int m);	//声明自定义函数area
	int x, z;			//定义两个int类型的变量

	cout << "请输入一个正方形的边长:";	//屏幕输出提示
	cin  >> z;			//从键盘输入一个int变量
	x = area(z);		//调用自定义函数area函数
	cout << "这个正方形的面积是:" << x << endl;	//endl换行控制语句
	cout << "请输入另一个正方形的面积:";
	int w, y;			//在使用变量前的任意位置声明变量
	cin  >> w;
	y = sqrt(w);		//调用库函数sqrt
	cout << "这个正方形的边长是" << y << endl;

	return 0;			//返回语句
}

int area(int m)
{
	return m * m;
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值