C程序设计
文章平均质量分 67
十三香炖猪肉
当我用关爱智障的眼神看您时,您也正用关爱智障的眼神看我。
展开
-
C程序设计——基本变量类型(指针1)
我们先介绍一下程序设计语言中,很重要的一个部分——注释。注释通常用来说明源码的功能、作者、版权等。目前常见的C编译器,都支持两种注释,多行注释和单行注释。原创 2024-08-15 22:23:47 · 72 阅读 · 0 评论 -
C程序设计——基本变量类型(指针0)
再变量名的左边加一个星号“*”,就是定义了一个指针变量int表示这个指针变量指向一个整形数据,有了这个变量,我们理论上就可以访问计算机的所有的存储地址了,当然由于系统的权限问题,有些地址其实访问不了。我们已经知道,C语言的指针,其实就是存储的地址,那么我们定义了一个指针,怎么让它指向预期的地址呢?指针变量赋值比如我定义一个整形变量C语言中规定,变量定义完成后,在变量名的左边加一个“&”符号,就表示获取这个变量的地址。因此,上述代码的含义就是,先定义一个整形变量iZhengXing。原创 2024-08-13 22:29:40 · 247 阅读 · 0 评论 -
C程序设计——基本变量类型(浮点数)
前面讲了C语言如何定义整数变量和自然数变量,他们有一个特点,小数点固定在最右边。C语言中还有一类数据,叫做,它在计算机中,用类似科学计数法的方式存储。浮点数格式的工业标准是 IEEE 754,有两种单精度浮点(用32位二进制表示)、双精度浮点(用64位二进制表示),这两种浮点数将来你们学习《组成原理》课程时,会专门讲解。原创 2024-08-12 22:04:39 · 169 阅读 · 0 评论 -
C程序设计——基本变量类型(自然数)
C语言通过 “unsigned + 变量类型” 来定义一个自然数,直译作无符号数。原创 2024-08-12 21:27:26 · 315 阅读 · 0 评论 -
C程序设计——基本变量类型(整数)
前面我们讲过,C语言是结构化的程序设计语言,把问题归结为两部分:数据和对数据的操作。今天要讲的变量,就是C语言中数据的重要部分。C语言是一个强类型的语言,它要求所有的变量,都必须先定义,后使用。C语言的变量定义最基本的形式是:类型 变量名 ;注意:变量名后面的封号不能省略。因为没有查阅C语言规范,所以我个人理解,变量名几乎没有长度限制,首字符只能是字母或者下划线;其他字符可以是字母、下划线或者数字。在大多数的编译器里,char 类型的变量,存放一个8位二进制整数,转化为十进制时,采用补码的规则映射,范围是原创 2024-08-11 22:09:49 · 509 阅读 · 0 评论 -
C程序设计——编程语言极简史
机器语言,就是计算机能直接运行的语言,当然计算机本身就是人设计的,机器语言人类也能理解,只不过要理解机器语言,需要一定的知识门槛。等你学了《离散数学》《模拟电路》、《数字电路》、《组成原理》以后,再看一个内核的文档(推荐看 LoongArc,因为全中文,没有语言障碍),就能理解机器语言了。。按照,操作码其实也是地址,只不过是控制器和运算器的片选地址;操作数,可以是操作数本身,也可以是操作数的片选地址。按照目前的计算机语言分类,机器语言是一种低级语言,也被分为面向过程的语言。原创 2024-08-09 23:46:41 · 519 阅读 · 0 评论 -
C程序设计——第一个C程序“祖国您好”
的传说,按照一般的翻译,这句都会翻译成 “你好世界!后来成年了,我才发现在美国人心目中,美国就是世界,当他说 “ hello world!”的时候,可能心中并没有把美国以外的世界,作为世界的一部分。”,考虑到汉语通常把主语放在前面,最好的翻译应该是:“祖国您好!表示定义了一个函数,函数名叫 main ,这个函数的返回值是 int 类型、参数是void 类型(空类型,即没有参数),两个大括号:{ } 中间是 main 函数的函数体。printf 函数的功能是:按照预定的格式输出字符串,就是引号里面的。原创 2024-08-07 22:22:31 · 131 阅读 · 0 评论 -
C程序设计——计算机中如何表示负数
计算机中负数的表示方式,经常被提起的有三种:原码、反码、补码。原创 2024-08-05 22:07:58 · 357 阅读 · 0 评论 -
C程序设计——定长二进制表示一个数
这部分内容,将来学到《离散数学》的数论部分,会有详细介绍。本书中所说的“自然数”均包括 “0”我们先来复习一下小学的数学知识,请看下面这个式子:在上面的式子里,我们可以看到 7 和 10除以3以后,余数都是“1”,在数论里把上面除以3以后余数相同的数,称作“模3同余”,比如我们说:7、10 摸3同余,记作 :模运算加法、减法、乘法如下:加法:如果a≡b(mod m),那么a+c≡b+c(mod m)。减法:如果a≡b(mod m),那么a-c≡b-c(mod m)。乘法:如果a≡b(mod m),那么ac≡原创 2024-08-04 23:22:02 · 322 阅读 · 0 评论 -
C程序设计——二进制定点数加法的硬件实现
前面我们讲过二进制的加法:我们可以把上述式子改造成如下样子,等号左边有三项,分别是:进位位:;加数;另一个加数。等号右边是两项:进位位,和加法结果==()|()|()|(当输入项中,任何两个为 1 时,为 1,写成算式就是== () | () | (等将来你学到时,就会学到:== (& ()) | (() &于是就可以用异或来表示:==原创 2024-07-30 22:02:16 · 317 阅读 · 0 评论 -
C程序设计——二进制逻辑运算的硬件实现
上面所介绍的电路,仅仅是可以实现相关运算的驱动电路,而且并不唯一。工程上为了适应具体的需求(比如驱动能力、反应速度等),会以上面的驱动电路为基础,增加外围以实现需求。但具体原理《模拟电子技术》相关课程会详细介绍,这里不做赘述。上图作为一个整体,被叫做“非门”,可以实现!原创 2024-07-29 21:44:54 · 299 阅读 · 0 评论 -
C程序设计——二进制的运算
二进制的运算,可以分为两大类,算术运算和逻辑运算。原创 2024-07-28 21:48:50 · 223 阅读 · 0 评论 -
C程序设计——十六进制自然数和数制转换
扩展前面十进制和二进制的性质,十六进制应该有十六个字符,分别表示0 ~ 15,其中 0 ~9 沿用十进制的字符,10 ~ 15 用英文字符 A ~ F 来表示如果我们用。原创 2024-07-26 22:34:43 · 238 阅读 · 0 评论 -
ARMV7-M 的栈空间
通常,寄存器R4~R8(V1~V5),R10(V7)和R11(V8)被用来保持常规的局部变量。通常,寄存器R4~R8(V1~V5),R10(V7)和R11(V8)被用来存储局部变量。栈的生长方式为:向下生长(即:栈底高地址,栈顶低地址),栈顶地址存放在SP(R13)寄存器中。栈的实现方式为,向下生长,当前栈顶指针存放在SP(R13)寄存器中,通常栈空间由栈底和栈长度决定,但是应用程序不保证SP指针在它俩之间。子程序返回后,必须保证下列寄存器的值,与刚进入该函数时相同:R4~R8,R10,R11和SP。原创 2024-07-15 22:31:08 · 224 阅读 · 0 评论 -
C程序设计——自然数的二进制表示
十进制整数,我们从胎教就开始学,它所有的数字由十个字符:0,1,2,3,4,5,6,7,8,9 再加上 “+”,“-”构成;它的加法法则是逢十进一。这里要强调一下,十进制中只需要0~9 就能表示所有的数,“十”只需要用1和0两个字符来表示,比如十进制数 +654 和 -654,分别可以用如下方式拆开。原创 2024-07-12 22:18:47 · 184 阅读 · 0 评论 -
C程序设计——第一章:数据
为了研究方便,计算机科学把计算机分为若干层,当然分层的方法有很多种,每个人、每个教材都会从不同的角度,划出不同的层次。存储和运算器被抽象为一个整体:“对象”。其余部分,对程序员透明存储抽象为数据。运算器抽象为对数据操作。其他部分(如:通用寄存器、协处理器等)对程序员透明。C语言运算器地址抽象为操作码。剩余部分(如:存储、通用寄存器、协处理器等)抽象为地址和操作数本身就是二进制数据:运算器抽象为地址。剩余部分(如:存储、通用寄存器、协处理器等)抽象为地址和操作数。原创 2024-07-10 21:41:48 · 365 阅读 · 0 评论