计算机等级C语言上机考试填空题和改错题技巧

更新时间:2024-03-17 12:06:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

计算机等级C语言上机考试填空题分类总结

填空题是计算机等级考试中的难点,占有的分值为30分。做填空题时注意掌握答题技巧。

填空题的分类(分为7类):

(一)、数学题目6、13、25、29、36、37、38、44、46 解题方法: 1、

如果在函数中定义变量,但是没有定义成静态存储变量,即变

量前面没有static,应给变量赋初值,如果以后用到的是加减运算,则赋初值为0或者0.0;如果以后用到的是乘除运算,则赋初值为1或者1.0; 2、

循环条件的填空,分析表达式的规律,看表达式中的最后一项

的值是否到了第m项或者是第n项,如果到了第m或者第n项,则在循环中的第二个表达式中用到的是i<=m或者是i

循环条件中如果用的是while语句,则循环变量的初值应该在

while的外面定义和赋初值,在循环语句中必须给变量自加或者是自减。如果没有则一般填的是i++; 4、

看表达式中的每一项的运算规则,按照运算的规则把每一项中

n值替换为i,特殊情况例外。如果表达式中用到的是间隔相加减的运算时,注意给中间变量赋初值为1或者是1.0;在后面的运算中给变量乘以一个-1,以改变中间变量的符号。

(二)、字符串题目8、10、11、12、14、18、19、21、35、45、48、49 1、循环的条件是判断该字符是否和结束符相等,如果相等,说明该字符串结束,否则说明没有结束,继续循环。

2、把一个数字字符转变成对应的数值的格式是:ch=ch-‘0’;把大写字母转变为小写字母的格式;ch=ch+32;把小写字母转变为大写字母的格式为:ch=ch-32;

3、区分好字符数组中的指针和指针所指的值的关系。在循环语句中,当指针往后走一个位置的时候,用的是指针的自加,而不是指导针所指的值的自加。

4、掌握字符数组中的函数的使用的格式。即:strlen、strcmp、strcpy、sizeof、strcat的使用格式。注意里面的格式中使用的都是指针(或地址)。

5、字符数组结果时都有一个结束符:’\\0’;在字符数组中的题目中的结束后要加上一个结束符。

(三)、结构体题目2、3、16、22、23、33 结构体类型的题目 1、 2、 3、

看清题目的意思。 定义结构体变量时的格式。

结构体中成员的调用格式。结构体中的成员分为多种类型,调

用结构体中的成员,使用的是“.”或者是“->”运算符。如16.2。得到结构体中学生分数,a->score[i]。 4、

如果返回的是结构体的话,函数的返回类型必须是结构体类

型。调用函数的格式中,调用的若是结构体数组,则只用写结构体数组名。 (四)、函数题目1、27 函数题目:

1、 看函数的返回类型,函数的返回类型必须和return语句返回的

表达式的类型一致。 2、

函数的调用的情况,函数调用时只用写函数的名称、以及函数

的参数。如:第一题中的第二和第三空的内容就是调用函数,填写时只用填写函数的名称和参数,故填f1(x)和f2(x,y); 3、 4、

函数指针的调用格式,类型名(*f)();27题中第一空。 函数参数的传递时的调用的格式,如果函数传递的是二维数

组,则在函数的传递过程中形式参数必须使用的是由m个元素组成一行的指针变量。如第10题中的第一个答案:(*ss)[M]。 (五)、链表题目:15、42、43、50 链表题目的步骤: 1、

首先看清楚题目要求和意思。看清楚链表有没有带头结点,如

果带有头结点,第一空填的内容是p=h->next;如果不带有头结点,则第一个空填写的是p=h; 2、

如果第二个空是在循环语句while的括号中的时候里面的内容

填写的是p或者是q,以最近出现的为主;如果是在循环语句的里面的时候,填写的是q=p->next; 3、

如果是排序的时候,从小到大的时候是大于号,从大到小的时

候是小于号。如果是出现了r的地方,则在后面的空中填的是r (六)、文件类型的填空28、30、32、47 1、文件类型的题目,看清楚题目意思,定义一个文件的指针,第一个位置出现fp的时候要填FILE *;

2、掌握文件中fopen、fprintf、fscanf、fputs、fputc、fgets、fgetc、fseek、

fwrite、fread、rewind函数的使用的格式。

fopen(“文件名”,“打开方式”); fclose(文件指针);

fscanf(文件指针,格式控制字符串,输入列表项); fprintf(文件指针,格式控制字符串,输出列表项);

fwrite(存入数据的指针,每一个数据占有的字节,输入数据的个数,文件指针);

fread(读出数据的指针,每一个数据占有的字节,输出数据的个数,文件指针);

3、文件打开之后要注意关闭文件,关闭文件的函数fclose(文件指针);

4、在循环语句中如果使用到的是while(!feof())空格中填写的文件指针,表明判断的是文件指针是否已经指到了文件的末尾。备注:如果文件指针指到了文件的末尾,则feof返回的是非零值,如果没有指在文件的末尾 ,返回的是0值。

(七)、数组题目3、4、7、17、20、24、26、31、34、39、40、41 数组填空题在C语言考试中出现的频率很高,数组分为一维数组和二维数组。一维数组较二维数组来说简单一些。

一维数组中存在这样一些类型:3、17、20、14、31、41 1、

求一个数值数组中的所有值的平均值和把大于或者小于平均

值的数赋到另外一个数组中。在计算平均值时,首先定义一个变量来存放平均分,平均分一般用av变量来代替,如果av已经定义但是没

有赋初值,那么这个空填写的内容为:av=0; 2、

计算平均值时有两种方法,第一种是算出总的分数, 最后再

除以总的个数即可,如算1到6之间的数的平均值,首先算出1到6的和,其次用总和除以总的个数6,即可以得到平均值;第二种方法是用每一个数除以6再把所有的和加起来。即1/6+2/6+3/6+4/6+5/6+6/6;所以在执行的一维数组中算平均值时也是存在两种情况,如果在for语句的后面有av=av/N;则第二个空一般填写的是av+=s[i];如果说没有av=av/N;则填写的是:av+=s[i]/N; 3、

在后面的一个空填写的时候要注意变量的使用情况,如果变量

使用了j和i,那么这一个空的填写的内容为:j++; 4、

如果一维数组中求的是把大于或者是小于平均值的数移动到

数组的首部的时候,这种题目的解答是这样的,第一个空一般填写的内容为:j++;第二个空填写的内容是-1; 5、

对数组进行排序时;如果是从大到小的排序的时候,用的是小

于符号,如果是从小到大排序时使用的是大于符号。

二维数组中的题目类型以及解决的技巧:4、7、26、34、39、40 1、 二维数组的题目,填空的时候一般是填在函数调用,函数在调用时候写的应该是二维数组的名字;在定义函数的时候使用的是函数的类型和由m个元素组成一行的指针变量,假设二维数组的名字是ss,那么填写的内容是:(*ss)[M];如果调用的是普通变量则填写的内容为:int n;

2、 二维数组遍历时,使用的是两个循环,使用的是循环的嵌套使用,第二个循环的使用的时候填写的内容为:j=0;(特殊的特殊处

理)

3、 交换两个变量的值使用的格式为:t=a;a=b;b=t;记住交换变量的格式和顺序。

4、 如果二维数组是字符串的时候,要记住字符串中函数的使用的格式;即strlen、strcmp、strcpy、sizeof、strcat的使用格式。注意里面的格式中使用的都是指针。

5、 特殊的特殊处理。第7题的填空的内容记住

改错题技巧

1、if或while语句

若错误行是if或者while语句,则要注意以下点: 1)首先判断是否正确书写if或while关键字;

2)然后看有没有用小括号把整个表达式括起来,若没有则加上小括号;

3)若条件表达式中有指针变量而且没有指针运算符时,则加上指针运算符;

4)若if条件表达式中只有一个等于号即数学等号(=),则要改写成两个等于号即逻辑等号(= =);

5) 若if条件表达式为其他的比较运算符,则一般是进行逆转或加一个等于号; 2、for语句

若错误行是for语句,则要注意以下几点: 1)首先判断for有没有书写正确;

2)然后看for中的表达式是不是用分号(;)隔开,若不是则改为分号。

记住是分号(;),不是逗号(,)!

3) 再者,分析for中的三个表达式,是否符合题意; 第一个表达式表示起始条件, 第二个表达式表示终止条件, 第三个表达式表示循环变量的变化。 3、 return语句

若错误行为return语句,则要注意以下几点: 1)首先看是不是正确书写return关键字; 2)然后看是不是缺少分号,若是则加上分号即可; 3)再者判断return后的变量或表达式是否正确;

这种错误需要根据题意来分析,分析返回变量或表达式的值和类型。

4、 赋值语句

若错误行是赋值语句,则要看赋值是否正确,然后看赋值运算符是否写正确。 5、 定义语句

若错误行是定义语句,则要注意: 1)首先分析变量类型名是否写对; 2)然后分析给变量赋初值是否正确;

3)若以上均不是,则看是不是少定义了某个变量或少了花括号

本文来源:https://www.bwwdw.com/article/myd8.html

Top