【30天学习C++ primer系列】day1:新的征程。-20160110


写在前面学习贵在坚持。每天25page啃掉《C++ primer》这本大山书。走在编程路上的小伙伴们共勉。


完整系列

【30天学习C++ primer系列】day1:新的征程。-20160110

【30天学习C++ primer系列】day2:基础拾忆之变量和基本类型(1/2)。-20160111


知识点提要:1.输入输出、2.注释、3.控制流、4.类简介

对应内容:《C++ Primer(第五版)》【P1-P25】第一章:开始


1. 输入输出

用到iostream库,包含基本类型istream(输入流)、ostream(输出流)

4个IO对象:

(1)cin(see-in),istream对象,标准输入;

(2)cout(see-out),ostream对象,标准输出;

(3)cerr(see-err),ostream对象,输出警告和错误信息;

(4)clog(see-log),ostream对象,输出程序运行一般信息。


简单的IO代码:

std::cout << "Enter two numbers:" << std::endl;
int v1, v2;
std::cin >> v1 >> v2;
std:cout << "The sum of " << v1 << " and " << v2 << " is " << v1 + v2 << std::endl;

注: << 和 >> 为输出运算符和输入运算符。

::为域运算符,此处使用命名空间std中的名字cout和cin,endl等。


2. 注释

C++有两种注释:

(1)单行注释 //

(2)界定符注释 /*  */

注意:界定符注释不能嵌套。通常使用界定符注释的习惯是

/* 注意界定符注释不能嵌套

* 通常使用习惯

* 每行以*开头

*/


3.控制流

一般语句是顺序执行,为了实现复杂执行路径,介绍一下几种控制流语句:

(1)while (condition){

(statement)

}

例句:

while (val <= 10) {
    sum += val; //将sum + val赋值给sum
    ++val; //将val加1
}

其中,+=是复合赋值运算符。 <=,==,!=都是用来判断的运算符。++叫前缀递增运算符,等价于val = val + 1。

(2)for (initial; condition; statement) {

(statement)

}

例句:

for (int val = 1; val <= 10; ++val) {
    sum += val;
}

当for后只有一句语句时,花括号可有可无。

(3)if (condition) {

(statement)

}

例句:

if (val == currval) {
    ++ val;
}
==是相等运算符。用来判断。


****读取数量不定的输入数据****

while (std::cin >> value)
    sum += value;
注:当一个istream对象作为条件,效果是监测流状态。遇到文件结束符或无效输入时,处于无效状态的istream对象值为假。

Windows系统中,Ctrl+Z然后按Enter或Return键作为文件结束符。Unix系统或Mac OS X中,文件结束符输入用Ctrl +D。


4. 类简介

C++的特色之一就是类和对象的概念。我们所熟知的内置类型 int,char,long,double等都是类,有句话叫C++所见皆类。

举例(片段代码,不能直接运行):

#include "Sales_item.h"
int main() {
    Sales_item item1, item2;
    if (item1.isbn() == item2.isbn()) {
        std::cout << item1 + item2 << std::endl;
    }
}

其中,Sales_item类包含:书的isbn号(通过isbn()方法得出),书的销量,销售总额。

从上述片段代码中简单接触类的几个特点:

(1) Sales_item类的定义包含在头文件Sales_item.h中(头文件名需与类名相同),在调用时需要用#include预处理将这段定义的代码copy到程序文件中。

(2) 类的对象定义与普通整型类对象定义一样,类比 int i 和 Sales_item item。

(3) 同类对象之间的运算与整型可以类比。只是此处"和"的概念不一样。当isbn号相同的两条销售记录相加等于册数和总销售额相加。

(4) 类的成员函数,即item1.isbn(),是定义在类中的一类方法。使用对象名来调用成员函数:item1.isbn(),其中"."是点运算符,(())是调用运算符。


5. 补充本节几个重要的名词解释

(1)数据结构(data structure):数据及其上所允许的操作的一种逻辑组合。

(2)成员函数(menber function):类定义的操作,通过调用成员函数来操作对象。

(3)命名空间(namespace):用来避免不经意的名字冲突。C++标准库定义的名字放在命名空间std中。



你可能感兴趣的:(C++)