您的位置:首页 > 编程语言 > C语言/C++

C++ Primer 第一章 快速入门笔记

2011-09-19 11:15 483 查看
C++Primer第一章快速入门

看到很多人学习这本书都会写下学习过程笔记!因为觉得这是不错的做法,也可以巩固自己学习的知识,还能在以后的学习这本时发现问题,到时也可以到回来修改和补充。

自己在图书馆看完了第一章,小钱问我感觉会不会闷,我说我觉得很爽!我不打算很快地把它看完,我要把每个知识点都掌握,所以刚开始会看得很慢,我也不急,就像小钱说的稳扎稳打,一步一个脚印一样。因为有C++基础,所以看这本书并不困难,看过之后,发现这本书确实不适合新手去读,最好要有点基础才行,好了废话不多说,开始写这一章的笔记了。

本章呢,介绍C++大部分基本要素:内置类型、库类型、类类型、变量、表达式、语句和函数。这一章主要是做一个缓冲,后面的章节才慢慢阐明本章的主题。

1.1节-编写简单的C++程序

一个C++程序都包含一个或多个函数,其中必须有一个命名为main

函数由执行函数功能的语句序列组成。

main函数的返回值必须是int型,该类型表示整数。int类型是内置类型,即该类型是由C++语言定义的。

C++中多数语句以分号作为结束标记。(容易被忽略)

return语句带上一个值时,这个值就是函数的返回值。

返回值类型必须和函数的返回类型相同。

——编译与执行程序

这本书程序好像是调用GUN编译器,我一直用的是VisualC++6.0,算是一个比较老的编译器,最近开始用VisualStudio系列的编译器,还不怎么会用,有点悲催!

——程序源文件命名规范

源文件的名字由文件名和文件后缀两部分组成。

visualStudio编译器后缀形式是(.cpp)

1.2节——初窺输入/输出

这种功能是由标准库提供的(iostream库)

istream和ostream,分别表示输入流和输出流

标准输入与输出对象分别是cincout,标准库还定义了另外两个ostream对象分别命名为cerrclog;

课本代码如下:

#include<iostream> intmain() { std::cout<<"Entertwonumber:"<<std::endl; intv1,v2; std::cin>>v1>>v2; std::cout<<"Thesumof" <<v1<<"and"<<v2 <<"is"<<v1+v2<<std::endl; return0; }

程序的第一行是一个预处理指示,尖括号里的名字是一个头文件

1.写入到流

形式:(std::cout);<<是输出操作符

endl是一个特殊值,称为操作符,具有换行的效果,并刷新与设备相关联的缓冲区。

2.使用标准库中的名字

命名空间(namespace)std,这本书的输出形式跟谭伯伯那本《C++程序设计》输出有点区别,谭伯伯那本在程序开头是写

(usingnamespacestd;),然后输出就直接有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(intval=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_itemitem;

就表示item是类型Sales_itemd的一个对象

Sales_item是一种自定义类型。当使用自定义头文件,我们采用双引号,("")把头文件名括起来。

初窺成员函数

什么是成员函数?它属于一个类的成员,出现在类体中,这是区别一般函数的,成员函数可以访问本类任何成员,可以引用在本作用域中的有效数据。当调用成员函数,要指定函数要操作的对象,语法是使用点操作符(.):item1.same_isbn;

1.6——C++程序

之前所介绍的知识只是在做一些知识储备,学完这章已经可以解决最初的书店问题了

//C++程序

#include<iostream>
#include“Sales_item.h”
intmain()

{

Sales_itemtotal,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<<“Nodata?!”<<std::endl;

return-1;}

return0;

}


本章介绍了足够多的知识点,我也很清楚地把这些知识点简要的罗列了一遍,虽然写这篇笔记花了我不是太多时间,但我还是觉得很浪费时间,进度很慢,基本计划就是看完一章后马上写笔记,以后尽量只把重点难点给记录下来,还有一些易错知识点,还有一些经常犯的错误。第一篇笔记,有了一个很好的开头,接下来的会更加努力去写。


                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: