例1.1

演示使用结构对象的示例程序。

 //功能:将结构对象的两个域值相加,乘以2再加50
#include <iostream>//包含头文件 using namespace std;//使用命名空间 int result(int, int);//result函数的原型声明
const int k = ;//定义常量
struct Point//定义结构point
{
int x, y;//定义结构成员x和y
};
//空行
int main()//主程序
{//主程序开始
int z(), b();//初始化整数对象
Point a;//定义结构对象a cout << "输入两个整数(以空格区分):";//输出提示信息
cin >> a.x >> a.y;//接受输入数值 z = (a.x + a.y)*k;//计算结果
z = result(z, b);//计算结果 cout << "计算结果如下:" << endl;//输出信息并换行
cout << "((" << a.x << "+" << a.y//输出信息
<< ")*" << k << ")+" << b//输出信息
<< "=" << z//输出结果
<< endl;//换行 return ;//主函数main的返回值
}
//*********************
//函数:result
//参数:整型对象a和b
//返回值:整型对象
//*********************
int result(int a, int b)
{
return a + b;//返回a+b
}

例1.2

函数重载产生多态性的例子。

 #include <iostream>

 using namespace std;

 int max(int, int);//2个整型参数的函数原型
int max(int, int, int);//3个整型参数的函数原型 int main()
{
cout << max(, ) << "," << max(, , ) << endl; system("pause");
} int max(int m1, int m2)
{
return (m1 > m2) ? m1 : m2;
} int max(int m1, int m2, int m3)
{
int t = max(m1, m2);
return max(t, m3);
}

例1.3

演示使用new和delete的例子。

 #include <iostream>

 using namespace std;

 void main()
{
double *p;//声明double型指针 p = new double[];//分配3个double型数据的存储空间 for (int i = ; i < ; i++)//定义对象i的初值为0
{
cin >> *(p + i);//将输入数据存入指定地址
} for (int i = ; i < ; i++)
{
cout << *(p + i) << " ";//将地址里的内容输出
} delete p;
}

例1.4

演示引用的例子。

 #include <iostream>

 using namespace std;

 void main()
{
int x = ;//定义并初始化x
int& a = x;//声明a是x的引用,a和x的地址相同
int& r = a;//声明r是x的引用,r和x的地址相同,即和x的地址也相同 cout << "x=" << x << ",&x=" << &x << ",a=" << a << ",&a=" << &a
<< ",r=" << r << ",&r=" << &r << endl; r = ;//改变r,则a和x都同步变化 cout << "x=" << x << ",&x=" << &x << ",a=" << a << ",&a=" << &a
<< ",r=" << r << ",&r=" << &r << endl;
}

例1.6

演示数组升幂排序、复制、逆向和输出等操作的例子。

 #include <iostream>
#include <algorithm>
#include <iterator> using namespace std; void main()
{
double a[] = { 1.1,4.4,3.3,2.2 }, b[]; copy(a, a + , ostream_iterator<double>(cout, " "));//正向输出数组a,以空格隔开
cout << endl; reverse_copy(a, a + , ostream_iterator<double>(cout, " "));//逆向输出数组a,以空格隔开
cout << endl; copy(a, a + , b);//原样复制到数组b copy(b, b + , ostream_iterator<double>(cout, " "));//正向输出数组b,以空格隔开
cout << endl; sort(a, a + );//对数组a进行升幂排序 copy(a, a + , ostream_iterator<double>(cout, " "));//输出数组a
cout << endl; reverse_copy(a, a + , b);//将a的内容按逆向复制给数组b copy(b, b + , ostream_iterator<double>(cout, " "));//输出数组b
cout << endl;
}

例1.7

演示数组降幂排序、查找和输出等操作的例子。

 #include <iostream>
#include <algorithm>
#include <functional>
#include <iterator> using namespace std; void main()
{
double a[] = { 1.1,4.4,3.3,2.2 }; sort(a, a + );//升幂排序 copy(a, a + , ostream_iterator<double>(cout, " "));
cout << endl; sort(a, a + , greater<double>());//降幂排序 copy(a, a + , ostream_iterator<double>(cout, " "));
cout << endl; double *x = find(a, a + , 4.4);//查找 if (x == a + )
{
cout << "没有值为4.4的数组元素";
}
else
{
cout << "有值为" << *x << "的数组元素";
} cout << endl; x = find(a, a + , );//x是double类型的指针 if (x == a + )
{
cout << "没有值为8的数组元素";
}
else
{
cout << "有值为" << *x << "的数组元素";
}
}

例1.8

演示对一维数组进行局部操作的例子。

 #define _SCL_SECURE_NO_WARNINGS

 #include <iostream>
#include <algorithm>
#include <functional>
#include <iterator> using namespace std; void main()
{
double a[] = { 1.1,4.4,3.3,2.2 }, b[] = { }; copy(a + , a + , ostream_iterator<double>(cout, " "));//输出a[2]和a[3]
cout << endl; reverse_copy(a + , a + , ostream_iterator<double>(cout, " "));//输出a[3]~a[1]
cout << endl; copy(a, a + , &b[]);//将数组赋值到数组b的尾部 copy(b, b + , ostream_iterator<double>(cout, " "));//输出数组b
cout << endl; sort(a + , a + );//对部分数组元素升幂排序 copy(a, a + , ostream_iterator<double>(cout, " "));//输出数组a
cout << endl; sort(b, b + , greater<double>());//对部分数组元素降幂排序 copy(b, b + , ostream_iterator<double>(cout, " "));//输出数组a
cout << endl;
}

例1.9

演示对字符数组进行操作的例子。

 #define _SCL_SECURE_NO_WARNINGS

 #include <iostream>
#include <algorithm>
#include <functional>
#include <iterator> using namespace std; void main()
{
char a[] = "wearehere!", b[]; reverse(a, a + );//数组元素逆向 copy(a, a + , ostream_iterator<char>(cout));//输出逆向后的数组内容
cout << endl; copy(a, a + , b);//原样复制到数组b sort(a, a + );//默认升幂排序 cout << a << endl;//输出排序结果
cout << b << endl;//输出数组b的内容 reverse_copy(a, a + , b);//逆向复制到数组b cout << b << endl;//输出逆向后的数组b的内容 reverse(b + , b + );//数组b部分逆向 copy(b + , b + , ostream_iterator<char>(cout));//输出数组b逆向后的部分内容
cout << endl; sort(a, a + , greater<char>());//降序排序 cout << a << endl;//输出排序后的数组a
cout << (*find(a, a + , 'e') == 'e') << " "
<< (*find(a, a + , 'O') == 'O') << endl;
}

例1.10

使用setw设置输出宽度的例子。

 #define _SCL_SECURE_NO_WARNINGS

 #include <iostream>
#include <iomanip> using namespace std; void main()
{
int a = , b = ; cout << a << setw() << b << endl;
cout << setw() << a << b << endl;
}

例1.11

在下面的程序中,当要求输入时,均输入100,给出程序的输出结果。

 #define _SCL_SECURE_NO_WARNINGS

 #include <iostream>
#include <iomanip> using namespace std;
const double PI = 3.141592; void main()
{
cout << PI << endl
<< setprecision() << PI << endl
<< setprecision() << PI << endl
<< setprecision() << PI << endl
<< setprecision() << PI << endl
<< setprecision() << PI << endl; int b = ; cout << "Dec:" << dec << b << endl
<< "Hex:" << hex << b << endl
<< "Oct:" << oct << b << endl; cout << b << endl
<< << endl
<< "Input b="; cin >> b; cout << b << endl;
cout << dec << setiosflags(ios_base::showpos) << b << endl;
cout << "Input b="; cin >> b; cout << b << endl;
cout << resetiosflags(ios_base::showpos);
cout << b << endl;
}

例1.12

分析下面程序的输出。

 #define _SCL_SECURE_NO_WARNINGS

 #include <iostream>
#include <iomanip> using namespace std; void main()
{
cout << setfill('*')
<< setw() << << endl
<< setw() << << endl
<< setw() << << endl
<< setw() << << endl
<< setw() << << endl; cout << setw() << setfill('*') << " " << endl; cout << setiosflags(ios_base::right)
<< setw() <<
<< setw() <<
<< setw() << << endl; cout << resetiosflags(ios_base::right); cout << setiosflags(ios_base::left)
<< setw() <<
<< setw() <<
<< setw() << << endl;
}

04737_C++程序设计_第1章_认识C++的对象的更多相关文章

  1. ArcGIS for Desktop入门教程_第七章_使用ArcGIS进行空间分析 - ArcGIS知乎-新一代ArcGIS问答社区

    原文:ArcGIS for Desktop入门教程_第七章_使用ArcGIS进行空间分析 - ArcGIS知乎-新一代ArcGIS问答社区 1 使用ArcGIS进行空间分析 1.1 GIS分析基础 G ...

  2. ArcGIS for Desktop入门教程_第六章_用ArcMap制作地图 - ArcGIS知乎-新一代ArcGIS问答社区

    原文:ArcGIS for Desktop入门教程_第六章_用ArcMap制作地图 - ArcGIS知乎-新一代ArcGIS问答社区 1 用ArcMap制作地图 作为ArcGIS for Deskto ...

  3. ArcGIS for Desktop入门教程_第四章_入门案例分析 - ArcGIS知乎-新一代ArcGIS问答社区

    原文:ArcGIS for Desktop入门教程_第四章_入门案例分析 - ArcGIS知乎-新一代ArcGIS问答社区 1 入门案例分析 在第一章里,我们已经对ArcGIS系列软件的体系结构有了一 ...

  4. 04737_C++程序设计_第4章_类和对象

    例4.1 描述点的Point类. 例4.2 根据上面对Point类的定义,演示使用Point类的对象. #define _SCL_SECURE_NO_WARNINGS #include <ios ...

  5. 04737_C++程序设计_第3章_函数和函数模板

    例3.1 传对象不会改变原来对象数据成员值的例子. #define _SCL_SECURE_NO_WARNINGS #include <iostream> #include <str ...

  6. 04737_C++程序设计_第2章_从结构到类的演变

    例2.1 使用成员函数的实例. #define _SCL_SECURE_NO_WARNINGS #include <iostream> using namespace std; struc ...

  7. 04737_C++程序设计_第10章_面向对象设计实例

    10.6.2 使用包含的参考程序及运行结果. 头文件cpp10.h 源文件cpp10.cpp 源文件Find10.cpp 头文件cpp10.h #if ! defined(CPP10_H) #defi ...

  8. 04737_C++程序设计_第9章_运算符重载及流类库

    例9.1 完整实现str类的例子. #define _CRT_SECURE_NO_WARNINGS #include <iostream> #include <string> ...

  9. 04737_C++程序设计_第8章_多态性和虚函数

    例8.1 分析下面程序的输出结果. 例8.2 分别使用指针和引用的display函数. #include <iostream> using namespace std; const dou ...

随机推荐

  1. 开源日志库log4cplus+VS2008使用

    一.简介     log4cplus是C++编写的开源的日志系统,功能非常全面.本文介绍如何在Windows+VS2008中使用该日志库.   二.下载     可从网站[url]http://log ...

  2. 跟我开发NSP(网上查询平台):如何选择开发项目

    我想通过一个真实的项目开发的全过程,记录一下开发过程的点点滴滴,记录一下过程中的前思后想.这个全过程包括,如何选择项目.如何分析项目.如何组织项目开发.如何设计开发流程.如何设计软件的总体架构.如何建 ...

  3. C语言的本质(26)——C标准库之数值字符串转换

    C语言提供了几个标准库函数,可以将任意类型(整型.长整型.浮点型等)的数字转换为字符串. #include <stdlib.h> int atoi(const char *nptr); a ...

  4. _declspec(dllexport)与_declspec(dllimport)

    __declspec(dllexport)2009-03-04 17:25 我相信写WIN32程序的人,做过DLL,都会很清楚__declspec(dllexport)的作用,它就是为了省掉在DEF文 ...

  5. linux中的strings命令简介2

    摘自:http://blog.csdn.net/stpeace/article/details/46641069 linux中的strings命令简介 之前我们聊过linux strings的用法和用 ...

  6. 注意使用 BTREE 复合索引各字段的 ASC/DESC 以优化 order by 查询效率

    tbl_direct_pos_201506 表有 190 万数据.DDL: CREATE TABLE `tbl_direct_pos_201506` ( `acq_ins_code` char(13) ...

  7. T-sql编程

    T-Sql中的变量都是@符号开头的 以一个@符号开头,叫做“用户声明的变量” 以两个@@开头的叫做"全局变量","系统变量",是由系统来维护的.无需我们维护 - ...

  8. [string]Regular Expression Matching

    Implement regular expression matching with support for '.' and '*'. '.' Matches any single character ...

  9. C语言的ELF文件格式学习

    最近的lab里面有ELF文件相关的,所以成这个几乎,学点ELF的东西. ELF,是一种文件格式.暂时,只看可执行文件的ELF文件格式. 首先,给出文件的格式的布局图: 光看这个很难理解,所以写一个小的 ...

  10. dede调取文章内容的第一张图片

    dede调用文章第一张图片(非缩略图)的实现方法 这篇文章主要是介绍dede调用文章第一张图片的实现代码,需要的朋友可以参考下 需要进行两个操作 第一步,修改include/extend.func.p ...