实验室大一第一次考核



实验室大一第一次考核

本次考核的内容个人感觉难度适中,都偏向于基础性的知识,在做题的同时也暴露出来很多问题,自己的基础部分还是要继续再巩固复习。考核的结果很差,简单的也错了不少,给自己敲响一个大大的警钟!
首先先把错题一一纠错一下,每到纠错题先说说当时的想法,然后再分析正确做法。

一、单选题

1.在这里插入图片描述
这道题错的真的就是自己学的时候太粗糙了,曾经写乘法口诀表的时候接触过%2d、%-2d当时想的就是数字右对齐和左对齐,对这也没过多学习,然后就导致这题一点想法也没,错的真的好蠢啊,没学扎实。
%2d是C语言中printf函数的输出格式说明符。
使输出的int型的数值以2位的固定位宽输出。如果不足2位,则在前面补空格;%3d同理也是这样,所以才有上面讲得对齐这一点。

————————————————————
2.
在这里插入图片描述
这道题当时被swap()这个函数影响了,想着交换得把实参的地址传进去才能交换,所以选了B。
但是这题说实参与对应形参之间的数据传递方式,要知道我们函数中形参的改变并不会影响实参的值,所以应该为单向值传递

————————————————————

在这里插入图片描述
这道题当时链表刚开始学,对双向链表的掌握也不够,
在断开原始连接之前,我们应该先要将即将断开部分的前后连接保存下来,也就是链表插入的第一步,将q的后驱指向原始链表的中的P。然后,将q的前驱指向P的前驱节点,这样就保证了链表的前后部分不丢失。然后是第三步,将P结点的前驱节点的下一个指向q,将p的前驱节点指向q。

————————————————————
4.
在这里插入图片描述这道题当时纯属大意了,将会的题写错了,太不细心了。
c选项,如果要将给std这个数组里的name输入字符串,正确的写法应该是scanf(“%s”,&std[0].name);类似D选择这种写法。&std是取数组std 的首元素地址,而这里面不包含name

二、多选题

1.在这里插入图片描述这道题重点是先要知道[ ]的优先级是高于 * 的优先级的,A错误;
x这样看就是个二维数组,二维数组换一个角度看:二维数组也是一个数组,只不过数组的每个元素都还是一个数组。
x+ii 表示第ii行这个一维数组的地址, 解引用就是第ii行这个一位数组
x+ii+j 表示 第 ii+j 行这个数组的地址 这就不对了,B错误;

三、填空题

在这里插入图片描述
这道题的知识点我觉得是对数组&的应用,&a,就是整个数组的地址,单个数组名a指的是数组首元素的地址。
所以
(a+1)就是指第二个元素,就是2;
a是数组,&a的地址就是数组的地址,a指向的是数组,是一个数组的指针,因此指针偏移步长是一个数组,所以&a+1就向后偏移了一个数组的长度,跑到了数组的末尾位置了, 相当于ptr指向了数组的结束下一个位置处,但是因为他是一个整形指针,因此-1,会向左偏移一个整形元素,刚好就是数组的最后一个元素的起始位置,因此解引用是5。
*
————————————————————

在这里插入图片描述这个题要注意一下这是圆括号,是逗号表达式,这个初始化相当于
a[3][2] = {1, 3, 5},逗号表达式从左往右一次进行,只取最后一个,和我们平时见到的二维数组int a[3][2] = {{0,1},{2,3},{4,5}}不同,要注意细心看一下,所以这里的 p[0] = 1,而不是0!

四、简答题

1.简述结构体与共用体的区别。

两者最大的区别在于内存的分配,结构体和共用体的区别在于:结构体的各个成员会占用不同的内存互相之间没有影响;而共用体的所有成员占用同一段内存,修改一个成员会影响其余所有成员,结构体占用的内存大于等于所有成员占用的内存的总和(成员之间可能会存在缝隙),共用体占用的内存等于最长的成员占用的内存。共用体使用了内存覆盖技术,同一时刻只能保存一个成员的值,如果对新的成员赋值,就会把原来成员的值覆盖掉。

——————————————————————
2.下述三个定义有什么区别?

char * const p; //常量指针,p的值不可以修改
char const * p;//指向常量的指针,指向的常量值不可以改
const char *p; //和char const *p

五、总结

本次考核暴露的问题就是基础不扎实,知识点虽然学了,但是学的不深入,不透彻,有很多知识点都给漏掉了,找时间要把之前的学过的东西重新过一遍,复习一下!

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值