计算机二级过来人的经验

前言:

    据说一年一度的计算机二级马上就要到来了,那小编在这里就提前祝参加二级的小伙伴们能够稳稳过。尤其是考C语言的小伙伴,小编用这两三年的编程知识为你们在考前突击突击,希望能够有点用处,至于office,小编觉得无能为力。。。字太多,看的头疼~~~

首先带领大家了解下C语言的二级考题题型、分值和评分标准:

1、选择题:40题,每题1分。按标答给分
2、程序填空:3处空,每空6分。共18分,按标答给分,如果和标答的写法不一样,就算对的也没有分。每一空有每一空的分数。做对一空就给6分
3、程序改错:2处错误,每处9分,共18分。都是/*found*/下面的一行有错误,按标答给分,如果和标答的写法不一样,就算对的也没有分。
4、程序编制题:共24分。按程序结果给分。编程完成后,存盘,编译,连接,执行,按题目要求输入,得到要求的结果就有24分,否则就是0分。

相信这些大家应该都有所了解了,那么其次我就简单的对各个题型进行一一分析,你会发现60分很简单。当然还是希望各位小伙伴考的越高越好。

一、选择题:

单选题中1~10题为二级公共基础知识,考试内容包括数据结构与算法、程序设计基础、软件工程基础、数据库设计基础四部分。 单选题的11~40题是C语言的内容,程序的结果输出、程序填空选择,先是简单的循环结构、顺序结构、选择结构,慢慢出现数组,出现函数调用,再就是结构体,再接着就是出现让大家头疼的指针,最最难的是将上述的内容进行整合在一起,让小伙伴晕上加晕,不过我相信只要把题库里面的题能够刷完并且做到基上理解,选择题应该在在25~40之间了。没刷题裸考的小伙伴,一首《都选C》送给你。

都选C - 大鹏

二、程序填空题:

首先说明C语言是一门面向过程的语言,它的运行都是一步一步来的,所以说相对来说简单点,只要按照顺序一步步走,是绝对不会出问题的,第一步先着手于了解这个程序的大体结构,比如:声明了哪些函数,有哪些全局变量,第二步就是先不要管其他的函数,从main函数入手,main()函数是所有程序的入口,按照main()函数里面的调用的函数顺序,依次访问相应的函数就可以了,或者各种循环、选择、顺序结构的顺序有耐心的一步一步走,很容易就解决了,下面简单码一个例子:

调用函数f,将一个整数首尾倒置。
例如:若程序输入12345,则输出54321;若程序输入-34567,则输出-76543。

#include <stdio.h>
#include <math.h>
long f(long n)
{

long m,y=0;
m=fabs(n);
while(m!=0) {
y=y*10+m%10;
____1____
}
if(n>=0) return y;
else _____2_____
}
void main()
{
printf(“%ld\t",f(12345));
printf("%ld\n",f(-34567));
}

针对这一个程序,观察题意,将整数首尾倒置,那么思路是就是通过循环除运算求余思想取到这个整数的各个位置上的数字,反向输出可以了。

根据步骤

首先看到的是包含了stdio.h 说明肯定有printf()和scanf()等的存在,

接着有math.h说明调用数学函数库,则存在着数学的方法,那么此刻脑海中应该对应出现 abs(int i); 求整型的绝对值 fabs (double);求实型的绝 对值 pow(double x,double y);计算x的y次幂 sqrt (double);开平方等,

接着根据步骤先进入main函数,看到结构很简单,调用f()函数,参数是12345,那么此时进入f()函数,对n进行绝对值的运算,防止出现负数,此时m==n==12345,接着进入循环,条件是m是否为0,一旦m==0,循环结束,那么猜想循环中必然有除运算或求余运算 y=0*10+12345%10=5,目的是为了获取个位上的数字,接着就是填空里面的内容,依据算法,需要获取到每个位上的数字,且是整型数据,有小数自动删除,一次通过除的方式可以把已经取到的5去掉,因此需要m/=10;此时m=12345/10=1234 进行下一次判断循环循环,依次得到各位数字并将取出来的值依次*10存放在f中。接着判断是否是正整数,如果是直接返回y就行了,如果不是则返回相反数-y即可。解答完毕。

通过这么一个简单的题目,确是考察了循环结构、选择结构、函数调用、数学函数的综合应用。

三、程序改错:

错误一般集中在两个方面:格式错误和运算错误。

基本上程序运行方面的错误通过上面的思路做就可以检查出来,比如题目要求输出y,程序写的输出-y之类的,格式错误的话就是考察你对字节和变量类型的掌握情况了,例如要求输入整型,但程序确用scanf("%d",&a);来表示等等,还有就是保留几位小数还是保留有效数字的题也是关键,要分清,题目说要求保留三位有效数字,程序会用printf("%.3f",a);来表示等等,还有就是switch的break;跳出问题,程序中不带break;等,还有指针。。。。就不一一列举了,都是细节问题,一定要注意。

四、编程题(大部分人死在这里)

1.突出反映的问题就是电脑敲代码的时间肯定不够,C语言作为一门偏理性的东西,实践(敲代码)对学好C语言以及其他越来越高级的语言来说至关重要。

2.下面讲解下要注意的细节和预测下大致的编程题的题

(小技巧:“如果实在做不出来!!!”就按格式写输入的值,输出的结果直接写出来。大神请无视。。。):

题目要求输出6,输出2 5 6 直接写: scanf("%d",&a); b=2,c=5,d=6; printf("%d,%d,%d" b,c,d);

这样能得3~4分哦,总比0分强吧,哈哈,要保密哦~小技巧。。。大神可以无视。。。

引用的库一定要写对,基本格式一定要对:(小技巧:前面选择题或者填空改错题都有)

#include"stdio.h";

#include"stdlib.h";

#include"math.h";

全局

函数的声明;函数的声明;函数的声明;

void main(){

函数1();

函数2();

.....

}

函数1(){

}

函数2(){

}

注:建议复习的程序题:

1.计算圆的面积、圆柱的体积等

2.比较数字的大小,按等级输出学生的成绩和等级、大小写转换(利用ASCII码值)等

3.解一元二次方程、Fibonacci数列、素数、水仙花数等

4.冒泡算法、快速排序、二分法等算法(基本了解下,估计你们很难理解)

5.累加和、求阶乘的题(考察递归的调用等)即n!

6.数组和结构体的使用,找一两个题回顾一下。

7.!!!指针、指针变量、指针数组!!!(估计来不及了,找一两个结合数组的题看一下)。

最后的最后,小编还是不放心,大致列举下要考察的知识点吧:!!!务必认真看!!!(纯手打,求支持!)

第1章:程序设计、算法、模块化和结构化程序设计等概念(选择题会出题)。
第2章:标识符、常量、变量、算术运算符及算术表达式、赋值运算符和赋值表达式、自加/减以及逗号运算符。a++和++a的区别
第3章(顺序结构):printf()、scanf()函数、复合语句、空语句。
第4章(关系运算符和关系表达式):if语句的几种格式,switch语句、break语句,条件表达式(三目运算符)。
第5章(循环结构):熟练掌握while、dowhile、for循环语句的格式及应用。
第6章(字符型数据):使用printf()、scanf()函数进行字符型数据的输入和输出、putchar()、getchar()函数。
第7章(函数):函数的定义和返回值、函数调用、函数申明、函数之间值传递等(按值传递和按地址传递的区别!)
第8章(地址和指针):理解指针、指针变量、指针变量的基类型等基本概念
第9章(数组):一维、二维数组的定义和引用、数组和指针结合,数组名或数组元素作函数的参数
第10章(字符串):字符串、指针和数组处理字符串,处理字符串常用的函数,如gets()、puts()、strcpy()、strcmp()、strlen()、strcat()等
第11章(函数):函数的递归调用
第12章(用户标识符的作用域和存储类):全局变量、局部变量,auto、register、static、extern存储类别

-----------------------------------------------我是分隔符----------------以下内容有兴趣可深究,考试一般不会考---------------------------------

第13章(编译预处理和动态存储分配)宏替换,特别是带参的宏(按值传递和按地址传递的区别!) 第14章(结构体)结构体类型、结构体类型的变量、数组、指针变量、结构体变量、数组赋值、引用结构体变量中的数据
第15章(位运算):5个位运算,按位取反、左移、右移、按位与、按位或、按位异或
第16章(文件):文件指针、文件的打开和关闭;文件输入输出函数,如getc(fgetc)、putc(fputc)、feof、fscanf、fprintf、fgets、fputs、fread、fwrite、fseek、ftell、rewind

猜你喜欢

转载自blog.csdn.net/qq_38691107/article/details/86063321