自考 C++程序设计 4737 第一章 认识C++的对象

本文介绍了C++编程语言的基本概念,包括初识C++的对象和函数,如命名空间、对象定义与初始化、函数原型及返回值。详细讲解了const修饰符、预处理程序的使用,以及程序的书写格式。此外,还探讨了C++面向过程编程的特点,如函数重载、新的基本数据类型和动态内存分配。文章以实例解析,帮助读者更好地理解和掌握C++的基础知识。
摘要由CSDN通过智能技术生成

§1.1 初识C++的函数和对象

//【例 1.1】 演示使用结构对象的示例程序。
/*	功能:将结构对象的两个值域相加,乘以2再加50	*/
#include<iostream>							//包含文件
using namespace std;						//使用命名空间
int result(int , int);						//result函数的原型声明
const int k=2;								//定义常量
struct Point{
   								//定义结构Point
	int x,y;								//定义结构成员 x 和 y
};
											//空行
int main()									//主函数
{
   											//主程序开始
	int z(0),b(50);							//初始化整数对象
	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 0;							//主函数main的返回值	
}											//主函数结束
//*******************************
// * 函	数:result				*
// * 参 数:整型对象 a 和 b		*
//*******************************
int result(int a, int b)
{
   

	return a+b;								//返回 a+b
}

1、混合型语言
C++以.cpp为文件扩展名,有且只有一个名为main的主函数,因保留了这个 面向过程的主函数,所以被称为混合型语言。
2、注释方式
①从“/”开始,到“/”结束,如:/* …… */ ②从“//”开始到本行结束,如: //……
②从“//”开始到本行结束,如: //……
3、输入输出对象
①提取操作:用提取操作符“>>”从cin输入流中提取字符,如:cin >> a.x; ②插入操作:用插入操作符“<<”向cout输出流中插入字符,如:cout << “we”; cout << endl;
③使用标准输入(键盘输入)cin及标准输出(屏幕输出)cout前,要在主函数 前使用#include 将C++标准输入输出库头文件iostream将其包 括。
④换行操作:用语句cout<<endl;或cout<<“\n”;实现,其中endl可以插 在流的中间。
如:cout<<a.x<<endl<<a.y<<endl;

命名空间

4、使用命名空间
C++相比C而言,可以省略“ .h”标识头文件,但必须使用语句using namespace std;来让命名空间中的对象名称曝光。因此一般的程序都要具 有下面的两条语句:

#include <iostream> //包含头文件
using namespace std; //使用命名空间 

注意C++库中代替C库中头文件的正确名称,例如下面两个语句效果一样:

#include <math.h>

#include <cmath>
using namespace std;

对象的定义和初始化

定义对象包括为它命名并赋予它数据类型,一般即使初 值只用来表示该对象尚未具有真正意义的值,也应将每 个对象初始化。
C++中利用构造函数语法实现初始化,如:
int z(0); //等同于int z=0;

函数原型及其返回值

①C++使用变量和函数的基本规则都是:先声明,后使用。变量有时也可边 声明边使用,但必须声明,否则出错。
比如对函数的调用,要在主函数之前先对调用的函数进行原型声明,如:int result (int,int); 它向编译系统声明,后面有一个result函数,该函数有 两个整型类型的参数,函数返回整型值。
函数声明时,除了默认参数(需给出默认参数的默认值)和内联函数(需给 出函数体及其内语句)外,不需给出参数的变量名称,如果给出,效果也一 样,如:int result (int a,int b); 和上面的声明效果一样。
②除构造函数与析构函数外,函数都需要有类型声明。
⚫ 如int main( ) ,指出main是整数类型,返回值由return后面的表达式
决定,且表达式的值必须与声明函数的类型一致。
⚫ 如果函数确实不需要返回值,还可用void标识,一旦使用void标识,函数
体内就不再需要使用return语句,否则会编译出错,但可使用return;语 句。
③C++函数有库函数(标准函数,引用时函数名外加< >)和自定义函数 (引用时函数名外加“ ”)两类。

const(常量)修饰符及预处处理程序

①const修饰符:用于定义符号常量。
C中一般使用宏定义“#define”定义常量,而C++中除此外,建议使用 const代替宏定义,用关键字const修饰的标识符称为符号常量。
因const是放在语句定义之前的,因此可以进行类型判别,这比用宏定义更安 全一些。如下面两个语句是等同的,但是后者可以比前者避免一些很难发现 的错误。
#define BUFSIZE 100
const int BUFSIZE=100;
⚫ 常量定义也可使用构造函数的初始化方法,如:
const int k(2); //等同于const int k=2;
⚫ 因被const修饰的变量的值在程序中不能被改变,所以在声明符号常量时, 必须对符号常量进行初始化,除非这个变量是用extern修饰的外部变量, 如:
const int d;× const int d=2; √ extern const int d;√
⚫ const的用处不仅是在常量表达式中代替宏定义,如果一个变量在生存期内
的值不会改变,就应该用const来修饰这个变量,以提高程序安全性。
②预处理程序
C++的预处理程序不是C++编译程序的一部分,它负责在编译程序的其他 部分之前分析处理预处理语句,为与一般的C++语句区别,所有预处理语句 都以位于行首的符号“#”开始,作用是把所有出现的、被定义的名字全部 替换成对应的“字符序列”。
预处理语句有三种:宏定义、文件包含(也成嵌入指令)和条件编译。
文件包含是指一个程序把另一个指定文件的内容包含进来,书写时可以使用 引号也可以使用尖括号,前者引用自己定义的包含文件,如:#include “E:\prog\myfile.h” ,后者引用系统提供的包含文件,如标准输入输出是定 义在标准库iostream中的,引用时要包括以下两条语句:

 #include <iostream> //包含头文件
 using namespace std; //使用命名空间

补充例题

 #include<iostream.h>
#define  PRICE   30  //常量,在程序中保持不变 void main(void)
{
       int  num, total;  //定义变量,在内存中开辟区间
num=10;        //变量赋值,10为常量 total=num*PRICE; 
cout<<“total=<<total; //输出结果
}
其中:num=10 
total=num*PRICE
//是赋值号,不同于数学意义上的等号。

程序书写格式

C++的格式和C一样,都很自由,一行可以写几条语句,但也要注意以下规 则,增加可读性:
①括号紧跟函数名后面,但在for和while后面,应用一个空格与左括号隔开; ②数学运算符左右各留一个空格,以与表达式区别;
③在表示参数时,逗号后面留一个空格;
④在for、do…while和while语句中,合理使用缩进、一对花括号和空行; ⑤适当增加空行和程序注释以增加可读性;
⑥太长的程序分为两行或几行,并注意选取合适的分行和缩进位置。

补充例题

 #include<iostream.h>
 void  main(void )
{
    cout<<" I am a student.\n"; //输出字符串
}

本程序编译执行后,在屏幕上显示: I am a student.

另一个例子

#include <iostream.h> 
void main(void)
{
   
cout << “i=; //显示提示符
int i; //说明变量i
cin >>i; //从键盘上输入变量i的值
cout << "i的值为:" <<i<<'\n'; // 输出变量i的值
} 

标识符

标识符
❖定义:标识变量名、符号常量名、函数名、数组名、
文件名的字符串序列——名字。
❖命名规则:
⚫只能由字母、数字、下划线组成,且第一个字符必须是不能是数字
⚫大小写字母含义不同,一般用小写
⚫不能使用关键字
❖使用:先定义、后使用
注意:
标识符应该“见名知意”,如 total , max
标识符应该“不宜混淆”,如 l与1 , o与0

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

§1.2 认识C++面向过程编程的特点

一、使用函数重载

C++允许为同一个函数定义几个版本,从而使一个函数名具有多种功能,这 称为函数重载。
假设有一个函数max,分别具有以下函数原型:
int max(int,int); //2个整型参数的函数原型
int max(int,int,int);//3个整型参数的函数原型
只要分别为不同参数的max编制相应的函数体,就可以实现各自的功能。

 //【例1.2】 函数重载产生多态性的例子。
#include<iostream>
using namespace std;
int max(int, int)
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值