还有俩周就考 C 语言程序设计了,书翻了好几遍,感觉啥都记不住?上课听着懂,一做题就卡壳,连最简单的循环题都要想半天?更别说指针、结构体这些让人头大的知识点,看着就发愁 —— 你是不是也被期末复习搞得焦头烂额?其实啊,C 语言期末考没那么难,抓住重点、刷对题目,哪怕只剩一周,也能突击提分。兔子哥当年期末前三天才开始复习,最后考了 80 多,今天就把最核心的复习重点、常考题型和答案思路分享给你,全是大白话,保证能看懂,一起往下看吧!
一、这些基础知识点,占了卷面 60%,必须吃透
期末考最爱考基础,别看简单,失分的人真不少,咱们一个一个说清楚。
1. 变量和数据类型,考填空和选择的概率特别高
就像装东西得用不同的盒子,C 语言里存数据也得用不同的 “盒子”—— 变量。常考的有这几个:
- int:装整数,比如 1、-3,占 4 个字节(不同编译器可能不一样,不过考试一般按这个算)。
- float:装小数,比如 3.14,能精确到小数点后 6 位左右。
- char:装单个字符,比如 'a'、'6',记得用单引号括起来。
考法一般是 “下面哪个变量定义正确?”,比如
int 5a;就错了,变量名不能以数字开头;float 3.14;也错了,定义时赋值可以,但变量名得是字母开头。2. 输入输出函数,几乎每次考试都有
printf 和 scanf 这俩兄弟,简直是期末考的 “常驻嘉宾”:
- printf 是 “输出”,把内容打印到屏幕上,格式是
printf("要打印的话 %d", 变量);,% d 对应整数,% f 对应小数,% c 对应字符,千万别弄混。 - scanf 是 “输入”,接收从键盘敲的内容,格式是
scanf("%d", &变量);,& 符号千万别漏,漏了程序就不知道把输入存哪儿了,这是新手最容易错的地方。
有次模拟考,班里一半人因为 scanf 漏了 &,这题就白丢分了,多可惜。
3. 分支和循环,大题基本离不开
if-else 和 for、while 循环,大题里至少占一道,比如 “判断成绩是否及格”“打印 1 到 100 的奇数”:
- if 后面的条件要用 () 括起来,比如
if(score >= 60),别写成if score >= 60。 - for 循环的三个部分别写反了,
for(初始; 条件; 变化),比如for(i=1; i<=10; i++),是从 1 循环到 10,每次 i 加 1。
不过话说回来,循环里套循环的题(嵌套循环)会难一点,比如打印九九乘法表,得多练两道题找感觉。
二、这三个 “老大难” 知识点,考到就是拉分点,别怕
指针、数组、函数,听着吓人,其实考的都是基础用法,掌握了能多拿不少分。
1. 数组,就是一串相同类型的变量
比如
int a[5];就是 5 个 int 类型的变量,编号从 0 到 4,存 1、2、3、4、5 的话,a [0] 是 1,a [1] 是 2,依此类推。考法常是 “给数组排序”“求平均值”,用冒泡排序就行,思路是 “两两比较,大的往后放”,代码大概这样:plaintext
for(i=0; i<4; i++)for(j=0; j<4-i; j++)if(a[j] > a[j+1]){temp = a[j];a[j] = a[j+1];a[j+1] = temp;}记住数组下标从 0 开始,别越界,比如 a [5] 就错了,最多到 a [4]。
2. 函数,把代码打包成一个 “工具”
比如求两个数的和,写个 add 函数,后面要用的时候直接调用,不用重复写代码。考试常考函数的定义和调用,比如:
plaintext
int add(int x, int y){return x + y;}// 调用的时候写 int sum = add(3,5); sum就是8要注意函数的返回值类型和参数类型,别 mismatch(虽然不知道具体术语怎么说,但大概就是类型对不上的意思),比如函数定义是 int,就别返回小数。
3. 指针,其实就是存地址的变量
指针变量里存的是另一个变量的地址,比如
int *p; p = &a就是说 p 指向 a,*p 就等于 a 的值。期末考一般考 “用指针访问数组”,因为数组名本身就是地址,a[0]和*a是一回事,a[1]和*(a+1)也一样。至于更复杂的指针数组、指向指针的指针,期末考好像不常考,至少我们当年没考,具体哪些学校会考,我也不太清楚,可能得看你们老师的侧重点。
三、常见题型及答案思路,刷会这些,及格肯定没问题
光看知识点没用,得知道考啥题、怎么答,这几种题型几乎每次考试都有。
1. 选择题:考基础概念,拿分不难
比如 “以下哪个是合法的变量名?”,选
int_123,因为变量名只能字母、数字、下划线,还得字母或下划线开头。再比如 “执行完
int a=3; a++;后,a 的值是多少?”,答案是 4,a++ 是先用后加。这类题多刷几套往年题,基本就能摸清套路,错的题记下来,考前看一遍。
2. 程序填空题:记住常见代码片段
比如 “补全下面求 n 的阶乘的代码”:
plaintext
int fact(int n){if(n == 1) _______;else return n * fact(n-1);}空里应该填
return 1,这是递归的基础用法,记住递归得有终止条件。3. 程序改错题:常错的就那几处
比如这段代码想打印 1 到 5:
plaintext
for(i=1; i<=5; i--)printf("%d", i);错在 i--,应该是 i++,不然循环条件永远满足,成了死循环。改错题常错的就是分号漏写、循环条件错、变量未定义,细心点就能找出来。
可能有人会问,最后几天怎么复习最高效?兔子哥觉得,先把上面说的基础知识点过一遍,然后刷 3 套往年真题,错的题一定要搞懂,知道为啥错。不用追求难题,期末考 60% 都是基础,把这些分拿到,肯定能过。
其实 C 语言期末考真的不算难,比二级简单多了,别被指针这些词吓住。我当年考前把常考的代码片段抄在纸上,有空就看,最后答题的时候手到擒来。加油,按这个方法复习,或许能帮你轻松过考试,希望能帮到你!
版权声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。
还木有评论哦,快来抢沙发吧~