求2015二级c语言真题题,1242303926

求2013年3月份的计算机二级C语言上机考试题库,要真题50套哈,以及解说下9月份的上机题库_百度知道
求2013年3月份的计算机二级C语言上机考试题库,要真题50套哈,以及解说下9月份的上机题库
提问者采纳
提问者评价
其他类似问题
为您推荐:
计算机二级c语言的相关知识
其他1条回答
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁【真题1】 18 请补充函数fun(),该函数的功能是:把字符下标为非素数的字符从
字符串str 中删除,把字符下标为素数的字符重新保存在字符串str中。字符串str
从键盘输入,其长度作为参数传入函数fun()。 例如,输入&abcdefghijkl&,输出
&cdfhl&。 注意:部分源程序给出如下。 请勿改动主函数main 和其他函数中的任何
内容,仅在函数fun 的横线上填入所编写的若干表达式或语句。 试题程序:
#include & stdio.h &
#define N 80
void fun(char s[],int n)
int i, j, k,
for(i=0; i& i++)
s[k++]=s[i];
for(【2】; j& i&& j++)
if(i%j==0)
s[k]='\0';
int i=0,strlen=0;
char str[N];
printf(&\n Input a string:\n&);
gets(str);
while(str[i]!='\0')
fun(str, strlen);
printf(&\n*** display string ***\n&);
puts(str);
(2011年2月)
解析: 填空1:变量k声明时没有初始化,所以要在使用前初始化为0。填空
2:如果一个数能被除了1 和其自身之外的数整除,即余数为0,则这个数不是
素数。所以除数j从2 开始取数。填空3:如果当前字符的下标为非素数,则应
将此字符删除,所以变量k减1,使下一个字符覆盖它,达到删除的目的。
答案:【1】k=0 【2】j=2 【3】k--
【真题2】 给定程序modi.c 中,函数fun 的功能是:将一个由八进制数字组成的
字符串转换为与其面值相等的十进制整数。规定输入的字符串最多只能包含5 位8
进制数字。 例如,若输入77777,则输出将是32767。 请改正程序中的错误,使
它能得出正确结果。 注意:不要改动main 函数,
#include & stdio.h &
int fun(char *p)
/************found************/
n=*p-'o';
while (*p!=0)
/************found************/
n=n*7+*p-'o';
{char s[6];
printf(&Enter a string(0catal digits): &);gets(s);
if(strlen(s) &5){printf(&Error:String too
longer !\n\n&);exit(0);}
for (i=0;s[i];i++)
if(s[i]& '0'||s[i] &'7')
{printf(&Error:%c not is ocatal
digits!\n\n&,s[i]);exit(0);}
printf(&The original string:&);puts(s);
printf(&\n%s is convered to integer number:
%d\n\n&,s,n);
(2011年2月)
解析: 本题着重考察考生对C 语言中一些简单算法的掌握情况。
八进制转换成十进制的方法是:例如
^4+7*8^3+7*8^2+7*8^1+7*8^0
本题中的第一个错误:题中要求将一个由八进制数字字符组成的字符串转换为
等值的十进制数,思路应是:先将字符串中相应的字符减去字符0的ASCII
值,得出该字符的八进制数,然后乘以8 的次幂之和,即可求得该数的十进制
数,所以程序中语句&n=*p-'o';&应改为&n=*p-'0';&;
本题中的第二个错误与第一个错误相似,另外,八进制转换成十进制应乘以8
的次幂,所以应将程序中语句&n=n*7+*p-'o';&改为&n=n*8+*p-'0';&。
解决问题的方法是多种多样的,同一个问题的答案不止一个。
【真题3】 规定输入的字符串中只包含字母和*号。请编写函数fun,它的功能是:
将字符串中前面所有连续的*号全部移动到字符串的尾部。 例如,字符串中的内容
为:*******A*BC*DEF*G****,移动后,字符串中的内容应当是:
A*BC*DEF*G***********。在编写函数时,不得使用C 语言提供的字符串函
数。 注意:部分源程序存在文件prog.c 中。 请勿改动主函数main 和其他函数中
的任何内容,仅在函数fun 的花括号中填入你编写的若干语句。
#include & stdio.h &
#include & conio.h &
void fun(char *a)
{ char s[81],*p;
printf(&Enter a string:\n&);gets(s);
printf(&The string after moveing:\n&);puts(s);
(2011年2月)
解析: 本题的考核点是移动字符串中字符的算法。
解题思路:先统计原串串首连续*的个数,再将从第一个非*字符开始至串尾的
所有字符赋给一字符串,再通过一循环生成串首连续*的个数个*追加其后,最
后将新串覆盖原串。
本评析仅供参考。
void fun(char *a)
{ char b[81];
int i=0,j=0,s=0,k;
while (a[i]=='*') /*统计原串串首连续*的个数*/
{i++;s++;}
while (a[i]) /*将从第一个非*字符开始至串尾的所有字符赋给字符串b*/
{b[j]=a[i];j++;i++;}
for (k=0;k&k++) /*串首连续*的个数追加其在字符串b后*/
{b[j]='*';j++;}
b[j]='\0';
while (b[j]) /*将字符串b中的所有字符复制到a字符串中覆盖原串*/
{a[i]=b[j];i++;j++;}
微信公众号:
各位粉丝,大家好,我是C语言中文网的站长(可以了解我),C语言中文网已经开通了微信公众号,名字是「码农宿舍」(不是C语言中文网哦),我将在这里和大家交流编程知识以及工作经验。大家可以搜索名字「码农宿舍」关注,也可以用微信扫描右边的二维码关注。
当你决定关注「码农宿舍」,你已然超越了99%的程序员!
推荐文章 TOP10【真题1】 请补充函数fun(),该函数的功能是:把数给aa中元素下标为奇数的元
素按从大到小的顺序重新保存在原数组中,其它元素位置不变。
例如,输入&33,67,42,58,25,76,85,16,41,56&,则输出&33,76,
42,67,25,58,85,56,41,16&。
注意:部分源程序给出如下。
请勿改动主函数main 和其他函数中的任何内容,仅在函数fun()的横线上填入所编
写的若干表达式或语句。
试题程序:
#include & stdio.h &#define N 10
void fun(int aa[])
{ int i, j,
for (【1】; i& N; i=i+2)
for(j=i; j& N; j=j+2)
if(aa[i]& aa[j])
aa[j]=aa[i];
int aa[N]={33,67,42,58,25,76,85,16,
printf(&\n*** original list ***\n&);
for(i=0;i& N; i++)
printf (&%4d&,aa[i]);
printf(&\n*** new list ***\n&);
for(i=0;i& N;i++)
printf(&%4d&,aa[i]);
(2011年2月)
解析: 填空1:本题采用选择法进行排序。因为题目要求将下标为奇数的元素
进行排序,所以下标为0 的元素不用考虑,从下标为1 的元素开始。填空2:
借助第三个变量t交换两数。首先将aa[j]赋给t暂存。填空3:然后将aa[i]
赋给aa[j],此时aa[j]中的数已经发生变化,而t中暂存了aa[j]原来的值,
所以最后将t赋给aa[i]。
答案:【1】i=1 【2】t=aa[j] 【3】aa[i]=t
【真题2】 给定程序中,函数fun()的功能是:使数组中的元素的值缩小5 倍。
请改正程序中的错误,使它能得出正确的结果。
注意:不要改动main 函数,不得增行或删行,也不得更改程序的结构。
试题程序:
#include& stdio.h &#include& conio.h &float m[10];
/**********************found***********************/
int fun(void)
printf(&\n&);
for(j=0;j& 10;j++)
{/**********************found***********************/
printf(&%f &,m[j]/5);
for(i=0;i& 10;i++)
m[i]=i+20;
printf(&%f &,m[i]);
(2011年2月)
解析: (1)错误:int fun(void) 正确:void fun(void)
(2)错误:printf(&%f &,m[j]/5); 正确:printf(&%f &,m[j]/=5);
错误1:函数fun()没有返回值,所以定义函数类型为void。
错误2:此处考查的是除法运算符和取余运算符的区别。
【真题3】 学生的记录由学号和成绩组成,N 名学生的数据已在主函数中放入结构
体数组s 中,请编写函数fun(),它的功能是:把指定分数范围之外的学生数据放在
b 所指的数组中,分数范围之外的学生人数由函数值返回。
例如,输入的分数是80 和89,则应当把分数低于80 和高于89 的学生数据进行输
出,不包含80 分和89 分的学生数据。主函数中把80 放在low 中,把89 放在
heigh 中。
注意:部分源程序给出如下。
请勿改动主函数main 和其他函数中的任何内容,仅在函数fun 的花括号中填入所编
写的若干语句。
试题程序:
#include & stdio.h &#define N 16
typedef struct
{ char num[10];
int fun (STREC *a, STREC *b, int l, int h )
s[N]={{ &GA005&,55},{&GA003&,96},{&GA002&,80},{&GA004&,68},
{&GA001&,88},{&GA007&,74},{&GA008&,85},{&GA006&,89},
{&GA015&,90},{&GA013&,53},{&GA012&,66},{&GA014&,82},
{&GA011&,73},{&GA017&,69},{&GA018&,64},{&GA016&,86}};
STREC h[N],
int i, j, n, low, heigh,
printf(&Enter 2 integer number low & heigh: &);
scanf(&%d%d&,&low,&heigh);
if(heigh& low)
n=fun(s,h,low, heigh);
printf(&The student 's data out %d--%d:\n &,low, heigh);
for(i=0;i&i++)
printf(&%s %4d\n &,h[i].num, h[i].s); /*输出指定分数范围内的学生记录*/
printf(&\n &);
out=fopen(&out23.dat &, &w&);
fprintf(out, &%d\n &,n);
n=fun(s,h,70,79);
for(i=0;i& n-1;i++) /*分数在70~79 之外的学生记录按分数从低到高排列*/
for(j=i+1;j&j++)
if(h[i].s &h[j].s)
h[i]=h[j];
for(i=0;i&i++)
fprintf(out, &%4d\n &,h[i].s);
fprintf(out, &\n &);
fclose(out);
(2011年2月)
解析: int fun (STREC *a, STREC *b, int l, int h )
{ int i,j=0;
for(i=0;i& N;i++)
if((a[i].s &=0&&a[i].s& l)||(a[i].s &h&&a[i].s& =100)) /*将分数低于
l,高于h 的学生记录存于结构体数组b中*/
b[j++]=a[i];
/*返回分数范围内的学生人数*/
处理此类分段统计问题,可采用多分支选择语句或条件选择语句。此处采用条
件选择语句解答,具体见参考答案。使用条件选择语句进行分段统计时应当注
意分段范围。
微信公众号:
各位粉丝,大家好,我是C语言中文网的站长(可以了解我),C语言中文网已经开通了微信公众号,名字是「码农宿舍」(不是C语言中文网哦),我将在这里和大家交流编程知识以及工作经验。大家可以搜索名字「码农宿舍」关注,也可以用微信扫描右边的二维码关注。
当你决定关注「码农宿舍」,你已然超越了99%的程序员!
推荐文章 TOP10用心创造滤镜
扫码下载App
汇聚2000万达人的兴趣社区下载即送20张免费照片冲印
扫码下载App
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!&&|&&
此博客是被逼所做,其实本人是没有什么东西要放来这里的。只是人家说做为“顶级班”的学生,没有博客是不行的,这里是我们展示自己的平台。而对于格格不入的本人是否也是必需的呢?{呵呵...年少无知啊,到现在才知道,不过都不重要}
LOFTER精选
网易考拉推荐
用微信&&“扫一扫”
将文章分享到朋友圈。
用易信&&“扫一扫”
将文章分享到朋友圈。
阅读(979)|
用微信&&“扫一扫”
将文章分享到朋友圈。
用易信&&“扫一扫”
将文章分享到朋友圈。
历史上的今天
loftPermalink:'',
id:'fks_084070',
blogTitle:'二级C语言加油站',
blogAbstract:'二级C语言上机环境 Visual C++ 6.0 下载日 星期日 23:54
二级C语言笔试真题及详细解析:'
{list a as x}
{if x.moveFrom=='wap'}
{elseif x.moveFrom=='iphone'}
{elseif x.moveFrom=='android'}
{elseif x.moveFrom=='mobile'}
${a.selfIntro|escape}{if great260}${suplement}{/if}
{list a as x}
推荐过这篇日志的人:
{list a as x}
{if !!b&&b.length>0}
他们还推荐了:
{list b as y}
转载记录:
{list d as x}
{list a as x}
{list a as x}
{list a as x}
{list a as x}
{if x_index>4}{break}{/if}
${fn2(x.publishTime,'yyyy-MM-dd HH:mm:ss')}
{list a as x}
{if !!(blogDetail.preBlogPermalink)}
{if !!(blogDetail.nextBlogPermalink)}
{list a as x}
{if defined('newslist')&&newslist.length>0}
{list newslist as x}
{if x_index>7}{break}{/if}
{list a as x}
{var first_option =}
{list x.voteDetailList as voteToOption}
{if voteToOption==1}
{if first_option==false},{/if}&&“${b[voteToOption_index]}”&&
{if (x.role!="-1") },“我是${c[x.role]}”&&{/if}
&&&&&&&&${fn1(x.voteTime)}
{if x.userName==''}{/if}
网易公司版权所有&&
{list x.l as y}
{if defined('wl')}
{list wl as x}{/list}? ?   ? ?   ? ?   ? ?   ? ?
? ?   ? ?   ?
?   ? ?    ? ?   ? ?   ? ?   ? ?
? ?   ? ?
实用工具 |
| 大全 | 大全
     |
Copyright & 2004- 网 All Rights Reserved 中国科学院研究生院权威支持(北京) 电 话:010- 传 真:010-

我要回帖

更多关于 2014二级c语言真题 的文章

 

随机推荐