是不是一到期末,看着厚厚的 C 语言课本就头大?老师划的重点像天书,做题前不知道该抓哪些知识点,做题时对着一个错一个?别慌,兔子哥也是从那时候过来的,今天就给大家整理了期末备考必看的重点知识点,还附了典型常考的习题讲解,保准你看完心里有数,一起往下看吧!
这些基础知识点,考到的概率 90% 以上
别想着钻难题,期末考试大部分分数都在基础题里。这几块内容必须吃透:
- 变量和数据类型:int、float、char 这三种最常用,记住它们能存啥样的数据。比如 int 存整数,float 存小数,char 存单个字母或符号。考试常考 “不同类型变量赋值会出啥问题”,比如把小数给 int 变量,会直接丢掉小数部分,这点要记牢。
- 运算符优先级:加减乘除和赋值符号在一起时,谁先算很重要。比如 a = b + c * d,是先算乘法的,别搞反了。实在记不住,就多打括号,括号里的肯定先算,这招百试百灵。
- if 语句和 switch 语句:if 用来做二选一的判断,switch 适合多选一。要注意 if 后面没有大括号的话,只能管一句话;switch 里的 case 别忘了加 break,不然会一直往下跑,这点好多人都栽过跟头。
给大家列个表格,看看容易混淆的点:
| 知识点 | 常见错误 | 正确做法 |
|---|---|---|
| if 语句 | if (a=5) 写成赋值 | 应该是 if (a==5) 用双等号判断 |
| switch 语句 | case 后忘了加 break | 每个 case 结束都加 break(除了最后一个) |
| 变量定义 | 同一行定义不同类型变量 | 不同类型要分开定义,比如 int a; float b; |
循环结构,期末大题少不了它
for 循环、while 循环、do-while 循环,这三种考大题的概率特别高,尤其是结合数组一起考。
- for 循环:格式是 for (初始;条件;变化),括号里的三个部分都能省略,但分号不能少。适合知道循环次数的情况,比如从 1 加到 100,用 for 最方便。
- while 循环:先判断条件再执行,条件不满足就一次都不跑。比如输入数字,直到输入 0 才停止,用 while 就很合适。
- do-while 循环:不管条件啥样,至少会执行一次。考得相对少,但别记混了。
有同学问,循环里的 break 和 continue 有啥区别?简单说,break 是直接跳出整个循环,continue 是跳过这次循环剩下的部分,直接开始下一次。比如循环打印 1 到 10,当 i=5 时用 break,就只打印 1-4;用 continue 的话,会打印 1-4 和 6-10,跳过 5。
函数和数组,占分大户要吃透
这两部分经常结合起来考,比如写个函数求数组的平均值,或者找出最大值。
- 函数定义:记住格式 “返回类型 函数名 (参数列表)”,比如 int add (int a, int b)。参数要写清楚类型,返回值别忘写 return。如果函数在 main 后面定义,前面一定要声明,不然会报错。
- 数组:一维数组定义是 “类型 名字 [长度]”,比如 int score [5]。注意下标从 0 开始,定义长度是 5 的数组,最大下标是 4,别越界了,这是期末考试的重灾区。
二维数组考得也不少,比如 int a [2][3],表示 2 行 3 列,遍历的时候要用双重循环,外层控制行,内层控制列。
典型习题讲解,学会一道顶十道
光看知识点没用,得会做题才行。来两道期末常考的题:
习题 1:用循环计算 1 到 100 的偶数和
思路:从 1 循环到 100,判断每个数是不是偶数(i%2==0),是的话就加起来。
代码大概这样:
plaintext
#include int main(){int sum = 0, i;for(i=1; i<=100; i++){if(i%2 == 0){sum = sum + i;}}printf("和是:%d", sum);return 0;} 易错点:别把 i%2==0 写成 i/2==0,除法和取余不一样;sum 要初始化成 0,不然会是乱码。
习题 2:写一个函数,求数组中的最大值
思路:定义一个函数,参数是数组和长度,假设第一个元素是最大的,然后逐个比较,找到更大的就更新。
代码参考:
plaintext
#include int findMax(int arr[], int n){int max = arr[0], i;for(i=1; i max){max = arr[i];}}return max;}int main(){int nums[5] = {12, 35, 9, 46, 23};printf("最大值是:%d", findMax(nums, 5));return 0;} 易错点:数组作为参数传递时,不用写长度;函数里的循环要从 i=1 开始,别从 0 开始自己跟自己比。
最后给点备考小建议
我当初备考的时候,就总结了个笨办法:把课本上的例题和作业题重新做一遍,尤其是老师划过的重点题。其实期末考试的题目,很多都是从这些题里改出来的,换汤不换药。
每天不用学太久,花 1-2 小时专攻一个知识点,比如今天搞定循环,明天搞定数组,循序渐进比熬夜突击强多了。做错的题一定要标出来,最后几天集中看错题,能少丢很多分。
考试的时候别慌,先把会做的题做完,难的题最后再啃。写代码前先在草稿纸上把思路理清楚,比如循环的条件是啥,函数要传啥参数,想明白了再下笔,能省不少修改时间。
希望这些总结和建议能帮到你,期末考个好成绩!要是有啥不懂的地方,随时来问兔子哥,看到都会回的。
版权声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。
还木有评论哦,快来抢沙发吧~