二年级C语言程序填空题答题技巧
- 格式:docx
- 大小:119.13 KB
- 文档页数:7
程序填空题答题技巧程序填空题是计算机等级考试中的重点中度难点,占有的分值为30 分。
做填空题时注意掌握答题技巧。
填空题的分类:(一)、数学题目解题方法:量赋初值,如果以后用到的是加减运算,则赋初值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’;把大写字母转变为小写字母的格式:c h=c h+32 ;把小写字母转变为大写字母的格式为:ch=ch—32 ;3、区分好字符数组中的指针和指针所指的值的关系。
在循环语句中,当指针往后走一个位置的时候,用的是指针的自加,而不是指针所指的值的自加。
int * a4、掌握字符数组中的函数的使用的格式。
即:strlen(a)、strcmp(a,b)、strcpy(a,b) 、sizeof 、strcat 的使用格式.注意里面的格式中使用的都是指针。
5、字符数组结束时都有一个结束符:‘\0’;在字符数组中的题目中的结束后要加上一个结束符。
(三)、结构体题目结构体类型的题目1、看清题目的意思.2、定义结构体变量时的格式。
struct student *stu1 stu1-〉name3、结构体中成员的调用格式。
结构体中的成员分为多种类型,调用结构体重的成员,使用的是“。
"或者是“—〉”运算符.得到结构体中学生分数,a-〉score[i]。
全国计算机二级C语言考试答题策略及技巧计算机二级C语言考试是广大计算机专业学生必须要应对的一项考试。
为了帮助大家更好地应对这个考试,本文将介绍一些答题策略和技巧,希望能为大家提供一些帮助。
以下是具体的内容:一、了解考试大纲和考试要点在准备考试之前,首先要详细了解考试大纲和考试要点。
考试大纲会明确列出考试的内容范围,而考试要点则会告诉我们在考试中需要重点关注的知识点和考点。
通过对这些内容的了解,我们可以以针对性的方式进行备考,提高考试效率。
二、刷题是关键在备考过程中,刷题是非常关键的一步。
通过解决大量的真题和模拟题,我们可以熟悉考试的题型和难度,掌握解题思路和方法,提高我们的答题水平。
此外,刷题还有助于我们发现自己的薄弱环节,并有针对性地进行复习和强化,从而更好地应对考试。
三、合理安排备考时间备考时间的合理安排对我们备考的效果起到至关重要的作用。
首先,我们要合理划分时间,进行系统而有条理的学习。
其次,要根据自己的实际情况,合理安排每天的学习时间,保证高效率地进行学习和复习。
此外,还要留出一定的时间进行模拟考试和自我检测,检验自己的学习成果。
四、注重基础知识的掌握在备考过程中,要注重对C语言基础知识的掌握。
这些基础知识是我们应对考试的基础,也是我们进行进一步学习和解题的前提。
例如,掌握C语言的语法规则、常用的数据类型和相关操作,以及常见的控制语句和函数等。
通过对这些基础知识的深入理解和掌握,我们可以更好地应对考试中的各类题目。
五、注意细节和常见错误在解答题目的过程中,我们要注意细节和常见错误。
在C语言中,一些小错误常常会导致程序的错误或逻辑的混乱,从而影响整体的解题效果。
因此,在解答题目时,我们要仔细审题,注意细节,并且避免一些常见的错误。
例如,注意变量的命名规范、数组的越界问题、指针的使用等等。
六、做好总结与复习在备考的最后阶段,我们要对之前的学习进行总结和复习。
通过总结,我们可以对所学知识进行整合和梳理,形成系统而完整的知识框架。
c语言填空题必背概念及答案.docC语言最重要的知识点总体上必须清楚的:1)程序结构是三种:顺序结构、选择结构(分支结构)、循环结构。
2)读程序都要从main()入口, 然后从最上面顺序往下读(碰到循环做循环,碰到选择做选择),有且只有一个main函数。
3)计算机的数据在电脑中保存是以二进制的形式。
数据存放的位置就是他的地址。
4)bit是位是指为0或者1。
byte 是指字节, 一个字节 = 八个位。
概念常考到的:1、编译预处理不是C语言的一部分,不占运行时间,不要加分号。
C语言编译的程序称为源程序,它以ASCII数值存放在文本文件中。
2、#define PI3、1415926; 这个写法是错误的,一定不能出现分号。
define a 1+2 define a (1+2)a=aa=1+21+2=5 a=aa=33=93、每个C语言程序中main函数是有且只有一个。
4、在函数中不可以再定义函数。
5、算法:可以没有输入,但是一定要有输出。
6、break可用于循环结构和witch语句。
7、逗号运算符的级别最低,赋值的级别倒数第二、第一章C语言的基础知识第一节、对C语言的基础认识1、C语言编写的程序称为源程序,又称为编译单位。
2、C语言书写格式是自由的,每行可以写多个语句,可以写多行。
3、一个C语言程序有且只有一个main函数,是程序运行的起点。
第二节、熟悉vc++1、VC是软件,用来运行写的C语言程序。
2、每个C语言程序写完后,都是先编译,后链接,最后运行。
(。
c-à。
obj-à。
ee)这个过程中注意。
c和。
obj文件时无法运行的,只有。
ee文件才可以运行。
(常考!)第三节、标识符1、标识符(必考内容):合法的要求是由字母,数字,下划线组成。
有其它元素就错了。
并且第一个必须为字母或则是下划线。
第一个为数字就错了2、标识符分为关键字、预定义标识符、用户标识符。
关键字:不可以作为用户标识符号。
一、程序填空题下列给定程序中,函数fun 的功能是:计算N×N 矩阵的主对角线元素和反向对角线元素之和,并作为函数值返回。
要求先累加主对角线元素中的值,再累加反向对角线元素中的值。
例如,若N =3,有下列矩阵:1 2 34 5 67 8 9首先累加1、5、9,然后累加3、5、7,函数返回值为30。
请在下画线处填入正确的内容并将下画线删除,使程序得出正确的结果。
注意:部分源程序在文件BLANK1.C 中。
不得增行或删行,也不得更改程序的结构!【参考答案】(1) sum =0 (2) t[i][i] (3) 1【考点分析】本题考查:变量初始化;N×N 矩阵对角线下标如何表示;累加操作。
【解题思路】填空1:变量sum 用来储存"和"结果,所以将其初始化为0。
填空2:从题目中我们可以了解到,主对角线元素的行和列下标是相同的,所以应填入t[i][i]。
填空3:对于反向对角线元素的行和列的下标,它们的关系是相加和为n -1,所以应填入1。
二、程序改错题下列给定程序中函数fun 和funx 的功能是:用二分法求方程3224360x x x -+-=的一个根,并要求绝对误差不超过0.001。
例如,若给m 输入-100,n 输入90,则函数求得的一个根为2.000。
请改正程序中的错误,使它能得出正确的结果。
注意:部分源程序在文件MODI1.C 中,不得增行或删行,也不得更改程序的结构。
【参考答案】(1)double r ;(2)while (fabs(n -m) >0.001)【考点分析】本题考查:变量数据类型;while 循环语句。
【解题思路】(1)程序中我们会发现r =(m +n)/2,而m 和n 都是double 型的,并且根据题意可知,变量r 需要定义为double 型。
(2)绝对误差不超过0.001,所以循环条件应为fabs(n -m)>0.001。
上机考试注意事项1.上机考试试题分析与解题方法二级C上机考试由程序填空题、程序改错题和程序设计题组成,不同的题目解题方法也不一样,具体分析如下:(1)程序填空题:该题目一般为两个空,考生应该首先将程序中的下划线删除,然后将程序编译一次(不是运行,编译的快捷键ctrl+F7),如果没有错,那么就可以填空了。
填空内容一般为分支结构或循环结构里面的条件、函数调用、函数的返回值、scanf函数的地址项列表、break和continue语句等。
(2)程序改错题:程序改错题就是修改程序中的错误,使得程序能够完成题目中的要求。
考生需要注意的是程序的错误有两类,一类称为编译或者语法错误,这类错误只要考生掌握一些常见的编译错误,就能迎刃而解了。
常见的编译错误见附录1;另一类错误称之为逻辑错误,这类错误是比较隐蔽的,需要多加练习才能熟悉的。
针对二级考试,常见的逻辑错误有:①存储结果值的变量未初始化或者初始化错误,比如和变量s为float 类型,初始化确为s=1,恰好在程序的后续部分有s/n这样的表达式(其中n为int类型),那么计算结果必然有错误;②死循环,如果程序中有循环,一定要注意对循环条件的检查。
(3)程序设计题:该题目一般是让大家编制一个子函数,这个子函数完成题目的要求的功能。
该题目是较难的一道题,大家首先应该弄清楚这个子函数应该完成的功能,然后可以用笔进行分析,抓住完成该功能的关键,最后编写程序,程序编写完之后,需要做验证,如果源程序中有验证的部分,只要按照题目要求的数据进行输入,检查结果与题目中的结果是否保持一致即可;如果没有,首先在main函数中找到调用该函数的语句,然后在他后面将结果进行输出进行验证(注意:因为题目中没有验证的数据,所以需要大家自己根据子函数功能设计数据)或者直接在子函数中输出。
填空题的特点和注意事项1.填写参数时注意主调函数与被调函数类型一致。
数组名作形参可以不指定大小。
2.根据题目意思,再从函数中找出对应的变量填写表达式。
3.可以根据上下文的函数形式找出相应填写内容。
改错题的特点和注意事项1.求分数和的时候请注意整除问题。
如2-22.循环的初值、条件、和终值问题。
如3-23.注意关键词:如NULL与Null的区;“\0”与’\0’的区别,如8-2。
4.大小写问题:For与for,Int与int。
5.形态相似字符:小写字符l与数字1的区别,字符o与数字0的区别。
6.符号问题:(1)“\”与“/”的区别;2)“=”与“==”的区别7.加漏符号(*或;)问题:注意比较值时,指针(位置)与指针值(内容)的问题。
9. 注意理解题意,10.参数或变量类型不一致的问题,参数及函数名前面的类型一般不可以省。
如指针与普通变量。
11. 两个数相互交换应该借助临时变量来实现,而不能直接赋值。
如x与y互换,借助t,则:t=x; x=y; y=t;12.带参宏定义的时候展开的时候有括号就有括号,没括号不要画蛇添足。
反过来,如果展开的时候必需要有括号,那个在定义的时候请加上括号。
IF语句的条件加括号。
变量有没有定义及赋初值。
14.如s为指针变量,请注意s与*s的区别及用法。
15. C语言的结束标志为封号(;),写在同一行上的一段代码,如果是尾于不同的语句应用封号隔开。
如int a, b, float c; 应改为:int a, b; float c;16.是否漏写了C语言的结束标志为封号(;),是否多写C语言的结束标志为封号(;),编程题的基本算法(兼顾填空改错题)1.求和问题。
(1)(循环控制变量)计数器的范围。
(2)和变量的初值一般为0。
(3)如是分数求和,请注意整除问题。
(4)如是编程题,在确保前三个条件的情况下,按编程的思路,一步步完善。
2. 求乘积问题。
(1)积变量的初值一般为1。
(2)乘积表达式作分母的时候,是一个整体,请加括号。
计算机二级c语言操作题做题技巧一、选择题做题技巧1. 仔细阅读题干,注意题干中的关键词。
2. 理解选项,排除明显错误的选项。
3. 对于不确定的选项,可采用排除法,逐步缩小范围。
4. 利用C语言的基础知识,对选项进行逻辑推理。
二、填空题做题技巧1. 仔细阅读题目要求,明确填空内容。
2. 根据题目所给的代码片段,分析上下文关系。
3. 根据C语言的语法规则,填写合适的语句或表达式。
4. 检查填空后代码的逻辑性和语法正确性。
三、编程题做题技巧1. 理解题目要求,明确编程目的和功能。
2. 仔细分析题目给出的示例输入输出,理解题目的逻辑。
3. 设计算法,将问题分解为小的步骤。
4. 编写代码,注意代码的可读性和逻辑性。
5. 运行测试,检查代码的正确性和完整性。
6. 考虑边界条件和异常情况,确保程序的健壮性。
四、调试题做题技巧1. 阅读题目,了解需要调试的代码段。
2. 运行代码,观察程序的运行结果。
3. 根据题目要求,分析程序中的错误。
4. 利用调试工具,逐步跟踪程序的执行过程。
5. 修改错误,确保程序能够正确运行并满足题目要求。
五、综合应用题做题技巧1. 综合运用选择题、填空题、编程题和调试题的技巧。
2. 分析题目的综合性要求,合理分配解题时间。
3. 注意题目中的细节要求,避免因小失大。
4. 综合运用C语言的知识和技能,解决实际问题。
六、注意事项1. 保持冷静,合理安排考试时间。
2. 仔细审题,避免因粗心大意而失分。
3. 遇到难题不要慌张,先做自己熟悉的题目。
4. 检查答案,确保没有遗漏或错误。
5. 考试结束后,及时复习总结,为下一次考试做好准备。
三、程序填空题导读:在程序填空题中,已经给出了程序的主干,读者首先要理解程序的思路,再选择正确的内容填入空白处,使程序完成既定的功能。
这类习题的设计就是要引导读者逐步掌握编程的方法。
本节习题的难度适中,可能有些典型的程序在课堂上已经有所接触,读者一定要独立完成它,这样就可以逐步提高自己的编程能力。
在程序设计语言学习的中期,读者对程序设计已经有了初步的了解,而自己编写程序又不知从何处入手,此时解答此类题目可以避免盲目性,从而提高学习的效率。
【3.1】下面程序的功能是不用第三个变量,实现两个数的对调操作。
#include <stdio.h>main(){ int a,b;scanf("%d%d",&a,&b);printf("a=%d,b=%d\n",a,b);a= ①;b= ②;a= ③;printf("a=%d,b=%d\n",a,b);}页脚内容1【3.2】下面程序的功能是根据近似公式:π2/6≈ 1/12+1/22+1/32+ …… +1/n2,求π值。
#include <math.h>double pi(long n){ double s=0.0;long i;for(i=1;i<=n;i++)s=s+ ①;return( ② );}【3.3】下面的程序的功能是求一维数组中的最小元素。
findmin(int *s,int t,int *k){ int p;for(p=0,*k=p;p<t;p++)if(s[p]<s[*k])页脚内容2①;}main(){ int a[10],i,*k=&i;for(i=0;i<10;i++)scanf("%d",&a[i]);findmin(a,10,k);printf("%d,%d\n",*k,a[*k]);}【3.4】下面程序的功能是计算1-3+5-7+ …… -99+101的值。
对2级C语言题型分析和解题技巧1.笔试试卷分析笔试试卷由选择题和填空题组成。
选择题和填空题通常对基础知识和基础操作进行考察, 它关键是测试我们对相关概念掌握是否全面、了解是否对的、思绪是否清楚。
(1)选择题分析选择题为单选题, 是客观题, 每道题分值为2分, 试题覆盖面广, 通常情况下我们不也许做到对每个题目所有有把握答对。
考试时就需要我们学会放弃, 对于不拟定题目不要在上面花费太多时间, 先记住, 然后作答其它题目。
等最终有空余时间再回过头来仔细考虑这些题目。
二级C语言笔试题目众多, 分值分散, 我们一定要有全局观, 合理地安排考试时间。
选择题通常分为: 正面试题和反面试题。
设问是对的见解题称为正面试题, 绝大多数选择题为正面试题;设问是是错误见解题称为反面试题。
我们在解答选择题时可以以下多个答题方法来答题, 这么可以提高答题速度和对的率。
①顺选法: 假如对题中4个选项, 一看就能肯定其中1个是对的, 就可以直接得出答案。
对于部分比较容易看出对的选项题, 可以使用排除错误选项。
②排除法:排除法是将错误答案一一排除方法。
对题中4个选项逐个去掉错误选项。
对于部分比较容易看犯错误选项题, 可以使用排除错误选项。
③比较法:这种措施是没有措施措施, 假如有些题实在是没有把握, 那么就只有比较四个选项中那个更靠近题目规定了(这也称之为“蒙猜法”)。
(2)填空题分析填空填通常难度所有比较大, 通常需要我们对的地填入字符, 往往需要很对的, 错一个字也不得分。
在分值方面, 每题也是2分。
在作答填空题时要注意以几点:①答案要写得简练明了, 尽也许使用专业术语。
②认真填写答案, 笔迹要工整、清楚, 格式要规范、对的, 在把答案往答题卡上填写后尽也许不要涂改。
③注意, 在答题卡上填写答案时, 一定要注意题目的序号, 不要弄错位置。
④对于有两种答案情况, 只需填一个即可, 多填并不多给分。
2.上机试题分析一个C语言源程序总是在一定硬件和软件环境支持下进行编辑、编译、连接和运营, 而这其中每一步所有直接影响程序调试效率。
程序填空技巧
程序填空是程序设计中经常使用的一种技巧,它是指在给定的程序代码中,将一些关键的部分留空,需要我们根据需求填写相应的代码,从而得到正确的结果。
程序填空技巧的主要应用场景是在编写算法或者解决问题时,需要通过编程实现一些具体的功能。
在这个过程中,程序填空可以帮助我们快速地完成代码,提高编程效率。
下面是一些常见的程序填空技巧:
1. 使用注释:在程序中使用注释,标明填空的位置和需要填写的内容,这样可以方便我们在填空时快速找到需要填写的位置。
2. 利用代码提示:在编写代码时,编辑器会根据我们输入的代码自动提示可能的选项,这时我们可以从提示中选择合适的代码,填写到空白部分中。
3. 使用变量名:在程序中定义一些变量名,可以方便我们填写代码。
例如,我们可以在程序中定义一个变量名为“result”,然后在程序的空白部分中填写“result=1+2”,从而得到正确的结果。
4. 使用函数:在编写程序时,我们可以定义一些常用的函数,并将
其放到程序中。
这样,在填写代码时,我们可以调用这些函数,从而减少代码的复杂度。
5. 使用循环语句:在需要进行重复操作时,我们可以使用循环语句,使代码更加简洁和易于调试。
在填空时,我们可以根据需求选择合适的循环语句,从而得到正确的结果。
总的来说,程序填空技巧可以帮助我们快速地编写出正确的程序,提高编程效率和可读性。
当我们遇到一些需要编写重复性代码的情况时,可以尝试使用程序填空技巧,以更加优雅和简洁的方式解决问题。
全国计算机等级考试题型复习资料一、程序填空题【解析】该类型主要考察学员对一个C程序的整体把握能力。
首先须通读整个源程序,了解程序的功能后试着边填空边调试,分析输出结果,以找到正确答案。
因此,不像程序修改题那么简单。
【程序填空题的特点和注意事项】(1)程序填空的试题中通常包含三个空需要填写。
(2)试题中用"******found******/"来提示在下一行或下二行注明填空的位置及编号,如___1___。
(3)程序填空考核对程序的整体把握,出题点可能是:for循环语句的初始化或条件判断、函数返回值、if语句的条件判断、链表中指针如何移动、文件操作相关函数的参数等。
(4)特别要注意的是:只能在填空的位置填写语句或表达式,不要增行或删行,不要改动程序行的顺序,更不要改动程序的结构。
【建议答题步骤】(1)首先仔细审题,了解试题的要求,看清题目给出的输入和输出例示,以便检验程序运行的结果是否正确。
(2)审视"/******found******/"所在函数,根据题义理解程序所采用的基本算法,做到心里有数。
(3)填好空后对测试程序进行检查是否有语法错误。
当编译提示有语法错时,可参考编译提示来查找并改正错误。
(4)当不再出现语法错时,执行程序,按照试题的示例给出的数据进行试算,若试算的结果与给出的输出结果相同时,该题就做对了;若试算的结果与给出的输出结果不同,就应进一步检查程序中的逻辑错误。
(5)修改完成,得到正确结果后,一定不要忘记把修改后的程序存盘。
二、程序修改题【解析】该类型主要考察学员对C程序部分结构或算法的分析和理解能力。
因此,对学员的知识把握能力要求不高,通常可以借助计算机帮我们改错(仅限语法错误)。
若非语法错误,则需对程序边调试边找错,分析输出结果,找出错误所在并改正。
【程序填空题的特点和注意事项】(1)改错的试题中通常包含两个(或三个)错误需要修改。
(2)试题中用"******found******/"来提示在下一行(或下面第二行)有错。
计算机二级c语言操作题技巧一、选择题1. 在C语言中,以下哪个关键字用于定义一个函数?A. intB. voidC. returnD. main2. 以下哪个选项是正确的C语言常量定义方式?A. const int MAX = 100;B. int const MAX = 100;C. const MAX = 100;D. static const int MAX = 100;3. 在C语言中,以下哪个选项是正确的数组初始化方式?A. int arr[] = {1, 2, 3};B. int arr[3] = {1, 2, 3};C. int arr[3] = 1, 2, 3;D. int arr[3] = {1, 2, 3}, arr2[3];4. 以下哪个选项是C语言中正确的字符串定义方式?A. char str[] = "Hello World";B. char str = "Hello World";C. string str = "Hello World";D. char str = {"Hello World"};5. 在C语言中,以下哪个选项是正确的循环结构?A. for(int i = 0; i < 10; i++)B. while(true)C. do-whileD. All of the above二、填空题6. 在C语言中,若要定义一个整型变量并初始化为10,应使用语句:_________。
7. 在C语言中,若要实现条件判断,可以使用_________语句。
8. C语言中,若要实现对数组元素的遍历,通常使用_________循环结构。
9. 在C语言中,若要输出一个整数,可以使用_________函数。
10. 在C语言中,若要实现函数的递归调用,需要在函数内部调用_________。
三、简答题11. 简述C语言中指针和引用的区别。
填空题分类总结填空题的特点和注意事项1.填写参数时注意主调函数与被调函数类型一致。
数组名作形参可以不指定大小。
2.根据题目意思,再从函数中找出对应的变量填写表达式3.可以根据上下文的函数形式找出相应填写内容。
填空题的分类(分为7类):一、数学题目解题方法:1.如果在函数中定义变量,但是没有定义成静态存储变量,即变量前面没有static,应给变量赋初值,如果以后用到的是加减运算,则赋初值为0或者是0.0;如果以后用到的是乘除运算,则赋初值为1或者是1.02.循环条件的填空,分析表达式的规律,看表达式中的最后一项的值是否到了第m项或者是第n项,如果到了第m或者第n项,则在循环中的第二个表达式中用到的是i<=m或者是i<=n;例:下列给定程序中,函数fun的功能是:计算如下公式前n项的和并作为函数值返回。
S=(1*3)/(2*2)+(3*5)/(4*4)+(2*n-1)*(2*n+1)/(2*n)^2例如,当形参n的值为10时,函数返回值为9.612558。
请在下划线处填入正确的内容并将下划线删除,使程序得出正确的结果。
不得增行或删行,也不得更改程序的结构!#include<stdio.h>double fun(int n){int i;double s,t;/**********found**********/s=__1__;/**********found**********/for(i=1;i<=__2__;i++){t=2.0*i;/**********found**********/s=s+(2.0*i-1)*(2.0*i+1)/__3__;}return s;}main(){int n=-1;while(n<0){printf("Please input(n>0):");scanf("%d",&n);}printf("\nThe result is:%f\n",fun(n));}【参考答案】(1)0.0(2)n(3)(t*t)3.循环条件中如果用的是while语句,则循环变量的初值应该在while的外面定义和赋初值,在循环语句中必须给变量自加或者是自减。
程序填空技巧
在编写程序时,我们经常会遇到需要填空的情况,这时候我们需要掌握一些程序填空技巧,以便更加高效地完成编程任务。
1. 理解题意
在填空之前,我们首先需要理解题意,明确需要填入的内容是什么。
如果我们没有理解题意,填入的内容可能会与题目要求不符,导致程序出错。
2. 查看提示
有些题目会给出一些提示,例如变量名、函数名等,我们可以根据这些提示来填空。
同时,我们也可以查看代码中已有的内容,以便更好地理解题目要求。
3. 使用注释
在填空时,我们可以使用注释来标记需要填入的内容,以便更好地区分已有的代码和需要填入的内容。
例如:
```
# TODO: 填入代码
```
这样可以让我们更加清晰地知道哪些地方需要填空。
4. 利用自动补全
在编写代码时,我们可以利用编辑器的自动补全功能,以便更快地填写代码。
例如,当我们输入一个变量名时,编辑器会自动提示可能的变量名,我们只需要选择正确的变量名即可。
5. 注意语法
在填空时,我们需要注意语法的正确性。
例如,如果需要填写一个函数,我们需要确保函数名、参数列表、返回值类型等都符合语法要求。
6. 测试代码
在填空完成后,我们需要测试代码,以确保程序的正确性。
我们可以输入一些测试数据,观察程序的输出是否符合预期。
如果程序出现错误,我们需要重新检查填空的内容,找出错误的地方并进行修正。
程序填空是编程中常见的任务,掌握一些填空技巧可以帮助我们更加高效地完成编程任务。
同时,我们也需要注意语法的正确性和程序的正确性,以确保程序能够正常运行。
程序填空题和程序修改题分类总结一、填空题字符串考试内容占30%,数学类型题占25%,结构体类型题占25%,数组内容占20%,文件内容占5%,有些既有文件又有结构体,如填空题第22题,有些既有字符串又有结构体,如填空题第2题。
填空题注意的事项:1、在每个/*found*/下有一空需要我们填写,标记如“__1__ ”。
2、把标记如“__1__ ”等去掉后填写正确内容。
3、不要改变程序其他任何地方,也不得增加或删除一行。
4、运行程序(自动提示保存程序),根据运行结果检验答案是否正确。
(一)、定义变量或类型名1、给定程序中,函数fun的功能是根据形参i的值返回某个函数的值。
当调用正确时, 程序输出:x1=5.000000,x2=3.000000,x1*x1+x1*x2=40.000000请在程序的下划线处填入正确的内容并把下划线删除, 使程序得出正确的结果。
注意:源程序存放在考生文件夹下的BLANK1.C中。
不得增行或删行,也不得更改程序的结构!#include <stdio.h>double f1(double x){ return x*x; }double f2(double x, double y){ return x*y; }/**********found**********/__1__ fun(int i, double x, double y){ if (i==1)/**********found**********/return __2__(x);else/**********found**********/return __3__(x, y);}main(){ double x1=5, x2=3, r;r = fun(1, x1, x2);r += fun(2, x1, x2);printf("\nx1=%f,x2=%f, x1*x1+x1*x2=%f\n\n",x1, x2, r);}其中第一空填写的就是函数返回值的类型名,根据return后面的表达式的值的类型就是函数返回值的类型,而return __2__(x);和return __3__(x, y);这样的表达形式只有在函数中存在,而我们定义的f1和f2函数在后面没有用到,不可能无缘无故的使用变量或函数,所以可以分析出这两空一定是填f1,f2函数,具体填哪个,根据他们的形式参数来确定,f1有一个形参,f2有两个形参,实际参数跟形式参数个数一致,类型一致,一一对应,所以第2空填写f1,第3空填写f2,第一空很明显填写double型。
C语言填空题的解法作者:徐建峰来源:《知识窗·教师版》2011年第11期摘要:当前网络均采用动态网页设计,要求学生必须具备扎实的编程功底才有可能开发出网站。
然而,有些学生却连一些简单的填空题都无从下手。
本文从笔者的教学实践出发,详细地剖析一道C语言填空题,并总结出C语言填空题的一般解法。
关键词:C语言解题技巧变量一般方法大多数学生都有学好C语言的愿望,但由于学习方法不对,最终事与愿违。
有没有一种方法能够将学生这种好学的愿望转变成学习动力,真正将知识转变成学生行万里路的智慧呢?笔者从自己的教学实践出发,以一道C语言填空题的解题方法为例,与广大同行共同进行探讨。
例:10个小孩围成一圈来分糖果,教师分发给每个小孩的糖果数依次为12、2、8、22、16、4、10、6、14、20,然后所有的小孩同时把自己的糖果分一半给右边的小孩,糖果数变为奇数的小孩向老师补要一块,问经过多少次调整后每个小孩的糖果数都一样,此时的糖果数为多少?请填空。
#includevoid main(){int i,k,f,y,b[10],a[10]={12,2,8,22,16,4,10,6,14,20};k=1;f=0;while(f!=1){ ①;for(i=0;i{ ②;b[i]=a[i];}for(i=0;i{y= ③;a[y]=a[y]+b[i];if(a[y]%2!=0) ④; }for(i=1;iif(a[0]!=a[i]){f=0;break;}k++;}printf(“k=%d,a[0]=%d”,k,a[0]);}C语言的填空题首先要从变量入手,弄懂变量的作用,然后通读整个程序,读懂程序的算法,接下来再结合一些技巧和经验来解答,问题就能迎刃而解了。
要读懂变量的作用,应该从变量的初值入手。
对于变量的初值,笔者做了一些总结,如某一变量的初值为0(假如s=0),那么变量s一般情况下可以用来求和、进行统计、状态变量、数组下标等。
,.导读:在程序填空题中,已经给出了程序的主干,读者首先要理解程序的思路,再选择正确的内容填入空白处,使程序完成既定的功能。
这类习题的设计就是要引导读者逐步掌握编程的方法。
本节习题的难度适中,可能有些典型的程序在课堂上已经有所接触,读者一定要独立完成它,这样就可以逐步提高自己的编程能力。
在程序设计语言学习的中期,读者对程序设计已经有了初步的了解,而自己编写程序又不知从何处入手,此时解答此类题目可以避免盲目性,从而提高学习的效率。
【3.1】下面程序的功能是不用第三个变量,实现两个数的对调操作。
#include <stdio.h>main(){ int a,b;scanf("%d%d",&a,&b);printf("a=%d,b=%d\n",a,b);a= ①;b= ②;a= ③;printf("a=%d,b=%d\n",a,b);}【3.2】下面程序的功能是根据近似公式:π2/6≈ 1/12+1/22+1/32+ …… +1/n2,求π值。
#include <math.h>double pi(long n){ double s=0.0;long i;for(i=1;i<=n;i++)s=s+ ①;return( ②);}【3.3】下面的程序的功能是求一维数组中的最小元素。
findmin(int *s,int t,int *k){ int p;for(p=0,*k=p;p<t;p++)if(s[p]<s[*k])①;} main(){ int a[10],i,*k=&i;for(i=0;i<10;i++)scanf("%d",&a[i]);findmin(a,10,k);printf("%d,%d\n",*k,a[*k]);}【3.4】下面程序的功能是计算1-3+5-7+ …… -99+101的值。
二级C语言上机考试答题策略与技巧.txt2机会靠自己争取,命运需自己把握,生活是自己的五线谱,威慑呢们不亲自演奏好它?本文由喵喵0807贡献doc文档可能在WAP端浏览体验不佳。
建议您优先选择TXT,或下载源文件到本机查看。
北京科技大学天津学院暑期计算机实践课程资料——二级 C 语言上机考试答题策略与技巧2006 年 7 月二级C语言上机考试答题策略与技巧二级 C 语言上机考试答题策略与技巧第一类题型:改错题策略与技巧1、改错题的答题规则做好改错题必须要首先明确一条规则“一定要让机器看得懂”。
因为现在的上机考试都是采用机器评分,比较呆板,所以没有让动的地方,坚决不要“轻举妄动”,我们需要特别注意的是,如何寻找错误。
2、错误的标志对于改错题,一般有 2 到 3 处错误,都在“/**************found**************/”的注释语句下方。
通常错误就在注释语句以下方的第一行,或者第一条语句(这条语句可能有很多行)。
3、修改方法修改的方法是,先分析清楚程序的思路。
然后由前向后修改。
由于程序中,语句间相互关联,所以,在按 ctrl+F9 编译程序时可能会出现很多出错误;其实,往往只需要修改一个错误后,就能消除其他错误。
4、修改原则 1) 2) 3) 4) 从大量试题看,改错题往往只需要修改很小的地方即可。
修改时不要打破原有的程序结构。
除非题目明确要求,否则不要增加或删除语句。
结合 F7,F8 调试工具改错,会事半功倍。
Page | 1二级C语言上机考答题策略与技巧5、错误分类序号 1 2 3 4 5 错误类型语句不完整变量类型有误字符串结束标志二维数组表示有误赋值有误原因句末缺少分号;句末缺少大括号} 没判断定义变量类型或赋值类型字符串结束标志应为’\0’,误写为“\0” A[i][j]误写成 A[i,j] 定义变量作用没弄清 If 语句中逻辑运算符有误 6 条件表达式有误If (表达式) 语句号表达式外缺少括1,34,37,45,84 22,41,86 2,15,28,47,83 12,30,31,40,48,68,85,91 27,64 5,7,46,66,72,100 1,3,6,12,15,17,21,40,41,50, 53, 55,58,70,75,78,83,84,93,100 9,51,77 25,38,45,67 8,13,16,19,22,23,24,28,30,33, 79,87,93,94 5,11,17,26,37,43,47,52,68,72, 95 2,4,7,11,13,14,19,24,26,30,31,32, 34,35,36,39,48,55,57,59,63,66,72, 74,77,80,81,83,88,91,92 15,21,25,36,42,53,54,56,673,4,10,16,18,20,29,35,37,44,58 ,59,60,61,64,67,69,71,75,87,92,97 6,14,40,42,43,48,73,96,(82) 39,47,49,56,60,61,76,80,88,96, 98,99,100 23,62 scanf 语句中忘记& 82,89 65,69,98,99,20,38 题号例: k++错误,应改为 k++; 例: int j=1; 错误,应改为double j=1.0; 例: s[j]=”\0”; 错误,应改为s[j]=’\0’; 例: printf(“%4d”,xx[i j]); 错误 , 应改为 printf(“%4d”,xx[i][j]); 例: 赋求和初值sum=1; 错误,应改为sum=0; 例: if(n=1) 错误,应改为if(n==1) 例: if((k%7=0)||(k%11=0)) 错误 , 应改为 if((k%7==0)||(k%11==0)) 例: if(i+1%5==0) 错误,应改为 if((i+1)%5==0) 例 :if(strcmp((pstr+i),(pstr+j))<0) 错误 , 应改为if(strcmp(*(pstr+i),*(pstr+j))<0) 例:for(i=0;j<3;j++)错误,应改为 for(j=0;j<3;j++) 例:for(j=0;j<n-1;j++); 错误,应改为 for(j=0;j<n-1;j++) 例 :while(x[i]==0) 单独看没什么错误 , 但由题意应改为 while(x[i]!=0) 例:s[j]=s[i]; 分析题意知错误,应改为 s[j++]=s[i]; 例:*aver=&ave; 错误,应改为*aver=ave; 例:int fun(char t[])错误,应改为 void fun(char t[]) 例: fun(int n); 错误,应改为 fun(int n) 例: void fun(char p)错误,应改为 void fun(char *p) 例: return (i); 错误,其实是 return (t); 例: return sum 错误, 应改为 return sum; 例 :*t=calloc(m,sizeof(STU)); 错误 , 应改为t=calloc(m,sizeof(STU)); 例: scanf(“%d”,a[i][j]); 错误, 应改为scanf(“%d”,&a[i][j]); 举例表达式中指针使用错误 for( 7 循环语句有误 while( 意 ) 表达式错误;要判断题意 ) 表达式错误;要判断题8 9 10 11 12 13 14计算表达式不正确指针运用有误函数定义有误返回值有误 calloc 函数使用有误scanf 语句使用有误其它没有分析清楚题意对到底是地址,还是值没分清楚返回值类型错误或定义函数时多加了分号;形参类型错误返回那个变量不清楚或 return();语句后忘记加分号;Page | 2级C语言上机考试答题策略与技巧第二类题型:填空题策略与技巧1、填空题型分类类型一、字符串处理序号 1 2 3 4 5 6 7 8 9 10 11 12 1 2 3 4 5 6 1 2 3 4 5 6 7 8 9 10 1 题目细分类型大小写转换排序字符查找及删除指定字符子字符串查找字符统计字符串逆置及回文数字字符转换为整型字符串移动字符串连接字符串比较大小字符串输入输出字符串替换求最大值、最小值和平均值把指定数组元素移动到其它数组中元素分段存放元素排序最大公约数、最小公倍数二维数组公式求值多项式求值素数问题方程求解矩阵问题数的按位分离及合并整除及奇偶判断整除阶乘排序结构体和链表题号 1,39,53、54、62 34,75 15,24,36,51、56、57、66、68、73,63 31,42 8,9,16,17,18,34 7,40,48, 21,29,30, 37,59、83、89 20 97 83、89 82 19,28,43 11,12,14,33,44,58 32 55、61、65、70、71、72、74、85、91 77 78、79、84、86、88、90 26,27,80、92 46,47,49,50 38,52、81、96 2,5,67 6,22,23, 3,4,13,64、69、94 25,35, 60 76、93 100 45,98二、数组处理三、数学问题四、结构体和链表五、文件处理六、实际应用1文件处理95、991 2标准输入输出函数的格式调用 3 个数求最大值10 41Page | 3二级C语言机考试答题策略与技巧第三类题型:编程题策略与技巧学习程序设计的目的就是为了编程,因此编程题是上机考试的重点,也是难点。
计算机二级C语言编程题得分小技巧这里给你介绍一种编程题的小技巧,只是这种技巧有一定的局限性,不是所有情况都适用,至于如何局限,待会儿你就知道了。
第一步,打开编程题,读懂题意题目意思为,1-m个字符移动到字符串最后,m+1个字符串移动到最前部,如ABCDEFGHIJK,若m为4,则运行程序后的结果为EFGHIJKABCD。
第二步,打开答题界面直接点击右上角运行按钮此时显示的是这时,注意到“运行”处的“验证”可以点击点击此处。
出现界面如下然后随便在键盘上输入几个字符或乱码,然后回车看到,就可以关闭该界面了。
注意到“in.dat”中的字符串和“out.dat”中的内容一样,无非是“in.dat”中,字符串前部多了数字,这些数字即为m值。
第四步,改数据在“out.dat”中,根据题目程序功能和“in.dat”中的m值更改数据,更改后的“out.dat”如下保存。
这时答题完成,“in.dat”和”out.dat”以及c++程序都可以关闭了,然后点击评分,注意:一、“in.dat”里的东西千万不能动。
二、一定要出现。
三、改完“out.dat”之后,所有的东西就可以关闭了,千万不要再运行程序了。
局限性:你应该也注意到了,编程题的评分标准就是看答案对不对,不管你程序如何,只要能得到答案,就是对的。
所以,这种方法只适用于可以改的题目,上例是一种,还有以下几种:如将奇数位改为大写“若输入“abc4efg”,运行程序后结果就是“aBc4eFg””(“a”为第0位)如删除字符串中的“*”,字符串内容为*******A*B*C****DEFG****,运行后结果为*******ABCDEFG****,如“将a、b中的两个正整数合并成以一个新的整数放在c中,合并方式为:将a中的十位和个位依次放在c中的百位和个位上,b中的十位和个位依次放在c中的十位和千位上,如当a=45,b=12,则调用改程序后,c=2415”等等一般这种题目占所有编程题目的20%,因而在抽题时,人品爆发,抽到这种题目,就可以轻轻松松做完,而且保证正确。
二年级C语言程序填空
题答题技巧
内部编号:(YUUT-TBBY-MMUT-URRUY-UOOY-DBUYI-0128)
程序填空题答题技巧
程序填空题是计算机等级考试中的重点中度难点,占有的分值为30 分。
做填空题时注意掌握答题技巧。
填空题的分类:
(一)、数学题目
解题方法:
1.量赋初值,如果这个量以后用到的是加减运算,则赋初值0或者为是0.0;如果以后用到的是乘除运算,则赋初值为1或者是1.0;
2.循环条件的填空,分析表达式的规律,看表达式中的最后一项的值是否到了第m项或者是第n项,如果到了第m或者第n项,则在循环中的第二个表达式中用到的是i<=m或者是i<=n;
3.循环条件中如果用的是while 语句,则循环变量的初值应该在while 的外面定义和赋初值,在循环语句中必须给变量自加或者是自减。
如果没有则一般填的是i++;
例子:int i=1;
while(i<5){}
(二)、字符串题目
1、循环的条件是判断该字符是否和结束符\0相等,如果相等,说明该字符串结束,否则说明没有结束,继续循环。
While(s[i]!=’\0’)
2、把一个数字字符转变成对应的数值的格式是:ch=’1’-‘0’;把大写字母转变为小写字母
的格式:c h=c h+32 ;把小写字母转变为大写字母的格式为:ch=ch-32 ;
3、区分好字符数组中的指针和指针所指的值的关系。
在循环语句中,当指针往后走一个位置的时候,用的是指针的自加,而不是指针所指的值的自加。
char ch[5]=”abcd” ;
char * p;
p=ch; p指向哪个字母?*p 代表什么?p指向下一个字母如何操作?p++还是(*p)++
4、掌握字符数组中的函数的使用的格式。
即:strlen(a)、strcmp(a,b)、strcpy(a,b) 、sizeof() 、strcat()的使用格式。
注意里面的格式中使用的都是指针或数组名。
5、字符数组结束时都有一个结束符:‘\0’;在字符数组中的题目中的结束后要加上一个结束符。
(三)、结构体题目
结构体类型的题目
1、看清题目的意思。
2、定义结构体变量时的格式。
struct student *stu1 stu1->name
struct student stu2
3、结构体中成员的调用格式。
结构体中的成员分为多种类型,调用结构体重的成员,使用的是“.”或者是“—>”运算符。
得到结构体中学生分数,a—
>score[i]。
4、如果返回的是结构体的话,函数的返回类型必须是结构体类型。
调用函数的格式中,调用的若是结构体数组,则只用写结构体数组名。
(四)、函数题目(重点)
函数题目 int * max() {return a; }
1、看函数的返回类型,函数的返回类型必须和return语句返回的表达式的类型一致。
2、函数的调用的情况,函数调用时只用写函数的名称,以及函数的实际参数。
如:题中的第二和第三空的内容就是调用函数,填写时只用填写函数的名称和参数,故填f1(x)和f2(x,y);
3、函数指针的调用格式,类型名(*f)();
4、函数参数传递时的调用的格式,如果函数传递的是二维数组,则在函数的传递过程中形式参数必须使用的是由m个元素组成一行的指针变量。
(五)、链表题目:
链表题目的步骤:
1、首先看清楚题目要求和意思。
看清楚链表有没有带头结点,如果带有头结点,第一空填的内容是p=h—>next ;如果是不带有头结点,则第一个空填写的是p=h;
2、如果第二个空是在循环语句while 的括号中的时候里面的内容填写的是p或者q, while(p),以最近出现的为主;如果是在循环体的里面的时候,填写的是q=p—>next ;
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 的使用格式。
注意里面的格式中使用的都是数组名和指针。