二级C语言考前复习资料(机试)(2)
;:如scanf“%d”(a[,]ij][ —)—s>anfc(%d“”&a[i,][]j i)n i,tp=*&i; scaf(“%d”,n&)p— —s>can(f%d”“p),; ntii=1 0; pinrf(t“f%”,i;)— ——>p—irtn(“f%”di); —— ,pinrf(“%t”,d“st inrg)” ;——p rnti(f%s“”,“ srtng”)i ——> ;型二:题 型二:题选择构结的中本基格问式题 功能是的 :3、给程定序M DIO1. 中函C f数un的功能 是用递:算法归计斐波算契拉数列 项值。的 项起斐,拉波数契列为:、 、 、、 、、 、 、 中第 n项 值的从第。 1项起 ,波拉契斐列数:1、为1、2、3、5、813、、21、……例 , 例如,如若给 n输 入7该,项的波斐契拉值为数1:。3改请正程中的错误序使,它 ,该的项波斐拉契数为: 。值请改程序中的正误,错 得能出正确果结 。能得出确结果正。 注意 :函,不数增行或得删,行不得更也程改的序构结序 结的。构 意:不要改动 m注in 函a,数得增不行删或,也行不更得程序的结构改。 #iclndu <sedito.> holgnf unint(g ) {/* *********fuond*********/*第8 页
sitcwh(g); c{as 0: erterun 0; */********f*unod**********/ csa 1e ca;se 2 re:utn 1r; }rtern(u unfg(-)1+fun(g-)2) ;} m in() {a olg fin; ibt n;np inrt(f"nput In: ") ;scna("%fd,&n";) rpntif"( n=% \nd,n);" fb=fiun(n) ;rpint("fibf= %\n\n"dfib), ;}参 考案】 答参【考答】 :案( )1wistchg)(2()caes1 : eturrn1 ; aces 2:ertru 1n; 解技题巧】 解题技【巧注意选】结择构的确语正格式,关注容法出错易地的,如下图方 确形式 正错形式 s误wtich) ({ca se 1语句:1; rbeak ;acs e:2 aces :语3句3; wisth() ; 分号c多余{ c sa 1e:句语1;b rae;kca se 2;; 此处该为应冒号 caes3语: 句 3acse与 常量达式之间
表型三题循:结环中的构基本式格题问题 型:循环三构结的基中格本问式 题的功是能 的值: ,、4定程序给 MDIO.C 1中数 fun 函的功能是根:整据型形参m 的值计算 如,公式的值。下如 下式的值。 公11 1t 1 - -=--- - ----- -- … … ----2*2- 33 *mm 例*,如 的值为: 中则,应出输 :例如若 m,中的值 为,则应5出输 .5360839。 。请 正程改序的错误中使它能得,正确出结的。 果请正程改序中错的,误它能使得出正确结的。果共 2 页
3
翻印必究
2、给定程序MODI1.C中函数 fun 的功能是:求S的值。 例如,当k为10时,函数值应为:1.533852。 请改正程序中的错误,使程序能输出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构! #include <stdio.h> #include <math.h>
/************found************/ void fun( int k )
{ int n; double s, w, p, q; n = 1; s = 1.0;
while ( n <= k ) { w = 2.0 * n; p = w - 1.0; q = w + 1.0; s = s * w *w/p/q;
n++; }
/************found************/ return s }
main ( ) {
printf("%f\n", fun (10)); }
【参考答案】
(1) float fun(int k)(2)3、给定程序MODI1.C: 字符串的首地址作为函数值返回。
请改正函数fun中指定部位的错误, 注意: 不要改动main函数, , 也不得更改程序的结构! #include <stdio.h>
char fun(char *s, char *t)
{ int sl=0,tl=0; ss=s; while(*ss) { { return t; else return s; main()
{ char a[80],b[80];
printf("\nEnter a string : "); gets(a);
printf("\nEnter a string again : "); gets(b); printf("\nThe longer is :\n\n\"%s\"\n",fun(a,b)); }
【参考答案】
(1) char *fun(char *s,char *t)(2)ss++;(3)tt++; 【解题技巧】函数头部容易出错的几个地方:
(1)int fun(int m);------>int fun(int m)函数定义时末尾的分号是多余的
(2)int fun(int m) int i=20;char ch;--->int fun(int m){ 函数名后必须要有大括号
(3)(4)(5)不能省略
(6)voidfun(int n)----->正确形式 当++、- -与*++、- -和**p++; 是指针p(*p)++; 是将指针p 题型二:返回值错误
4、下列给定程序中,E、I、O、U则输出应该是1、0、2、2、#include <conio.h> #include<stdio.h>
3)switch(*s) (
(1)有return语句,但缺少返回值类型,fun(int n)----->double fun(int n) 经常考
(2)缺少返回值。函数定义时有返回值类型,但程序中缺少return 语句 (3)返回值类型和函数定义时的类型不一致。
如调用函数时返回值为double类型,但定义时为int类型,int fun(int a){ }——>double fun(int a){ }
(4)返回值不对,如:return (a)----->return (b);
分类四:编译预处理、链表类错误
题型一:带参数的宏定义出错
1、给定程序MODI1.C中函数fun的功能是:计算函数F(x,y,z)=(x+y)/(x-y)+(z+y)/(z-y)的值。其中x和y的值不等,z和y的值不等。例如,当x的值为9、y的值为11、z的值为15时,函数值为 -3.50。 请改正程序中的错误,使它能得出正确结果。 #include <stdio.h> #include <math.h> #include <stdlib.h>
/************found************/ #define FU(m,n) (m/n) float fun(float a,float b,float c) { float value;
value=FU(a+b,a-b)+FU(c+b,c-b); /************found************/ Return(Value); }
main()
{ float x,y,z,sum;
printf("Input printf("x=%f,y=%f,z=%f\n",x,y,z);
sum=fun(x,y,z);
}
【参考答案】:
【解题技巧】 F(m,n) (m/n)——>#define F(m,n) 题型二:链表指针向后移动节点时出错
2, 并用随机函数为各(不包括头结点)数据域中,
, 使它能得出正确的结果。 aa { aa *next; NODE *h ) { int max=-1;NODE *p;
/***********found**********/ p=h ; while(p)
{ if(p->data>max )
max=p->data; /***********found**********/ p=h->next ; }
return max; }
outresult(int s, FILE *pf)
{ fprintf(pf,"\nThe max in link : %d\n",s);} NODE *creatlink(int n, int m) { NODE *h, *p, *s; int i;
【解题技巧】这时就容易出现改错题,p=p->nex,如上题中,应将 h=p=(NODE *)malloc(sizeof(NODE));h->data=9999; p=h->next应该改为 for(i=1; i<=n; i++)
{ s=(NODE *)malloc(sizeof(NODE)); s->data=rand()%m; s->next=p->next; p->next=s; p=p->next; }
p->next=NULL; return h; }
outlink(NODE *h, FILE *pf) { NODE *p; p=h->next;
fprintf(pf,"\nTHE LIST :\n\n HEAD "); while(p)
{ fprintf(pf,"->%d ",p->data); p=p->next; } fprintf(p …… 此处隐藏:3393字,全部文档内容请下载后查看。喜欢就下载吧 ……
相关推荐:
- [专业资料]《蜜蜂之家》教学反思
- [专业资料]过去分词作定语和表语1
- [专业资料]苏州工业园区住房公积金贷款申请表
- [专业资料]保安管理制度及处罚条例细则
- [专业资料]2018年中国工程咨询市场发展现状调研及
- [专业资料]2015年电大本科《学前教育科研方法》期
- [专业资料]数字信号处理实验 matlab版 离散傅里叶
- [专业资料]“十三五”重点项目-虎杖白藜芦醇及功
- [专业资料]2015-2020年中国竹木工艺市场需求及投
- [专业资料]国际贸易理论与实务作业五:理论案例分
- [专业资料]财政部修订发布事业单位会计制度
- [专业资料]BCA蛋白浓度测定试剂盒(增强型)
- [专业资料]工程进度总计划横道图模板(通用版)
- [专业资料]七年级地理同步练习(天气与气候)
- [专业资料]X光安检机介绍火灾自动报警系统的组成
- [专业资料]衢州市人民政府办公室关于印发衢州市区
- [专业资料]经济全球化及其影响[1]
- [专业资料]质粒DNA限制性酶切图谱分析
- [专业资料]国家安全人民防线工作“六项”制度
- [专业资料]劳动力投入计划及保证措施
- 电子账册联网监管培训手册
- 人教版语文七年级上第1课《在山的那边
- 对我区担保行业发展现状的思考与建议
- 平面四边形网格自动生成方法研究
- 2016年党课学习心得体会范文
- 如何设置电脑定时关机
- 全球最美人妖排行榜新鲜出炉
- 社会实践调查报告及问卷
- Visual Basic习题集
- 《鱼我所欲也》课件2
- 浙江省会计从业资格考试试卷
- 全遥控数字音量控制的D 类功率放大器资
- 鞍钢宪法与后福特主义
- 电表的改装与校准实验报告(1)
- 2014年高考理科数学真题解析分类汇编:
- Windows 7 AIK 的使用
- 风电场全场停电事故应急处置方案
- 化工原理选填题题库(下)
- 关于产学研合作教育模式的学习与思考
- 西安先锋公馆项目前期定位报告




