zoukankan      html  css  js  c++  java
  • 1. C++的函数和对象

    C++对C的"增强"表现在两个方面:

    (1) 在原来面向过程的机制基础上,对C语言的功能做了不少扩充。

    (2) 增加了面向对象的机制。C++是一种功能强大的混合型的程序设计语言?

    1.C语言编写程序,实现将结构体对象的两个域值相加的和乘以2再加50

    #include<stdio.h>         /*头文件,标准输入输出库文件*/
    int result (int, int);          /*函数声明*/
    #define k 2             /* 宏定义*/
    struct Point              /*定义结构体*/
    {  int x,y;
    };
    int main ( )               /*主函数*/
    { int z=0, b=50;           /*定义整型变量并初始化*/
     struct Point a;            /*定义结构体变量*/
     printf (" 输入两个整数:");
     scanf("%d%d",&a.x,&a.y);      /*输入结构体变量成员的值*/
     z=(a.x+a.y)*k;          /*计算两个域值相加的和乘以2*/
     z= result(z,b);           /*调用result函数*/
     printf ("计算结果是:");
     printf ("z=%d
    " ,z);          /*输出结果*/
     return 0;
    }
    int result (int a, int b)         /*定义函数*/
    { return a+b; }

    输入两个整数  20,30

    计算结果是:150

    现使用C++编写面向过程的程序实现上述功能

    #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);           //调用result函数完成计算
     cout<< "计算结果如下 :"<<endl;   //提示信息并换行
     cout<<"(("<<a.x<<"+"<<a.y
       <<")*"<<k<<")+"<<b
       <<"="<<z<<endl;        //输出信息
     return 0;             //主函数的返回值
    }
    int result (int a, int b)
    { return a+b; }

    输入两个整数(以空格区分):20 30
    计算结果如下 :(20+30)*2+50=150

    C++的基本知识点

    1、混合型语言

    C++以 .cpp为文件扩展名,有且只有一个名为main的主函数,真正的面向对象语言没有主函数,因保留了这个面向过程的主函数,所以C++被称为混合型语言

    2、两种注释方式

    "/*"开始,到"*/"结束,如:/* …… */

    "//"开始到本行结束,如: //……

    3、输入输出对象

    标准输入:使用键盘输入。如: cin >> a.x;

    标准输出:将信息输出到显示屏上。 如: cout << "we"; cout << endl;

    使用标准输入cin及标准输出cout前,要在主函数前使用:

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

    在旧的标准制度的时候使用:#include <iostearm.h>
    如:
    cout<<a.x<<endl<<a.y<<" ";④换行操作:用语句cout<<endl;或cout<<" ";实现,其中endl可以插在流的中间。

    4、使用命名空间

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

    include <iostream> //包含头文件

    using namespace std; //使用命名空间

    命名空间是将程序库名封装起来的方法,它提高了程序的性能和可靠性。

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

    include <math.h>

    include <cmath>

    using namespace std;

    5、对象的定义和初始化

    C++中利用构造函数语法实现初始化,如:

    int b(50); //等同于int b=50;

    6、函数原型及其返回值

    1)C++使用变量和函数的基本规则都是:先声明,后使用。变量有时也可边声明边使用,但必须声明,否则出错。

    函数声明时,除了默认参数(需给出默认参数的默认值)和内联函数(需给出函数体及其内语句)外,不需给出参数的变量名称,如果给出,效果也一样,如:int result (int a,int b); 和int result (int,int);的声明效果一样。

    2)除构造函数析构函数外,函数都需要有类型声明。

    int main() ,指出main是整数类型,返回值由return后面的表达式决定,且表达式的值必须与声明函数的类型一致。

    如果函数确实不需要返回值,还可用void标识,一旦使用void标识,函数体内就不再需要使用return语句,否则会编译出错,但可使用return;语句。

    3)C++函数有两类:

    ① 库函数:也叫标准函数,引用时函数名外加< >;

    ② 自定义函数:引用时函数名外加" "。

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

    1)const修饰符:用于定义符号常量。

    C中一般使用宏定义"#define"定义常量,而C++中除此外,建议使用const代替宏定义,用关键字const修饰的标识符称为符号常量

    const是放在语句定义之前的,因此可以进行类型判别,这比用宏定义更安全一些。如下面两个语句是等同的,但是后者可以比前者避免一些很难发现的错误。

    difine BUFSIZE 100

    const int BUFSIZE 100;

    常量定义也可使用构造函数的初始化方法,如:

    const int k(2); //等同于const int k=2;

    因被const修饰的变量的值在程序中不能被改变,所以在声明符号常量时,必须对符号常量进行初始化,除非这个变量是用extern修饰的外部变量,如:

    const int d=8; √ const int d;× extern const int d;√

    const的用处不仅是在常量表达式中代替宏定义,如果一个变量在生存期内的值不会改变,就应该用const来修饰这个变量,以提高程序安全性。

    2)预处理程序

    ① C++的预处理程序不是C++编译程序的一部分,它负责在编译程序的其他部分之前分析处理预处理语句。

    ② 所有预处理语句都以位于行首的符号"#"开始,作用是把所有出现的、被定义的名字全部替换成对应的"字符序列"。

    ③ 预处理语句有三种:宏定义、文件包含(也称嵌入指令)和条件编译。

    ④ 文件包含是指一个程序把另一个指定文件的内容包含进来,文件包含有两类:引用自己定义的包含文件和引用系统提供的包含文件。

    如:引用系统提供的输入输出流文件

    include <iostream> //包含系统头文件,一般用<>括起来

    using namespace std; //使用命名空间

    如:引用自己定义的包含文件

    include "E:progmyfile.h"//包含自定义头文件,一般用" "括起来

    8、程序书写格式

    C++的格式和C一样,都很自由,一行可以写几条语句,但也要注意以下规则,增加可读性:

    ① 括号紧跟函数名后面,但在for和while后面,应用一个空格与左括号隔开;

    ② 数学运算符左右各留一个空格,以与表达式区别;

    ③ 在表示参数时,逗号后面留一个空格;

    ④ for、do…while和while语句中,合理使用缩进、一对花括号和空行;

    ⑤ 适当增加空行和程序注释以增加可读性;

    ⑥ 太长的程序分为两行或几行,并注意选取合适的分行和缩进位置。

  • 相关阅读:
    小程序发展史
    ES6内置方法find 和 filter的区别在哪
    微信小程序开发踩坑记录
    小程序导航跳转一不小心踩进的坑
    谈谈如何对后台登陆界面进行渗透
    应急响应学习笔记
    php学习笔记
    代码审计学习笔记
    注入笔记(非sql注入)
    python安全编程学习
  • 原文地址:https://www.cnblogs.com/LiangPF/p/13796353.html
Copyright © 2011-2022 走看看