零基础学c语言pdf教程(计算机编程入门基础知识)

这是一个C语言系列文章,如果是初学者的话,建议先行阅读之前的文章。笔者也会按照章节顺序发布。

零基础学c语言pdf教程(计算机编程入门基础知识)

对于初学编程语言的人来说,变量这个概念第一反应或许是数学中的自变量x。在编程中,与之相似,即变量中存放的数据可以更改。但是与数学不同的是,变量在计算机中还有额外的属性。

一个变量包含的属性:

变量的值
变量所处的位置

对于第一点,大家很好理解,x=1,那么变量x的值为1,x = x + 1之后,x的值为2。

对于第二点,我们不得不提及两个事物——内存与寄存器。

这里我们暂时先不介绍寄存器,留待后续章节讨论,这并不会妨碍你学习和使用C语言。

在一般情况下,C语言中定义的变量都存储在内存中(请暂时忽略,函数的部分参数是存在寄存器中的事实)。内存是一块连续的区域,如果类比的话我们可以参考路边划线的停车位。

零基础学c语言pdf教程(计算机编程入门基础知识)
一组停车位相当于一段内存空间,而每一个停车位就相当于这段内存空间中的一部分片段。我们的变量就好比是一个停车位区域。

额外补充一下,内存的最小存储单位是比特(bit),也叫位,即只能存储一个值,这个值要么是0,要么是1。8个bit称作一字节(byte)。

为了能更好的管理停车位,我们都要对停车位进行命名编号,便于我们快速定位某一个车位,内存亦然。因此,也就出现了一个概念叫做地址。

假设,图片中离镜头最近的车位为1号车位,编号逐个向远处递增。同时,我给1号车位区域起了个名字叫x。这时,有一辆奔驰停入了1号车位,那么我也可以说,x中的车是奔驰车。

等价到内存这个概念上就是,我有一个变量叫x,它在内存中的地址是1,它的值是奔驰。

随后,奔驰开走了,又来了辆路虎。那么这时,我可以说变量x的值是路虎,它的内存地址是1。

前面介绍了变量,表示一段内存中的数据是可以变化的。与之相对的,就是常量,即一段内存中存放的数据是不可改变的。这就好比一张光盘(暂时不考虑可擦写的…),一旦写入内容,就不可再更改了。

常量在C语言中的关键字为const,初学者先不必纠结,且继续阅读。

本小节讨论的是基础数据类型,因此不会讨论数组这样的结构。

在编程语言中,人为的给定了存放在内存中数据的类型,在C语言中,这些类型有:

整型,即整数
浮点型,即实数
字符型,即单个的可打印字符(什么叫可打印的我们后面会说到)
空类型,即无类型
指针类型

下面我们将逐个类型说明,初学者暂时不需要死记硬背每一个类型的数值范围,在有需求时查阅范围即可。

整型分为:

有符号短整型,对应关键字为short,占用2字节内存,即该类型的数据值范围为-32,768 到 32,767
无符号短整型,对应关键字为unsigned short,占用2字节内存,数据值范围0 到 65,535
有符号整型,关键字int,占用4字节(注意,在windows上这个类型占2字节),数据值范围-2,147,483,648 到 2,147,483,647
无符号整型,关键字unsigned int,占用4字节,数据值范围0 到 4,294,967,295
有符号长整型,关键字long,32位系统上占4字节,数据值范围-2,147,483,648 到 2,147,483,647,64位系统上占8字节,数据值范围-9223372036854775808到9223372036854775807
无符号长整型,关键字unsigned long,32位系统上占4字节,数据值范围0 到 4,294,967,295,64位系统上占8字节,数据值范围0到18446744073709551615
还有long long和unsigned long long,占8字节内存,数据值范围分别为-9223372036854775808到9223372036854775807和0到18446744073709551615

浮点型分为:

单精度浮点型,关键字为float,占4字节,数值范围1.2E-38 到 3.4E+38,精度是精确到6位小数
双精度浮点型,关键词为double,占8字节,数值范围2.3E-308 到 1.7E+308,精度是精确到15位小数
还有一种,码哥我词穷了,不知道中文该怎么叫了,关键词为long double,占16字节,数值范围3.4E-4932 到 1.1E+4932,精度是精确到19位小数

可以看到,实数都是有一个精度范围的,如果超出这个精度范围就会造成精度损失,因此在运行一些除法运算后再执行乘法力图恢复初始值时有时是不可能的。

字符型分为:

有符号字符,关键词char,占1字节,数值范围-128 到 127
无符号字符,关键词unsigned char,占1字节,数值范围0 到 255

其中char型字符为可输出字符,参考ASCII码表来找到其对应的输出到终端上的字符:零基础学c语言pdf教程(计算机编程入门基础知识)

ASCII码表

其中,值为0~31和127的字符是控制类字符,剩余为可显示字符。

空类型:又称为void型,关键字为void,表示无类型或者不知其类型。

指针类型:本节暂时不讨论,留待后续专门讨论指针的文章中详述。

到此,我们来看一下各种类型的例子,巩固一下前面的内容。

整型示例:

浮点型示例:

字符型示例:

上面的示例中码哥对变量和常量的名字命名都是形如:

其实在C语言中,变量与常量的名字命名是有规范的,要求如下:

名字必须以字母或者下划线开头,后面的字符既可以是字母也可以是下划线也可以是数字。

所以,形如如下名字是不合法的:

先来看一个例子体会一下:

/表示➗,即除法。这时a的值是多少呢?

答案是2,而不是2.5。这里就是类型转换起了作用。5.0是浮点数,浮点数除整数,得到的结果还是浮点数,但是这个值赋给了整型变量a,因此除法的结果需要满足a的类型约束,只保留整数部分,因此就是2。这里也不存在四舍五入一说,即便是2.99999也会是2,而不是3。

上面的这种转换叫做自动类型转换,与之相对的转换模式叫强制类型转换。

我们先看下强制类型转换的例子,也就能理解上面这个例子叫自动类型转换了。

在这个例子中,如果不在2.5前加(int),那么编译器会给出警告,说你这么写等于是“偷摸地”将双精度浮点数转换为整型了。为了避免这个警告(当然,取整数也是符合这个例子中我的预期的,即我要的也是整数),在2.5前加入:

将2.5先转成整型2,然后赋给变量b。

下面看一些其他类型转换的例子:

这里var_2的值为16959的原因是:

整型999999占4字节,其十六进制为0x000F423F。short类型占2字节,因此会将int型的低16位(即后两字节)内容赋给变量var_2,也就是0x423F,这个十六进制数转换为十进制后的值就是16959。

对于十六进制不了解的读者,可以去网上先充一下电,因为十六进制在编程中用到的频度不比整数低。

版权声明:拓辰网所有作品(图文、音视频)均由用户自行上传分享,仅供网友学习交流,不声明或保证其内容的正确性,如发现本站有涉嫌抄袭侵权/违法违规的内容。请发送邮件至 nctcnet@vip.qq.com 举报,一经查实,本站将立刻删除。

(0)
jpwekejpweke贡献者

相关推荐

  • docker查看本地镜像库(docker访问外部数据库教程)

    Docker在IT人尤其是运维的工作中,占有很大的版块,不仅是必备技能之一,更是求职的加分项。今天用10分钟讲清Docker基础到实战,全程干货,后附PDF资料,强烈建议收藏学习! Docker自开源后受到了广泛的关注和讨论,但什么是Docker,相信还有一部分朋友不太了解,至于Docker和虚拟化方式又有什么不同之处呢? Docker概念:Docker 是一个开源的应用容器引擎,让开发者可以打包…

    2023年6月26日
    0
  • 虚拟化平台有哪些(免费虚拟化平台)

    使用开源的虚拟化工具运行,自定义和管理你的虚拟机。虚拟化工具(Virt Tools)是包括六个开源虚拟化工具的集合,让你的虚拟化使用更加便利。Linux爱好者可能熟悉某些工具,如KVM和QEMU,但libvirt和libguestfs等工具可能不太熟悉。 KVM是在包含虚拟化扩展的硬件上为Linux提供的完整虚拟化解决方案。KVM为各种各样的操作系统提供硬件虚拟化,包括Linux、Windows、…

    2023年10月25日
    0
  • 耳机怎么用蓝牙连接

    蓝牙耳机就是将蓝牙技术应用在免持耳机上,让使用者可以免除恼人电线的牵绊,使用蓝牙功能把耳机连接至电脑上,通过以下步骤使用蓝牙连接到耳机: 1、点击左下方“开始”显示开始菜单栏。 2、点击“设置”弹出Windows设置窗口。 3、点击“设备”进入蓝牙与其他设备页面。 4、点击“添加蓝牙或其他设备”弹出小窗…

    2023年6月29日
    0
  • win10应该怎么激活呢(win10好不好用呢)

    今天小编给大家讲一个,我们在安装系统或者系统被某些杀毒软件清理后,经常会出现的一个错误。就是“你的Windows许可证即将过期”。这就说明系统的激活文件被删除或者丢失了。如果,系统不激活的话,会造成很多功能受到限制。比如,无法进行个性化修改,包括壁纸、颜色、锁屏、主题等。同时无法使用微软账号的同步功能,并且桌面右下方会显示未激活的水印。 那么如何快速完成激活操作呢。 1、首先确定您的系统是永久激活…

    2023年6月26日
    0
  • arduino板子驱动连接不上(常见arduino的11个故障和对应措施)

    Arduino以价格便宜、开源、容易上手等特点,广受人工智能初学者喜爱,但是在学习过程中,经常会碰到一些莫名其妙的问题,初始化工作室结合近三年的教学经历以及近段时间录制微课程的经验,将一些常见软件、硬件错误整理如下,希望对你的学习以及希望进行Arduino教学有帮助。 Arduino标识 现象:这个INF中的服务安装段落无效;系统找不到指定的文件;Windows无法验证此设备所需的驱动程序的数字签…

    2023年6月27日
    0
关注微信