2008秋C语言上机试卷C03答案

合集下载

机试题(2008上)

机试题(2008上)

考试说明:1.在本地用户盘以姓名拼音为名建立文件夹,考试生成的各类文件均存于此文件夹;2.源程序文件名的命名规则是:学号末两位+题号.C,题号为两位数字,其编号规则是:组号+题型号,题型号用1表示编程题,2表示填空题。

如学号末两位为36的张三同学对第1组编程题的文件名为:3611.C;3.填空题请在下划线位置填入适当的内容后调试运行。

注意不得更改程序的结构.编程题:编程输出下列图形1 2 3 4 5 6 7 8 92 3 4 5 6 7 8 93 4 5 6 7 8 94 5 6 7 8 95 6 7 8 96 7 8 97 8 98 99填空题:下列程序的功能是找出一组正数中的最大数和最小数,输入-1时结束输入。

main(){ float x,amax,amin;scanf("%f",&x);amax=x; amin=x;while ( ){ if (x>amax) amax=x;if ( ) amin=x;scanf("%f",&x); }printf("\namax=%f\namin=%f\n",amax,amin); }第2组考试说明:1.在本地用户盘以姓名拼音为名建立文件夹,考试生成的各类文件均存于此文件夹;2.源程序文件名的命名规则是:学号末两位+题号.C,题号为两位数字,其编号规则是:组号+题型号,题型号用1表示编程题,2表示填空题。

如学号末两位为36的张三同学对第1组编程题的文件名为:3611.C;3.填空题请在下划线位置填入适当的内容后调试运行。

注意不得更改程序的结构。

编程题:输入N个正整数,将其按由大到小(降序)排列后输出。

填空改错题:建立并输出一个10阶单位矩阵。

main(){int i,j,a[10][10]={0};for (i=1;i<=10;i++);for (i=1;i<=10;i++){for (j=1;j<=10;j++)printf("%5d",a[i][j]);;}}考试说明:1.在本地用户盘以姓名拼音为名建立文件夹,考试生成的各类文件均存于此文件夹;2.源程序文件名的命名规则是:学号末两位+题号.C,题号为两位数字,其编号规则是:组号+题型号,题型号用1表示编程题,2表示填空题。

2008年9月计算机等级考试二级C语言模拟试卷及其答案

2008年9月计算机等级考试二级C语言模拟试卷及其答案

年 月计算机等级考试二级 语言模拟试卷及其答案
转贴于:计算机二级考试 考试大
全国计算机等级考试二级C语言模拟试卷答案
一、选择题
评析:算法的控制结构给出了算法的基本框架,不仅决定了算法中各操作的执行顺序,也直接反映了算法的设计是否符合结构化原则。

一个算法一般都可以用顺序、选择、循环三种基本控制结构组合而成。

评析:数据的逻辑结构在计算机存储空间中的存放形式称为数据的存储结构。

《电力拖动控制线路与技能训练》试卷( )。

2008版南开100题二级C语言上机考试习题集答案(编程题)

2008版南开100题二级C语言上机考试习题集答案(编程题)
while((fabs(s))>=eps)
{
pi+=s;
t=n/(2*n+1);
s*=t;
n++;
}
pi=pi*2;
return pi;
}
第27题答案
void fun(int m,int*a,int*n)
{
int i,j=0; *n=0;
for(i=1; i<=m; i++)
if(i%7==0||i%11==0)
void fun(char*a,int n)
{
int i=0,k=0;
char*p,*t;
p=t=a;
while(*t)
t++;
t--;
while(*t=='*')
{
k++;
t--;
}
t++;
if(k>n)
{
while(*p&&p<t+n)
{
a[i]=*p;
i++;
p++;
}
a[i]='\0';
}
}
}
for(i=1; i<=M-2; i++)
{
s+=a[i][0];
s+=a[i][N-1];
}
return s;
}
第15题答案
unsigned fun(unsigned w)
{
unsigned t,s=0,s1=1,p=0;
t=w;
while(t>10)
{

全国计算机等级考试二级教程——C语言程序设计(2008年版)高等教育出版社【第三章参考答案】

全国计算机等级考试二级教程——C语言程序设计(2008年版)高等教育出版社【第三章参考答案】

一、选择题3.1 C 3.2 C 3.3 D 3.4 C 3.5 D3.6 B 3.7 C 3.8 D 3.9 A 3.10 B二、填空题3.11 (1)-200,2500(2)i=-200,j=2500(3)i=-200j=25003.12 [1]12 [2]0 [3]03.13 一条语句;3.14 分号3.15 、[1] 100<CR>15.81<CR>1.89234<CR>[2] 100 15.81 1.89234<CR> /*注意各数之间要有空格号*/[3] 100 <CR>15.81 1.89234<CR>三(1)、改错题3.16、正确程序如下#include"stdio.h"void main(){double a,b,c,s,v;printf("input a,b,c:");scanf("%lf%lf%lf",&a,&b,&c); /*注意双精度输入必须用lf,单精度用f*/printf("a=%f,b=%f,c=%f\n",a,b,c);s=a*b;v=s*c;printf("s=%f,v=%f\n",s,v);}三(2)、编程题3.17、#include"stdio.h"void main(){int a=560,b=60,c,d;c=a/b;d=a%b;printf("560分钟=%d小时%d分钟",c,d);}3.18、#include"stdio.h"void main(){int a,b,c,d;printf("Input two numbers:");scanf("%d%d",&a,&b);c=a/b;d=a%b;printf("c=%d,d=%d\n",c,d);}3.19、#include"stdio.h"void main(){double a,b,c,ave;printf("Enter three numbers:");scanf("%lf%lf%lf",&a,&b,&c);ave=(a+b+c)/3;printf("(1)ave=%f\n",ave);ave=(int)(ave*10+0.5)/10.0;printf("(2)ave=%f\n",ave);}3.20、#include"stdio.h"void main(){int a,b,c,m,n,t;printf("Enter three numbers:");scanf("%d%d%d",&a,&b,&c);printf("a=%d,b=%d,c=%d\n",a,b,c);m=a;n=b;t=c;b=m;c=n;a=t;printf("a=%d,b=%d,c=%d",a,b,c); }她含着笑,切着冰屑悉索的萝卜,她含着笑,用手掏着猪吃的麦糟,她含着笑,扇着炖肉的炉子的火,她含着笑,背了团箕到广场上去晒好那些大豆和小麦,大堰河,为了生活,在她流尽了她的乳液之后,她就用抱过我的两臂,劳动了。

全国计算机等级考试二级C语言 2008年4月真题卷参考答案及解析

全国计算机等级考试二级C语言 2008年4月真题卷参考答案及解析

全国计算机等级考试二级C语言 2008年4月真题卷答案及解析一、选择题(1)C解析:程序流程图是人们对解决问题的方法、思路或算法的一种描述。

其中,图框表示各种操作的类型,图框中的文字和符号表示操作的内容,流程线表示操作的先后次序。

带箭头的线段在数据流程图中表示数据流,而在程序流程图中表示控制流。

在所给出的选项中,在图元之间用带有箭头的线段表示图元关系。

在模块之间用带有箭头的线段表示调用关系。

构成程序流程图的基本图符及其含义是:→或↓表示控制流,□表示加工步骤,◇表示逻辑条件。

(2)A解析:结构化程序设计的原则包括:"自顶而下,逐步求精"的设计思想,"独立功能,单出口、单入口"的模块化设计等。

多态性是面向对象程序语言的特征。

(3)B解析:模块划分应遵循的准则包括模块之间的耦合和内聚。

一般来说,要求模块之间的耦合尽可能地低,即模块尽可能独立,要求模块的内聚程度尽可能地高,即高内聚、低耦合的原则。

(4)B解析:需求分析阶段的工作主要包括需求获取、需求分析、编写需求规格说明书和需求评审等四方面。

产生的主要文档为软件需求规格说明书,它可以为用户、分析人员和设计人员之间的交流提供方便,可以直接支持目标软件系统的确认,又可以作为控制软件开发进程的依据。

(5)A解析:算法具有6个特性。

①有穷性:一个算法必须总是(对任何合法的输入值)在执行有穷步之后结束,且每一步都可在有限时间内完成,即运行时间是有限的。

②确定性:算法中每一条指令必须有确切的含义,读者理解时不会产生歧义。

③可行性:一个算法是可行的,即算法中描述的操作都是可以通过已经实现的基本运算执行有限次来实现。

④输入:一个算法有零个或多个输入,这些输入取自于某个特定的对象的集合。

⑤输出:一个算法有一个或多个输出。

(6)D解析:在最坏情况下,快速排序、冒泡排序和直接插入排序需要的比较次数都是n(n-1)/2,堆排序需要比较的次数为nlog2n。

2008(秋)江苏省计算机二级C语言试题与答案(笔试)

2008(秋)江苏省计算机二级C语言试题与答案(笔试)

江苏省二级C 语言程序设计2008 年(秋)第一部分计算机基础知识(1)信息技术指的是用来扩展人们信息器官功能、协助人们更有效地进行信息处理的一类技术。

在下列有关信息技术的叙述中,错误的是__________。

A)现代信息技术的主要特征之一是以数字技术和电子技术为基础B)遥感遥测技术、自动控制技术等均属于现代信息技术C)微电子技术是信息技术领域的关键技术,它以集成电路为核心D)利用磁带、光盘、电话、传真等进行信息传递均属于现代通信(2)二进制数10111000 和11001010 进行逻辑“与”运算,结果再与10100110 进行逻辑“或”运算,最终结果的十六进制形式为__________。

A)A2 B)DE C)AE D)95(3)计算机的性能在很大程度上是由CPU 决定的。

在下列有关CPU 结构和原理的一些叙述中,错误的是__________。

A)目前PC 机所使用的CPU 均是Intel 公司的产品B)从逻辑组成上看,CPU 主要由寄存器组、运算器和控制器等部分组成C)目前CPU 中的运算部件ALU 有多个,每个ALU 均可独立完成运算D)不同CPU 能执行的指令有所不同,但同一系列CPU 产品通常是“向下兼容的”(4)在下列有关目前PC 机主板及其组件的叙述中,正确的是__________。

A)主板的物理尺寸没有标准,通常不同品牌的主板采用不同的尺寸B)主板上的BIOS 芯片是一种RAM 芯片,因而其存储的信息是可以随时刷新的C)主板上的存储器控制和I/O 控制功能大多集成在芯片组内D)主板上的CMOS 芯片是一种非易失性存储器,其存储的信息永远不会丢失(5)在下列有关PC 机硬盘存储器的叙述中,错误的是__________。

A)硬盘上的数据块要用柱面号、扇区号和磁头号这三个参数来定位B)目前硬盘一般都含有DRAM 芯片构成的高速缓存(Cache)C)目前硬盘与主机的接口大多为串行ATA 接口D)硬盘容量的增加主要是靠碟片数增加,目前硬盘一般均有数十个碟片组成(6)在下列有关PC 机I/O 总线和接口的叙述中,错误的是__________。

2008年9月全国计算机等级考试二级c语言笔试试题(含参考答案)-推荐下载

2008年9月全国计算机等级考试二级c语言笔试试题(含参考答案)-推荐下载

} 程序运行的结果是
A) 331 B)41 29、有以下程序
#include <stdio.h>
main()
{ int i=5;
do
{ if(i%3==1)
if(i%5==2)
{ printf(〞%d〞,i); break;}
i++;
} while(i!=0);
printf(〞\n〞); }程序运行的结果是
A)O(n) B) O(n2) C)O(log2n) D)O(log2n)
4、下列叙述中正确的是
A)顺序结构存储的存储一定是连续的,链式存储结构的存储空间不一定是连续的
B)顺序存储结构只针对线性结构,链式存储结构只针对非线性结构
C)顺序存储结构能存储有序表,链式存储结构不能存储有序表
D)链式存储结构比顺序存储结构节省存储空间
A) 7 B) 8 C) 9 D) 10 25、以下叙述中错误的是
A)用户自定义的函数中可以没有 return 语句
B)用户自定义的函数中可以有多个 return 语句,以便可以调用一次返回多个函数值
C)用户自定义的函数中若没有 return 语句,则应当定义函数为 void 类型
D)函数的 return 语句中可以没有表达式
S
对全部高中资料试卷电气设备,在安装过程中以及安装结束后进行高中资料试卷调整试验;通电检查所有设备高中资料电试力卷保相护互装作置用调与试相技互术关,系电通,力1根保过据护管生高线产中0不工资仅艺料可高试以中卷解资配决料置吊试技顶卷术层要是配求指置,机不对组规电在范气进高设行中备继资进电料行保试空护卷载高问与中题带资2负料2,荷试而下卷且高总可中体保资配障料置各试时类卷,管调需路控要习试在题验最到;大位对限。设度在备内管进来路行确敷调保设整机过使组程其高1在中正资,常料要工试加况卷强下安看与全22过,22度并22工且22作尽22下可护都能1关可地于以缩管正小路常故高工障中作高资;中料对资试于料卷继试连电卷接保破管护坏口进范处行围理整,高核或中对者资定对料值某试,些卷审异弯核常扁与高度校中固对资定图料盒纸试位,卷置编工.写况保复进护杂行层设自防备动腐与处跨装理接置,地高尤线中其弯资要曲料避半试免径卷错标调误高试高等方中,案资要,料求编试技5写、卷术重电保交要气护底设设装。备备置管4高调、动线中试电作敷资高气,设料中课并技3试资件且、术卷料中拒管试试调绝路包验卷试动敷含方技作设线案术,技槽以来术、及避管系免架统不等启必多动要项方高方案中式;资,对料为整试解套卷决启突高动然中过停语程机文中。电高因气中此课资,件料电中试力管卷高壁电中薄气资、设料接备试口进卷不行保严调护等试装问工置题作调,并试合且技理进术利行,用过要管关求线运电敷行力设高保技中护术资装。料置线试做缆卷到敷技准设术确原指灵则导活:。。在对对分于于线调差盒试动处过保,程护当中装不高置同中高电资中压料资回试料路卷试交技卷叉术调时问试,题技应,术采作是用为指金调发属试电隔人机板员一进,变行需压隔要器开在组处事在理前发;掌生同握内一图部线纸故槽资障内料时,、,强设需电备要回制进路造行须厂外同家部时出电切具源断高高习中中题资资电料料源试试,卷卷线试切缆验除敷报从设告而完与采毕相用,关高要技中进术资行资料检料试查,卷和并主检且要测了保处解护理现装。场置设。备高中资料试卷布置情况与有关高中资料试卷电气系统接线等情况,然后根据规范与规程规定,制定设备调试高中资料试卷方案。

2008年上海计算机二级c试题含答案

2008年上海计算机二级c试题含答案
Void getResult(float a,float b)
{ float c;
c=a>b?a+b:a-b;
return c;
}
7.假定建立了如下图所示的链表结构,指针p指向一个新结点,写出将新结点插入到链表成为头结点的C语句(插入后指针head仍然指向链表头结点)
7
7
7
9
试题二(12分,每小题6分)
}
voidmain()
{
intp[ ]={-2,-23,-9,4,21,-1,-7,3,8,-1,-7,4,5,0};
第6页共7页
int s[100],n,i;
FILE*fp;
n=ptos((4));
fp=fopen(“C0.8TXT”,(5)); /*以写方式打开文件*/
for(i=0;i<n;i++)
for(i=2;i<=n-2;i++)
if(isprime(i)&&isprime((4))) /*n分解为两素数之和*/
printf(“%d=%d+%d\n”,n,i-n);
}
第5页共7页
试题六(15分,每个空格3分)
阅读下列问题描述和相应的程序,把应填入(n)处的内容写在答卷纸的对应栏内。
【问题描述】下面的函数ptos()用来复原压缩过的数据(解压缩),数组p存放压缩后的数据,数组s存放复原后的数据,函数返回复原后的数据个数。主函数main()调用函数ptos()进行数据复原,然后显示复原后的数据,同时以文本形式写入文件C08.TXT中。
【程序3.1】本程序中输入三个数,输出这三个数的和。
#1 void main()
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

2008年秋二级 C语言上机试卷(试卷代号C03)答案
一、改错题(20分)
【程序功能】
函数intersec的功能是:找出所有在两个字符串集合s1和s2中都出现的字符串,将这些字符串放入一个新集合s3中,函数返回新集合中字符串的个数。

【测试数据与运行结果】
测试数据:s1集合:{ while, for, switch, if, break, continue }
s2集合:{ for, case, do, else, char, switch }
运行结果:for switch
【含有错误的源程序】
#include <stdio.h>
#include <string.h>
int intersec(char s1[][10],char s2[][10],char s3[][10],int m,int n)
{ int i,j,k=0;
for(i=0; i<m; i++)
for(j=i;j<n; j++) /*中,改为: for(j=0; j<n; j++) */ if(s1[i]==s2[j]) /*中,改为: if(strcmp(s1[i],s2[j])==0) */ { strcpy(s3[k++],s1[i]);
break;
}
return k;
}
void main()
{ int i,j;
char s1[6][10]={while, for, switch, if, break, continue},
s2[6][10]={for,case,do,else,char,switch},s3[20][10];
/*易,改为: char s1[6][10]={"while","for","switch","if","break","continue"}, s2[6][10]={"for","case","do","else","char","switch"},s3[20][10];*/ j=intersec(s1,s2,s3,6,6);
for(i=0;i<j;i++)
printf("%c ", s3[i]); /* 中,改为:printf("%s ", s3[i]); */ }
【评分标准】
共20分。

完整录入源程序4分,每改正一个错误4分,共4个错误。

二、编程题(20分)
【程序功能】
数组部分元素逆置。

【编程要求】
1.编写函数v oid reverse( int *a, int n,int m ),其功能是在a指向的有n个元素的数组中找到最后一个素数,再将该素数之前的m个元素(不包括该素数本身)逆置。

若该素数之前的元素个数不足m时,则从第一个数组元素开始逆置。

2.编写main函数,声明一维数组a并用测试数据初始化,接收键盘输入的m值,用a数组和m变量作为实参调用reverse函数,将变换后的a数组中的数据输出到屏幕及结果文件myf2.out中。

最后将考生本人的准考证号字符串也保存到结果文件myf2.out中。

【测试数据与运行结果】
测试数据:
a数组初始数据:4 3 6 7 8 13 9 19 21 26
运行结果:
当m=4时,a数组变为:4 3 6 9 13 8 7 19 21 26
当m=8时,a数组变为:9 13 8 7 6 3 4 19 21 26
【参考答案】
#include <stdio.h>
int prime(int a)
{ int k,i;
if(a==1)return 0;
if(a==2)return 1;
for(i=2;i<a;i++)
if(a%i==0) return(0);
return(1);
}
void reverse( int *a,int n,int m)
{ int i,k=-1,*b, *p,t;
for(i=0;i<n;i++)
if(prime(a[i])) k=i;
p=a+k-1;
if(k-m<0) b=a;
else b=a+k-m;
while(b<p)
{ t=*b; *b=*p; *p=t;
b++;p--;
}
}
void main( )
{ int a[20]={4,3,6,7,8,13,9,19,21,26},i,m,n=10;
FILE *fp;
if((fp=fopen("d:\\myf2.out","w"))==NULL)
{ printf("Creat File myf2.out failed!\n"); exit(0); }
printf("Please input m:\n");
scanf("%d",&m);
reverse(a,n,m);
for(i=0;i<n;i++)
{ printf("%4d",a[i]);
fprintf(fp, "%4d",a[i]);
}
fprintf(fp,"\nMy exam number is: 0112400123\n");
fclose(fp);
}
【评分标准】
共20分。

满分时必须运行,若无正确结果扣1分
一、main函数(共10分)
1.文件操作:3分(#include, fp声明,fopen各1分)
2.变量/数组声明及获得初始数据:2分
3.函数调用:2分
4.在屏幕显示运算结果:1分
5.保存运算结果到文件myf2.out:1分
6.保存准考证号到文件myf2.out:1分
二、reverse 函数(共10分)
1.函数头部:1分
2.遍历a数组:1分
3.定位最后一个素数:4分(判断素数2分,定位最后一个素数2分)
4.逆置:4分(判断最后素数前的元素个数1分,最后素数之前的m个元素(不包括
该素数)逆置3分)。

相关文档
最新文档