2021-2022-1 20211413 《信息安全专业导论》第五周学习总结

班级:https://edu.cnblogs.com/campus/besti/2021-2022-1fois
作业要求:https://www.cnblogs.com/rocedu/p/9577842.html#WEEK05

教材学习内容总结

1.机器语言(machine language)
· 由一列二进制数(0和1)组成
· 机器码晦涩难懂,容易出错又不易查错

2.汇编语言(assembly language)
· 一种低级语言,用助记码表示特定的机器语言指令
· 汇编语言通过汇编器(assembler)翻译成机器语言的形式
· 汇编器本身也有一些指令,称为汇编器指令(assembler directive),也叫伪操作(pseudo-operation)

3.pep/9虚拟机(virtual computer)
· 其内存单元由2^16字节构成,其一个字长为16位(2字节)
· 寄存器(register):用来存储某些数据和中间值
1):程序计数器(PC):下一条指令的地址
2):指令寄存器(IR):正在执行的指令的副本
3):累加器(A):存储数据和运算结果
· pep/9的指令由8位的指令说明符(instruction specifier)和16位的操作说明符(operand specifier)组成

4.伪代码(pseudocode)
· 用于描述算法(algorithm)结构流程的语言

5.测试程序
· 明箱测试(clear-box testing):也叫代码覆盖测试(code-coverage testing),程序的每条语句都会执行,测试人员也能看到代码
· 暗箱测试(black-box testing):也叫数据覆盖测试(data-coverage testing),使用数据的边界值,基于输入的数据进行分析

6.python程序流程控制
· 6.1分支结构
1).if结构
2).if-else结构
3).if-elif-else结构,以if开头,else结尾,elif可以有多个

· 6.2循环结构
1).while语句,可以与else一起用

# an example
while i * i < 10:
      i += 1
      print(i)
else:
     print('over')

2).for语句,同样也可以与else一起用

# an example
for item in range(10):
    print(item)
else:
    print('over')

6.3跳转语句
1).break语句:跳出循环体
2).continue语句:进入下一次循环,跳过尚未执行的语句

代码调试中的问题和解决

1.在VScode中编写C语言程序时,不能运行
解答:在问过学长后了解到VScode若要写C需要自己配置编辑环境,在参考了别人的教程后成功配置好了C/C++的环境
参考文章:VSCode配置C/C++环境
VsCode安装和配置c/c++环境

2.配置好了环境后运行一个c语言编写的“hello wrold"程序时程序窗口老是闪退
解答:在main()函数中的return语句前加一句system("pause")或者getchar()即可。不过要注意,用system("pause")时要加一句"#include <stdlib.h>"。
若是当getchar()前面有字符串残留时,程序窗口依然可能会闪退,但是system("pause")不会有这种问题。

图1:请添加图片描述
图二:请添加图片描述
图1和图2是基本相同的代码,但是第一个运行的时候是会报错的,而第二个确可以正常运行。明明第二个只是在第一次的基础上删了几个空格和换行符而已,为什么运行结果就不一样了?
解答:这其实与python的缩进是有关的。在python中,缩进(indentation)是和语法(programmer)是作为一个token考虑的,也就是说,python中的缩进和C语言中的大括号一样重要。关于缩进可以看下面俩篇文章:
python的缩进有多重要?
关于python的缩进

posted @ 2021-10-21 19:29  蒻蒟  阅读(61)  评论(0编辑  收藏  举报