程序填空题答题技巧
程序填空题是计算机等级考试中的重点中度难点,占有的分值为30 分。做填
空题时注意掌握答题技巧。
填空题的分类:
(一)、数学题目
解题方法:
1.如果在函数中定义变量,但是没有定义成静态存储变量,即变量前面没有static ,应给变量赋初值,如果以后用到的是加减运算,则赋初值0或者为是
0.0;如果以后用到的是乘除运算,则赋初值为1或者是1.0;
2.循环条件的填空,分析表达式的规律,看表达式中的最后一项的值是否到了第m项或者是第n项,如果到了第m或者第n项,则在循环中的第二个表达式中用到的是i<=m或者是i<=n;
3.循环条件中如果用的是while 语句,则循环变量的初值应该在while 的外
面定义和赋初值,在循环语句中必须给变量自加或者是自减。如果没有则一般填的是i++; (二)、字符串题目
1、循环的条件是判断该字符是否和结束符\0相等,如果相等,说明该字符串
结束,否则说明没有结束,继续循环。While(s[i]!=’\0’)
2、把一个数字字符转变成对应的数值的格式是:ch=’1’-‘0’;把大写字母
转变为小写字母的格式:ch=ch+32 ;把小写字母转变为大写字母的格式为:ch=ch-32 ; 3、区分好字符数组中的指针和指针所指的值的关系。在循环语句中,当指针往后走一个位置的时候,用的是指针的自加,而不是指针所指的值的自加。 int * a 4、掌握字符数组中的函数的使用的格式。即:strlen(a)、strcmp(a,b)、
strcpy(a,b) 、sizeof 、strcat 的使用格式。注意里面的格式中使用的都是指针。
5、字符数组结束时都有一个结束符:‘\0’;在字符数组中的题目中的结束后要加上一个结束符。
(三)、结构体题目
结构体类型的题目
1、看清题目的意思。
2、定义结构体变量时的格式。 struct student *stu1 stu1->name
3、结构体中成员的调用格式。结构体中的成员分为多种类型,调用结构体的成员,使用的是“.”或者是“—>”运算符。
4、如果返回的是结构体的话,函数的返回类型必须是结构体类型。调用函数的格式中,调用的若是结构体数组,则只用写结构体数组名。
(四)、函数题目 (重点)
函数题目 return a; int * max()
1、看函数的返回类型,函数的返回类型必须和return语句返回的表达式的类型一致。
2、函数的调用的情况,函数调用时只用写函数的名称,以及函数的参数。如:题中的第二和第三空的内容就是调用函数,填写时只用填写函数的名称和参数,故填f1(x)和f2(x,y);
3、函数指针的调用格式,类型名(*f)();
4、函数参数的传递时的调用的格式,如果函数传递的是二维数组,则在函数的传递过程中形式参数必须使用的是由m个元素组成一行的指针变量。A[4][3] (五)、链表题目:
链表题目的步骤:
1、首先看清楚题目要求和意思。看清楚链表有没有带头结点,如果带有头结点,第一空填的内容是p=h—>next ;如果是不带有头结点,则第一个空填写的是
p=h; 2、如果第二个空是在循环语句while 的括号中的时候里面的内容填写的是p 或者是q,以最近出现的为主;如果是在循环体的里面的时候,填写的是q=p—
>next ; while(p) 3、如果是排序的时候,从小到大的时候是大于号,从大到小的时候是小于号。如果出现了r的地方,则在后面的空中填的是r。
(六)、文件类型的填空 (重点,绝对重点~~)
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值。
(七)、数组题目 (重点)
数组填空题在C语言考试中出现的频率很高,数组分为一维数组和二维数组。一维数组较二维数组来说简单一些。
一维数组中存在这样一些类型:
1、求一个数值数组中的所有值的平均值和把大于或者小于平均值的数放到另外一个数组中。在计算平均值时,首先定义一个变量来存放平均值,平均值一般用avg变量来代替,如果avg 已经定义但是没有赋初值,那么这个空填写的内容的为:avg =0;
2、求平均值时有两种方法,第一种是算出总的分数,最后再除以总的个数即可,如算1到6之间的数的平均值,首先算出1到6的和,其次用综合除以总的个数6,即可以得到平均值;第二种方法是用每一个数除以6再把所有的和加起来。即1/6+2/6+3/6+4/6+5/6+6/6;所以在执行的一维数组中算平均值时也是存在两种情况,如果在for 语句的后面有avg=avg /N;则第二个空一般的填写时
avg+=s[i];如果说没有avg=avg /N;则填写的是:avg +=s[i]/N; 3、在后面的一个空的填写的时候要注意变量的使用情况,如果变量使用了j和i,那么这一个空的填写的内容为:j++;
4、如果一维数组中求的是把大于或者是小于平均值的数移动到数组的首部的时候,这种题目的解答时这样的,第一个空一般填写的内容为:j++;第二个空填写的内容是-1;
5、对数组进行排序时:如果是从大到小的排序的时候,用的是小于符号,如果是从小到大排序时使用的是大于符号。
二维数组中的题目类型以及解决的技巧:
1、二维数组的题目,填空的时候一般是填在函数调用,函数在调用时候写的应该是二维数组的名字;在定义函数的时候使用的是函数的类型和由m个元素组成一行的指针变量,假设二维数组的名字是ss ,那么填写的内容是:(*ss )[M];如果调用的是普通变量则填写的内容为:int n;
2、二维数组遍历时,使用的是两个循环,使用的是循环的嵌套使用,第二个循环的使用的时候填写的内容为:j=0;(特殊的特殊处理)
3、交换两个变量的值的使用的格式为:t=a;a=b;b=t; t=*p; *p=*q; *q=t; 记住交换变量的格式和顺序。
4、如果二维数组是字符串的题目的时候,要记住字符串中函数的使用的格式;
指针调用成员函数
即:strlen、strcmp 、strcopy 、sizeof 、strcat 的使用格式。注意里面的格式中使用的都是和指针。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。