C和C++的关系

  • C语言是结构化和模块化的语言, 面向过程.
  • C++是在C语言的基础上, 增加了面向对象的机制, 并对C语言的功能进行了扩充.
    • 变量的定义可以出现在程序中的任何行
    • 提供了标准输入输出流对象cin和cout.
    • 用const定义常量
    • 函数重载, 函数模板, 带默认值的函数
    • 引用类型
    • 单目作用域运算符
    • string类型字符串
    • 使用new和delete代替malloc和free函数

开发工具 code::blocks

集成安装后, 注意添加环境变量: D:\CodeBlocks\MinGW\bin

第一个程序-Helloworld

#include <iostream>
int main()
{
std::cout << "HelloWorld!" << std::endl;
return 0;
}

命令行运行

程序解析

  • #开头的语句称为预处理器指令

  • #include语句不是必须的, 但程序中有该语句时, 必须将它放在程序的开始处

    • 将iostream文件的内容添加到程序中, iostream中包含了有关输入输出语句的函数
  • 头文件的命名约定

    头文件类型 约定 示例 说明
    C旧式风格 .h结尾 stdio.h math.h C C++通用
    C++旧式风格 .h结尾 iostream.h C++可以使用
    C++新式风格 没有扩展名 iostream C++使用, 需要使用namespace
    转换后的C 加上前缀c, 没有扩展名 cmath cstdio C++使用

  • 使用名称空间std, 名称空间是一项C++的特性, 用来在编写大型程序时组织源代码

    • 其他用法:

      using namespace std;
      
      using std::cin;
      using std::endl;
      using std::cout;
  • <<符号表示把字符串HelloWorld!插入到输出流cout中打印, endl是控制符, 换行(\n).

    • 输出时一个流, 可以理解成从程序流出的一系列字符串
    • cout对象表示这种流, 在iostream文件中定义
    • <<是插入运算符, 可以将右侧信息插入到流中.
  • return 0表示程序正常结束, 非0表示异常结束. 操作系统支持其他进程来获取别的进程的退出代码.

编码规范

  • 每条语句独占一行
  • 每个函数都有一个开始和结束花括号, 花括号各占一行
  • 函数中的语句相对于花括号进行缩进
  • 与函数名相关的小括号周围没有空格
  • 注释应该准确, 简洁, 易懂
    • 单行注释. //开头
    • 多行注释, /*开头, */结尾

编译和执行过程

  1. 编译(预处理->编译->目标文件)

    形成目标代码或文件, 目标代码时编译器的输出结果, 常见扩展名为.o.obj

  2. 链接

    将目标代码跟C++函数库相连接, 并将源程序所用的库代码与目标代码合并, 形成最终可以执行的二进制机器码,即可执行程序

  3. 执行

    在特定的机器环境下运行C++应用程序

C++---初识C++的更多相关文章

  1. Android动画效果之初识Property Animation(属性动画)

    前言: 前面两篇介绍了Android的Tween Animation(补间动画) Android动画效果之Tween Animation(补间动画).Frame Animation(逐帧动画)Andr ...

  2. 初识Hadoop

    第一部分:              初识Hadoop 一.             谁说大象不能跳舞 业务数据越来越多,用关系型数据库来存储和处理数据越来越感觉吃力,一个查询或者一个导出,要执行很长 ...

  3. python学习笔记(基础四:模块初识、pyc和PyCodeObject是什么)

    一.模块初识(一) 模块,也叫库.库有标准库第三方库. 注意事项:文件名不能和导入的模块名相同 1. sys模块 import sys print(sys.path) #打印环境变量 print(sy ...

  4. 初识IOS,Label控件的应用。

    初识IOS,Label控件的应用. // // ViewController.m // Gua.test // // Created by 郭美男 on 16/5/31. // Copyright © ...

  5. UI篇(初识君面)

    我们的APP要想吸引用户,就要把UI(脸蛋)搞漂亮一点.毕竟好的外貌是增进人际关系的第一步,我们程序员看到一个APP时,第一眼就是看这个软件的功能,不去关心界面是否漂亮,看到好的程序会说"我 ...

  6. Python导出Excel为Lua/Json/Xml实例教程(一):初识Python

    Python导出Excel为Lua/Json/Xml实例教程(一):初识Python 相关链接: Python导出Excel为Lua/Json/Xml实例教程(一):初识Python Python导出 ...

  7. 初识SpringMvc

    初识SpringMvc springMvc简介:SpringMVC也叫Spring Web mvc,属于表现层的框架.Spring MVC是Spring框架的一部分,是在Spring3.0后发布的 s ...

  8. 初识redis数据类型

    初识redis数据类型 1.String(字符串) string是redis最基本的类型,一个key对应一个value. string类型是二进制安全的.意思是redis的string可以包含任何数据 ...

  9. Redis初识、设计思想与一些学习资源推荐

    一.Redis简介 1.什么是Redis Redis 是一个开源的使用ANSI C 语言编写.支持网络.可基于内存亦可持久化的日志型.Key-Value 数据库,并提供多种语言的API.从2010 年 ...

  10. MongoDB【第一篇】MongodDB初识

    NoSQL介绍 一.NoSQL简介 NoSQL,全称是”Not Only Sql”,指的是非关系型的数据库. 非关系型数据库主要有这些特点:非关系型的.分布式的.开源的.水平可扩展的. 原始的目的是为 ...

随机推荐

  1. zabbix5.0监控mysql

    最近开发让对mysql数据库进行监控,由于公司的开发大部分都是以WINDOWS环境下运行的,只有少部分是在LINUX下.我自己先在linux做了一个测试.按照网上教程折腾了三天.最后看着官方教程很轻松 ...

  2. OSPF协议原理及配置2-理解邻居和邻接关系

    OSPF是一个动态路由协议,运行OSPF的路由器之间需要交换链路状态信息和路由信息,在交换这些信息之前首先需要建立邻接关系.邻接关系用来交换链路状态及路由信息. 注意:并非所有的邻居关系都可以成为邻接 ...

  3. 微信小程序结合原生JS实现电商模板(二)

    接 <微信小程序结合原生JS实现电商模板(一)>,在首页列表加入购物车到购物和模块增删数量,动态计算商品价格实现后,本次提交主要实现了商品详情(还不完善)简单页面,从商品详情页跳转到购物车 ...

  4. LGP3281口胡

    当你看到一个东西的时候,GF 有可能比 DP 更方便.处理贡献也有可能比 DP 更方便. 这个题意明显是让我们计算 \(S(r)-S(l-1)\) 之类的东西( 所以直接考虑前缀的答案就好了( 考虑将 ...

  5. vue js计算精度问题处理,兼容XP系统

    js计算精度问题(浮点数误差,大数计算出错) JavaScript 运算时经常遇到会 0.000000001 和 0.999999999 这样奇怪的结果. 网上教程一大篇,原理请百度,抄作业往下看!! ...

  6. WPF 布局之综合实例

    WPF 布局之综合实例 <Window x:Class="UniFormGridDemo.MainWindow" xmlns="http://schemas.mic ...

  7. Spring MVC 实验3 springMVC框架基础

    实验三:spring mvc框架基础 实验目的: (1)理解spring mvc框架的运行流程 . (2)掌握springmvc框架的配置 实验要求: 请根据课程内容,  修改项目中的任意一用例,将控 ...

  8. Ubuntu下Linux配置内核各种常见错误和解决办法

    镜像下载.域名解析.时间同步请点击阿里云开源镜像站 这篇把Ubuntu下Linux配置内核各种常见错误和解决办法给大家讲解一下,希望可以帮助到大家. 一.Ubuntu系统中缺少各种依赖包导致的问题 1 ...

  9. GeneralUpdate20220323里程碑版本发布

    大家好我是juster,GeneralUpdate的开源项目作者.这次将发布GeneralUpdate里程碑版本,该版本发生了巨大改变历时4个月的时间终于要和大家见面了.开源不易希望大家能多多支持.可 ...

  10. 字节跳动社会招聘&内推-帮助你更快加入字节跳动

    字节跳动社会招聘&内推「[内推码]:4J8CA3W」 内推时间:一直有效 招聘对象:根据招聘要求而定 社招投递链接: https://job.toutiao.com/s/de5teaA 应届生 ...