文本显示变量_C语言编程预备知识-数据类型和变量

C语言编程预备知识

1.CPU 内存条 硬盘 显卡 主板 显示器 之间的关系

1)、CPU——完成主要的计算和控制工作,是计算机的核心;

2)、内存——Windows操作系统要求程序在内存中运行;

3)、硬盘——电脑主要的存储媒介之一,安装的软件、游戏以及缓存的视频,音乐等都主要以0和1的方式存储在硬盘上供用户使用;

4)、显卡——基本工作是向显示器输出。但是,现在也承担图形计算甚至通用计算任务;

5)、主板——用于搭载各个配件;

6)、显示器——通常也被称为监视器。显示器是属于电脑的I/O设备,即输入输出设备;

它们之间的关系可以通过一个例子来说明。比如说打开一部电影,首先要双击这部电影,这个”双击“是操作系统提供的一个操作。电影本身是放在硬盘上的,当我们通过鼠标对它进行双击之后,操作系统就会将硬盘上的这部电影拷贝到内存中。

为什么要将它拷贝到内存中呢?因为CPU不能直接处理硬盘上的数据。所以要先将硬盘上的数据拷贝到内存中,然后再通过CPU处理内存里面的这部电影。处理的结果就是将一些数据变成图像,另一些数据变成声音。图像数据发送给显卡,通过显示器显示出来,声音数据发送给声卡,声卡将它变成声音放出来。由这个例子我们可以看出CPU、内存条、硬盘、显卡、主板、显示器之间的运行关系。

2.Hello Word程序如何运行起来的

当我们输入以下程序,编译运行,

#include

int main()

{

printf("Hello World");

return 0;

}

我们知道,信息在计算机中都是用0或1表示的。因为我们输入的Hello World程序是人可读的,机器并不能直接识别它们。我们需要把这些文字翻译成机器可执行的二进制文件。

这一部分的工作是由编译系统完成的。

一般来说,要将我们上面编写的这段代码变成一个可执行的目标程序,必须要经过 预处理器、编译器、汇编器和链接器 的处理。

预处理器、编译器、汇编器和链接器 一起构成了编译系统

①、预处理阶段:预处理器 cpp 根据以字符 # 开头的命令,修改原始的 C 程序,比如 第一行 #include 命令告诉预处理器读取系统文件 stdio.h 的内容,并把它直接插入到程序中。结果就得到另一个 C 程序,通常是以 .i 作为文件扩展名。

②、编译阶段:编译器 ccl 将文本文件 hello.i 翻译成文本文件 hello.s,它包含一个汇编语言程序,汇编语言程序中的每条语句都以一种标准的文本格式确切的描述一条低级机器语言指令。汇编语言能为不同高级语言的不同编译器提供通用的输出语言。

③、汇编阶段:汇编器 as 将hello.s 翻译成机器语言指令,把这些指令打包成一种叫做可重定位目标程序的格式,并将结果保存在目标文件 hello.o 中,hello.o 文件是一个二进制文件,它的字节编码是机器预言指令而不是字符。如果我们用文本编辑器打开 hello.o 文件,将会是一堆乱码。

④、链接阶段:在 hello.c 程序中,我们看到程序调用了 printf 函数,它是每个 C 编译器都会提供的标准 C 库中的一个函数。printf 函数存在于一个名为 printf.o 的单独的预编译好了的目标文件中,而这个文件必须以某种方式合并到我们的 hello.o 程序中。链接器 ld 就是负责处理这种合并,结果就得到一个 hello 文件,它是一个可执行目标程序,可以被加载到内存中,由系统运行。

3.什么是数据类型

我们人类可以很容易的分清数字与字符的区别,但是计算机并不能,计算机虽然很强大,但从某种角度上看又很傻,除非你明确的告诉它。

17a7ee1674345a88342d30dc4a6db67f.png

4.什么是变量

变量,是指没有固定的值,可以改变的数。变量以非数字的符号来表达,一般用拉丁字母。变量是常数的相反。变量的用处在于能一般化描述指令的方式。结果只能使用真实的值,指令只能应用于某些情况下。变量能够作为某特定种类的值中任何一个的保留器。

变量来源于数学,是计算机语言中能储存计算结果或能表示值抽象概念。变量可以通过变量名访问。在指令式语言中,变量通常是可变的;但在纯函数式语言中,变量可能是不可变的。在一些语言中,变量可能被明确为是能表示可变状态、具有存储空间的抽象(如在Java和Visual Basic中);但另外一些语言可能使用其它概念(如C的对象)来指称这种抽象,而不严格地定义“变量”的准确外延。

5.变量为什么必须的初始化

这个问题很是重要,所谓初始化就是“第一次赋值”的意思,我们先来看一下程序

# include

int main(void)

{

int i;

printf("i = %d

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值