zoukankan      html  css  js  c++  java
  • C++ Primer 5th Edition自学笔记(1)

    好吧,第一次写东西...如何下手呢...(请无视)

    --------------------------------------------------------------

    Chapter 1. Getting Started

    1.1  Write a Simple C++ Program

    函数组成:返回类型(type)、函数名、参数列表、函数体

      *函数体中的return返回类型要与函数的返回类型相匹配。

      *类型Type:包含了数据元素的内容和对其可能的操作。

    源文件(Source files):一般指程序文件,常见扩展名:.cc, .cxx, .cpp, .cp, .C

    1.2 A First Look at Input/Output

    IO函数由标准库(standard library)提供,使用前开头加上相关头文件,如<iostream.h>

    标准输入:cin

    标准输出:cout

      *cerr用以输出警告和错误消息;clog用以输出程序执行的信息。

    **表达式:会得到一个结果并与多个操作域和一个操作符相联系(an expression yields a result and is composed of one or more operands and (usually) an operator.)

      *endl(a manipulator)用以结束当前行并对缓存器进行刷新。

    std::cin   std::cout   前缀std称为命名空间(namespace),可以保证不必要的名字冲突。

                ::操作符,表明cin函数和cout函数是用std命名空间里的。

    Exercise Section 1.2

    1 void Exericse_1_3()
    2 {
    3     std::cout << "Hello, World" << std::endl;
    4 }
    Exericse 1.3
    void Exericse_1_4()
    {
        int num1 = 0, num2 = 0;
        std::cout << "Input two numbers: ";
        std::cin >> num1 >> num2;
        std::cout << "The multiplication of these two numbers is " << num1 * num2 << std::endl;
    }
    Exericse 1.4

     1.3 A Word about Comments

    注释(comment):注意随时更新!

      方式://  和   /*...*/

    1.4 Flow of Control

    1.4.1 The “while” Statement

      while循环:先判断条件,为真执行循环体。

    *混合操作符 +=:  sum += val;   //等价于  sum = sum + val;

    递增操作 ++:   ++val;  //等价于  val = val + 1;

    Exercise Section 1.4.1

     1 void Exercise_1_9()
     2 {
     3     //Write a program that uses a while to sum the numbers from 50 to 100
     4     int sum = 0, num = 50;
     5     while (num <= 100)
     6     {
     7         sum += num;
     8         num ++;
     9     }
    10     std::cout << "The sum from 50 to 100 is " << sum << std::endl; 
    11 }
    Exericse1.9
     1 void Exercise_1_10()
     2 {
     3     int sum = 0, num = 10;
     4     while(num >= 0)
     5     {
     6         sum += num;
     7         num--;
     8     }
     9     std::cout << "The sum from 10 to 1 is " << sum << std::endl;
    10 }
    Exericse1.10

    1.4.2 The "for" Statement

    for 循环包括两部分:a header and a body

      header:初始化 ;条件;表达式

    Exericse Section 1.4.2

    1 void Exercise_1_13()
    2 {
    3     int sum = 0, num = 0;
    4     for (; num <= 10; num++)
    5     {
    6         sum += num;
    7     }
    8     std::cout << "The sum from 1 to 10 is " << sum << std::endl;
    9 }
    Exericse 1.13

    1.4.3 Reading an Unknown Number of Input

    while( std::cin >> val )

    {...}

    当输入一个无效的命令时,cin返回一个错误值,while跳出循环,如ctrl + z(windows),ctrl + d(Unix or Mac OS X)

    *错误类型:

      1.语法错误(syntax error):如末尾未加分号,字符串未用双引号括起等

      2.类型错误(type error):如将整数复制给了string类型的变量

      3.声明错误(declaration error):变量必须先声明后使用。常犯的两种错误是缺少std命名空间和变量拼写错误。、

    Exericse Section 1.4.3

    1 void Exercise_1_16()
    2 {
    3     int sum = 0, num = 0;
    4     while (std::cin >> num)
    5     {
    6         sum += num;
    7     }
    8     std::cout << "The sum of numbers you input is " << sum << std::endl;
    9 }
    Exercise1.16

     1.4.4 The if Statement

    if (std::cin >> currVal) {...} 用以确保输入不为空

    if()  {...}  如果括号中的返回值为Ture,运行此块中的命令

    else {...} 否则运行此块中的命令

      *=操作符表示赋值,==操作符表示判断是否相等

    *缩进和格式:关键是考虑它的可读性和可理解性,一旦选择一种风格,便坚持使用。

    1.5 类 Introducing Classes

    一种数据类型,对象的抽象

     书店实例:Class Sales_item

    实例化:Sales_item item;

    成员: ISBN, SUM, revenue

    行为: 函数isbn:取出一个实例

        操作符>>,<<:读写实例

        操作符=:将一个实例赋值给另一个

        操作符+:将两个相同ISBN的实例相加,求出相应的SUM和revenue

        操作符+=:给一个实例增加另一个

      *头文件<>表示从系统中先搜索,""表示从项目中先搜索

    Exercise Section 1.5.1

      之后写好类Sales_item再作答

    1.5.2 初探成员函数

    成员函数被定义为类的一部分,有时也被成为类的方法(methods)

    使用成员函数的方法是利用“.”操作符和"()"操作符  如 item1.isbn()

    1.6 The Bookstore Program

    关键在于对成员函数 成员变量的理解

  • 相关阅读:
    Ionic Tabs使用
    Angular 4 延缓加载组件
    JSP include 指令
    JSP 执行流程
    Tomcat 配置
    Spring boot 项目创建(Spring Boot 1.5.7 + Spring Data JPA + MySql)
    Java Web Service 学习笔记
    Tomcat 去除项目名称
    Angular 4 路由守卫
    Angular 4 辅助路由
  • 原文地址:https://www.cnblogs.com/salan668/p/3330054.html
Copyright © 2011-2022 走看看