初识C++,向大家介绍几个我用来做练习编写的几道小程序,都是C++Primer上面的练习题,分享给大家。
eg1:编写程序,使用递减运算符在循环中按递减顺序打印出10到1之间的整数。
代码如下:
#include<iostream> #include<cstdlib> using namespace std; int main() { int i=10; while(i) { cout<<i; --i; } system("pause"); return 0; }
运行结果:10 9 8 7 6 5 4 3 2 1
公子小贴士:由于我在main函数前添加了using namespace std;这句话,所以直接用到了cout。大家在没有添加之前,要记得写成std::cout<<"i="<<endl;这样子。因为前缀std::指出cout和endl是定义在名为std的命名空间(namespace)中的。命名空间可以帮助我们避免不经意间的名字冲突,以及使用库中相同名字导致的冲突。标准库定义的所有名字都在命名空间std中。这是C语言中所没有的。通过命名空间使用标准库有一个副作用,当我们使用时必须显式的说明我们想使用来自命名空间的名字,例如std::cout.using对命名空间声明之后就可以不再显式说明了。两种方法都可,不过还是推荐大家声明,因为这样可以少写许多东西哦。
eg2:编写程序,提示用户输入两个整数,打印出这两个整数所指定的范围内的所有整数。
代码如下:
#include<iostream> #include<cstdlib> using namespace std; int main() { int num1=0; int num2=0; int ret=0; cin>>num1>>num2; while(num1<=num2) { cout<<num1<<‘ ‘; num1++; } system("pause"); return 0; }
运行结果:3 8
3 4 5 6 7 8
公子小贴士:我们在上述的程序中都用到了输出运算符(<<)在标准输出上打印信息。<<运算符要接收两个运算对象:左侧的运算对象必须是一个ostream对象,右侧的运算对象是要打印的值。这个例子中我们的输出语句使用了两次<<。因为此运算符返回其左侧的运算对象,因此第一个运算符的结果成为了第二个运算符左侧的运算对象,这样,我们就可以将输出请求连接起来。
eg3:编写程序,从cin读取一组数字,输出其和。
代码如下:
#include<iostream> #include<cstdlib> using namespace std; int main() { int sum=0; int val=0; while(cin>>val) { sum+=val; } cout<<"sum="<<sum; cout<<endl; system("pause"); return 0; }
运行结果:1 2 3 4 5 6 7 8 9 10
sum=55
上面的例子虽然很简单,大多数我们学习C语言时已经掌握,但却可以起到一个很好的练习作用,使我们熟悉C++的操作符、运算符以及输入输出流,体会到两者的不同。
原文地址:http://luminous.blog.51cto.com/10797288/1738816