2021年二级C语言考试于近日结束,从考试全面测试了考生对于C语言基础知识的掌握情况。本文将针对2021年二级C语言考试的真题进行详细解析,让读者全面掌握C语言基础知识!
第一部分:单项选择题
单项选择题是C语言考试中最常见的考题之一,它不仅能够检测考生对于C语言语法知识点的掌握情况,也能培养考生的思维灵活度、理解能力以及选择推理能力。以2021年二级C语言考试第22题为例:
22.下列函数中可返回整数数据类型的直接有()。
A. scanf(""); B. printf("");
C. int main(){} D. getchar("");
这题考查的是函数的返回值类型,答案是C,其余函数的的返回值类型均为void,不可返回整数类型数据。
第二部分:填空题
填空题 是测试考生掌握了语言底层的关键知识点,其考查的深度也更深,以2021年二级C语言考试第12题为例:
12.以下程序的输出结果是______。
#include
int main(void)
{
static int a[]={0,1,2,3,4};
int *p[]={a,a+1,a+2,a+3,a+4};
int **pp=p;
pp++;
printf("%d\n",(**pp)++);
printf("%d\n",*--*pp+3);
printf("%d\n",(*++*pp)++);
printf("%d\n",*--*pp+3);
return 0;
}
填空题考查的是对于指针运算的掌握程度。掌握指针运算的能力对于C语言程序员而言尤为重要。
第三部分:编程题
编程题是检验考生是否能够真正应用语言知识点的部分。以2021年二级C语言考试第7题为例:
7、把数组a中的所有零元素移动到数组a的最后面,同时保持其他非零元素在原数组中的相对位置不变,例如,输入a[]={1, 2, 0, 3, 0, 4, 5, 0},函数调用后,a中的值为{1, 2, 3, 4, 5, 0, 0, 0}。
void func(int a[], int n)
{
int i,j=0;
for(i=0;i { if(a[i]!=0) a[j++]=a[i]; } while(j a[j++]=0; } 本题考查的是对于数组操作的灵活应用程度,对于数组的操作在C程序员日常开发中大量存在。考生需加强对于数组的基本操作的掌握。 总结 C语言考试中的真题考查内容十分全面、细致,考查的内容不只是基础语法知识点,还包括对语言细节的掌握程度、思维灵活度等。要想在C语言的考试中取得好成绩,除了理论基础,还需要加强对于语言的实际应用能力。希望通过本文的分享,考生们能更好的掌握C语言基础知识。