zoukankan      html  css  js  c++  java
  • C++初识

    学习一门新的程序设计语言最好的方法就是编写程序

    1.1 编写一个简单的C++程序

    每个C++程序都必须包含一个main函数,操作系统通过调用main函数来运行程序。

    函数定义的四部分:

    • 返回类型:int, float, string, char...

    • 函数名:符合标识符命名规则

    • 参数列表:包含在函数名之后的小括号中,多参数时各个参数用逗号隔开

    • 函数体:以花括号 {} 包含的数据和操作。结尾出必须有return返回语句,与返回类型相呼应。如果没有显式返回则缺省返回0

    示例:

    int main(){
       return 0;
    }

    1.1.1 编译、运行程序

    什么是编译:由编译器将编写好的程序转化为操作系统可以识别的机器码。

    编译器的作用:

    • 检查程序形式上的错误;比如:关键字错误,符号不匹配等

    • 将源代码转换为操作系统可识别并执行的机器码

    如何编译源代码:

    • 用IDE编写的程序,可以直接运行。IDE中集成的编译器会自动编译程序

    • 可以在终端手动编译。如:g++ hello_world.cpp

    1.2 初识输入输出

    C++中没有专门的输入输出语句,它使用一个标准库来(iostream)提供IO机制。包含istream和ostream。在C++中需要使用库设施就必须加载相关的头文件,这就像在Python程序中使用矩阵运算就需要import numpy一样。

    流:字符序列,表示随着时间的推移,字符是顺序读出或读入的。

    标准输入输出对象:

    • cin:标准输入;类似于Python中的input函数

    • cout:标准输出;类似于Python中的print函数

    • ceer:标准错误输出;用来输出警告和错误信息

    • clog:标准日志输出;用来输出程序运行时的一般性信息

    使用IO操作的完整流程:

    • 加载iostream标准库

    • 使用std命名空间:这是由于标准库中cout, cin等都是定义在std命名空间中的

    • 使用IO操作

    示例:

    #include <iostream>
    using namespace std;
    int main()
    {
       cout << "请输入两个数字" << endl;
       int a,b;
       cin >> a >> b;
       cout << "their sum is:" << a + b << endl;
       return 0;
    }

    1.3 注释简介

    注释的作用:对代码进行解释说明,提高代码可读性。

    C++中注释的种类:

    • 单行注释:使用双斜杠 // 来表示。

    • 多行注释:使用 /* */来包含多行注释内容。

    note: C++编译器会识别并忽略注释内容。

    示例:

    // 这是一条单行注释
    /*
    * 这是第一条注释
    * 这是第二条注释
    */

    节练习:

    image-20201202165601837

    由于1,2很容易判断是正确的,这里只演示第三四条语句。

    #include <iostream>

    int main(){
       cout << /* "/*" */ ;
       return 0;
    }

    image-20201202170041603

    可以发现第三条语句是错误的,这是由于注释符无法匹配导致输出错误。

    # include <iostream>
    using namespace std;

    int main()
    {
       cout << /* "*/" /* "/*" */;
       return 0;
    }

    image-20201202170740572

    第四条语句正确输出,由于前后两队多行注释各正确注释了引号,只对中间的字符进行输出。

    1.4 控制流

    控制流的作用:用来执行更复杂的程序执行顺序。通常使用的方法是使用条件对执行顺序进行控制。

    1.4.1 while语句

    while语句的作用:用来反复执行某段代码,直到满足指定条件为假时。也可以这么理解,当满足条件的这段过程中,一直执行while代码块的程序。

    示例:

    #include <iostream>
    using namespace std;
    // 编写一个从0到10的求和公式
    int main()
    { /*
    *定义变量
    *sum:和
    *num:数字,从0到10
    */
       int sum, num;
       sum = 0;
       num = 0;
       // 设置条件:当循环计算到10时(包含10),循环操作结束
       while (num <= 10){
           sum += num;
           num +=1;
      }
       cout << "sum is:" << sum << endl;
       return 0;
    }

    运行结果为:

    image-20201202172650633

    1.4.2 for 语句

    for语句的作用:与while作用相似,形式上更加简化。

    for循环的结构:

    • 循环头:for关键字后小括号里的内容

      • 初始化语句

      • 循环条件

      • 表达式

    • 循环体:循环头下方代码块的内容,具体的操作

    示例:

    #include <iostream>
    using namespace std;
    // 使用for循环来实现上个例子
    int main(){
       int sum = 0;
       for (int num = 1; num <=10; ++num) // 定义循环头,小括号里分别是num定义和控制循环的条件,表达式++num == num = num + 1
      sum += num; // 定义循环体
       cout << " sum is: " << sum << endl;
       return 0;
    }

    image-20201202183355749

    1.4.3 读取不定量的输入数据

    思路:相当于将输入和读取做循环操作

    示例:

    #include <iostream>
    using namespace std;
    // 实现将输入的所有数字进行求和
    int main(){
       int sum = 0, value = 0;
       while (cin >> value){
           sum += value;
      }
       cout << " sum is : " << sum << endl;
       return 0;
    }

    输入1-10结果为:

    image-20201202190745831

    需要注意的是这里的程序截止条件是输入文件结束符(Ctrl + Z)或不符合输入条件时。这是停止的方法时输入一个字母,不符合输入为Int类型的定义。

    1.4.4 if 语句

    使用if else的逻辑结构来控制程序的执行。与其他语言的语法一致。

    示例:

    #include <iostream>
    using namespace std;
    // 统计输入数字序列中每个数字出现的次数
    int main()
    { // currVal是我们正在统计的数,val是新读入的值
       int currVal = 0, val = 0;
       // 这里进行数据输入,并判断是否有有效输入。这是if判断的原因
       if (cin >> currVal){
           int cnt = 1; // cnt是计数变量
           while (cin >> val){ // 按顺序读取下一个数
               if (val == currVal) // 如果值相同
                   ++cnt; // 计数器加1
               else {
                   cout << currVal << "occurs"
                        << cnt << "times" << endl;
                   currVal = val; // 记住新值
                   cnt = 1; // 重置计数器
              }
          }
           cout << currVal << "occurs" << cnt << "times" << endl;
      }
       return 0;
    }

    输入数字序列为41,41,42,45,50时的结果是:

    image-20201202194049322

    注意:示例中是按顺序判断的,如果相邻两数不同则停止计数,出现次数为1。对于打乱顺序的序列无法正确计数。

    关于C++程序的缩进和格式:C++程序中通常使用花括号来放置代码块,它表明了代码与函数之间的包含关系,不过我们发现while, for, if等语句可以使用花括号也可以使用缩进来表示这层关系。在C++中这都是允许的。尽量保持风格的统一与代码的优美,这会提高代码质量和可读性。

    1.5 类简介

    1.5.1 什么是类

    它定义了一个类型,以及与其相关的一组操作。每个类都定义了一个新的类型,类名就是类型名。

    :一个模板,用于指定对象的形式,包含了数据表示法和处理数据的方法。如:湖北双龙铸币模板

    对象:类的一个实例,类定义了对象可以使用的所有操作。如:一枚湖北双龙银币

    如何定义类:以关键字 class 开头,跟类的名称。类的主体包含在花括号中,结尾的花括号后要跟一个分号或一个声明列表

    示例:


    class Boy
    { // public确定了类成员的访问属性为公开访问
       public:
      double height; // 身高
      double weight; // 体重
    };

    如何定义对象:定义对象就像声明基本变量一样。使用类名跟对象名的方式

    示例

    Boy Tom;

    1.5.2 初识成员函数

    什么是成员函数:定义在类中的函数

    示例:

    #include <iostream>
    using namespace std;

    class Boy
    { // public确定了类成员的访问属性为公开访问
       public:
      int height = 188; // 身高
      int weight = 166; // 体重
       int get_value(void){
           cout << height << " " << weight <<endl;
           return 0;
      }
    };
    int main(){
       Boy Tom;
       cout << Tom.get_value() << endl;
       return 0;
    }

    其中get_value就是类Boy的成员函数。

    如何访问成员函数:使用类对象来访问,也称调用,需要使用点运算符

    Tom.get_value()

    返回结果为:

    image-20201202211257727

     

  • 相关阅读:
    [Operate System & Algorithm] 页面置换算法
    [Network] 计算机网络基础知识总结
    [Search Engine] 搜索引擎技术之网络爬虫
    [Search Engine] 搜索引擎分类和基础架构概述
    [Math] 常见的几种最优化方法
    磁盘告警之---神奇的魔法(Sparse file)
    Kubernetes概念之RC
    Kubernetes概念之mater、node
    Centos7允许使用密码登录
    安装gcc-c++报错解决办法
  • 原文地址:https://www.cnblogs.com/peiziming/p/14076629.html
Copyright © 2011-2022 走看看