首页 > 编程语言 >2024-2025-1 20241423袁志成 《计算机基础与程序设计》第五周学习总结

2024-2025-1 20241423袁志成 《计算机基础与程序设计》第五周学习总结

时间:2024-10-27 21:01:32浏览次数:5  
标签:语句 运算符 汇编器 PEP 操作数 2024 2025 20241423 表达式

作业信息

这个作业属于哪个课程 2024-2025-1-计算机基础与程序设计
这个作业要求在哪里 <作业要求的链接>(如2024-2025-1计算机基础与程序设计第五周作业)
这个作业的目标 学习Pep/9虚拟机,机器语言与汇编语言,算法与伪代码,测试:黑盒,白盒
作业正文 ... 本博客链接

教材学习内容总结

1.虚拟机 PEP/9:书中引入了 PEP/9 这一虚拟机概念。PEP/9 一共有 40 条机器语言指令,其指令格式由 8 位数的指令说明符和(可选的)16 位的操作数说明符构成,这决定了 PEP/9 的指令长度为 1 字节或 3 字节。指令中的寻址位置说明符表示了如何解析操作数部分。PEP/9 的输入/输出:介绍了该虚拟机的输入输出操作方式。
2.PEP/9 模拟器:这是用于模拟 PEP/9 程序的工具,可以按照虚拟机的设计方式进行运算,并且可免费下载,通过实例展示了机器语言程序的运行过程。
3.汇编语言:定义与特点:汇编语言是一种低级语言,用助记码表示特定计算机的机器语言指令。有专门的汇编器把汇编语言程序翻译成机器代码。PEP/9 汇编语言特性:在 PEP/9 汇编语言中,操作数用 0x 和十六进制表示,后面跟逗号和寻址模式(由字母 i 表示立即寻址或 d 表示直接寻址)。并且程序中可以添加注释,为程序读者提供解释性文字。还介绍了数字数据、分支、标签等概念,分支指出执行下一条指令的指令,标签是对内存位置起的名字,可以当作操作数使用。
4.表达算法:伪代码的功能:伪代码是一种表达算法的语言,具有多种功能,包括对变量的定义和使用、赋值操作、输入/输出操作、选择结构(类似 if...else)以及重复结构(类似 while 等)。
执行伪代码算法:讲解了如何执行伪代码所表达的算法。写伪代码算法:介绍了编写伪代码算法的方法和要点。翻译伪代码算法:阐述了将伪代码算法翻译成其他程序设计语言的过程。
5.关系运算符:C 语言提供了 6 种关系运算符,分别是 >(大于)、>=(大于等于)、<(小于)、<=(小于等于)、==(等于)、!=(不等于)。这些运算符用于判断两个操作数的大小关系或是否相等。关系运算符都是双目运算符,其结合方向是左结合。关系运算符的优先级低于算术运算符,但高于赋值运算符,并且 >=<=>< 的优先级相同,==!= 的优先级相同,前者高于后者。
6.关系表达式:用关系运算符将两个表达式连接起来的式子称为关系表达式。关系表达式的结果是一个逻辑值“真”或“假”,在 C 语言中用“1”表示“真”,“0”表示“假”。例如,关系表达式“5 == 3”的值为“假”,“5 >= 0”的值为“真”。关系表达式中允许出现嵌套的情况,但要注意区分运算符“=”和“”,“=”是赋值运算符,“”是关系运算符。
7.逻辑运算符: !(逻辑非):是单目运算符,用于对一个逻辑值取反。例如,!true 的结果为 false!false 的结果为 true&&(逻辑与):是双目运算符,当且仅当两个操作数都为“真”时,结果才为“真”,否则为“假”。 ||(逻辑或):也是双目运算符,只要两个操作数中有一个为“真”,结果就为“真”,只有当两个操作数都为“假”时,结果才为“假”。
8.逻辑表达式:用逻辑运算符将关系表达式或其他逻辑量连接起来的式子就是逻辑表达式。在逻辑表达式中,如果包含多个逻辑运算符,其优先级顺序为 !(非)→ &&(与)→ ||(或)。逻辑运算符中的 &&|| 低于关系运算符,! 高于算术运算符。并且在 C 语言中,参与逻辑运算的数据可以是 10,也可以是非零值和 0,系统在表示逻辑运算结果时,用数值 1 代表“真”,用 0 代表“假”,但在判断一个量是否为“真”时,以 0 代表“假”,以非 0 代表“真”。
9.if 语句:
单分支 if 语句:如果条件表达式的值为真,则执行 if 后面的语句块;如果条件表达式的值为假,则跳过该语句块,继续执行后续代码。例如,编写程序任意输入一个实数,输出其绝对值,就可以使用单分支 if 语句,当输入的数小于 0 时,将其取反得到绝对值。
双分支 if-else 语句:根据条件表达式的真假来决定执行两个不同的语句块。如果条件表达式为真,执行 if 后面的语句块;如果条件表达式为假,执行 else 后面的语句块。例如,输入两个整数,判断哪个数更大,并输出较大的数。
嵌套 if 语句:在一个 if 语句中又包含另一个或多个内嵌的 if 语句。通过嵌套 if 语句,可以实现复杂的条件判断。例如,输入三个任意整数,找出其中的最大数,就需要使用嵌套的 if 语句来进行多次比较。
多分支 if 语句(if-else if-else 语句):当有多个条件需要判断时,可以使用 if-else if-else 语句。依次判断每个 if 语句中的条件表达式,如果某个条件表达式为真,则执行该 if 后面的语句块,然后跳出整个多分支结构;如果所有的条件表达式都为假,则执行 else 后面的语句块。
switch 语句:switch 语句也是一种多分支选择结构,根据一个表达式的值来选择执行不同的代码块。switch 语句中的表达式通常是一个整型表达式或字符型表达式,根据表达式的值与 case 后面的常量值进行匹配,如果匹配成功,则执行该 case 后面的语句块,直到遇到 break 语句或 switch 语句结束。如果没有匹配的 case 常量值,则执行 default 后面的语句块(如果有 default 的话)。

教材学习中的问题和解决过程

问题:为什么在搭建Pep/9编程环境时无法正确编译汇编程序
AI解答:在搭建 PEP/9 编程环境时无法正确编译汇编程序可能有以下几个原因:
一、环境配置问题

  1. 依赖项缺失
    • PEP/9 的汇编器可能依赖特定的软件或库,如果这些依赖项没有正确安装,就会导致编译失败。你可以检查安装文档,确认是否有遗漏的依赖项,并进行安装。
    • 例如,可能需要特定版本的汇编器支持库,或者某些运行时环境组件。
  2. 路径设置错误
    • 确保汇编器的路径被正确添加到系统的环境变量中。如果路径设置不正确,系统将无法找到汇编器可执行文件,从而导致编译失败。
    • 你可以检查系统的环境变量设置,确认汇编器的路径是否正确。如果不确定,可以尝试手动指定汇编器的完整路径来进行编译。
      二、汇编程序代码问题
  3. 语法错误
    • 仔细检查你的汇编程序代码是否存在语法错误。常见的语法错误包括指令拼写错误、操作数格式错误、标签使用不当等。
    • 例如,指令的大小写是否正确,操作数的寻址模式是否与指令要求匹配,标签是否在正确的位置定义和引用。
  4. 逻辑错误
    • 即使语法正确,程序也可能存在逻辑错误,导致编译过程中出现异常。例如,分支指令指向了不存在的地址,或者数据定义与实际使用不匹配。
    • 你可以通过仔细分析程序的逻辑流程,使用调试工具或逐步执行程序来查找逻辑错误。
      三、工具版本问题
  5. 汇编器版本不兼容
    • 确保你使用的汇编器版本与你所参考的文档或教程相匹配。不同版本的汇编器可能在语法、功能或行为上有所不同,从而导致编译问题。
    • 你可以查看汇编器的文档,了解其支持的语法和特性,并确认你的程序是否符合该版本的要求。
  6. 其他相关工具版本冲突
    • PEP/9 编程环境可能还涉及其他工具,如模拟器或调试器。如果这些工具的版本与汇编器不兼容,也可能导致编译失败。
    • 确保所有相关工具的版本相互兼容,并按照正确的顺序安装和配置。
      四、系统环境问题
  7. 操作系统差异
    • PEP/9 可能在不同的操作系统上有不同的表现。某些操作系统可能对文件权限、路径格式或其他方面有特定的要求。
    • 你可以检查你的操作系统是否满足 PEP/9 的要求,并根据操作系统的特点进行相应的调整。
  8. 资源限制
    • 编译过程可能需要一定的系统资源,如内存、磁盘空间等。如果系统资源不足,可能会导致编译失败。
    • 你可以关闭不必要的程序,释放系统资源,或者考虑在具有更多资源的系统上进行编译。

基于AI的学习


标签:语句,运算符,汇编器,PEP,操作数,2024,2025,20241423,表达式
From: https://www.cnblogs.com/YZ66/p/18508946

相关文章

  • 0xGame2024-week3-crypto
    CryptoLLL-IfromCrypto.Util.numberimportbytes_to_longfromnumpyimporteye,matrixfromrandomimportrandintfromsecretimportflagassertlen(flag)%4==0Length=len(flag)//4Noise=[[randint(1,pow(2,90))foriinrange(4)]forjinra......
  • 2024 四川省大学生信息安全技术大赛 安恒杯 部分 WP
    文章目录一、前言二、MISCunzip-png拓展第47张图片重要的文件三、WEB四、CRYPTO五、REVERSE一、前言WP不完整,仅供参考!除WEB外,其余附件均已打包完毕,在这里也是非常感谢师傅的附件支持!123网盘下载:https://www.123pan.com/s/q2J1jv-vRJvd?提取码:0905提取码:09......
  • 20222303 2024-2025-1 《网络与系统攻防技术》实验三实验报告
    一、实验内容1.正确使用msf编码器,使用msfvenom生成如jar之类的其他文件;2.能够使用veil,加壳工具;3.能够使用C+shellcode编程;4.能够通过组合应用各种技术实现恶意代码免杀;5.用另一电脑实测,在杀软开启的情况下,可运行并回连成功,注明电脑的杀软名称与版本。二、基础问题回答1.杀软......
  • 学期2024-2025-1 学号20241306《计算机基础与程序设计》第5周学习总结
    学期2024-2025-1学号20241306《计算机基础与程序设计》第5周学习总结作业信息这个作业属于哪个课程[2024-2025-1-计算机基础与程序设计(https://edu.cnblogs.com/campus/besti/2024-2025-1-CFAP))这个作业要求在哪里[2024-2025-1计算机基础与程序设计第5周作业(https......
  • 2024-10-27 闲话
    去年参加icpc杭州站之后在zju和yubai一起玩。当时yubai脱把骑车给我留下了深刻的印象。今年五一和yubai去nihon,在富士山下本栖湖旁边租了一辆电助力车子。在我的请求下,yubai又表演了他的脱把神技:【这里理应有一张照片,但是很遗憾我没找到,于是用一张富士山的照片替代吧......
  • P11233 CSP-S 2024 染色
    P11233CSP-S2024染色考试最后码方程忘记\(a[i-1]\)了,调不出来,只好\(50pts\)收尾。思路\(dp\)的难点在于确定一段的颜色后,无法快速找到上一段相同颜色的结尾。从这里入手,设\(dp[i][0/1][0/1]\)表示第\(i\)位颜色为\(1/0\),第三维表示是一段颜色的\(0\)开头或\(1......
  • 2024-2025-1 20241327 《计算机基础与程序设计》第五周学习总结
    作业信息|2024-2025-1-计算机基础与程序设计)||--|-|2024-2025-1计算机基础与程序设计第五周作业)||快速浏览一遍教材计算机科学概论(第七版),课本每章提出至少一个自己不懂的或最想解决的问题并在期末回答这些问题|作业正文|https://www.cnblogs.com/shr060414/p/18440575|教......
  • 【刷题10】2024.10.26
    来源:CTFHubSVN泄露扫描一下目录,发现有/svn,所以是svn泄露使用工具dvcs-ripper将泄露的文件下载到本地目录中先用ls-al查看,再转到.svn文件夹中查看下载的文件。根据题目可知,在旧版服务器,所以访问pristime文件夹,在其中找到了flagctfhub{4e0bf99268e97......
  • CSP2024游记
    CSP2024游记Day0去八中试机,感觉好像比难堪的电脑稍微快一点(然而考试当天好像并不是这样)。发现VSCode已经把插件下好了。Day1CSP-J没有。CSP-S13:30从家里出发去八中。到了之后原地乱晃,吃了一块巧克力(齁甜)。遇见了几个老师(忘了是谁了)。14:05进了八中科技楼。差点走成......
  • CSP-S2024&CCPC济南站游记
    初赛忘了,乱打的。得分-估分=\(13\),得分=\(79\)。Day-5忘了,打模拟赛被打爆。Day-4忘了,打模拟赛被打爆。Day-3忘了,打模拟赛被打爆。Day-2忘了,打模拟赛被打爆。我患上了一种只会做T1的病。晚上画画,CF啥都不会。Day-1和wmh坐上了一趟高铁。到了以后疯狂发徽章......