IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> C++知识库 -> C语言之编程基础 -> 正文阅读

[C++知识库]C语言之编程基础

学自C语言中文网

一.编程语言

  1. 通过使用某种“语言”的固定格式和固定词汇来控制计算机的行为, 而这个语言就是编程语言(Programming Language) .

在这里插入图片描述

  1. 编程语言类似于人类语言,由直观的词汇组成,我们很容易就能理解它的意思.
    C语言中,我们使用 puts 这个词让计算机在屏幕上显示出文字;puts 是 output string(输出字符串)的缩写。
puts("C语言中文网");

固定格式: 内容在引号之间, 命令结尾要有分号

  1. 一个C语言的完整例子
    C语言(C Language)是编程语言的一种,学习C语言,主要是学习它的格式和词汇。
#include <stdio.h>
int main()
{
  puts("Hello World!");
  return 0;
}

在这里插入图片描述
这些具有特定含义的词汇、语句,按照特定的格式组织在一起,就构成了源代码(Source Code),也称源码或代码(Code)。
这些具有特定含义的词汇、语句,按照特定的格式组织在一起,就构成了源代码(Source Code),也称源码或代码(Code)。
4. 编程语言的发展:

汇编语言 --> 面向过程编程 --> 面向对象编程

二. C语言的地位

  • 对于大部分程序员,C语言是学习编程的第一门语言,很少有不了解C的程序员。

  • C语言除了能让你了解编程的相关概念,带你走进编程的大门,还能让你明白程序的运行原理,比如,计算机的各个部件是如何交互的,程序在内存中是一种怎样的状态,操作系统和用户程序之间有着怎样的“爱恨情仇”,这些底层知识决定了你的发展高度,也决定了你的职业生涯。

  • C语言概念少,词汇少,包含了基本的编程元素,后来的很多语言(C++、Java等)都参考了C语言,说C语言是现代编程语言的开山鼻祖毫不夸张,它改变了编程世界。C语言涉及到的编程概念少,附带的标准库小,所以整体比较简洁,容易学习,非常适合初学者入门。

  • C语言也不是没有缺点,毕竟是70后老人,有点落后时代,开发效率较低,后来人们又在C语言的基础上增加了面向对象的机制,形成了一门新的语言,称为C++.

  • C语言是计算机产业的核心语言, 软件行业的很多细分学科都是基于C语言的,学习数据结构、算法、操作系统、编译原理等都离不开C语言,所以大学将C语言作为一门公共课程,计算机相关专业的同学都要学习。

  • C语言在计算机产业大爆发阶段被万人膜拜,无疑会成为整个软件产业的基础,拥有核心地位。

  • C语言被誉为“上帝语言”,它不但奠定了软件产业的基础,还创造了很多其它语言

三.C语言是菜鸟和大神的分水岭

  • 所有程序都在拼命节省内存,提高内存使用效率,计算机的整个发展过程都在围绕内存打转,不断地优化内存布局,以保证可以同时运行多个程序。
    内存就是内存条(如下)
    在这里插入图片描述

  • 进程和线程的存在就是为了更加高效的利用内存.

  • 从C语言到内存,从内存到进程和线程,环环相扣:不学C语言就吃不透内存,不学内存就吃不透进程和线程。

三.C语言和C++的关系

  • C++ 主要在C语言的基础上增加了面向对象和泛型的机制,提高了开发效率,以适用于大中型软件的编写。
  • C、C++代码都会通过同一个编译器来编译,很难说C++是一门独立的语言,还是对C的扩展。
  • C++支持面向过程编程、面向对象编程和泛型编程,而C语言仅支持面向过程编程。就面向过程编程而言,C++和C几乎是一样的,所以学习了C语言,也就学习了C++的一半,不需要从头再来。

四.数据在内存中的存储

  • 对于计算机来说,所有信息在内存中都是一样的,都是以二进制的形式来表示。
  • 0V对应0, 5V对应1;
  • 通过电路来控制这些元器件的通断电,会得到很多0、1的组合。例如,8个元器件有 28=256 种不同的组合,16个元器件有 216=65536 种不同的组合。
  • 8个元器件看做一个单位,即使表示很小的数,例如 1,也需要8个,也就是 00000001。
  • 1个元器件称为1比特(Bit)或1位,8个元器件称为1字节(Byte),那么16个元器件就是2Byte,32个就是4Byte,以此类推:
    8×1024个元器件就是1024Byte,简写为1KB;
    8×1024×1024个元器件就是1024KB,简写为1MB;
    8×1024×1024×1024个元器件就是1024MB,简写为1GB。
  • 单位换算
    1Byte = 8 Bit
    1KB = 1024Byte = 210 Byte
    1MB = 1024KB = 220Byte
    1GB = 1024MB = 230Byte
    1TB = 1024GB = 240Byte
    1PB = 1024TB = 250Byte
    1EB = 1024PB = 260Byte

五.载入内存,让程序运行起来

  • 软件安装在硬盘中, 运行软件时, 从硬盘中将对相应的数据复制到内存, 软件是在内存中运行的. 因为内存的读写速度比硬盘快很多.
  • 读写速度: 内存 > 固态硬盘 > 机械硬盘。
  • 管是运行QQ还是编辑Word文档,都是先将硬盘上的数据复制到内存,才能让CPU来处理,这个过程就叫作载入内存(Load into Memory)。完成这个过程需要一个特殊的程序(软件),这个程序就叫做加载器(Loader)。
  • CPU直接与内存打交道,它会读取内存中的数据进行处理,并将结果保存到内存。如果需要保存到硬盘,才会将内存中的数据复制到硬盘。
  • CPU直接从内存中读取数据,处理完成后将结果再写入内存。
    在这里插入图片描述

六.虚拟内存

  • 实际运行的程序占用的空间大于内存空间, 操作系统(OS)会将内存中暂时不用的数据写回硬盘, 需要时在从硬盘读取, 并将另一部分不用的数据写入硬盘. 所以硬盘中用来存放内存中暂时不用的数据的空间, 就叫虚拟内存.
  • 这也引发了一个问题: 反复交换硬盘和内存中的数据会消耗很多时间,所以如果内存太小,会严重影响计算机的运行速度,甚至会出现”卡死“现象, 即使cpu很好也没多少作用.

七. ASCII编码

  • ASCII 是“American Standard Code for Information Interchange”的缩写,翻译过来是“美国信息交换标准代码”。

  • 字符集为每个字符分配一个唯一的编号,类似于学生的学号,通过编号就能够找到对应的字符。

  • 字符集包含了所有字符和对应的二进制.
    ASCII 编码一览表

  • 将中文存储到计算机

  • Unicode字符集: 各个国家为了自己的语言文化开发的,不具有通用性,在一种编码下开发的软件或者编写的文档,拿到另一种编码下就会失效. 于是, Unicode 诞生了。Unicode 也称为统一码、万国码.

在这里插入图片描述

  C++知识库 最新文章
【C++】友元、嵌套类、异常、RTTI、类型转换
通讯录的思路与实现(C语言)
C++PrimerPlus 第七章 函数-C++的编程模块(
Problem C: 算法9-9~9-12:平衡二叉树的基本
MSVC C++ UTF-8编程
C++进阶 多态原理
简单string类c++实现
我的年度总结
【C语言】以深厚地基筑伟岸高楼-基础篇(六
c语言常见错误合集
上一篇文章      下一篇文章      查看所有文章
加:2022-09-04 00:51:43  更:2022-09-04 00:56:06 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 13:37:36-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码