1. 预处理器编译指令

  • 预处理器是一个在编译前运行的工具。
  • 预处理器编译指令是向预处理器发出的命令,总是以磅字符#大头。
  • #include让预处理器获取指定文件并将它们放在编译指令所处的位置。#include 或#include "自己创建的头文件"
  • #define不再推荐用来定义常量

2. 程序的主体main()

  • int main (int argc, char* argv[])
  • 返回值必须是int,一般是0成功或-1出错,程序员可以自行定义不同值反应的不同状态
  • 参数列表
    * 可以有,也可以没有
    * 需要提供让用户能够修改程序行为的选项时,需要命令行参数
    * 输入字符串时,不要有空格,会当成两个参数

3. 名称空间

  • 降低命名冲突的风险,或导致编译不通过(C#可能会找错)
  • 可以在函数中使用using(C#中只能在文件最外层或者namespace内类定义外使用)
  • 可以只using要使用的元素:using std::cout;

4. 注释

  • //为单行的整行注释
  • //之间为多行注释,必须成对出现
  • 对程序中的复杂算法和复杂部分的工作原理进行解释,要以其他程序员可以理解的方式。
  • 不要用注释来解释显而易见的代码;不要因为有注释代码就写的难理解;改代码时也要更新注释。

5. 函数

  • 函数让您能够将应用程序划分成多个功能单元,并按您选择的顺序调用。
  • 参数列表
  • 返回值:要使用内层函数的返回值;如果函数无需做任何决策,也无需返回成功/失败状态,可以将其返回类型声明为void。
  • 调用前要先声明函数,或者直接把函数定义在调用前(较新的编译器)
  • 可以递归
  • 可以包含多条返回语句
  • 可以重载
  • 还可声明为内联的:在这种情况下编译器将展开函数调用

6. 使用std::cin和std::cout执行基本输入输出操作

  • 输入输出设备包含:鼠标、键盘、屏幕(文本、图形)、打印机、文件系统等。
  • 使用std::endl;作为换行符:std::cout << "123" << std::endl;
  • cin如果只用了一个变量,只会存储空格前的第一部分字符串,如果有空格可以使用getline()
  • cin可以用一条语句将用户输入的空格间隔的字符串各部分分别存储到多个变量:std::cin >> Var1 >> Var2

7. 其他

21天学通C++学习笔记(二):C++程序的组成部分的更多相关文章

  1. 21天学通C++学习笔记(九):类和对象

    1. 类和对象 现实中的人等事物往往具备一些特征并且可以做某些事情,要在程序中模拟这些事物,需要一个结构,将定义其属性(数据)以及其可用这些属性执行的操作(函数)整合在一起.这种结构就是类,而这种结构 ...

  2. 21天学通C++学习笔记(八):指针和引用

    1. 简述 C++最大的优点之一是,既可以用它来编写不依赖于机器(主要是内存)的高级应用程序,又可以用它来编写与硬件紧密协作的应用程序. 事实上C++让您能够在字节和比特级调整应用程序的性能,而要编写 ...

  3. 21天学通C++学习笔记(七):函数

    1. 为什么需要函数 可将应用程序的内容划分成依次调用的逻辑块,让您能够划分和组织程序的执行逻辑,有助于提高可重用性. 2. 基本概念 是子程序,可接受参数,可有返回值. 要让函数执行其任务,必须调用 ...

  4. 21天学通C++学习笔记(四):数组和字符串

    1. 数组 概念 是一组元素 这些元素是相同的数据类型 按顺序存储到内存中 目的是避免在业务需要时去重复声明很多同类型的变量 初始化 分别初始化:int i [5] = {1,2,3,4,5}; 全部 ...

  5. 21天学通C++学习笔记(三):变量和常量

    1. 简述 内存是一种临时存储器,也被称为随机存取存储器(RAM),所有的计算机.智能手机及其他可编程设备都包含微处理器和一定数量的内存,用地址来定位不同的存储区域,像编号一样. 硬盘可以永久的存储数 ...

  6. 21天学通C++学习笔记(一):入门

    1. 基础概念 1.1 编程语言 旨在让人更容易得使用计算资源,充分利用电脑,不用人做一些重复劳动或持续参与. 1.2 可执行文件 是可运行的成品,应按程序员希望的那样做. 1.3 生成可执行文件的步 ...

  7. C#学习笔记二:C#程序结构

    从最简单的HelloWorld开始入手,这是一个最低限度的C#程序结构. C# Hello World 示例 一个C#程序主要由以下几部分组成: 命名空间声明 一个类 类方法 类属性 一个Main方法 ...

  8. 21天学通PythonPDF高清完整版免费下载|百度云盘

    百度云盘:21天学通PythonPDF高清完整版免费下载 提取码:nqa9 豆瓣评分: 书籍封面: 内容简介  · · · · · · <21天学通Python>全面.系统.深入地讲解了P ...

  9. WPF的Binding学习笔记(二)

    原文: http://www.cnblogs.com/pasoraku/archive/2012/10/25/2738428.htmlWPF的Binding学习笔记(二) 上次学了点点Binding的 ...

随机推荐

  1. 【转】Jmeter JDBC请求的问题

    如何添加一个JDBC请求?本次以Orale为例. 1  From网上下载一个名为Class12.jar 的驱动包,然后放到该目录下:[否则会提示no suitable driver] 2  查看链接O ...

  2. Avro之一:Avro简介

    一.引言 1. 简介 Avro是Hadoop中的一个子项目,也是Apache中一个独立的项目,Avro是一个基于二进制数据传输高性能的中间件.在Hadoop的其他项目中例如HBase(Ref)和Hiv ...

  3. 1130 Infix Expression

    题意:给出一个语法树(二叉树),输出相应的中缀表达式. 思路:很显然,通过中序遍历来做.通过观察,发现除了根结点之外的所有非叶结点的两侧都要输出括号,故在中序遍历时判断一下即可. 代码: #inclu ...

  4. PHP5.6 安装Yaf 2.3.5

    Yaf 安装 PHP5.6 安装Yaf 2.3.5 1.下载 https://github.com/laruence/yaf 2.phpize /usr/bin/phpize 3.配置 ./confi ...

  5. C#获取视频文件播放长度

    下面两种方法只支持部分视频格式,一般格式mp3,wma等等支持 1.使用Shell32 添加引用,选择COM中的Microsoft Shell Controls And Automation引用 // ...

  6. Axure RP的基础使用

    Axure RP是一个专业的快速原型设计工具. 在上面可以直接设计软件的原型而且不涉及代码,例如设计软件的流程和界面之类的.简单的说,就是可以在上面编写界面,让人看起来像一个完整的软件一样. 设置完成 ...

  7. 利用 Flask+Redis 维护 IP 代理池

    代理池的维护 目前有很多网站提供免费代理,而且种类齐全,比如各个地区.各个匿名级别的都有,不过质量实在不敢恭维,毕竟都是免费公开的,可能一个代理无数个人在用也说不定.所以我们需要做的是大量抓取这些免费 ...

  8. leetcode452

    public class Solution { public int FindMinArrowShots(int[,] points) { // multidimensional array cann ...

  9. jenkins容器权限被拒绝

    问题,我们从官网上面pull下jenkins后,如果直接运行容器的没问题 docker run -d -p 8080:8080 -v jenkins:latest 不过我们可能需要映射下容器内部的地址 ...

  10. 移植OK6410&#039;S&nbsp;dm9000ae…

    转载自:http://lagignition.blog.163.com/blog/static/12873002320110443341961/