从一个小程序说起

让编程改变世界

Change the world by program


  这一讲的主要目的是帮助大家在C语言的背景知识上与C++建立联系。我们会通过用C++编写相同功能的C程序来实现。 如果在这一讲中大家可能大家会遇到一些不大面熟的术语,请不必郁闷。 这些术语如“类”、“异常”、“对象”……对这些词语概念不理解,并不会影响我们这一讲的主体学习内容!大家有兴趣的话可以课后问问度爷,在后续章节我们会陆续给大家作正式介绍的。

问题探索

问题:对一个整型数组求和。 要求:定义一个存储着 n 个元素的数组,要求用C语言完成这个任务。 赶紧的:大家一起动手! 我们的参考方案:(源代码下载)

深入一点思考

数组名与指针的关系:在《C专家编程》中作者采用大篇幅对C的数组和指针作了对比来跟我们说数组和指针他们的关系很复杂。 为了发展大家的探索精神,这里我们也学着自己来分析分析。 在刚才的例子中,我们加点“料”试试~ 然后我们还能得出第二个版本的程序:(源代码下载)

轮到C++了

以上两个程序从本质上来说是相同的,我们得出结论:将函数的参数声明为数组和声明为指针是一样的。 现在我们来考虑一个新的问题:将该程序用C++来实现试试。   参考例子:addArray.cpp(源代码下载)

程序分析

这个小程序展示了C++对象的第一次使用。对象在哪里?就是这个”cout“。 cout 是一个输出流对象,它是”console out(控制台输出)“的缩写。是属于basic_ostream 类的对象。ostream 类在iostream头文件中定义。 注意……

什么是输出流?

其实也就是一个概念,在C++中引入了很多类似的概念:例如数据可以从键盘流入程序,又可以从程序流向屏幕、打印机等~

using namesapce std;

这条指定带给我们一个全新的概念:名字空间。   就是C++标准库所使用的所有标识符(即类、函数、对象等的名称)都是在同一个特殊的名字空间(std)中来定义的。 如果我们没有使用这条指令,我们将需要使用std::cout 这样的语法来调用输出流对象。   不知道大家有没有注意到“<<”这个符号很眼熟? 这个操作符不是C语言里边位运算的左移操作符吗?难道在C++里边改规则了?   事实上不是这样的,它只不过体现了C++的另一个特点:支持重载。重载事实上就是允许我们按照不同的方式使用同一个操作符。我们后边会详细讲解。

课后思考

要求:编写一个程序,要求用户输入一串整数和任意数目的空格,这些整数必须位于同一行中,但允许出现在该行中的任何位置。当用户按下键盘上的“Enter”键时,数据输入结束。程序自动对所有的整数进行求和并打印出结果。   请看演示:homework.exe(演示程序下载) [buy] 获得所有教学视频、课件、源代码等资源打包 [/buy] [Downlink href='http://urlxf.qq.com/?jUvMn2V']视频下载[/Downlink] [Downlink href='http://kuai.xunlei.com/d/LRBOQGNTDZYL']备胎下载[/Downlink]

转载于:https://www.cnblogs.com/LoveFishC/archive/2011/05/17/3847072.html

从一个小程序说起 - C++快速入门02相关推荐

  1. 微信小程序云原生开发——快速入门

    目录 云开发的优势 云开发的工具和准备 1.开通云开发服务 2.找到云开发的环境 ID 3.指定小程序的云开发环境 4. 下载 Nodejs 5.部署并上传云函数 6. 获取 openid并调用云函数 ...

  2. 微信小程序人脸核身---快速入门到实战(附开发工具类,复制即用)

    文章目录 一.基本介绍 1.概述 2.功能特点 3.使用场景 二.术语概述 基础参数说明 DetectAuth(实名核身鉴权) GetDetectInfo(获取实名核身结果信息) 三.基本接口说明使用 ...

  3. 人脸核身 微信h5_微信小程序人脸核身---快速入门到实战(附开发工具类,复制即用)...

    这里咱们使用腾讯云的人脸核身来给你们作一个基础的介绍和使用java 1.基本介绍 1.概述 人脸核身:通常是对一组对用户身份信息真实性进行验证审核的服务套件提供各种认证功能模块,包含证件 OCR 识别 ...

  4. 玩转Mybatis —— 一个小demo,带你快速入门Mybatis

    目录

  5. 怎么用linux设计一个小程序,“Linux”小程序发布一个月后,我们发现了什么

    原标题:"Linux"小程序发布一个月后,我们发现了什么 这一个月来,这个小程序得到了八千多人的使用,一百多位贡献者实际参与了翻译贡献,其中贡献最高的"Datura st ...

  6. 【如何开发小程序?】如何快速开发一个小程序

    ​ 在过去,对于新手来说,如何开发一个小程序只需要半个月到一个月的时间来制作一个简单的小程序.在中间,您需要了解小程序代码的逻辑语言.您需要查看微信官方平台开发文档中的大量示例和示例.那么现在如何开发 ...

  7. 【微信小程序控制硬件15 】 开源一个微信小程序,支持蓝牙快速配网+WiFi双控制ESP32-C3应用示范;(附带Demo)

    文章目录 一.前言 二. Blufi乐鑫自研的蓝牙配网协议 ESP32 配网流程 流程图 三.相关代码 3.1 蓝牙快速配网 3.2 蓝牙本地控制 2.3 外设驱动 3.1 蓝牙搜索 3.2 蓝牙服务 ...

  8. 小程序教程1:初识小程序,快速搭建一个小程序项目

    前言: 打算整理一个小程序系列的资料.如何快速搭建一个小程序项目,以及一个小程序项目应该有哪些内容. 相关资料: 微信公众平台微信公众平台,给个人.企业和组织提供业务服务与用户管理能力的全新服务平台. ...

  9. 一个软件公司需要多少前端_制作一个小程序商城需要多少钱?开发小程序公司哪家强?...

    搭建小程序商城能更好的为商家打造私域粉丝池,形成私域流量,因此,微信小程序自然成为了企业商家的首选. 随着线上的快速发展,微信小程序能力的升级,使小程序也存在多种类型,例如电商类.资讯类.预约类等等, ...

  10. 微信小程序开发打开另一个小程序的实现方法

    微信小程序打开另一个小程序,有两种方法:1.超链接:2.点击按钮. 全局配置: 跳转到其他小程序,需要在当前小程序全局配置中配置需要跳转的小程序列表,代码如下: App.json {..." ...

最新文章

  1. bitset优化+滚动优化dp ----- 2021牛客多校第8场 F Robot
  2. 服务器安全配置之注册表设置
  3. P2184 【贪婪大陆】
  4. DevExpress第三方控件汉化的全部代码和使用方法
  5. 网络中的计算机之间的关系,有关服务器与主机之间的关系
  6. asp.net 2.0 下的一个小技巧
  7. C语言学习笔记---枚举类型enum
  8. 经典公司小型局域网服务器架设方案
  9. 一封程序员的苦逼辞职信
  10. Android Jetpack 系列篇(一) Data Binding
  11. python金山词霸单词本批量导入
  12. Express + JWT用户认证最轻实践
  13. linux 软件包kbd 位置,1.10.42 6.42. Kbd-1.12 - Linux 系统构建指南
  14. 主成分分析(R语言)
  15. 状语从句不是简单句_简单句、复合句Gloria总结
  16. 程序员像妹子表白专用代码
  17. java geohash_GitHub - GongDexing/Geohash: GeoHash是目前比较主流实现位置服务的技术,用最简洁的Java实现GeoHash算法...
  18. 5G智慧城市丨智慧园区一体化、智能化解决方案
  19. Angular7 nz-rozzo nz-form
  20. 学校远程预付费抄表系统智能化水电管理利器

热门文章

  1. PHP Default value for parameters with a class type hint can only be NULL
  2. Linux上screen命令如何安装,Linux screen命令,Linux screen用法,Linux screen简单用法,Linux screen安装...
  3. Leetcode116. 填充每个节点的下一个右侧节点指针(宽搜或深搜)
  4. 设计模式之GOF23适配器模式
  5. json和ajax使用
  6. html5杂音,HTML5柏林噪音算法实现的墨汁浸染背景图片过渡动画特效
  7. 面试必选要掌握的知识(持续更新)
  8. 拉取 google.golang.org/grpc 报错
  9. Apache Commons Lang3 常用工具类库
  10. ES6深入浅出-1 新版变量声明:let 和 const-1.视频 概述