首页 > 代码库 > 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<<),对象赋值(=),调用函数等。