C/C++常识概述

  • 程序与计算机语言
  • C/C++简介与发展
  • C/C++异同
  • C/C++编译特点
  • 学习编程建议

程序与计算机语言

程序:是一组计算机能识别和执行、预先编好的一些指令操作合集。

计算机语言:计算机和人都可以识别的语言(机器并不能直接识别高级语言需要经过“翻译”成二进制格式的语言才可以识别)。

发展:计算机语言经历了从低级语言(机器语言)-(符号语言)——>最后到高级语言(如C/C++),低级语言人难以看懂、维护成本高;而高级语言则相对容易理解、更容易维护切容易上手。

C/C++语言的异同

编程方式的转变:早期为非结构化语言,但是风格随意、难以阅读、难以维护——>随后为结构化编程(如C语言),它提供了基本结构,以及要求,程序不许随意跳转,必须从上到下执行,这种结构更易读、维护,但由于C语言数据与算法分离使得在进行规模较大的程序是难以维护;再后来发展为面向对象编程(如C++)编程对象不再是一个个分割的小模块,而一个又一个的类(是把把一类的数据与算法分隔开),编写一个又一个类去解决问题,相对C语言在大型项目更容易维护。

异同:结构化编程是把数据与算法分隔开,而面向对象编程则是把一类相似的事物加以抽象,提取出其中的数据属性和事物所能完成的数据操作(方法),并把它们封装放入类中,但需要使用的时候只需把类实力化出对象。

C/C++语言编译特点

C语言编译特点:用途广、功能强、简介灵活。

数据类型丰富(基本类型:有整形、浮点型、字符型、符合类型:数组类型、指针类型、结构、共用体类型)

结构控制语句灵活(while,do while,for(),if()else,swith 语句,continue,break, ?:等)

自带高效标准库函数——STL

C++语言特点:兼容C语言的所有特点,扩展类的的功能(类继承、友元函数、虚函数),增强代码重用(提供模版函数、模版类)


学习编程建议

对于新生而言:

1.编程学习不必花许多精力,去搞懂每个细节,只需弄懂大体内容,随着学习的深入有些问题自然而然的就明白了。

2.最好看完编程视频,再去看书,这样学的快还容易理解。

3.最后重点是:多巧代码,自然就领悟其中奥妙了。


  • 最后有错请至指出,多指教
  • 后续会继续更新总结


  • 附上暂时的准备的总结目录
  1. C/C++常识概述

    • 程序与计算机语言
    • C/C++简介
    • C/C++异同
    • C/C++编译原理
  2. C/C++基础知识
    • C/C++基本格式说明
    • C/C++基本常识说明
  3. C/C++数据类型
    • 基本数据类型
    • 复合数据类型
  4. C/C++循环与分支语句
  5. C/C++函数
  6. C/C++对象和类
  7. C/C++友元
  8. C/C++代码重用
  9. C/C++string类和标准模版库
  10. C/C++文件输入输出

C/C++知识总结 一 C/C++常识概述的更多相关文章

  1. JAVA知识总结(一):概述

    第一次写文章,有点小紧张,不过没关系,因为我面对的都是小白.好了废话少说,直接开始吧. 我主要说一下JAVA的发展和开发java的基本知识及JAVA的主要特性. 一.JAVA的主要特性: 1. 一方面 ...

  2. Java基础知识强化82:Random类概述和方法使用

    1. Random类 public class Random extends Object implements Serializable: 此类的实例用于生成伪随机数流.此类使用48位种子. (1) ...

  3. 基础知识(1)- Java程序设计概述

    1.1 Java程序设计平台 1.2 Java“白皮书”的关键术语  1.2.1 简单性  1.2.2 面向对象  1.2.3 网络技能  1.2.4 健壮性  1.2.5 安全性  1.2.6 体系 ...

  4. IC卡制作常识概述

    ic卡主要有9种:    1.接触型IC卡:    2.非接触型IC卡:    3.串行传输型IC卡:    4.并行传输型IC卡:    5.存储型IC卡:    6.智能型IC卡:    7.超级 ...

  5. ASP.NET Core 2.2 基础知识(十八) 托管和部署 概述

    为了方便演示,以 .NET Core 控制台应用程序讲解. 我们新建一个控制台应用程序,安装 "Newtonsoft.Json" Nuget 包,然后右键点击该项目,选择" ...

  6. 【论文小综】基于外部知识的VQA(视觉问答)

    ​ 我们生活在一个多模态的世界中.视觉的捕捉与理解,知识的学习与感知,语言的交流与表达,诸多方面的信息促进着我们对于世界的认知.作为多模态领域的一个典型场景,VQA旨在结合视觉的信息来回答所提出的问题 ...

  7. 知识图谱顶刊综述 - (2021年4月) A Survey on Knowledge Graphs: Representation, Acquisition, and Applications

    知识图谱综述(2021.4) 论文地址:A Survey on Knowledge Graphs: Representation, Acquisition, and Applications 目录 知 ...

  8. 【转】java NIO 相关知识

    原文地址:http://www.iteye.com/magazines/132-Java-NIO Java NIO(New IO)是从Java 1.4版本开始引入的一个新的IO API,可以替代标准的 ...

  9. 网络知识杂谈 - https - 原理简述

    概述 简单描述 https 尽量介绍它的原理 实际的机制, 可能会更加复杂一些... 背景 这玩意, 困扰我好多年了 今天开始, 想做个了断 之前工作也接触过, 但从我的角度来说, 认识很浅 会配置 ...

随机推荐

  1. 报错: raise ImproperlyConfigured('mysqlclient 1.3.13 or newer is required; you have %s.' % Database.__version__)

    Django2.0同步Mysql数据库时出现的问题 执行 python manage.py makemigrations 报错 # 报错位置 File "G:\python\lib\site ...

  2. 基于SpringCloud搭建项目-Zuul篇(六)

    本文主要介绍zuul的基本原理和在sprngcloud服务下如何使用 一.简单介绍 Zuul 是 Netflix OSS 中的一员,是一个基于 JVM 路由和服务端的负载均衡器.提供路由.监控.弹性. ...

  3. javax.email 发送邮件 javaEmail ,java 邮件

    首先导入mail的jar包 然后代码如下 package aaa; import java.util.Date;import java.util.Properties; import javax.ma ...

  4. 学习gensim

    首先要将字符串分割成词语列表.比如”hurry up”要分割成[“hurry”,”up”]. 对于中文来讲,分词就是一个很关键的问题,不过可以去找一些分词库来实现.我一般用的是jieba. 而对于英文 ...

  5. opencv python版 在图片上画矩形

    import cv2 import matplotlib.pyplot as plt import numpy im = cv2.imread('image_2.jpg') square = nump ...

  6. SpringBoot——学习笔记

    关于微服务和SOA 这,仅是我学习过程中记录的笔记.确定了一个待研究的主题,对这个主题进行全方面的剖析.笔记是用来方便我回顾与学习的,欢迎大家与我进行交流沟通,共同成长.不止是技术. 官网教程学习ht ...

  7. BrowserSync(保存代码后,自动刷新浏览器)

    摘要 Browsersync能让浏览器实时.快速响应您的文件更改(html.js.css.sass.less等)并自动刷新页面.更重要的是 Browsersync可以同时在PC.平板.手机等设备下进项 ...

  8. burpsuit的安装和简单使用

    一.burpsuit的环境搭建 Burp Suite可以说是Web安全工具中的瑞士军刀,打算写几篇Blog以一个小白的角度去学习Burp Suite(简称BP),会详细地说一下的用法,说明一下每一个部 ...

  9. emgucv 提示缺少emgucv.word

    遇到这种问题真的挺恶心的 ,因为条件不同触发这种错误条件也不一样,但是主要原因就是一个那就是你的程序找不到dll了(废话...) 1.首先检查Redistributable 与runtime(在开发环 ...

  10. mysql存储过程简单用法

    show procedure status 查看所有存储过程 <!--  简单存储过程  --> 先将结束符改成// delimiter // create procedure query ...