每类题有一些规律,这里来总结一下个人做题遇到的一些规律,大家可以自行掌握
1.在while循环里常常会将将最后一行空着作为考点,例如下面第的10题,因为需要联系整个循环所以经常分析不出来,实际上for训话中也有过这种考法,就是每次循环之后需要++一下,无论是指针向后移动,还是元素本身向后加一个。(常考,常错)
2.数组初始化的时候{0}而不是 0
1.
2.
3.
4
注意第二个:(t/10)
5
第一:因为都是保留一位小数,所以不是0是0.0
第三:前面已经规定t所以是(t*t)
6.
第二个:第二个for循环主要是将字符串p连接到t字符串
,因为p字符串中有k个元素所以填k
第三空:字符串链接完之后,需要在t字符串后面添加结束标志,所以第三空应该填写‘\0',或者填写0
1.文本文件类
1.
注意:记忆fwrite,fopen,函数内容
2.
第一处:需要添加文本变量类型 FILE*
第二处:打开之后必须要先进行关闭再打开其他文件,所以填写:fclose(fp)
8.(多理解)
填空1:isalpha()函数的作用用来当前字符是否是字母
1处填*s
填空2:把子母中出现的个数累加到指定数组中,所以填写1
9.
填空一:因为需要将数字转化为对应的数值,因为数字0对应的数值是48,因此所有数值都要
减去‘\0'或者48
填写:‘\0'或者48
填空二:每判断一个字符之后需要像后面移动一下,所以填写s++
10.
首先要注意第三空处,这个空是前面每判断一次,后面要移动指针,注意是和上面if语句分开的
所以是s++.
第一空有一个问题只有遇到空格才满足第一个If条件,所以每次遇到空格 n也要++一下
11.
如果原先字符串长度比较短,那么需要全部赋值过去,所以
strcpy(t,s)
第二处是为了将s中的字符串全部复制到t中去,因为循环是为了改变i的值,那么第二处应该是填写是s[i];
第三处:因为是赋值新字符串,那新字符串生成之后就需要在末尾新添加一个结束符
所以填\0或者0即可
12.(第二空不明白)
2.链表类(重难点)
1.
2.(26)
当找到一个最小数之后,p节点需要向后移动
所以填写p->next
3.(25)
将q的指针向后移动才能实现链表逆置,指向r
12.(需要看视频)
第一处:形参实参对应:填写[N]
第二处:代表的是第一行和最后一行数组中的值,所以应该写:i
第三处:i+1
13.
第三空返回的是转换后的字符相加,所以不能直接用(*s+*a)
应该是 ctod(a)+ctod(b)
有两个函数,这两个函数肯定是要相互联系的(做题的时候需要注意)
3.注意如何求平均值
法一:根据求和再除总数的分配
因此应该是:av+=x[i]/N;
用了一下分配律公式1和2如图3
第一处:确定形参形式,填写[M]
第二处:对所有字符串进行操作所以填写N
第三处:字符串结尾要填写结束标志:‘\0’
法二:先进行求和,再将和除n(注意看题中具体给出的东西)
16.