C++ Primer 第一章 快速入门
看到很多人学习这本书都会写下学习过程笔记!因为觉得这是不错的做法,也可以巩固自己学习的知识,还能在以后的学习这本时发现问题,到时也可以到回来修改和补充。 自己在图书馆看完了第一章,小钱问我感觉会不会闷,我说我觉得很爽!我不打算很快地把它看完,我要把每个知识点都掌握,所以刚开始会看得很慢,我也不急,就像小钱说的稳扎稳打,一步一个脚印一样。因为有C++基础,所以看这本书并不困难,看过之后,发现这本书确实不适合新手去读,最好要有点基础才行,好了废话不多说,开始写这一章的笔记了。 本章呢,介绍C++大部分基本要素:内置类型、库类型、类类型、变量、表达式、语句和函数。这一章主要是做一个缓冲,后面的章节才慢慢阐明本章的主题。 1.1节-编写简单的C++程序 一个C++程序都包含一个或多个函数,其中必须有一个命名为main。 函数由执行函数功能的语句序列组成。 main函数的返回值必须是int型,该类型表示整数。int类型是内置类型,即该类型是由C++语言定义的。 C++中多数语句以分号作为结束标记。(容易被忽略) return语句带上一个值时,这个值就是函数的返回值。 返回值类型必须和函数的返回类型相同。 ——编译与执行程序 这本书程序好像是调用GUN编译器,我一直用的是Visual C++ 6.0,算是一个比较老的编译器,最近开始用Visual Studio系列的编译器,还不怎么会用,有点悲催! ——程序源文件命名规范 源文件的名字由文件名和文件后缀两部分组成。 visual Studio 编译器后缀形式是(.cpp)
1.2节——初窺输入/输出 这种功能是由标准库提供的(iostream库) istream和ostream,分别表示输入流和输出流 标准输入与输出对象分别是cin和cout,标准库还定义了另外两个ostream对象分别命名为cerr和clog; 课本代码如下: #include<iostream> int main() { std::cout<<"Enter two number:"<<std::endl; int v1,v2; std::cin>>v1>>v2; std::cout<<"The sum of"<<v1<<"and"<<v2<<"is"<<v1+v2<<std::endl; return 0; } 程序的第一行是一个预处理指示,尖括号里的名字是一个头文件 1.写入到流 形式:(std::cout);<<是输出操作符
endl是一个特殊值,称为操作符,具有换行的效果,并刷新与设备相关联的缓冲区。 2.使用标准库中的名字 命名空间(namespace)std,这本书的输出形式跟谭伯伯那本《C++程序设计》输出有点区别,谭伯伯那本在程序开头是写 (using namespace std;),然后输出就直接有cout,而这本书是把命名空间std作为前缀,写法使用了作用域操作符::.
3.读入流 形式:(std::cin);>>是输入操作符
4.完成程序 就是输出结果; 注解:在写C++程序时,大部分出现空格的地方可用换行符代替。但是有两个例外: 1.字符串面值中的空格不能用换行符代替(" ")。 2.预处理指示中不允许出现空格符(#include" ")。
1.3——关于注释 单行注释以双斜线(//)开头,另一种定界符,注释对(/**/),这种注释以"/*"开头,以"*/"结尾。 注释对一般用于多行解释,而双斜线注释则常用于半行或单行的标记。(注释对不可嵌套)
1.4——控制结构 while语句 代码: //当val>10时跳出循环 while(val<=10){ sum+=val; ++val; } 由以上代码可知while通过测试条件(condition)和执行相关的表达式语句(while_body_statement)来重复执行,直到条件为假。 条件是一个可求值的表达式,可以测试其结果,如果结果值为非0,那么条件为真,值为0,那么条件为假。 for语句 代码: for(int val=1;val<=10;++val)
sum+=val;
上述代码包含for语句头和for语句体两部分 for语句头由三部分组成:一个初始化语句,一个条件,一个表达式。for(循环变量赋初值;循环条件;循环变量增值)语句 执行顺序: 1.初始化语句 2.循环条件 3.语句 4.循环变量增值 If语句 一般形式: if(表达式)语句1 else 语句2
1.5类的简介 使用类时需要清楚三个问题 1.类的名字是什么? 2.它在哪里定义? 3.它支持什么操作?
Sales_item类 1.Sales_item对象上的操作 每个类定义一种类型,类型名与类名相同。 定义类类型的变量,当写下Sales_item item; 就表示item是类型Sales_itemd的一个对象。
Sales_item是一种自定义类型。当使用自定义头文件,我们采用双引号,(" ")把头文件名括起来。 初窺成员函数 什么是成员函数?它属于一个类的成员,出现在类体中,这是区别一般函数的,成员函数可以访问本类任何成员,可以引用在本作用域中的有效数据。当调用成员函数,要指定函数要操作的对象,语法是使用点操作符(.): item1.same_isbn;
1.6——C++程序 之前所介绍的知识只是在做一些知识储备,学完这章已经可以解决最初的书店问题了
<span style="font-family:KaiTi_GB2312;"></span><pre class="cpp" name="code">//C++程序 #include<iostream> #include “Sales_item.h”
int main()
{
Sales_item total,trans;//定义两个Sale_item类对象 //读入交易 if(std::cin>>total){
while(std::cin>>trans) //ISBN相同 if(total.same_isbn(trans)) //更新total total=total+trans; //ISBN不同 else{
std::cout<<total<<std::endl; //使用刚读入的交易重置total total=trans;
}
std::cout<<total<<std::endl;
}else{
std::cout<< “No data?!”<<std::endl;
return -1;
}
return 0;
}
本章介绍了足够多的知识点,我也很清楚地把这些知识点简要的罗列了一遍,虽然写这篇笔记花了我不是太多时间,但我还是觉得很浪费时间,进度很慢,基本计划就是看完一章后马上写笔记,以后尽量只把重点难点给记录下来,还有一些易错知识点,还有一些经常犯的错误。第一篇笔记,有了一个很好的开头,接下来的会更加努力去写 摘自 wwj的梦想之路 |