C++表达式是值或值与运算符的组合,每个C++表达式都有值。

for循环(阶乘)
#include <iostream>
using namespace std;
const int ArSize = 16;   //外部声明
int main()
{
    long long factorials[ArSize];
	factorials[1] = factorials[0] = 1LL;
	for (int i= 2; i < ArSize ;i++)
		factorials[i] = i * factorials[i-1];
	for (i= 0; i < ArSize ; i++)
		std::cout<< i <<"! = "<< factorials[i] << std::endl;
    return 0;
}

该程序用一个循环来计算连续阶乘的值,并将这些值存储在数组中。然后,用另一个循环来显示结果。
我的系统不支持long long
图片说明
书上推荐使用double
图片说明
可以使用long的,推荐使用long,可是的阶乘的增大方式看起来更明显。
图片说明
图片说明


iostream类提供了多种逐字节地读取文本输入或文本文件的方法。
1)如果ch是一个char变量,cin>>ch; 语句可将输入中的下一个字符读入到ch中,但会忽略空格、换行符和制表符。
2)cin.get(ch)和ch=cin.get()成员函数调用读取输入中的下一个字符(而不管字符是什么),并将其存储到ch中。
3)cin.get(ch)成员函数调用通过返回转换为false的bool值来指出已到达EOF,
而ch=cin.get()成员函数调用通过返回转换为EOF的bool值来指出已到达EOF(EOF是在文件iostream中定义的)。

复习题
1、在查看输入方面,cin>>ch和cin.get(ch)和ch=cin.get()有什么不同?
答:cin>>ch将跳过空格、换行符和制表符,其他两种格式将读取这些字符。

2、入口条件循环和出口条件循环之间的区别是什么?各种C++循环分别属于其中的哪一种?
答:输入条件循环在进入输入循环体之前将评估测试表达式。如果条件最初为false,则循环不会执行其循环体。退出条件循环在处理循环体之后评估测试表达式。因此,即使测试表达式最初为false,循环也将执行一次。for和while循环都是输入条件循环,而do while循环时退出条件循环。

3、编写一个使用嵌套循环的程序,要求用户输入一个值,指出要显示多少行。然后,程序将显示相应行数的星号,其中第一行包括一个星号,第二行包括两个星号,依此类推。每一行包含的字符数等于用户指定的行数,在星号不够的情况下,在星号前面加上句号。
#include <iostream>
using namespace std;
int main()
{
    int n;
	cout<<"Enter number of rows:" << endl;
	cin>>n;
	for(int i=n;i>0;i--)
	{
		for(int k=i-1;k>0;k--)
		{
			cout<<'.';
		}
		for(int j=n-i+1;j>0;j--)
		{
			cout<<'*';
		}
		cout<<endl;
	}
    return 0;
}


图片说明