21天学通C++学习笔记(二):C++程序的组成部分
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++程序的组成部分的更多相关文章
- 21天学通C++学习笔记(九):类和对象
1. 类和对象 现实中的人等事物往往具备一些特征并且可以做某些事情,要在程序中模拟这些事物,需要一个结构,将定义其属性(数据)以及其可用这些属性执行的操作(函数)整合在一起.这种结构就是类,而这种结构 ...
- 21天学通C++学习笔记(八):指针和引用
1. 简述 C++最大的优点之一是,既可以用它来编写不依赖于机器(主要是内存)的高级应用程序,又可以用它来编写与硬件紧密协作的应用程序. 事实上C++让您能够在字节和比特级调整应用程序的性能,而要编写 ...
- 21天学通C++学习笔记(七):函数
1. 为什么需要函数 可将应用程序的内容划分成依次调用的逻辑块,让您能够划分和组织程序的执行逻辑,有助于提高可重用性. 2. 基本概念 是子程序,可接受参数,可有返回值. 要让函数执行其任务,必须调用 ...
- 21天学通C++学习笔记(四):数组和字符串
1. 数组 概念 是一组元素 这些元素是相同的数据类型 按顺序存储到内存中 目的是避免在业务需要时去重复声明很多同类型的变量 初始化 分别初始化:int i [5] = {1,2,3,4,5}; 全部 ...
- 21天学通C++学习笔记(三):变量和常量
1. 简述 内存是一种临时存储器,也被称为随机存取存储器(RAM),所有的计算机.智能手机及其他可编程设备都包含微处理器和一定数量的内存,用地址来定位不同的存储区域,像编号一样. 硬盘可以永久的存储数 ...
- 21天学通C++学习笔记(一):入门
1. 基础概念 1.1 编程语言 旨在让人更容易得使用计算资源,充分利用电脑,不用人做一些重复劳动或持续参与. 1.2 可执行文件 是可运行的成品,应按程序员希望的那样做. 1.3 生成可执行文件的步 ...
- C#学习笔记二:C#程序结构
从最简单的HelloWorld开始入手,这是一个最低限度的C#程序结构. C# Hello World 示例 一个C#程序主要由以下几部分组成: 命名空间声明 一个类 类方法 类属性 一个Main方法 ...
- 21天学通PythonPDF高清完整版免费下载|百度云盘
百度云盘:21天学通PythonPDF高清完整版免费下载 提取码:nqa9 豆瓣评分: 书籍封面: 内容简介 · · · · · · <21天学通Python>全面.系统.深入地讲解了P ...
- WPF的Binding学习笔记(二)
原文: http://www.cnblogs.com/pasoraku/archive/2012/10/25/2738428.htmlWPF的Binding学习笔记(二) 上次学了点点Binding的 ...
随机推荐
- Vue.js:样式绑定
ylbtech-Vue.js:样式绑定 1.返回顶部 1. Vue.js 样式绑定 Vue.js class class 与 style 是 HTML 元素的属性,用于设置元素的样式,我们可以用 v- ...
- Git 学习小问题记录
最近一直使用Git在管理代码,但是的确不规范,今天开始恶补Git常用命令.实际今天的任务是需要从master牵出一条branch.心想着这个简单只补一下创建分支以及merge的这边的命令就可以了,于是 ...
- Java中静态变量、静态代码块、非静态代码块以及静态方法的加载顺序
在研究单例设计模式的时候,用到了静态变量和静态方法的内容,出于兴趣,这里简单了解一下这四个模块在类初始化的时候的加载顺序. 经过研究发现,它们的加载顺序为: 1.非静态代码块 2.静态变量或者静态代码 ...
- ASP.NET页面传值加号变空格解决办法
只需要把欲传值进行编码 string EncodeId = Server.UrlEncode(id); 加号就变成了 % 2 B (中间无空格) 然后再传出去. Request.QueryStrin ...
- Linux - 目录结构及文件操作
根目录 “/”:Linux 系统中最高层的目录 这个就是根目录 用 / 表示根目录 bin 目录:存放可执行文件 bin 目录下的文件都是平常使用的命令 在 Linux 系统中,一切都是文件 sbin ...
- java成神之——注释修饰符
注释修饰符 自定义注释 元注释 通过反射在runtime访问注释 内置注释 多注释实例 错误写法 使用容器改写 使用@Repeatable元注释 注释继承 使用反射获取注释 获取类的注释 获取方法的注 ...
- springboot成神之——springboot+mybatis+mysql搭建项目简明demo
springboot+mybatis+mysql搭建项目简明demo 项目所需目录结构 pom.xml文件配置 application.properties文件配置 MyApplication.jav ...
- ocx控件针对网页刷新和关闭分别进行区分处理
当ocx加载在网页上时,如果对网页执行F5刷新事件,ocx控件会销毁ocx的窗口类,但是ocx的APP类是不会销毁的. 只有当网页被关闭时,才销毁app类. --------------------- ...
- mvc 实体类 自定义验证特性
mvc 实体类验证的时候 如果有多个验证特性需要在属性上层叠很多个验证特性,显得属性特别臃肿并且也不够直观,极大地影响我使用它的兴趣,所以我想自定义一个验证特性,然后将所有需要验证的情形全部放在一个特 ...
- xcode恢复语法高亮
[xcode恢复语法高亮] 非常简单,在Organizer中删除derivedData.