二级c语言上机考试100套题库.pdf
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《二级c语言上机考试100套题库.pdf》由会员分享,可在线阅读,更多相关《二级c语言上机考试100套题库.pdf(267页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、说明:本题库共有1 0 0 套题目(每套题目包含3 道题:道程序填空题、道程序修改题、一道程序设计题),真实考试的时候,考生输入准考证后计算机随机为你抽取一套考试,每个考生考试时只需考一套题目(包含三道题),但由于考试时是随机抽题,所以即使把原题库告诉大家,你也不能知道到时计算机会给你抽取哪套题,所以大家只有把全部题库都理解才能万无一失)考生可以将考题的关键字眼发给场外同学,场外同学可以利用编辑查找找到考题,然后用手机编辑答案发给考生,/*E 考通教育 f e ng c a i h a ng b a n 1 2 6.c o m*/二级C 语言上机试题汇编第0 1 套:给定程序中,函数f un的
2、功能是:将形参n所指变量中,各位上为偶数的数去除,剩余的数按原来从高位到低位的顺序组成个新的数,并通过形参指针n传回所指变量。例如,输入一个数:2 7 6 3 8 4 9 6,新的数:为7 3 9。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的B L A N K 1.C 中。不得增行或删行,也不得更改程序的结构!给定源程序:tti nc lud e vo i d f un(unsi g ne d lo ng *n)(unsi g ne d lo ng x=0,i;i nt t;i=l;wh i le(*n)/*f o und*/t=*n%
3、_ 1 _;对1 0 进行取模运算,得到个位数字/*f o und*/i f(t%2!=_ 2 _)判断个位是否为偶数 x=x+t*i;i=i*1 0;/提取还原*n=*n/1 0;将原数缩小1 0 整十倍/*f o und*/*n=_ 3 ;将值传递给n的地址ma i n()(unsi g ne d lo ng n=-l;wh i le(n 9 9 9 9 9 9 9 9|n 0)p ri ntf(P l e a s e i n p u t(0 n 10 0 0 0 0 0 0 0):);sc anf&n);f u n(&n);p ri n t f(n Th e re s u l t i s
4、:%l d n”,n);解题思路:第一处:t 是通过取模的方式来得到*n 的个位数字,所以应填:10。第二处:判断是否是奇数,所以应填:0.第三处:最后通形参n 来返回新数x,所以应填:X。给定程序M O D I 1.C 中函数f u n 的功能是:计算n!。例如,给n 输入5,则输出12 0.0 0 0 0 0 0。请改正程序中的错误,使程序能输出正确的结果。注意:不要改动m a i n 函数,不得增行或删行,也不得更改程序的结构!给定源程序:#i n cl u d e d o u b l e f u n (i n t n )d o u b l e re s u l t =1.0 ;/*f
5、o u n d*/i f n =0 括号漏掉re t u rn 1.0 ;w h i l e(n 1&n 17 0 )/*f o u n d*/re s u l t *=n 分号漏掉re t u rn re s u l t ;)m a i n ()i n t n ;p ri n t f (z zI n p u t N:);s ca n f(%d ,&n);p ri n t f(z z n n%d!二 l f n n ,n,f u n(n);)解题思路:第一处:条件语句书写格式错误,应改为:i f (n=0)o第二处:语句后缺少分号。请编写一个函数f u n,它的功能是:将一个数字字符串转换为一
6、个整数(不得调用C 语言提供的将字符串转换为整数的函数)。例如,若输入字符串-12 3 4 ,则函数把它转换为整数值-12 3 4 o 函数f u n 中给出的语句仅供参考。注意:部分源程序存在文件PR0 G 1.C 文件中。请勿改动主函数m a i n 和其它函数中的任何内容,仅在函数f u n 的花括号中填入你编写的若干语句。给定源程序:#i n cl u d e#i n cl u d e l o n g f u n (ch a r*p)(/*以下代码仅供参考*/i n t i,l e n,t;/*l e n 为串长,t 为正负标识*/l o n g x=0;l e n=s t rl e
7、n(p);i f (p 0 =,-)t=-l;l e n;p+;字符串长度减少位;P+指针位置后移位e l s e t=l;/*以下完成数字字符串转换为一个数字*/f o r(i=0;i.l e n;i+)x=x*l 0-4 8+p i ;re t u rn x*t;/w h i l e(*p)x =x*10-4 8+(*p+);4 8 米的诡异)m a i n()/*主函数*/ch a r s 6 ;l o n g n;p ri n t f (E n t e r a s t ri n g:nz/);g e t s(s);n =f u n(s);pr intfn);N O N O ();)N
8、O N O ()/*本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。*/F I L E *f p,*w f ;i n t i ;ch a r s 2 0 ;l o n g n ;f p 二 f o p e n(c:t e s t i n.d a t ,r);w f =f o p e n(c:t e s t o u t.d a t ,w);f o r(i =0 ;i 10 ;i+)f s ca n f (f p,%s”,s);n =f u n(s);f p ri n t f (w f,,/%l d n/z,n);)f cl o s e(f p);f cl o s e(w f);)解题
9、思路:本题是将一个数字字符串转换为一个整数。参考答案:#i n cl u d e i n cl u d e l o n g f u n (ch a r*p)(/*以下代码仅供参考*/i n t i,l e n,t;/*l e n 为串长,t 为正负标识*/l o n g x=0;l e n=s t rl e n(p);i f(p 0 =)t=-l;l e n-;p+;e l s e t=l;/*以下完成数字字符串转换为一个数字*/w h i l e(*p)x =x*10-4 8+(*p+);re t u rn x*t;m a i n()/*主函数*/ch a r s 6 ;l o n g n;
10、p ri n t f C E n t e r a s t ri n g:n/z);g e t s(s);n =f u n(s);p ri n t f (z z%l d n/z,n);N O N O ();)N O N O ()/*本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。*/F I L E *f p,*wf ;i n t i ;ch a r s 2 0 ;l o n g n ;f p =f o p e n(c:t e s t i n.d a t ,r);w f 二 f o p e n(c:t e s t o u t.d a t ,w);f o r(i =0 ;i 10 ;i+
11、)f s ca n f (f p,%s ,s);n =f u n(s);f p ri n t f(w f,n);)f cl o s e(f p);f cl o s e(w f);)注意:由于N O N O()这个函数是改卷人用的,与考生没有什么关系,故下面从第2 套试题开始均省略N O N O()第0 2 套:给定程序中,函数f u n 的功能是将形参给定的字符串、整数、浮点数写到文本文件中,再用字符方式从此文本文件中逐个读入并显示在终端屏幕上。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BL AN K 1.C中。不得增行或删行,也不得
12、更改程序的结构!给定源程序:ttin clude vo id fun (char *s,in t a,do uble f)(/*fo un d*/_ 1 fp;/F I L E *定义文件类型指针char ch;fp =fo p en(filei.tx t,w);/指向文件,参数w是写入fp r in tf(fp,%s%d s,a,f);fclo se(fp);fp =fo p en(/zfilel.tx tz,,r );p r in tf(/zn The r esult:n n );ch=fgetc(fp);调用读取函数fgetc,每次只读取,个字符/*fo un d*/while(!feo
13、 f(_2 _)fp 判断其是否已经结束!/*fo un d*/p utchar (一3);ch=fgetc(fp);/ch,输出字符p utchar C n );fclo se(fp);)main()char a1 0=H ello!”;in t b=1 2 3 4 5;do uble c=9 8.7 6;fun (a,b,c);)解题思路:本题是考察先把给定的数据写入到文本文件中,再从该文件读出并显示在屏幕上。第一处;定义文本文件类型变量,所以应填:F I L E *。第二处:判断文件是否结束,所以应填:fp。第三处:显示读出的字符,所以应填:Cho给定程序M OD .C中函数fun 的功
14、能是:依次取出字符串中所有数字字符,形成新的字符串,并取代原字符串。请改正函数fun 中指定部位的错误,使它能得出正确的结果。注意:不要改动main 函数,不得增行或删行,也不得更改程序的结构!给定源程序:ttin clude vo id fun(char *s)in t i,j;fo r(i=0,j=0;si!=0 ;i+)if(si=0&si=9 )/判断是否为数字/*fo un d*/sj=si;/sj+=si 重新进行改写字符串/*fo un d*/sj=O;单引号给字符串加入终止符main()char i tem8 0;p r in tf(,zn E n ter a str in g
15、:z,);gets(item);p r in tf(/zn n The str in g is:%s n ,item);fun (item);p r in tf(,zn n The str in g o f chan gin g is:*sn ,item);)解题思路:第一处:要求是取出原字符串中所有数字字符组成一个新的字符串,程序中是使用变量j来控制新字符串的位置,所以应改为:sj+=si;。第二处:置新字符串的结束符,所以应改为:sj=O;.请编写函数fun,函数的功能是:将M 行N 列的二维数组中的字符数据,按列的顺序依次放到一个字符串中。例如,.维数组中的数据为:W W W WS S
16、S SH H H H则字符串中的内容应是:WSH WSH WSH o注意:部分源程序在文件PROG 1.C中。请勿改动主函数main 和其它函数中的任何内容,仅在函数fun 的花括号中填入你编写的若干语句。给定源程序:#in clude ttdefin e M 3#defin e N 4vo id fun (char s N,char *b)(in t i,j,n=0;fo r(i=0;i N;i+)/*请填写相应语句完成其功能*/(fo r(j=0;j M;j+)bn+=aj i;连续赋值)bn=0 ;加入终止符)main()char a1 0 0,wj M N =W W W W,S S H
17、HHH ;in t i,j;p r in tf(The matr ix:n,z);fo r(i=0;iM;i+)fo r(j=0;j N;j+)p r in tf(%3 c,p r in tf(n );)fun (w,a);p r in tf C The A str in g:nw);p uts(a);p r in tf C W);N ON O O;解题思路:本题是把二维数组中的字符数据按列存放到一个字符串中。1 .计算存放到一维数组中的位置。2 .取出二维数组中的字符存放到一维数组(已计算出的位置)中。参考答案:vo id fun (char s N,char *b)(in t i,j,n=
18、0;fo r(i=0;i N;i+)/*请填写相应语句完成其功能*/(fo r(j =0 ;j M ;j+)bn =sj i;n=i*M+j+l;)bn=0 ;)第0 3套:程序通过定义学生结构体变量,存储了学生的学号、姓名和3门课的成绩。所有学生数据均以二进制方式输出到文件中。函数f u n的功能是重写形参f i le na me所指文件中最后一个学生的数据,即用新的学生数据覆盖该学生原来的数据,其它学生的数据不变。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BL AN K L C中。不得增行或删行,也不得更改程序的结构!给定源程序:
19、t t i nc lu d e#d e f i ne N 5t y pe d e f s t r u c t s t u d e nt long s no;c h a r na me 1 0 ;f loa t s c or e 3 ;S T U;v oi d f u n(c h a r *f i le na me,S T U n)F I L E *f p;/*f ou nd*/f p=f ope n(_1,r b+);/f i le na me/*f ou nd*/f s e e k(_ 2 _,-lL*s i ze of (S T U),S E E K _ E N D);/f p/*f ou
20、 nd*/f w r i t e (&n,s i ze of (S T U),1,_ 3 _);/f pf c los e(f p);)ma i nO S T U t N =1 0 0 0 1,M a C h a o,9 1,9 2,7 7,1 0 0 0 2,C a oK a i ,7 5,60,8 8),1 0 0 0 3,“L i S i,8 5,7 0,7 8,1 0 0 0 4,F a ng F a ng ,9 0,8 2,8 7),1 0 0 0 5,Z h a ng S a n,9 5,8 0,8 8;S T U n=1 0 0 0 6,Z h a oS i ,55,7 0,68
21、,s s N ;i nt i,j;F I L E *f p;f p=f ope n(s t u d e nt.d a t,w b );f w r i t e(t,s i ze of (S T U),N,f p);f c los e(f p);f p 二 f ope n(s t u d e nt.d a t,r b );f r e a d(s s,s i ze of (S T U),N,f p);f c los e(f p);pr i nt f (,z nT h e or i g i na l d a t a :n n);f or (j=0;j N;j+)pr i nt f(nN o:%ld N
22、 a me:%-8 s S c or e s:,s s j .s no,s s j .na me);f or (i=0;i 3;i+)pr i nt f (z/%6.2 f ”,s s j .s c or e i );pr i nt f(n);)f u n(s t u d e nt.d a t,n);pr i nt f (zz nT h e d a t a a f t e r mod i f i ng :n n);f p 二 f ope n(s t u d e nt.d a t,“r b);f r e a d(s s,s i ze of (S T U),N,f p);f c los e(f p
23、);f or (j=0;j N;j+)pr i nt f (,z nN o:%ld N a me:%-8 s S c or e s:,z,s s j .s no,s s j .na me);f or (i=0;i 3;i+)pr i nt f (/z%6.2 f ”,s s j .s c or e i );pr i nt f C n/Z);)解题思路:本题是考察如何从文件中读出数据,再把结构中的数据写入文件中。第一处:从指定的文件中读出数据,所以应填:f i le na me。第二处:读取文件f p的最后一条记录,所以应填:fPo第三处:再把读出的记录,写入文件f p指定的位置上,所以应填:f
24、 po给定程序M 0 D I L C中的函数C r e a t li nk的功能是创建带头结点的单向链表,并为各结点数据域赋0到m-1的值。请改正函数C r e a t li nk中指定部位的错误,使它能得出正确的结果。注意:不要改动ma i n函数,不得增行或删行,也不得更改程序的结构!给定源程序:i nc lu d e i nc lu d e t y pe d e f s t r u c t a a i nt d a t a;s t r u c t a a *ne x t;N O D E;N O D E *C r e a t li nk(i nt n,i nt m)N O D E *h=N
25、 U L L,*p,*s;i nt i;/*f ou nd*/p=(N O D E )ma lloc(s i ze of(N O D E);h=p;p-ne x t=N U L L;f or(i=l;i d a t a=r a nd()%m;s-ne x t=p-ne x t;p-ne x t=s;p=p-ne x t;/*f ot i nd*/r e t u r n p;)ou t 1 i nk(N O D E *h)N O D E *p;p=h-ne x t;Pr i nt f(*n nT H E L I S T :n n H E AD );w h i le(p)pr i nt f(*-%
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 二级 语言 上机 考试 100 题库
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内