二级C语言上机题库_南开100题.docx
![资源得分’ 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题.docx》由会员分享,可在线阅读,更多相关《二级C语言上机题库_南开100题.docx(203页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、说明:本题库是针对2008年4月份考试的上机考试题库,本题库共有100套题目(每套题I包含3道题:道程序填 空题、道程序修改题、道程序设计题),真实考试的时候,考生输入准考证后计算机随机为你抽取套考试,每个 考生考试时只需考套题目(包含三道题),但由于考试时是随机抽题,所以即使把原题库告诉大家,你也不能知道到 时计算机会给你抽取哪套题,所以大家只有把全部题库都理解才能万无一失)宏为世纪教育提供 网址:/*宏为世纪教育 */二级C语言上机试题汇编第01套:给定程序中,函数fun的功能是:将形参n所指变量中,各位上为偶数的数去除,剩余的数按原来从高位到低位的顺序组成个新的数,并通过形参指针n传回所
2、指变量。例如,输入个数:27638496,新的数:为739。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANKI.C中。不得增行或删行,也不得更改程序的结构!给定源程序:/include void fun(unsigned long *n) unsigned long x=0, i: int t:i=l:while(*n)/*Cund*/ t=*n % _1_;/* * *found* * */if(t%2!= _2_) x=x+t*i; i=i*10; n =*n/10;n=_3_;inain() unsigned long n=
3、-l;while(n99999999lln0) prin(f(Please input(Onl(XXXX)O(X):); scanf(M%ld,&n);) fun(&n);printf(nThe result is:解题思路: 第处:t是通过取模的方式来得到的个位数字,所以应填:10。第二处:判断是否是奇数,所以应填:0。第三处:最后通形参n来返回新数x,所以应填:X。给定程序MODI1.C中函数fun的功能是:计算n!.prin(f(Input N:);scanf(%d, &n);printf(nn%d! =%lfnn, n, fun(n);解题思路: 第一处:条件语句书写格式错误,应改为:
4、if(n=O).第二处:语句后缺少分号。请编写一个函数fun,它的功能是:将一个数字字符串转换为一个整数(不得 调用C语言提供的将字符串转换为整数的函数)。例如,若输入字符串”-1234”,则 函数把它转换为整数值-I234o函数fun中给出的语句仅供参考。注意:部分源程序存在文件PROG1.C文件中。请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。给定源程序:#include /include long fun ( char *p)(/*以下代码仅供参考*/int i, len, t; /* len为串长,t为正负标识/long x=0:len=s
5、trlcn(p):if(plOl=-) t=-l; len-: p-H-; else t=l;/*以卜.完成数字字符串转换为个数字*/return x*t;main() /主函数/ char s6;long n;printf( Enter a string:nM);gets(s);n = fun(s);primf(%ldn”,n);/*宏为世纪教育 */NONO ();)NONO()/*本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。*/FILE *fp, *wf;int i;char s20:long n ;fp = fopen(c:lestin.dai;,r);wf = fop
6、en( Mc :tcstout. dat,HwH);for(i = 0 ; i 0)sum += xi; C+;)i+: )/*!/*/*宏为世纪教育 */sum = c;return sum;main() int x 1000; int i=0;printf( nPlease enter some data (end with 0):do scanf(%d &xi);)while (xi+ != 0);脚枝(噌fn, fim ( x );蛤定程序中,函数fun的功能是将形参给定的字符串、整数.浮点数写到文本以棒用瞬再用字符方式从此文本文件中逐个读入并显示在终端屏幕上。籍襁序的卞嬲幽而楸伸内恸
7、J蜒戳礴罐雕解桶鸵岫则6 sum=0.0;或float 果lp=0.0:e,潮拓展再号生殳件夹下的BLANK1.C中。不簪培存鼓蒯符广范不椁重鼓葬岸苗葬将|*婚范糠蕤学中函数的功能是:根据以下公式计算s,计算结果作为函数值返林c田融期磊售入。void furl (char *s, Int a, double 01= + + + + /*4h2*su 枯鼻楠*”*/ I +2+3+n生蚣液n的值为II时,函数的值为:1.833333诺嘉品邨分源程序在文件PROGLC中。帮勿锦触楮黑双田讣却若它函数中的任何内容,仅在函数fun的花括号中填入鞫阿长照蝴An, s, a, f);fclose(fp):
8、 本题是考察先把给定的数据写入到文本文件中,再从该文件读出并显示在屏幕上。第处:定义文本文件类型变量,所以应填:FILE*o第二处:判断文件是否结束,所以应填:fp。第三处:显示读出的字符,所以应填:cho*给定程序MODI1.C中函数fun的功能是:依次取出字符串中所有数字字符,形成新的字符串,并取代原字符串。请改正函数fun中指定部位的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!给定源程序:#includc void fun(char *s) int i.j;for(i=0,j=0; si!=AO; i+)if(sU=U & s(i=9)/
9、* * * *found* * */sUMi;/* found* * */sj=,O;main()IDnnd*/油盛世辟里强i :用s(ilcm):喇犀明iThe string is : V%sn.itcm);fun(item);产iaUG猛阿也划NwngiQg is : V%sn”,item );=_2一;蝌燃肺:l+n!=I(r)n+:福崔场梁括火犀国窗)N所有数字字符组成一个新的字符串,程序中是使用变量j 海拓湖露岸制泊儡矗*访:耕应改为:箱+i径理犯争串的结束符,所以应改为:sUl=W;.* *,* *1=1+1;将编写函数fun.函数的功能是:招M行N列的二维数组中的字符数据.按列的
10、利序依次放到一个字符串中.糊取)二维数组中的数据为:演陷她:baacda, c;浦】那nThc string: %snM,s);prin(f(nlnput a character: ); scanf(u%c.&c);解题思路:本题是找出最高成绩,再把N名学生的成绩等于最高成绩的记录存入b所指的数组中。具体 操作请看答案程序中的说明。/*宏为世纪教育 */参考答案:int fun( STREC *a. STREC *b )int i. max = aO.s, n=0;for(i = 1; i N; i+)if(n)ax ai.s) max = ai.s; /* 找出最高成绩 */for(i =
11、0; i N: i+)if(max=ail,s) b|n+ = ai ;/找相等的最高成绩并存入数组b中*/return n; /*返回符合条件的人数/I第00套:给定程序中,函数fun的功能是:在形参s所指字符串中?找。参数c相同的字Ah AM:其后插入一个与之相同的字符,若找不到相同的字符则函数不做任何处 飒字符串中的内容应是:WSHWSHWSH.俾鼬断脚斛松伸忡切用晒字.符为:a,加分质动臃禄篆书拙两曲世掰跑I*的任何内容,仅在函数fun的花括号中填入 旅端尾桁驹下榔管处填入正确的内容并把下划线删除.使程序得出正确的结 界定源程序:沁容hd网怒刘E考生文件夹下的BLANK中。而得盘斩哮删
12、行,也不得更改程序的结构!能*濯湖和六n成唠性致期.忙W */void fun(char sN, char *b)宏为世纪教育 */int i,j,n=O;附邛群*精填相应语句完成其功能*/I int i. j, n;参考答案: void fun(char sN, char *b)/*宏为世纪教育 */int i,j.n=O;for(i=0;iN;i+)/*请填写相应语句完成其功能*/ for(j = 0 ;j AO:I 第03套:程序通过定义学生结构体变量,存储了学生的学号、姓名和3门课的成绩。所 有学生数据均以二进制方式输出到文件中。函数fun的功能是重写形参filename所 指文件中最
13、后一个学生的数据,即用新的学生数据覆盖该学生原来的数据,其它学 夕率原抑迹龈换。第2个条件是应该第I和第3个小,则交换就符合题意了,所以应改为: 涌鱼网布的下划线处填入正确的内容并把下划线删除.使程序得出正确的结 :( *堂胸衲解的例州谶稣荆龄名学生的数据已在主函数中放入结构体数组s中,请编写函数fun,它的功能是:把分数最高的学生数据放在b所指的数组中,注 ,分凝搔博仰0牵4能木佳兴不的用钱强同年笈高的学生的人数。轨崛相的序拒媚龈断幽V构!箱窈液甥星函数main和其它函数中的任何内容,仅在函数fun的花括号中填入 的蜘叫的例而,J。绍钳源用用:IWRE蚓能骷出桐 (Iftl/柳16 聊dm;
14、 f1 册 in戏 y(g(char * filename. STU n) int fun( STREC *a, STREC *b ) 第二处:使用f。!循环语句来交换数组元素的值,所以应填:i。第三处:使用中间变量t来交换的,所以应填:I。*给定程序M0DI1.C中函数ftm的功能是:把主函数中输入的3个数,最大的放在a中,最小的放在c中,中间的放在b中。例如,输入的数为:55 1234,输出结果应当是:a=55.0,b=34.0,c=12.0.请改正程序中的错误,使它能得出正确结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。给定源程序:#include void f
15、un(float *a.float *b.float *c)|/*仿und*/float *k;if( *a*c) k=*c; *c=*a; *a=k; if( *b*c )|柯隹部*; *c=k:)A *qund*/腆嗯pcn(_l_, ”rb+);榻於 und* */触型小飞法醺蛾维船族:榭啾.&c);/*佑un(j*/fwrite(&n, sizeof(STU), 1, _3_);梏k寨和,纪教育 /RliWiH匕=%4.1 f, b = %4.1 f. c = %4.l fnn,a.b,c);0001,MaChao, 91,92. 77, 10002.,CaoKai; 75. 60.
16、88).?例)8抄EiSi4:取见定M版盥胡酒“*谏),82, 87,| lOOOS:ZhangSan, 95, 80, 88);幽您股M)()06JZhaoSi”. 55, 70. 68), ssN;褊i.j纲L隹辨fun体中,k是一个浮点型变量,所以应改为:float k;e吊二舱区小解储达4b用1个条件是第I个比第2个小,则交换。第3个条件是第2个比第fwritc(t, sizeof(STU), N, fp);/*宏为世纪教育 */解题思路:本题是考察如何从文件中读出数据,再把结构中的数据写入文件中。第一处:从指定的文件中读出数据,所以应填:filename.第:处:读取文件fp的最后一
17、条记录,所以应填:fpo第三处:再把读出的记录,写入文件fp指定的位置上,所以应填:fpo给定程序MODII.C中的函数Crcallink的功能是创建带头结点的单向链衣,并 为各结点数据域赋0到ml的值。请改正函数Crcatlink中指定部位的错误,使它能得出正确的结果。注意:不要改动main函数.不得增行或删行,也不得更改程序的结构!给定源程序:/include #include typedef struct aa ini data;struct aa *next;娘9RE,8, 9、5、1、2. 3, 4.腑抑军的叩谢酬助映桃桶的内容并把下划线删除,使程序得出正确的结剌ODE ,h=NUL
18、L, *p, *s;W.:源程序存放在考生文件夹下的BLANKI.C中。伸啷招酬T。*把不符理甚短序的结构!帘金娜 河 alloc(sizeof(NODE);RffC-lude 标睢司卯ll;(湘福证而困jtiW n)| 闻(并产 *)malloc(sizeof(NODE);尸与仙传禧疑叫2%将抨中wxl;归行期的R测淤+1;)/*仙und*/,就啜处世纪教疔 / for (i=0: in/2; i+) 请编写个函数fun,它的功能是:将ss所指字符中中所有卜标为奇数位置上 的字母转换为大写(若该位置上不是字母,则不转换)。例如,若输入abc4EFg,则应输出aBc4EFg”。注意:部分源程序
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 二级 语言 上机 题库 南开 100
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内