C++ Primer 笔记+习题解答(一)

这篇博客是C++ Primer的第一章笔记,涵盖了C++程序的基本元素,如函数、类型、输入输出以及控制流语句。文章介绍了IDE、源文件命名、编译器使用,并详细讲解了cin、cout、cerr和clog的用法。博主分享了对C++类和运算符重载的理解,并讨论了错误类型检测、if语句和类的初步认识。此外,还解答了部分习题。
摘要由CSDN通过智能技术生成

今天是第一次笔记,说实话拖了很久,因为刚刚到家,没有稳定的学习环境,各种事情分心,就连C++Primer 的第一章都看了那么长时间,直到今天才有时间来写笔记。每次看书都能有点收获,蛮欣慰的。

若存在错误 请指正 万分感谢

1.1 简介:

 1.每个C++程序包含一个或多个functions,其中一定有main函数,此函数是操作系统执行程序的入口。

 2.函数定义几个要素:return type; function name; parameter list; function body.

 3.main function‘s return type must be int and void is banned.

 4.函数体以左花括号(curly brace)开始,以右花括号的语句块结束(block of statements)

 5.main 函数的返回值来指示函数的执行状态,一般0表示执行成功,非0值的具体含义由系统定义,通常用了表示错误的类型。

 6.类型概念:类型是程序设计的最基本概念,类型既定义了数据元素内容,也定义了其上可以进行的操作。比如定义一个int 型的变量,那么同时也定义了其上可以进行的操作,比如加法等。其实和类的概念很相像。程序所处理的数据都保存在变量中,每个变量都有自己的类型。若一个名为v的变量类型为T,等价于v具有类型T,也等价于v是T类型变量。

1.2 相关:

 1.Integrated Development Environment IDE。

 2.程序源文件名约定:通常是 .cpp;.c;.cxx;.cc;.cp

 3.从命令行运行编译器:$ CC prog1.cc其中CC是编译器的名字 ,prog1.cc 是源文件。

    执行后生成一个可执行文件:如prog1.exe

    获取返回值:$ echo %ERRORLEVEL%

1.3初始化输入输出:

  1.C++为定义IO语句,而且 用标准库提供IO机智。

   2.流的理解:一个流就是一个字符序列,是从IO设备读取或写入IO设备的。术语流想表达的是随着时间的推移,字符是顺序生成或消耗的。

   3.四个对象:cin,cout,cerr,clog.四个对象。标准输入,标准输出,标准错误。

   4.这四个对象通常和程序所运行的窗口关联起来,因为当我们读取cin时,将从程序运行的窗口读入当我们向cout/cerr/clog写数据的时候,也会写到同一窗口。

   5.向流写入数据:C++中一个表达式产生一个计算结果,它是 由一个或者对歌运算对象和一个或者多个运算符构成的,比如使用了<<运算符,:

std::cout<<"Enter two numbers"<<std::endl;

    这个地方的输出运算符<<需要两个运算对象,左边的运算对象是一个ostream 对象,右边是一个常量字符串。此运算符将给定的值写到cout对象中,此表达式的计算结果是ostream对象。

    为什么可以连续使用<<运算符呢?因为一个输出运算符的结果是ostream对象,所以可以连用,那么上面的语句等价于:

(std::cout<<"Enter two numbers")<<std::endl;//也等价于:std::cout<<"Enter two numbers";std::cout<<std::endl;

     因为cout对象是关联到屏幕这个文件的,所以string literal被打印到屏幕上。

   std::endl是操纵符(manipulator)功能:结束当前行,并且将与它关联的设备的缓冲区刷新到设备中。缓冲刷新操作可以确保目前程序所产生的输出都真正的写入到流中,而不是仅仅停在内存中等待写入。

  6.程序调试经常添加打印语句,应该保持刷新流,否则程序崩溃,输出还停留在buffer中,可能会错误推断程序出错的位置。

  7.使用标准库中名字,需要使用std+作用域运算符(::)

  8.向流写入数据:需要使用>>运算符。>>运算符类似输出运算符,左运算对象是一个istream对象,右边运算对象是需要操作的变量。>>运算符的连用操作类似<<输出运算符。

  9.解释一个语句:std::cout<<"The sum of "<<v1<<" and "<<v2<<" is "

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值