第一章 开始

第一节 编写一个简单的C++程序

不同编译器使用不同的后缀命名约定,比如cccppc

比如main程序保存到prog1.cc中,可以使用如下命令来编译它:cc prog1.cc。其中,cc是编译器程序的名字,编译器生成一个可执行文件,Windows系统命名为prog1.exeUNIX系统中的编译器将可执行文件命名为a.out

运行GNU编译器的命令是g++,比如:g++ -o prog1 prog1.cc

运行微软Visual Stdio 2010编译器的命令为cl,比如:cl /EHsc prog1.cpp,命令cl调用编译器,/EHsc是编译器选项,用来打开标准异常处理。微软编译器会自动生成一个可执行文件,其名字与第一个源文件名对应。

UNIX系统中,可执行文件没有后缀,默认生成a.out的可执行文件。


第二节 初识输入输出

iostream库包含两个基础类型istreamostream,分别表示输入流和输出流。一个流就是一个字符序列,是从IO设备读入或写入IO设备的。术语“流”想表达的是,随着时间的推移,字符是顺序生成或消耗的。

标准库定义了4个IO对象,cinistream类型的对象,叫做标准输入coutostream类型的对象,叫做标准输出。标准库还定义了其他两个ostream对象,名为cerrclogcerr用来输出警告和错误信息,叫做标准错误clog用来输出程序运行时的一般性信息。当我们向coutcerrclog写入数据时,将会写到同一个窗口。

输出运算符<<接收两个运算对象,左侧的运算对象必须是一个ostream对象,右侧的运算对象是要打印的值。运算结果是写入了要打印的值的那个ostream对象。比如:cout << "abc" << endl;相当于(cout << "abc") << endl;,前一个<<执行的结果是写入了"abc"cout对象。

endl是一个操作符特殊值,写入endl的效果是结束当前行,并将与设备关联的缓冲区(buffer)中的内容刷到设备中。缓冲刷新操作可以保证到目前为止程序所产生的所有输出都真正写入输出流中,而不是仅停留在内存中等待写入流。

调试是添加的打印语句,应该保证“一直”刷新流,否则如果程序崩溃,输出可能还留在缓冲区中,从而导致关于程序崩溃位置的错误推断。

std::cin指出cin是定义在名为std的命名空间(namespace)中的,命名空间可以帮助我们避免不经意的名字定义冲突,以及使用库中相同名字导致的冲突。标准库定义的所有名字都在命名空间std中。


第三节 注释简介

/* */不能嵌套,否则会让*/之前出现的所有/*失效。


第四节 控制流

不断读取数据直至没有新的输入为止:while(cin >> value),其中valueint类型。使用一个istream对象作为条件时,其效果是检测流的状态。如果流是有效的,则流未遇到错误,那么检测成功,当遇到文件结束符,或遇到一个无效输入时(例如读入的值不是一个整数),istream对象的状态会变为无效,然后istream对象会使条件变为假。

Windows系统中,输入文件结束符的方法是敲Ctrl+Z,在UNIX系统中,包括Mac OS X系统中,文件结束符输入是用Ctrl+D


小结

内置类型:由语言定义的类型,比如int

::运算符:作用域运算符。其用处之一是访问命名空间中的名字。std::cout表示命名空间std中的名字cout

最新文章

  1. MyEclipse安装插件的几种方法
  2. Let&#39;s Encrypt 正式出發(免费HTTPS证书即将到来)
  3. jquery学习笔记----元素筛选
  4. ios基础篇(十四)——UITableView(二)属性及基本用法
  5. mongodb 监控分析命令
  6. 10.C#匿名函数的变量捕获(五章5.5)
  7. [BZOJ 2186] [Sdoi2008] 沙拉公主的困惑 【欧拉函数】
  8. java 读取excel
  9. (MVC)javaBaen+jsp+servlet对数据的操作
  10. Django--ORM基本操作
  11. java 基础 浮点类型
  12. Luogu 1309 - 瑞士轮 - [归并排序]
  13. Android ViewPager + Fragment实现滑动页面
  14. Python3模块-random、hashlib和base64
  15. JavaBasic_08
  16. 【vue】vue前端项目结构
  17. 6.C#知识点:反射
  18. 前端入门html(标签介绍)
  19. 177. [USACO Jan07] 有限制的素数
  20. bzoj1010: [HNOI2008]玩具装箱toy(斜率优化DP)

热门文章

  1. 记一次 .NET某家装ERP系统 内存暴涨分析
  2. vscode+eslint项目规范化,自动格式化配置(项目中用到的)
  3. css background背景透明
  4. uniapp 自定义 picker
  5. js提交数据
  6. RISC-V核及工具链整理
  7. LP1-5:流程与沟通
  8. Oracle 详细-创建用户并导入sql文件
  9. vscode自定义工作目录
  10. RockyLinux8.7 制作OpenSSH9.2 rpm包