一、本篇要学习的内容和知识结构概览

 

二、知识点逐条分析

1. 混合型语言

C++源文件的文件扩展名为.cpp, 也就是c plus plus的简写, 在该文件里有且只能有一个名为main的主函数, 它作为程序的入口.  因为这个主函数的存在, 所以C++被称为混合型语言.

2. C++语言当中的注释

第一种: 单行注释, 从 // 开始到本行结束.

像这样:

       // 下面的代码是求最大值

第二程: 多行注释, 从 /* 开始到 */ 结束.

像这样:

       /*

       函数功能: 下面的代码是用来求最大值的

       函数描述: 接收两个整型参数, 返回它俩的最大值

       */

3. 输入对象和输出对象

我们在使用这两个对象前, #include <iostream> 先引入这个头文件, 并且使用命名空间: using namespace std; 之后就可以使用这两个对象啦!

a. 输入对象: cin, 输出对象cout.

像这样:

int a = 0; // 定义一个整型变量a, 赋初值为0

cout << a; // 打印这个值

cin >> a; // 使用cin对象获取用户输入的值赋值给a

cout << a; // 使用cout对象输出变量a的值

b. 当然我们也可以输出字符串:

cout << “我是被输出的字符串!”;

c. 我们还可以字符串加变量值的拼接输出:

cout << “用户输入的值为: ” << a << endl;

d. 我们也可以在输出的时候进行换行

第一种: cout << “\n”;

第二种: cout << endl;

这两个的效果是一样的.

4. 使用命名空间

引入头文件的方式有两种, 系统头文件用<>, 自定义头文件用””

第一种: 带.h引入头文件

#include

第二种: 使用命名空间引入头文件

#include <iostream>

using namespace std;

5. 对象的定义和初始化

       int a = 0;

       int z(0);

上面两句话是等价的, 作用: 申请内存空间, 给内存空间命名, 向这块内存中写入数据.

不过我们一般都使用第一种方式.

6. 函数原型及其返回值

函数及变量的使用规则: 先声明, 后使用. 变量有时也可以边声明, 边使用.

我们在main函数后面定义的函数, 如果想要在main函数内使用, 就必须在main函数前声明, 告诉编译系统, 后面有这个函数, 我要用啦! 当然也可以把函数定义放在main函数之前, 这样就不用声明啦!

像这样: 

#include <iostream>

using namespace std;
// 声明函数 // 第一个int为返回值类型, 也称之为函数类型, 第二, 第三个int为参数类型 int getMax(int, int); int main(int argc, const char * argv[]) { // insert code here... int a = 5; int b = 8; // 函数声明之后, 才可使用 int result = getMax(a, b); cout << result << endl; return 0; } // 定义函数 int getMax(int a, int b) { if (a > b) { return a; } else { return b; } }

  

如果函数不需要返回值, 可以用void标识, 一旦使用void, 函数体不再使用return语句, 但是可以使用return;直接结束函数的执行, 返回到调用函数.

像这样:

void sayHello() {

    count << “I am a student!” << endl;

    return; // 后面的语句不再执行, 退出函数

    count << “I am 8 years old!” << endl;

}

7. const修饰符及预处理程序

a. const修饰的变量,

在以后值不可再更改, 所以我们称之为符号常量, 也必须在声明时对符号常量进行初始化.

像这样:

       const int a = 5;

       a = 10; // 错误, 符号常量a不可更改

但是用extern修饰的外部变量, 可以不用进行初始化.

像这样:

       extern const int b; // 其中b为其它文件定义的外部符号常量

b. 用于代替宏定义

       #define M_PI 3.14   // 宏定义是直接进行替换, 没有类型检查

       const float M_PI 3.14;   // 而const定义的符号常量, 是有类型检查的, 更安全.

c. 预处理有有一种: 宏定义, 条件编译, 文件包含

第一种, 宏定义: 在编译期间, 将出现宏的地方替换为指定代码

第二种, 文件包含: 一个文件把另一个文件的内容包含进来.

像这样:

 #include <iostream> using namespace std;

第三种, 条件编译

像这样:

       #ifndef _LIBCPP_HAS_NO_STDIN

       extern _LIBCPP_FUNC_VIS istream cin;

       extern _LIBCPP_FUNC_VIS wistream wcin;

       #endif

一般用于系统控制, 跟我们代码中的if..else是一样的, 用得比较少

8. 代码书写基本规范

a. 括号紧跟在函数名后面, 我们见到名字加括号, 很直观的知道这是一个函数

b. for, while等关键词和括号之间要用一个空格隔开

c. 运算符左右各留一个空格

d. 在参数列表中, 每个逗号后面加空格, 这样显得更清晰

e. 合理添加空行和注释, 让代码以组的形式和功能块的形式呈现, 这样就更完美啦!

我们每每在接触一门新的语言的时候, 关注点总是放在关键字, 语法结构, 函数(方法)使用上, 而我们学习一个新的语言要学会得应该是基本素养和基本概念, 以及语言当中所包含的自己所特有的思想。

如果你也很想学编程,可以来我的C语言/C++编程学习基地【点击进入】!

还有(源码,零基础教程,项目实战教学视频)!带你入个门还是简简单单啦~

涉及:游戏开发、课程设计、常用软件开发、编程基础知识、黑客等等...

 

 

【C++入门学习笔记】函数和对象!你需要这一篇文章入门C++!的更多相关文章

  1. PyQt4入门学习笔记(一)

    PyQt4入门学习笔记(一) 一直没有找到什么好的pyqt4的教程,偶然在google上搜到一篇不错的入门文档,翻译过来,留以后再复习. 原始链接如下: http://zetcode.com/gui/ ...

  2. Scala入门学习笔记三--数组使用

    前言 本篇主要讲Scala的Array.BufferArray.List,更多教程请参考:Scala教程 本篇知识点概括 若长度固定则使用Array,若长度可能有 变化则使用ArrayBuffer 提 ...

  3. OpenCV入门学习笔记

    OpenCV入门学习笔记 参照OpenCV中文论坛相关文档(http://www.opencv.org.cn/) 一.简介 OpenCV(Open Source Computer Vision),开源 ...

  4. stylus入门学习笔记

    title: stylus入门学习笔记 date: 2018-09-06 17:35:28 tags: [stylus] description: 学习到 vue, 有人推荐使用 stylus 这个 ...

  5. Hadoop入门学习笔记---part1

    随着毕业设计的进行,大学四年正式进入尾声.任你玩四年的大学的最后一次作业最后在激烈的选题中尘埃落定.无论选择了怎样的选题,无论最后的结果是怎样的,对于大学里面的这最后一份作业,也希望自己能够尽心尽力, ...

  6. 汇编入门学习笔记 (九)—— call和ret

    疯狂的暑假学习之  汇编入门学习笔记 (九)--  call和ret 參考: <汇编语言> 王爽 第10章 call和ret都是转移指令. 1. ret和retf ret指令:用栈中的数据 ...

  7. JavaScript:学习笔记(9)——Promise对象

    JavaScript:学习笔记(9)——Promise对象 引入Promise Primose是异步编程的一种解决方案,比传统的解决方案回调函数和事件更加合理和强大.如下面为基于回调函数的Ajax操作 ...

  8. Three入门学习笔记整理

    一.官方网站:https://threejs.org 二.关于Three.js 三.开始 四.实例 基本结构 结果 五.概念 坐标系 场景 相机 灯光 3D模型 六.简单动画 七.交互控制 结束 # ...

  9. JavaScript:学习笔记(10)——XMLHttpRequest对象

    JavaScript:学习笔记(10)——XMLHttpRequest对象 XHR对象 使用XMLHttpRequest (XHR)对象可以与服务器交互.您可以从URL获取数据,而无需让整个的页面刷新 ...

  10. Sass简单、快速上手_Sass快速入门学习笔记总结

    Sass是世界上最成熟.稳定和强大的专业级css扩展语言 ,除了Sass是css的一种预处理器语言,类似的语言还有Less,Stylus等. 这篇文章关于Sass快速入门学习笔记. 资源网站大全 ht ...

随机推荐

  1. Java-Collection和Map

    创建博客的目的主要帮助自己记忆和复习日常学到和用到的知识:或有纰漏请大家斧正,非常感谢! 之前面试,被问过一个问题:List和Set的区别. 主要区别很明显了,两者都是数组形式存在的,继承了Colle ...

  2. [GXYCTF2019]Ping Ping Ping wp

    根据题目考虑是命令注入方面, 打开网页,使用?ip=127.0.0.1;ls查询存在文件 后尝试使用?ip=127.0.01;cat flag.php打开flag.php无果 尝试打开index.ph ...

  3. Spring Cloud Alibaba微服务生态的基础实践

    目录 一.背景 二.初识Spring Cloud Alibaba 三.Nacos的基础实践 3.1 安装Nacos并启动服务 3.2 建立微服务并向Nacos注册服务 3.3 建立微服务消费者进行服务 ...

  4. SpringBoot中使用切面的每次传的参数,进行解析,验签,并返回解码后的参数

    目的,在每次请求的时候,对每次传的参数,进行解析,验签,并返回解码后的参数, 以json传递: 例子背景: IOT平台提供对外可访问的接口, 需要对所有参数的传递做到 不泄露.认证的目的:所以需要在每 ...

  5. 初学 React native | 环境搭建(在模拟器上运行)

    我的电脑是windows 所以就以 windows上+Android 配置React native 环境 网上的安装教程非常多,我总结了一下,配置环境时出错原因主要是node java python ...

  6. 基于Ant Design Vue封装一个表单控件

    开源代码 https://github.com/naturefwvue/nf-vue3-ant 有缺点本来是写在最后的,但是博文写的似乎有点太长了,估计大家没时间往下看,于是就把有缺点写在前面了,不喜 ...

  7. hystrix(1) 概述

    首先我们来讲一下hystrix解决什么问题.在大型分布式系统中经常会存在下面的几类问题: 1.大型分布式系统中,服务之间相互依赖,如果依赖的服务发生异常,那么当前服务也会出现异常,这样将会导致联级的服 ...

  8. @Autowried入门和源码分析

    话不多说直接上代码: 声明一个接口userDao: package ioc.hello; public interface UserDao { public void test(); } 2个实现类: ...

  9. 【转】Locust性能-零基础入门系列(3)-压力权重

    本文将继续对Locust性能测试进行持续讲解,主要是讲解虚拟用户数分配和权重的关系.在locust file中进行多用户类的实现和操作.我们这次先上完整的代码: from locust import ...

  10. JVM学习(九)volatile应用

    一.初认volatile 首先学习volatile关键字时,我们先简单的了解一下它能干啥: 工作内存与主内存同步延迟现象导致的可见性问题: 可通过synchronized或volatile关键字解决, ...