【程序的基本框架】
#include <iostream> using namespace std; int main(void) { return 0; } |
【main函数的组成结构图】
函数头:指出函数的返回值(如果有的话)的类型和函数期望通过参数传递给它的信息的类型。
函数体:由一系列位于花括号({})中的C++语句组成。
C++程序的模块叫什么?答:函数。
【函数特性】
- 有函数头和函数体;
- 接受一个参数;
- 返回一个值;
- 需要一个原型。
【代码风格】
- 每条语句占一行。
- 每个函数都有一个开始花括号和一个结束花括号,这两个花括号各占一行。
- 函数中的语句都相对于花括号进行缩进。
- 与函数名称相关的圆括号周围没有空白
【C++语句】
- 声明语句:定义函数中使用的变量的名称和类型。
- 赋值语句:使用赋值运算符(=)给变量赋值。
- 消息语句:将消息发送给对象,激发某种行动。
- 函数调用:执行函数。被调用的函数执行完毕后,程序返回到函数调用语句后面的语句。
- 函数原型:声明函数的返回类型、函数接受的参数数量和类型。
- 返回语句:将一个值从被调用的函数那里返回到调用函数中。
【注释】
- //双斜线注释单行;
- /* */注释多行;
【预处理】
例如:#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; //表示返回一个代数值,一般用在子函数结尾表示该函数失败
【函数类型】
- 有返回值;例:x = sqrt(25);//在程序中使用sqrt( )时,必须提供原型(包含头文件或输入该函数)
- 无返回值;
【常用的数学函数】
使用数学函数库中的函数要加一条头文件语句:#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;
}