2021-2022-1 20211413 《信息安全专业导论》第四周学习总结
班级:首页 - 2021-2022-1信息安全专业导论 - 北京电子科技学院 - 班级博客 - 博客园 (cnblogs.com)
作业要求:2021-2022-1 《信息安全专业导论》教学进程 - 娄老师 - 博客园 (cnblogs.com)
教材学习内容总结
* *门与电路*
·计算机通过电平的高低来表示二进制数字0或1
·门在接受输入并执行自带的逻辑函数后会产生一个高(二进制1)或低(二进制0)的电平
·门主要有六种:非门(取反)、与门(同真才为真)、或门(有真则为真)、异或门(不同才为真)、与非门、或非门
·将门进行合适的组合即可构成电路
* *计算部件*
计算机是要能够储存,检索和处理数据的,要完成这些功能,最重要的是读取--执行周期的实现。冯·诺依曼结构为这个周期的实现提供了很大的便利
* 冯·诺依曼体系的特点
·将数据和操作数据的指令都由二进制编码
·将处理信息的部件与储存信息的部件分离
处理单元
·CPU:功能主要是解释计算机指令以及处理计算机软件中的数据
·GPU:处理屏幕上的图像数据,减轻CPU负担
内存单元(有很多种类,但根据作用可分为存储数据和加快数据处理)
·磁带、磁盘、硬盘、CD和DVD用于存储数据
·寄存器:暂存命令、数据、地址等,加速程序运行
·RAM和ROM:RAM为数据的临时存储介质,CPU访问速度很快;ROM中的数据只能读取,基本上是写入一些基本的I/O系统
运算符优先级:
教材学习中的问题和解决过程
问题1:’//'是python中的地板除法的符号,我运行了几行代码后发现这不是取整除法吗,为啥要翻译成地板除法(floor division)?
解决过程:在找“floor division”的解释时看到了这篇文章,感觉写的很好
代码调试中的问题和解决
问题:在code blocks中debug选项都是灰的,不能进行调试
解决:在CSDN找到了不能调试的原因:单独的cpp文件是不能调试的,只有project才能调试
问题2:用C语言实现插入排序时,运行程序后数组中的元素位置没有发生变化
解决:在调试后发现在调用插入排序函数时并没有成功调用。检查后发现是由于调用函数时加了前缀'void'
#include <stdio.h>
void InsertSort(int* a,int n);
int main(void)
{
int n;
printf("Please enter a N\n");
scanf("%d",&n);
int a[n];
printf("Please enter \n");
for(int i = 0; i < n; i++)
scanf("%d",&a[i]);
void InsertSort(a,n);//这里的函数调用出了问题,不应该加'void'前缀的
printf("%d ",a[i]);
}
void InsertSort(int* a,int n)
{
int end;
for(int i = 0; i < n-1; i++)
{
end = i;
int tmp = a[end+1];
while(end >= 0)
{
if(tmp < a[end])
{
a[end + 1] = a[end];
end--;
}
else
break;
}
a[end+1] = tmp;
}
}
调用函数时不要加返回类型!
上周错题
暂无
其他
1. C语言太久没用有点生疏了,计划通过重温排序算法来熟悉C语言的操作和语法;
2.在看完那篇关于“floor division”翻译问题的文章后,我感觉学好英语对学习计算机来说是真的十分重要。先不论大部分的优质书籍是由英文编写的,许多的编程软件,代码文档都是由英文的,如果只盯着中文文档看,那必然会对我们的深入学习有诸多的限制。计算机类书籍的中文译本龙蛇混杂,如果译本出现术语翻译错误,无疑对我们的学习有着不小的影响。
3.近来感觉我心态有点问题,我在高中是搞过信奥的,可以说我学这门课的时候基本上是弹射起步,学的很快。这确实很好,但是这也让我有些自大自满,有点瞧不起其他同学的学习的意思(但实际上很多同学学的都很不错),所以也基本不和他们交流一些学习上的问题,感觉像是在闭门造车,学的知识都是死的。