首页 > 代码库 > C++ Primer 学习笔记(1)

C++ Primer 学习笔记(1)

出于对自己未来的规划和兴趣,一直想学一门编程语言,最终选择了C++这难啃的骨头。

本人13届毕业生,大学所学与计算机可以说毫无关系,所以基础基本为零;工作也和编程无关,不靠它换饭吃;学C++更多出于“未来可能有大用”的想法、自己些许的兴趣和一点点“懂编程应该很厉害的样子”的虚荣心。

刚申请博客时就计划学习《C++ Primer 中文版》第四版,由于公司培训计划最终耽搁下来。现在正式开始,希望没有太迟。

(PS:本人为菜鸟,写博纯粹为了自己更好学习编程;以上絮絮叨叨,以后更加絮絮叨叨,有怪莫怪)

第一章:快速入门

1.1 简单程序

int main()
{
 return 0;
}

main函数是C++程序入口,由此引出函数定义的4个元素:返回类型、函数名、形参表(可能为空)和函数体。

1.2 输入输出

C++输入输出功能由标准库提供,iostream库;iostream库基础为istream(输入)和ostream(输出)。

标准库定义了4个对象:cin, cout,cerr,clog。

cin:istream对象,标准输入,处理输入;cout:ostream对象,标准输出,处理输出;cerr:ostream对象,标准错误,输出警告和错误信息给程序使用者;clog:ostream对象,产生程序执行信息。

#include <iostream>
int main()
{
 std::cout <<"enter two number:"<<  std::endl;
 int v1,v2;
 std::cin >>v1>>v2;
 std::cout<< "the sun of"<<v1<<"and"<<v2
  <<"is"<<v1+v2<<std::endl ;
 return 0;
}

1.3 注释

两种注释:“/* */”,“//”。

1.4 控制结构

本节内容为本章难点。

单纯顺序执行不足,所以提供更多控制结构以支持更为复杂的执行路径,包括:while语句,for语句,if语句。

1)while语句(迭代执行)

 #include <iostream>
int main()
{
 int sum =0,val =1;
 while (val <=10){
  sum += val;
  ++ val;
 }
 std::cout << "sum of 1 to 10 inclusive is"
  <<sum<<std::endl ;
 return 0;
}

本程序重要部分为while语句部分,while结构形式:while (condition) while_body_statement;

while 通过测试条件condition和执行while_body_statement来实现迭代,直到条件为假。

while循环中通过val控制循环执行次数,每次执行首先测试val的值,然后前自增val。

2)for语句

#include <iostream>
int main()
{
 int sum =0;
 for (int val=1;val <=10;++val)
  sum +=val;
 std::cout <<"sum of 1 to 10 inclusive is"
  <<sum<<std::endl ;
 return 0;
}

for语句由for语句头和语句体构成,语句头包括:一个初始化,一个条件,一个表达式。

初始化仅在进入for语句时执行一次;每次执行语句体前,要进行条件判断,满足后执行,否则跳出;执行完语句体后,才执行表达式,然后重新进行条件判断,如此循环。

3)if语句

无论while或者for语句都需要判断下限小于上限,由if语句提供判断。

#include <iostream>
int main()
{
 std::cout << "enter two numbers:"<<std::endl ;
 int v1,v2;
 std::cin >>v1>>v2;
 int lower,upper;
 if (v1<=v2){
  lower =v1;
  upper =v2;
 } else {
  lower =v2;
  upper =v1;
 }
 int sum=0;
 for (int val =lower;val<=upper;++val)
  sum +=val;
 std::cout <<"sum of"<<lower
  <<"to"<<upper<<"inclusive is"
  <<sum<<std::endl ;
 return 0;
}

4)读入未知数目的输入

比如求和,事先不知道对多少个数求和,一直到程序输入结束。

#include <iostream>
int main()
{
 int sum =0,value;
 while (std::cin >>value)
  sum += value;
 std::cout <<"sum is:"<<sum<<std::endl ;
 return 0;
}

关键语句时while语句的判断条件std::cin >>value,以输入的有效无效作为判断。

以上为第一章第四节的主要学习内容,难点,但不要求太高,作为一次熟悉进行学习。

1.5 类

C++中通过类来定义数据结构。使用类时,我们需要知道的是,该类提供什么操作。

假定定义一个类sales_item,sales_item可以定义类对象item(sales_item item),类对象相加(+),读取类对象(cin>>),输出类对象(cout<<),对象赋值(=),调用函数等。