c语言真题-试卷答案_07年9月-11年3月)
07年全国计算机二级C语言真题
2007年4月全国计算机考试二级C语言笔试试卷及参考答案一选择题(1)下列叙述中正确的是A)算法的效率只与问题的规模有关,而与数据的存储结构无关B)算法的时间复杂度是指执行算法所需要的计算工作量C)数据的逻辑结构与存储结构是一一对应的D)算法的时间复杂度与空间复杂度一定相关(2)在结构化程序设计中,模块划分的原则是A)各模块应包括尽量多的功能B)各模块的规模应尽量大C)各模块之间的联系应尽量紧密D)模块内具有高内聚度、模块间具有低耦合度(3)下列叙述中正确的是A)软件测试的主要目的是发现程序中的错误B)软件测试的主要目的是确定程序中错误的位置C)为了提高软件测试的效率,最好由程序编制者自己来完成软件测试的工作D)软件测试是证明软件没有错误(4)下面选项中不属于面向对象程序设计特征的是A)继承性 B)多态性 C)类比性 D)封闭性(5)下列对列的叙述正确的是A)队列属于非线性表B)队列按“先进后出”原则组织数据C)队列在队尾删除数据D)队列按“先进先出”原则组织数据(6)对下列二叉树进行前序遍历的结果为A) DYBEAFCZX B) YDEBFZXCAC) ABDYECFXZ D) ABCDEFXYZ(7) 某二叉树中有n个度为2的结点,则该二叉树中的叶子结点为A) n+1 B) n-1 C) 2n D) n/2(8) 在下列关系运算中,不改变关系表中的属性个数但能减少元组个数的是A) 并 B)交 C)投影 D)笛卡儿乘积(9) 在E-R图中,用来表示实体之间联系的图形是A) 矩形 B)椭圆形 C)菱形 D)平行四边形(10)下列叙述中错误的是A) 在数据库系统中,数据的物理结构必须与逻辑结构一致B)数据库技术的根本目标是要解决数据的共享问题C)数据库设计是指在已有数据库管理系统的基础上建立数据库D)数据库系统需要操作系统的支持(11)算法中,对需要执行的每一步操作,必须给出清楚、严格的规定,这属于算法的A)正当性 B)可行性 C)确定性 D)有穷性(12)下列叙述中错误的是A)计算机不能直接执行用C语言编写的源程序B)C程序经C编译后,生成后缀为.obj的文件是一个二进制文件C)后缀为.obj的文件,经连接程序生成后缀为.exe的文件是一个二进制文件D)后缀为.obj和.exe的二进制文件都可以直接运行(13)按照C语言规定的用户标识符命名规则,不能出现在标识符中的是A)大写字母 B)连接符 C)数字字符 D)下划线(14)以下叙述中错误的是A)C语言是一种结构化程序设计语言B)结构化程序有顺序、分支、循环三种基本结构组成C)使用三种基本结构构成的程序只能解决简单问题D)结构化程序设计提倡模块化的设计方法(15)对于一个正常运行的C程序,以下叙述中正确的是A)程序的执行总是从main函数开始,在main函数结束B)程序的执行总是从程序的第一个函数开始,在main函数结束C)程序的执行总是从main函数开始,在程序的最后一个函数中结束D)程序的执行总是从程序的第一个函数开始,在程序的最后一个函数中结束(16)设变量均已正确定义,若要通过scanf(“%d%c%d%c”,&a1,&c1,&a2,&c2);语句为变量a1和a2赋数值10和20,为变量c1和c2赋字符X和Y。
2007年9月全国计算机等级考试真题及答案
2007年4月全国计算机等级考试二级C语言笔试试卷(含参考答案)发布日期:2007-06-01 浏览次数:2783一、选择题((1)—(10)每小题2分,(11)—(50)每题1分,共60分)下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上答在试卷上不得分。
(1)下列叙述中正确的是(B)A)算法的效率只与问题的规模有关,而与数据的存储结构无关B)算法的时间复杂度是指执行算法所需要的计算工作量C)数据的逻辑结构与存储结构是一一对应的D)算法的时间复杂度与空间复杂度一定相关(2)在结构化程序设计中,模块划分的原则是(D)A)各模块应包括尽量多的功能B)各模块的规模应尽量大C)各模块之间的联系应尽量紧密D)模块内具有高内聚度、模块间具有低耦合度(3)下列叙述中正确的是(A)A)软件测试的主要目的是发现程序中的错误B)软件测试的主要目的是确定程序中错误的位置C)为了提高软件测试的效率,最好由程序编制者自己来完成软件测试的工作D)软件测试是证明软件没有错误(4)下面选项中不属于面向对象程序设计特征的是(C)A)继承性 B)多态性C)类比性D)封装性(5)下列对队列的叙述正确的是(D)A)队列属于非线性表B)队列按“先进后出”原则组织数据C)队列在队尾删除数据D)队列按“先进先出”原则组织数据(6)对下列二叉树AB CD E F XY Z进行前序遍历的结果为(C)A) DYBEAFCZX B) YDEBFZXCAC) ABDYECFXZ D) ABCDEFXYZ(7) 某二叉树中有n个度为2的结点,则该二叉树中的叶子结点数为(A)A) n+1 B) n-1 C) 2n D) n/2(8) 在下列关系运算中,不改变关系表中的属性个数但能减少元组个数的是(B)A) 并B)交C)投影D)笛卡儿乘积(9) 在E-R图中,用来表示实体之间联系的图形是(C)A) 矩形B)椭圆形C)菱形 D)平行四边形(10)下列叙述中错误的是(A)A) 在数据库系统中,数据的物理结构必须与逻辑结构一致B)数据库技术的根本目标是要解决数据的共享问题C)数据库设计是指在已有数据库管理系统的基础上建立数据库D)数据库系统需要操作系统的支持(11)算法中,对需要执行的每一步操作,必须给出清楚、严格的规定,这属于算法的(C)A)正当性 B)可行性 C)确定性D)有穷性(12)下列叙述中错误的是(D)A)计算机不能直接执行用C语言编写的源程序B)C程序经C编译程序编译后,生成后缀为.obj的文件是一个二进制文件C)后缀为.obj的文件,经连接程序生成后缀为.exe的文件是一个二进制文件D)后缀为.obj和.exe的二进制文件都可以直接运行(13)按照C语言规定的用户标识符命名规则,不能出现在标识符中的是(B)A)大写字母 B)连接符C)数字字符 D)下划线(14)以下叙述中错误的是(C)A)C语言是一种结构化程序设计语言B)结构化程序有顺序、分支、循环三种基本结构组成C)使用三种基本结构构成的程序只能解决简单问题D)结构化程序设计提倡模块化的设计方法(15)对于一个正常运行的C程序,以下叙述中正确的是(A)A)程序的执行总是从main函数开始,在main函数结束B)程序的执行总是从程序的第一个函数开始,在main函数结束C)程序的执行总是从main函数开始,在程序的最后一个函数中结束D)程序的执行总是从程序的第一个函数开始,在程序的最后一个函数中结束(16)设变量均已正确定义,若要通过scanf(“%d%c%d%c”,&a1,&c1,&a2,&c2);语句为变量a1和a2赋数值10和20,为变量c1和c2赋字符X和Y。
2007年9月全国计算机等级考试二级C语言口试试题(含参考答案)
9月全国计算机等级考试二级笔试试卷C语言程序设计(考试时间120分钟,满分100分)一、选择题((1)-(10)每题2分,(11)-(50)每题1分.共60分))下列各题A)、B)、C)、D)四个选项中,只有一个是正确的,请将正确选项涂写在答题卡上,答在试卷上不得分。
(1)软件是指A)程序 B)程序和文档C)算法加数据结构 D)程序、数据和相关文档的集合(2)软件调试的目的是A)发现错误 B)改正错误C)改善软件的性能 D)验证软件的正确性(3)在面向对象方法中,实现信息隐蔽是依靠A)对象的继承 B)对象的多态C)对象的封装 D)对象的分类(4)下列叙述中,不符合良好程序设计风格的是A)程序的效率第一,清晰第二 B)程序的可读性好C)程序中有必要的注释 D)输入数据前要有提示信息(5)下列叙述中正确的是A)程序执行的效率与数据的存储结构密切相关B)程序执行的效率只取决于程序的控制结构C)程序执行的效率只取决于所处理的数据量D)以上三种说法都不对(6)下列叙述中正确的是A)数据的逻辑结构与存储结构必定是一一对应的B)由于计算机存储空间是向量式的存储结构,因此,数据的存储结构一定是线性结构C)程序设计语言中的数组一般是顺序存储结构,因此,利用数组只能处理线线结构D)以上三种说法都不对(7)冒泡排序在最坏情况下的比较次数是A)n(n+1)/2 B)nlog2n C)n(n-1)/2 D)n/2(8)一棵二叉树中共有70个叶子结点与80个度为1的结点,则该二叉树中的总结点数为A)219 B)221 C)229 D)231(9)下列叙述中正确的是A)数据库系统是一个独立的系统,不需要操作系统的支持B)数据库技术的根本目标是要解决数据的共享问题C)数据库管理系统就是数据库系统D)以上三种说法都不对(10)下列叙述中正确的是A)为了建立一个关系,首先要构造数据的逻辑关系B)表示关系的二维表中各元组的每一个分量还可以分成若干数据项C)一个关系的属性名表称为关系模式D)一个关系可以包括多个二维表(11)C语言源程序名的后缀是A).exe B).C C).obj D).cp(12)可在C程序中用做用户标识符的一组标识符是A)and B)Date C)Hi D)case_2007 y-m-d Dr.Tom Bigl(13)以下选项中,合法的一组C语言数值常量是A)028 B)12. C).177 D)0x8A. 5e-3 OXa23 4c1.5 10,000-0xf 4.5e0 Oabc 3.e5(14)以下叙述中正确的是A)C语言程序将从源程序中第一个函数开始执行B)可以在程序中由用户指定任意一个函数作为主函数,程序将从此开始执行C)C语言规定必须用main作为主函数名,程序将从此开始执行,在此结束D)main可作为用户标识符,用以命名任意一个函数作为主函数(15)若在定义语句:int a,b,c,*p=&c;之后,接着执行以下选项中的语句,则能正确执行的语句是A)scanf("%d",a,b,c); B)scanf("%d%d%d",a,b,c);C)scanf("%d",p); D)scanf("%d",&p);(16)以下关于long、int和short类型数据占用内存大小的叙述中正确的是A)均占4个字节 B)根据数据的大小来决定所占内存的字节数C)由用户自己定义 D)由C语言编译系统决定(17)若变量均已正确定义并赋值,以下合法的C语言赋值语句是A)x=y==5; B)x=n%2.5; C)x+n=I; D)x=5=4+1;(18)有以下程序段int j; float y; char name[50];scanf("%2d%f%s",&j,&y,name);当执行上述程序段,从键盘上输入55566 7777abc后,y的值为A)55566.0 B)566.0 C)7777.0 D)566777.0(19)若变量已正确定义,有以下程序段i=0;do printf("%d,",i);while(i++);printf("%d\n",i)其输出结果是A)0,0 B)0,1 C)1,1 D)程序进入无限循环(20)有以下计算公式y=(x≥0)(x<0)若程序前面已在命令中包含math.h文件,不能够正确计算上述公式的程序段是A)if(x>=0) y=sqrt(x); B)y=sqrt(x)else y=sqrt(-x); if(x<0) y=sqrt(-x);C)if(x>=0)y=sqrt(x); D)y=sqrt(x>=0?x:-x);If(x<0)y=sqrt(-x);(21)设有条件表达式:(EXP)?i++;j--,则以下表达式中(EXP)完全等价的是A)(EXP= =0) B)(EXP!=0) C)(EXP= =1) D)(EXP!=1)(22)有以下程序#include<stdio.h>main(){int y=9;for( ; y>0;y--)if(y%3= =0) printf("%d",--y);}程序的运行结果是A)741 B)963 C)852 D)875421(23)已有定义:char c; ,程序前面已在命令行中包含ctype.h文件,不能用于判断c中的字符是否为大写字母的表达式是A)isupper(c) B)’A’<=c<=’Z’C)’A’<=c&&c<=’Z’ D)c<=(‘2’-32)&&(‘a’-32)<=c(24)有以下程序#include<stdio.h>main(){int i,j,m=55;for(i=1;i<=3;i++)for(j=3;j<=i;j++) m=m%j;printf("%d\n",m);}程序的运行结果是A)0 B)1 C)2 D)3(25)若函数调用时的实参为变量时,以下关于函数形参和实参的叙述中正确的是A)函数的实参和其对应的形参共占同一存储单元B)形参只是形式上的存在,不占用具体存储单元C)同名的实参和形参占同一存储单元D)函数的形参和实参分别占用不同的存储单元(26)已知字符’A’的ASCⅡ代码值是65,字符变量c1的值是’A’,c2的值是’D’。
2007年---2011年计算机三级网络技术-真题
2007年4月一、选择题在下列各题的A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确的选项涂写在答题卡相应位置上,答在试卷上不得分。
(1)在我国信息化过程中,国内自己的网络产品提供商主要是________。
A)思科公司B)惠普公司C)华为公司D)赛门铁克公司(2)以下关于编程语言的描述中,正确的是________。
A)汇编语言是符号化的机器语言,机器可以直接执行B)为了完成编译任务,编译程序要对源程序进行扫描C)解释程序比较简单,所以解释型程序执行速度很快D)编译程序非常复杂,所以编译出的程序执行速度很慢(3)以下关于主板的描述中,正确的是________。
A)按CPU插座分类有Slot主板、Socket主板B)按主扳的规格分类有TX主板、LX主板C)按数据端口分类有PCI主板、USB主板D)按扩展槽分类有SCSI主板、EDO主板(4)以下关于局部总线的描述中,正确的是________。
A)VESA的含义是外围部件接口B)PCI的含义是个人电脑接口C)VESA比PCI有明显的优势D)PCI比VESA有明显的优势(5)以下关于奔腾处理器体系结构的描述中,正确的是________。
A)哈佛结构是把指令和数据分别进行存储B)超流水线技术的特点是设置多条流水线同时执行多个处理C)超标量技术的特点是提高主频、细化流水D)奔腾不支持多重处理,安腾支持多重处理(6)以下关于应用软件的描述中,正确的是A)Access是电子表格软件B)PowerPoint是桌面出版软件C)Internet Explorer是浏览软件D)Excel是数据库软件(7)以下关于城域网特征的描述中,错误的是________。
A)城域网是介于广域网与局域网之间的一种高速网络B)城域网可满足几十公里范围内多个局域网互联的需求C)城域网可实现大量用户之间的数据、语音、图形与视频等多种信息的传输D)早期的城域网主要采用X.25标准(8)计算机网络拓扑构型主要是指________。
二级C语言真题2017年09月-(3)
二级C语言真题2017年09月-(3)一、选择题1、设某棵树的度为3,其中度为3,1,0的节点个数分别为3,4,15。
则该树中总节点数为______。
A.22 B.30 C.35 D.不可能有这样的树2、线性表的长度为n。
在最坏情况下,比较次数为n-1的算法是______。
A.寻找最大项 B.同时寻找最大项与最小项C.顺序查找 D.有序表的插入3、下列叙述中正确的是______。
A.循环队列是队列的链式存储结构B.能采用顺序存储的必定是线性结构C.所有的线性结构都可以采用顺序存储结构D.具有两个以上指针的链表必定是非线性结构4、设表的长度为n。
在下列结构所对应的算法中,最坏情况下时间复杂度最低的是______。
A.希尔排序 B.有序链表查找C.堆排序 D.循环链表中寻找最大项5、下面不属于结构化程序设计原则的是______。
A.模块化 B.自顶向下 C.可继承性 D.逐步求精6、对软件系统总体结构图,下面描述中错误的是______。
A.深度等于控制的层数B.扇入是一个模块直接调用的其他模块数C.扇出是一个模块直接调用的其他模块数D.原子模块一定是结构图中位于叶子节点的模块7、软件集成测试不采用______。
A.一次性组装 B.自顶向下增量组装C.自底向上增量组装 D.迭代式组装8、将数据库的结构划分成多个层次,是为了提高数据库的物理独立性和______。
A.规范程度 B.操作独立性 C.逻辑独立性 D.降低数据冗余9、公司的开发人员可以同时参加多个项目的开发,则实体开发人员和实体项目间的联系是______。
A.一对一 B.一对多 C.多对一 D.多对多10、定义学生选修课程的关系模式如下:SC(S#,Sn,C#,Cn,G.(其属性分别为学号、姓名、课程号、课程名、成绩) 则该关系的主键为______。
A.S# B.C# C.S#,C# D.S#,C#,G11、以下叙述中正确的是______。
07年9月全国计算机二级C笔试含答案
一、选择题((1)-(10)每题2分,(11)-(50)每题1分.共60分))下列各题A)、B)、C)、D)四个选项中,只有一个是正确的,请将正确选项涂写在答题卡上,答在试卷上不得分。
(1)软件是指A)程序B)程序和文档C)算法加数据结构D)程序、数据和相关文档的集合(2)软件调试的目的是A)发现错误B)改正错误C)改善软件的性能D)验证软件的正确性(3)在面向对象方法中,实现信息隐蔽是依靠A)对象的继承B)对象的多态C)对象的封装D)对象的分类(4)下列叙述中,不符合良好程序设计风格的是A)程序的效率第一,清晰第二B)程序的可读性好C)程序中有必要的注释D)输入数据前要有提示信息(5)下列叙述中正确的是A)程序执行的效率与数据的存储结构密切相关B)程序执行的效率只取决于程序的控制结构C)程序执行的效率只取决于所处理的数据量D)以上三种说法都不对(6)下列叙述中正确的是A)数据的逻辑结构与存储结构必定是一一对应的B)由于计算机存储空间是向量式的存储结构,因此,数据的存储结构一定是线性结构C)程序设计语言中的数组一般是顺序存储结构,因此,利用数组只能处理线线结构D)以上三种说法都不对(7)冒泡排序在最坏情况下的比较次数是A)n(n+1)/2 B)nlog2n C)n(n-1)/2 D)n/2(8)一棵二叉树中共有70个叶子结点与80个度为1的结点,则该二叉树中的总结点数为A)219 B)221 C)229 D)231(9)下列叙述中正确的是A)数据库系统是一个独立的系统,不需要操作系统的支持B)数据库技术的根本目标是要解决数据的共享问题C)数据库管理系统就是数据库系统D)以上三种说法都不对(10)下列叙述中正确的是A)为了建立一个关系,首先要构造数据的逻辑关系B)表示关系的二维表中各元组的每一个分量还可以分成若干数据项C)一个关系的属性名表称为关系模式D)一个关系可以包括多个二维表(11)C语言源程序名的后缀是A).exe B).C C).obj D).cp(12)可在C程序中用做用户标识符的一组标识符是A)and B)Date C)Hi D)case_2007 y-m-d Dr.Tom Bigl(13)以下选项中,合法的一组C语言数值常量是A)028 B)12. C).177 D)0x8A. 5e-3 OXa23 4c1.5 10,000-0xf 4.5e0 Oabc 3.e5(14)以下叙述中正确的是A)C语言程序将从源程序中第一个函数开始执行B)可以在程序中由用户指定任意一个函数作为主函数,程序将从此开始执行C)C语言规定必须用main作为主函数名,程序将从此开始执行,在此结束D)main可作为用户标识符,用以命名任意一个函数作为主函数(15)若在定义语句:int a,b,c,*p=&c;之后,接着执行以下选项中的语句,则能正确执行的语句是A)scanf("%d",a,b,c); B)scanf("%d%d%d",a,b,c);C)scanf("%d",p); D)scanf("%d",&p);(16)以下关于long、int和short类型数据占用内存大小的叙述中正确的是A)均占4个字节B)根据数据的大小来决定所占内存的字节数C)由用户自己定义D)由C语言编译系统决定(17)若变量均已正确定义并赋值,以下合法的C语言赋值语句是A)x=y==5; B)x=n%2.5; C)x+n=I; D)x=5=4+1;(18)有以下程序段int j; float y; char name[50];scanf("%2d%f%s",&j,&y,name);当执行上述程序段,从键盘上输入55566 7777abc后,y的值为A)55566.0 B)566.0 C)7777.0 D)566777.0(19)若变量已正确定义,有以下程序段i=0;do printf("%d,",i);while(i++);printf("%d\n",i)其输出结果是A)0,0 B)0,1 C)1,1 D)程序进入无限循环(20)有以下计算公式若程序前面已在命令中包含math.h文件,不能够正确计算上述公式的程序段是A)if(x>=0) y=sqrt(x); B)y=sqrt(x)else y=sqrt(-x); if(x<0) y=sqrt(-x);C)if(x>=0)y=sqrt(x); D)y=sqrt(x>=0?x:-x);If(x<0)y=sqrt(-x);(21)设有条件表达式:(EXP)?i++;j--,则以下表达式中(EXP)完全等价的是A)(EXP= =0)B)(EXP!=0)C)(EXP= =1)D)(EXP!=1)(22)有以下程序#includemain(){int y=9;for( y>0;y--)if(y%3= =0) printf("%d",--y);}程序的运行结果是A)741 B)963 C)852 D)875421(23)已有定义:char c; ,程序前面已在命令行中包含ctype.h文件,不能用于判断c中的字符是否为大写字母的表达式是A)isupper(c) B)’A’<=c<=’Z’C)’A’<=c&&c<=’Z’ D)c<=(‘2’-32)&&(‘a’-32)<=c(24)有以下程序#includemain(){int i,j,m=55;for(i=1;i<=3;i++)for(j=3;j<=i;j++) m=m%j;printf("%d\n",m);}程序的运行结果是A)0 B)1 C)2 D)3(25)若函数调用时的实参为变量时,以下关于函数形参和实参的叙述中正确的是A)函数的实参和其对应的形参共占同一存储单元B)形参只是形式上的存在,不占用具体存储单元C)同名的实参和形参占同一存储单元D)函数的形参和实参分别占用不同的存储单元(26)已知字符’A’的ASCⅡ代码值是65,字符变量c1的值是’A’,c2的值是’D’。
往年专升本c语言试题及答案
往年专升本c语言试题及答案一、单项选择题1. C语言中,用于定义一个结构体类型的关键字是:A. structB. unionC. enumD. typedef答案:A2. 下列哪个选项不是C语言中合法的变量名?A. _123B. intC. sumD. $amount答案:B3. 在C语言中,用于定义一个函数的关键字是:A. functionB. defC. voidD. int答案:D4. 在C语言中,一个整数除以一个浮点数的结果是:A. 整数B. 浮点数C. 字符串D. 错误答案:B5. 下列哪个选项是C语言中的逻辑运算符?A. %B. &&C. &&D. ==答案:B二、填空题1. C语言中,用于定义一个整型变量的关键字是________。
答案:int2. 一个C语言程序的执行从________函数开始。
答案:main3. 在C语言中,________运算符用于计算两个整数的和。
答案:+4. 用于定义一个字符型变量的关键字是________。
答案:char5. C语言中,________运算符用于判断两个表达式是否相等。
答案:==三、编程题1. 编写一个C语言程序,计算并输出100以内所有偶数的和。
```c#include <stdio.h>int main() {int sum = 0;for (int i = 1; i <= 100; i++) {if (i % 2 == 0) {sum += i;}}printf("The sum of even numbers within 100 is: %d\n", sum);return 0;}```2. 编写一个C语言程序,实现输入一个字符串,然后输出其逆序字符串。
```c#include <stdio.h>#include <string.h>int main() {char str[100];scanf("%s", str);int len = strlen(str);for (int i = len - 1; i >= 0; i--) {printf("%c", str[i]);}printf("\n");return 0;}```四、简答题1. 请简述C语言中数组和指针的关系。
2023年9月青少年软件编程C语言等级考试试卷五级真题(含答案)
2023年9月青少年软件编程C语言等级考试试卷五级(含答案)分数:100 题数:4一、编程题(共4题,共100分)第1题.红与黑有一间长方形的房子,地上铺了红色、黑色两种颜色的正方形瓷砖。
你站在其中一块黑色的瓷砖上,只能向相邻的黑色瓷砖移动。
请写一个程序,计算你总共能够到达多少块黑色的瓷砖。
时间限制:1000内存限制:65536输入:包括多个数据集合。
每个数据集合的第一行是两个整数W和H,分别表示x方向和y方向瓷砖的数量。
W和H都不超过20。
在接下来的H行中,每行包括W个字符。
每个字符表示一块瓷砖的颜色,规则如下:(1)‘.’黑色的瓷砖;(2)‘#’白色的瓷砖;(3)‘@’黑色的瓷砖,并且你站在这块瓷砖上。
该字符在每个数据集合中唯一出现一次。
当在一行中读入的是两个零时,表示输入结束。
输出:对每个数据集合,分别输出一行,显示你从初始位置出发能到达的瓷砖数(记数时包括初始位置的瓷砖)。
样例输入:6 9....#......#..............................#@...#.#..#.0 0样例输出:45参考答案:#include <iostream>#define xa x+a[i]#define ya y+b[i]using namespace std;int graph[21][21];int w=0,h=0;int X1=0,Y1=0,cnt=0;const int a[]={-1,0,1,0},b[]={0,-1,0,1};void dfs(int x,int y){graph[x][y]=0;cnt++;for(int i=0;i<4;i++){if(graph[xa][ya]==1 && xa>0 && xa<=w && ya>0 && ya<=h)dfs(xa,ya);}}void get(){for(int i=1;i<=w;i++){for(int j=1;j<=h;j++){char a;cin>>a;if(a=='#') graph[i][j]=0;else if(a=='.') graph[i][j]=1;else if(a=='@'){X1=i,Y1=j;graph[i][j]=1;}}}dfs(X1,Y1);cout<<cnt<<endl;cnt=0;}int main(){while(1){cin>>h>>w;if(h==0 && w==0) break;get();}return 0;}第2题.装箱问题一个工厂制造的产品形状都是长方体,它们的高度都是h,长和宽都相等,一共有六个型号,他们的长宽分别为1*1,2*2,3*3,4*4,5*5,6*6。
2007年9月全国计算机等级考试二级C语言笔试考试试卷
2007年9月全国计算机等级考试二级C语言笔试考试试卷2007年9月全国计算机等级考试二级C语言笔试考试试卷2007-12-15 23:58A)GEDHFBCAB)DGEBHFCAC)ABCDEFGHD)ACBFEDHG2.树是结点的集合,它的根结点数目是A)有且只有1B)1或多于1C)0或1D)至少23.如果进栈序列为e1,e2,e3,e4,则可能的出栈序列是A)e3,e1,e4,e2B)e2,e4,e3,e1C)e3,e4,e1,e2D)任意顺序4.在设计程序时,应采纳的原则之一是A)不限制goto语句的使用B)减少或取消注解行C)程序越短越好D)程序结构应有助于读者理解5.程序设计语言的基本成分是数据成分、运算成分、控制成分和A)对象成分B)变量成分C)语句成分D)传输成分6.下列叙述中,不属于软件需求规格说明书的作用的是A)便于用户、开发人员进行理解和交流B)反映出用户问题的结构,可以作为软件开发工作的基础和依据C)作为确认测试和验收的依据D)便于开发人员进行需求分析7.下列不属于软件工程的3个要素的是A)工具B)过程C)方法D)环境8.单个用户使用的数据视图的描述称为A)外模式B)概念模式C)内模式D)存储模式9.将E-R图转换到关系模式时,实体与联系都可以表示成A)属性B)关系C)键D)域10.SQL语言又称为A)结构化定义语言B)结构化控制语言C)结构化查询语言D)结构化操纵语言11.下列叙述中正确的是A)C语言编译时不检查语法B)C语言的子程序有过程和函数两种C)C语言的函数可以嵌套定义D)C语言的函数可以嵌套调用12.在C语言中,退格符是A)\nC)\fD)\b13.以下叙述中正确的是A)构成C程序的基本单位是函数B)可以在一个函数中定义另一个函数C)main()函数必须放在其他函数之前D)所有被调用的函数一定要在调用之前进行定义14.若已定义:int a=25,b=14,c=19;以下三目运算符(?:)所构成语句的执行后a<=25&&b--<=2&&c?printf("***a=%d,b=%d,c=%d\n",a,b,c):printf("###a=% d, b=%d,c=%d\n",a,b,c);程序输出的结果是A)***a=25,b=13,c=19B)***a=26,b=14,c=19C)### a=25,b=13,c=19D)### a=26,b=14,c=1915.下列程序段的输出结果是int a=1234;float b=123.456;double c=12345.54321;printf("-,%2.1f,%2.1f",a,b,c);A)无输出B)12,123.5,12345.5C)1234,123.5,12345.5D)1234,123.4,1234.516.若运行以下程序时,从键盘输入ADescriptor(表示回车),则下面程序的运行结果是#includemain()int v0=1,v1=0,v2=0;do{ switch(c=getchar()){ case ′a′:case ′A′:case ′e′:case ′E′:case ′i′:case ′I′:case ′o′:case ′O′:case ′u′:case ′U′:v1+=1;default:v0+=1;v2+=1;}} while(c!=′\n′);printf("v0=%d,v1=%d,v2=%d\n",v0,v1,v2); } A)v0=7,v1=4,v2=7B)v0=8,v1=4,v2=8C)v0=11,v1=4,v2=11D)v0=13,v1=4,v2=1217.设有以下程序段int x=0,s=0;while(!x!=0)s+=++x;printf("%d",s);则A)运行程序段后输出0B)运行程序段后输出1C)程序段中的控制表达式是非法的D)程序段执行无限次18.执行下面的程序段后,变量k中的值为int k=3, s[2];s[0]=k; k=s[1]*10;A)不定值B)33D)1019.以下程序段的描述,正确的是x=-1;do{x=x*x;} while(!x);A)是死循环B)循环执行两次C)循环执行一次D)有语法错误20.有如下程序段int a=14,b=15,x;char c=′A′;x=(a&&b)&&(c<′B′);执行该程序段后,x的值为A)tureB)falseC)0D)121.下列程序执行后的输出结果是void func1(int i);void func2(int i);char st[]="hello,friend!"; void func1(int i){ printf("%c",st[i]);if(i<3){i+=2;func2(i);}}void func2(int i){ printf("%c",st[i]);if(i<3){i+=2;func1(i);}}main(){ int i=0; func1(i); printf("\n");}A)helloB)helC)hloD)hlm22.以下函数返回a所指数组中最大值所在的下标值fun(int *a,int n){ int i,j=0,p;p=j;for(i=j;iif(a[i]>a[p]);return(p);}在下划线处应填入的内容是A)i=pB)a[p]=a[i]C)p=jD)p=i23.以下程序的输出结果是#includevoid prt (int *x, int*y, int*z){ printf("%d,%d,%d\n",++*x,++*y,*(z++));} main(){ int a=10,b=40,c=20;prt (&a,&b,&c);prt (&a,&b,&c);}A)11,42, 3112,22,41B)11,41,2012,42,20C)11,21,4011,21,21D)11,41,2112,42,2224.有如下程序main(){ char s[]="ABCD", *p;for(p=s+1; p}该程序的输出结果是A)ABCDBCDCDDB)ABCDC)BCDD)BCDCDD25.下列程序执行后的输出结果是main(){ int a[3][3], *p,i;p=&a[0][0];for(i=1; i<9; i++)p[i]=i+1; printf("%d\n",a[1][2]); }B)6C)9D)随机数31.以下对结构体类型变量的定义中,不正确的是A)typedef struct aa{ int n;float m;} AA;AA tdl;B)#define AA struct aaAA{ int n;float m;} tdl;C)struct{ int n;float m;} aa;struct aa tdl;D)struct{ int n;float m;} tdl;32.在下述程序中,判断i>j共执行的次数是main(){ int i=0, j=10, k=2, s=0;for (;;){ i+=k;if(i>j){ printf("%d",s);break;}}A)4B)7C)5D)633.若有以下程序#includevoid f(int n);main(){ void f(int n);f(5);}void f(int n){ printf("%d\n",n); }则以下叙述中不正确的是A)若只在主函数中对函数f进行说明,则只能在主函数中正确调用函数f B)若在主函数前对函数f进行说明,则在主函数和其后的其他函数中都可以正确调用函数fC)对于以上程序,编译时系统会提示出错信息:提示对f函数重复说明D)函数f无返回值,所以可用void将其类型定义为无返回值型34.以下程序的输出是struct st{ int x; int *y;} *p;int dt[4]={ 10,20,30,40 };struct st aa[4]={ 50,&dt[0],60,&dt[0],60,&dt [0],60,&dt[0]}; main(){ p=aa;printf("%d\n",++(p->x));}A)10B)11C)51D)6035.有以下程序#includemain(){ FILE *fp; int i=20,j=30,k,n;fp=fopen("d1.dat","w");fprintf(fp,"%d\n",i);fprintf(fp,"%d\n",j);fclose(fp);fp=fopen("d1.dat","r");fscanf(fp,"%d%d",&k,&n); printf("%d %d\n",k,n);fclose(fp);}程序运行后的输出结果是A)20 30B)20 50C)30 50D)30 20二、填空题(每空2分,共计30分)1.数据结构分为逻辑结构与存储结构,线性链表属于【1】。
全国计算机等级考试二年级C语言笔试试卷含答案
全国计算机等级考试二年级C语言笔试试卷含答案文件管理序列号:[K8UY-K9IO69-O6M243-OL889-F88688]2007年9月全国计算机等级考试二级C语言真题及参考答案一、选择题((1)-(10)每题2分,(11)-(50)每题1分.共60分))下列各题A)、B)、C)、D)四个选项中,只有一个是正确的,请将正确选项涂写在答题卡上,答在试卷上不得分。
(1)软件是指A)程序 B)程序和文档C)算法加数据结构 D)程序、数据和相关文档的集合(2)软件调试的目的是A)发现错误 B)改正错误C)改善软件的性能 D)验证软件的正确性(3)在面向对象方法中,实现信息隐蔽是依靠A)对象的继承 B)对象的多态C)对象的封装 D)对象的分类(4)下列叙述中,不符合良好程序设计风格的是A)程序的效率第一,清晰第二 B)程序的可读性好C)程序中有必要的注释 D)输入数据前要有提示信息(5)下列叙述中正确的是A)程序执行的效率与数据的存储结构密切相关B)程序执行的效率只取决于程序的控制结构C)程序执行的效率只取决于所处理的数据量D)以上三种说法都不对(6)下列叙述中正确的是A)数据的逻辑结构与存储结构必定是一一对应的B)由于计算机存储空间是向量式的存储结构,因此,数据的存储结构一定是线性结构C)程序设计语言中的数组一般是顺序存储结构,因此,利用数组只能处理线线结构D)以上三种说法都不对(7)冒泡排序在最坏情况下的比较次数是A)n(n+1)/2 B)nlog2n C)n(n-1)/2 D)n/2(8)一棵二叉树中共有70个叶子结点与80个度为1的结点,则该二叉树中的总结点数为A)219 B)221 C)229 D)231(9)下列叙述中正确的是A)数据库系统是一个独立的系统,不需要操作系统的支持B)数据库技术的根本目标是要解决数据的共享问题C)数据库管理系统就是数据库系统D)以上三种说法都不对(10)下列叙述中正确的是A)为了建立一个关系,首先要构造数据的逻辑关系B)表示关系的二维表中各元组的每一个分量还可以分成若干数据项C)一个关系的属性名表称为关系模式D)一个关系可以包括多个二维表(11)C语言源程序名的后缀是A).exe B).C C).obj D).cp(12)可在C程序中用做用户标识符的一组标识符是A)and B)Date C)Hi D)case_2007 y-m-d Dr.Tom Bigl(13)以下选项中,合法的一组C语言数值常量是A)028 B)12. C).177 D)0x8A. 5e-3 OXa23 4c1.5 10,000-0xf 4.5e0 Oabc 3.e5(14)以下叙述中正确的是A)C语言程序将从源程序中第一个函数开始执行B)可以在程序中由用户指定任意一个函数作为主函数,程序将从此开始执行C)C语言规定必须用main作为主函数名,程序将从此开始执行,在此结束D)main可作为用户标识符,用以命名任意一个函数作为主函数(15)若在定义语句:int a,b,c,*p=&c;之后,接着执行以下选项中的语句,则能正确执行的语句是A)scanf("%d",a,b,c); B)scanf("%d%d%d",a,b,c);C)scanf("%d",p); D)scanf("%d",&p);(16)以下关于long、int和short类型数据占用内存大小的叙述中正确的是A)均占4个字节 B)根据数据的大小来决定所占内存的字节数C)由用户自己定义 D)由C语言编译系统决定(17)若变量均已正确定义并赋值,以下合法的C语言赋值语句是A)x=y==5; B)x=n%2.5; C)x+n=I; D)x=5=4+1;(18)有以下程序段int j; float y; char name[50];scanf("%2d%f%s",&j,&y,name);当执行上述程序段,从键盘上输入55566 7777abc后,y的值为A)55566.0 B)566.0 C)7777.0 D)566777.0(19)若变量已正确定义,有以下程序段i=0;do printf("%d,",i);while(i++);printf("%d\n",i)其输出结果是A)0,0 B)0,1 C)1,1 D)程序进入无限循环(20)有以下计算公式若程序前面已在命令中包含math.h文件,不能够正确计算上述公式的程序段是A)if(x>=0) y=sqrt(x); B)y=sqrt(x)else y=sqrt(-x); if(x<0) y=sqrt(-x);C)if(x>=0)y=sqrt(x); D)y=sqrt(x>=0x:-x);If(x<0)y=sqrt(-x);(21)设有条件表达式:(EXP)i++;j--,则以下表达式中(EXP)完全等价的是A)(EXP= =0) B)(EXP!=0) C)(EXP= =1) D)(EXP!=1)(22)有以下程序#includemain(){int y=9;for( y>0;y--)if(y%3= =0) printf("%d",--y);}程序的运行结果是A)741 B)963 C)852 D)875421(23)已有定义:char c; ,程序前面已在命令行中包含ctype.h文件,不能用于判断c中的字符是否为大写字母的表达式是A)isupper(c) B)’A’<=c<=’Z’C)’A’<=c&&c<=’Z’ D)c<=(‘2’-32)&&(‘a’-32)<=c(24)有以下程序#includemain(){int i,j,m=55;for(i=1;i<=3;i++)for(j=3;j<=i;j++) m=m%j;printf("%d\n",m);}程序的运行结果是A)0 B)1 C)2 D)3(25)若函数调用时的实参为变量时,以下关于函数形参和实参的叙述中正确的是A)函数的实参和其对应的形参共占同一存储单元B)形参只是形式上的存在,不占用具体存储单元C)同名的实参和形参占同一存储单元D)函数的形参和实参分别占用不同的存储单元(26)已知字符’A’的ASCⅡ代码值是65,字符变量c1的值是’A’,c2的值是’D’。
2007年浙江省计算机二级C语言试卷以及答案
2007年春浙江省高等学校计算机等级考试试卷(二级C)试题1(每小题3分,共12分)阅读下列程序说明和程序,在每小题提供的若干可选答案中,挑选一个正确答案。
【程序说明】输入一个正整数,按照从高位到低位的顺序输出各位数字。
运行示例:Enter an integer: 1902The digits are: 1 9 0 2【程序】#include <stdio.h>void main( ){ int digit, number, power, t;printf("Enter an integer:");scanf("%d", &number);number = number < 0 ? -number : number;power = 1;(1)while( (2) ){power *= 10;t /= 10;};printf("The digits are:");while( (3) ){digit = number / power;printf("%d " , digit);(4)power /= 10;}}【供选择的答案】(1) A、 t = 1; B、t = number;C、 ;D、number = 1;(2) A、t >= 10 B、power >= 100C、t != 0D、number != 0(3) A、 power == 0 B、digit != 0C、number != 0D、power >= 1(4) A、number /= power; B、number %= 10;C、number %= power;D、number /= 10;试题2(每小题3分,共12分)阅读下列程序说明和程序,在每小题提供的若干可选答案中,挑选一个正确答案。
【程序说明】连续输入一批学生的成绩,直到输入成绩的数量超过50个或者输入的成绩不是有效成绩(有效成绩为0~100),将输入的有效成绩存入数组mark中,在数组中查找并输出最高分。
二级C语言真题2007年09月
2003年4月全国计算机等级考试二级C语言程序设计笔试真题(考试时间120分钟,满分100分)一、选择题((1)-(40)题每题1分,(41)-(50)题每题2分,共60分)下列各题A) 、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确的选项涂写在答题卡相应位置上,答在试卷上不得分。
(1) 用8位无符号二进制数能表示的最大十进制数为A) 127 B) 128 C) 255 D) 256(2) 在64位高档微机中,一个字长所占的二进制位数为A) 8 B) 16 C) 32 D) 64(3) 在Windows环境下,为了复制一个对象,在用鼠标拖动该对象时应同时按住A) Alt键B) Esc键C) Shift键D) Ctrl键(4) 在Windows菜单中,暗淡(灰色)的命令项表示该命令A) 暂时不能用B) 正在执行C) 包含下一层菜单D) 包含对话框(5) 在DOS环境下,为了得到TYPE命令的帮助信息,正确的DOS命令为A) TYPE B) TYPE/H C) TYPE/* D) TYPE/?(6) 下列选项中,能作为合法DOS文件名的是A) ANP/A.DAT B) ABCCOM C) ECD.BASIC D) XY+Z.TXT(7) 下列叙述中正确的是A) 在Windows环境下,最大化的窗口是不能移动的B) 在Windows环境下,应用程序窗口最小化后,该应用程序暂停执行C) 在Windows环境下,只有最小化的窗口才能关闭D) 在Windows环境下,不能关闭最小化窗口(8) 在Windows环境下,工具栏中用于完成复制操作的按钮是A) 打印按钮B) 剪切按钮C) 复制按钮D) 粘贴按钮(9) 在Windows环境下,若要将整个屏幕上显示的内容存入剪贴板,可以按A) Ctrl+Printscreen键B) Alt+Printscreen键C) Shift+Printscreen键D) Printscreen键(10) 目前,计算机病毒扩散最快的途径是A) 通过软件复制B) 通过网络传播C) 通过磁盘拷贝D) 运行游戏软件(11) 以下叙述正确的是A) C语言比其他语言高级B) C语言可以不用编译就能被计算机识别执行C) C语言以接近英语国家的自然语言和数学语言作为语言的表达形式D) C语言出现的最晚、具有其他语言的一切优点(12) C语言中用于结构化程序设计的三种基本结构是A) 顺序结构、选择结构、循环结构B) if、switch、breakC) for、while、do-whileD) if、for、continue(13) 在一个C语言程序中A) main函数必须出现在所有函数之前B) main函数可以在任何地方出现C) main函数必须出现在所有函数之后D) main函数必须出现在固定位置(14) 下列叙述中正确的是A) C语言中既有逻辑类型也有集合类型B) C语言中没有逻辑类型但有集合类型C) C语言中有逻辑类型但没有集合类型D) C语言中既没有逻辑类型也没有集合类型(15) 下列关于C语言用户标识符的叙述中正确的是A) 用户标识符中可以出现下划线和中划线(减号)B) 用户标识符中不可以出现中划线,但可以出现下划线C) 用户标识符中可以出现下划线,但不可以放在用户标识符的开头D) 用户标识符中可以出现下划线和数字,它们都可以放在用户标识符的开头(16) 若有以下程序段(n所赋的是八进制数)int m=32767,n=032767;printf("%d,%o\n",m,n);执行后输出结果是A) 32767,32767B) 32767,032767C) 32767,77777D) 32767,077777(17) 下列关于单目运算符++、--的叙述中正确的是A) 它们的运算对象可以是任何变量和常量B) 它们的运算对象可以是char型变量和int型变量,但不能是float型变量C) 它们的运算对象可以是int型变量,但不能是double型变量和float型变量D) 它们的运算对象可以是char型变量、int型变量和float型变量(18) 若有以下程序段int m=0xabc,n=0xabc;m-=n;printf("%X\n",m);执行后输出结果是A) 0X0 B) 0x0 C) 0 D) 0XABC(19) 有以下程序段int m=0,n=0; char c='a';scanf("%d%c%d",&m,&c,&n);printf("%d,%c,%d\n",m,c,n);若从键盘上输入:10A10<回车>,则输出结果是:A) 10,A,10 B) 10,a,10 C) 10,a,0 D) 10,A,0(20) 有以下程序main(){ int i;for(i=0;i<3;i++)switch(i){ case 1: printf("%d",i);case 2: printf("%d",i);default: printf("%d",i);}}执行后输出的结果是A) 011122 B) 012 C) 012020 D) 120(21) 有以下程序main(){ int i=1,j=1,k=2;if((j++||k++)&&i++) printf("%d,%d,%d\n",i,j,k); }执行后输出的结果是A) 1,1,2 B) 2,2,1 C) 2,2,2 D) 2,2,3(22) 有以下程序main(){ int a=5,b=4,c=3,d=2;if(a>b>c)printf("%d\n",d);else if((c-1>=d)==1)printf("%d\n",d+1);elseprintf("%d\n",d+2);}执行后输出的结果是A) 2 B) 3 C) 4 D) 编译时有错,无结果(23) 有以下程序main(){ int p[7]={11,13,14,15,16,17,18},i=0,k=0; while(i<7&&p[i]%2){k=k+p[i]; i++;}printf("%d\n",k);}执行后输出的结果是A) 58 B) 56 C) 45 D) 24(24) 有以下程序main(){ int i=0,s=0;do{if(i%2){i++;continue;}i++;s+=i;} while(i<7);printf("%d\n",s);}执行后输出的结果是A) 16 B) 12 C) 28 D) 21(25) 有以下程序main(){ int i=10,j=1;printf("%d,%d\n",i--,++j);}执行后输出的结果是A) 9,2 B) 10,2 C) 9,1 D) 10,1(26) 有以下程序main(){ char a,b,c,*d;a='\'; b='\xbc';c='\0xab'; d="\0127";printf("%c%c%c%c\n",a,b,c,*d);}编译时出现错误,以下叙述中正确的是A) 程序中只有a='\';语句不正确B) b='\xbc';语句不正确C) d="\0127";语句不正确D) a='\';和c='\0xab';语句都不正确(27) main(){int a=4,b=3,c=5,d,e,f;d=f1(a,b); d=f1(d,c);e=f2(a,b); e=f2(e,c);f=a+b+c-d-e;printf("%d,%d,%d\n",d,f,e);}执行后输出的结果是A) 3,4,5 B) 5,3,4 C) 5,4,3 D) 3,5,4(28) 有以下程序void f(int x,int y){ int t;if(x<y){ t=x; x=y; y=t; }}main(){ int a=4,b=3,c=5;f(a,b); f(a,c); f(b,c);printf("%d,%d,%d\n",a,b,c);}执行后输出的结果是A) 3,4,5 B) 5,3,4 C) 5,4,3 D) 4,3,5(29) 若有一些定义和语句#include <stdio.h>int a=4,b=3,*p,*q,*w;p=&a; q=&b; w=q; q=NULL;则以下选项中错误的语句是A) *q=0; B) w=p; C) *p=va; D) *p=*w;(30)有以下程序int *f(int *x,int *y){ if(*x<*y)return x;elsereturn y;}main(){ int a=7,b=8,*p,*q,*r;p=&a; q=&b;r=f(p,q);printf("%d,%d,%d\n",*p,*q,*r);}执行后输出结果是A) 7,8,8 B) 7,8,7 C) 8,7,7 D) 8,7,8(31)有以下程序main(){ char *s[]={"one","two","three"},*p;p=s[1];printf("%c,%s\n",*(p+1),s[0]);}执行后输出结果是A) n,two B) t,one C) w,one D) o,two(32)有以下程序main(){ int x[8]={8,7,6,5,0,0},*s;s=x+3;printf("%d\n",s[2]);}执行后输出结果是A) 随机值B) 0 C) 5 D) 6(33) 以下能正确定义数组并正确赋初值的语句是A) int N=5,b[N][N];B) int a[1][2]={{1},{3}};C) int c[2][]={{1,2},{3,4}};D) int d[3][2]={{1,2},{3,4}};(34)有以下程序main(){ int m[][3]={1,4,7,2,5,8,3,6,9};int i,j,k=2;for(i=0;i<3;i++){ printf("%d ",m[k][i]); }}执行后输出结果是A) 4 5 6 B) 2 5 8 C) 3 6 9 D) 7 8 9(35) 以下函数的功能是:通过键盘输入数据,为数组中的所有元素赋值。
2007试卷答案c
2007 -2008 学年第 1 学期《高级语言程序设计》期末考试试题参考答案及评分标准一、选择题(每小题2分,共30分)二、填空题(每小题2分,共10分)1.6和42.363.int *p[n]的含义是定义指针数组p,它由n个指向整型数据的指针元素组成,int (*p)[n] 的含义是p为指向含n个元素的一维数组的指针变量。
4.*p>*s5.4,F三、程序阅读题(每小题6分,共30分)1.0B2B4B每个结果1分,如果格式不对扣1分。
2.123789每个结果1分,如果格式不对扣1分。
3.0.000000-1.0000000.5000000.2000000.12500010.000000每个结果1分,如果格式不对扣1分。
4.ABFGKLPCDHYZ每个结果1分,如果格式不对扣1分。
5.□□7□□17□□17□代表空格,每个结果1分,如果格式不对扣1分。
四、编程题(每小题10分,共30分)1.循环实现的小程序:#include<stdio.h>void main(){int i,sum;for (i=1,sum=0; i<=100; i++) (2分)sum+=i; (4分)printf("the sum is %d\n",sum);} (5分)递归实现的小程序:#include<stdio.h>int f(int n){int ff;if (n==1) ff=1; (1分)else ff=f(n-1)+n; (2分)return(ff); (3分)}void main(){printf("the sum is %d\n",f(100));} (5分)每个小程序5分。
2.#include<stdio.h>void factor(int n){int i;for (i=1; i<n; i++) (2分)if (n%i==0) printf("%d,",i);} (4分)void main(){int i,a[10];for(i=0; i<10; i++)scanf("%d",&a[i]); (5分)for (i=0; i<10; i++) (7分){printf("the factors of %d are: ",a[i]);factor(a[i]);printf("\n");} (10分)}3.#include <stdio.h>void main(){struct student{int num;char name[20];int score[3];}stu[10]; (2分)int i,k=0;float ave,high=0;for (i=0; i<10; i++)scanf("%d,%d,%d,%d,%s",&stu[i].num,&stu[i].score[0],&stu[i].score[1],&stu[i].scor e[2],stu[i].name); (4分)for (i=0; i<10; i++) (5分){ave=(stu[i].score[0]+stu[i].score[1]+stu[i].score[2])/3.0; (6分)if (ave>high){high=ave;k=i;}} (9分)printf("NO.:%d name:%s score:%d,%d,%d average:%f\n", stu[k].num, stu[k].name, stu[k].score[0], stu[k].score[1], stu[k].score[2], high); (10分)}。
2007年初春C++语言考试试题A(参考答案)
《计算机高级语言(C++)》考试试卷A(参考答案)一、简答题(本大题共10小题,每小题3分,共30分)1、计算机软件是完成特定功能的程序,以及程序运行时所需要的文档、数据和相关资料的集合体。
2、指针运算主要有算术运算、比较运算和赋值运算三种。
如px是一个指针,x 为一个同类型的变量,n 为一个整数,则px++, px--,px=px+n, px==0, px=&x等等。
3、主要有整型常量、实型常量、字符型常量、字符串型常量、符号常量和换吗序列六种。
如 101, 34.5, 1.65e+13, ‘h’, “Hello”,NULL, ‘\65’等等。
4、应该为四种:auto、register、static和extern型。
auto使用堆栈空间的数据,只能为局部变量;register使用CPU中的寄存器空间,如没有就使用堆栈空间,只能为局部变量;static使用程序空间的数据,具有全局寿命,可以为局部变量,也可以为全局变量;extern使用其它编译单位的数据。
5、相同点都是将实参数据传递给一个函数,不同点是引用是实参的别名,使用的就是实参;而地址传递使用的是实参的地址,函数中通过目标计算获得实参数据。
6、类定义的一般形式如下:class <类名称>:<基类列表>{public:<数据成员或函数成员的声明或定义>private:<数据成员或函数成员的声明或定义>protected:<数据成员或函数成员的声明或定义>};<类型> <类名称>::<函数名称>(<参数声明>){<语句序列>}7、类类型中,构造函数其名称与类名称相同,没有返回值,主要用于对象的初始化,另外,构造函数可以重载,初始化有多种形式。
8、在类定义体中,函数名称之前的friend是声明一个全局函数为当前类的友元函数。
c语言试题及答案大全
c语言试题及答案大全C语言是一种通用的高级编程语言,被广泛应用于软件开发和系统编程。
掌握C语言的知识对于计算机科学专业学生和程序员来说至关重要。
本文将为您提供一份C语言试题及答案大全,帮助您巩固和扩展自己的C语言知识。
第一部分:基础概念和语法1. 什么是C语言?答案:C语言是一种高级编程语言,由贝尔实验室的Dennis Ritchie 在20世纪70年代开发。
它是Unix操作系统及其应用程序的主要编程语言。
2. C语言的特点是什么?答案:C语言具有简洁、高效、可移植性强的特点。
它提供了丰富的控制结构和数据类型,并允许直接访问计算机内存。
3. C语言的基本数据类型有哪些?答案:C语言的基本数据类型包括整型、浮点型、字符型和指针型等。
其中整型可以分为短整型、整型、长整型和长长整型。
4. 请解释一下C语言中的变量作用域。
答案:C语言中的变量作用域指的是变量的可见性和生命周期。
在C语言中,变量的作用域可以是全局的或局部的。
全局变量定义在函数之外,可以被程序的任何部分访问。
局部变量定义在函数内部或代码块内部,只能在其所在的作用域内访问。
5. C语言中有哪些控制语句?答案:C语言中常用的控制语句有条件语句(if-else语句)、循环语句(for循环、while循环和do-while循环)和跳转语句(break语句、continue语句和goto语句)等。
第二部分:程序设计题1. 写一个程序,输入两个整数,并输出它们的和。
答案:```c#include <stdio.h>int main() {int a, b, sum;printf("请输入两个整数:");scanf("%d %d", &a, &b);sum = a + b;printf("它们的和是:%d\n", sum);return 0;}```2. 写一个程序,计算并输出1到n之间所有整数的平方。
2007-2011计算机二级C语言考试真题及答案
2007年9月全国计算机等级考试二级笔试试卷C语言程序设计(考试时间120分钟,满分100分)一、选择题((1)——(10)每题2分,(11)—(50)每题1分,共60分)下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡上,答在试卷上不得分。
(1)软件是指 DA)程序B)程序和文档C)算法加数据结构D)程序、数据与相关文档的完整集合(2)软件调试的目的是 BA)发现错误B)改正错误C)改善软件的性能D)验证软件的正确性(3)在面向对象中,实现信息隐蔽是依靠 CA)对象的继承B)对象的多态C)对象的封装D)对象的分类(4)下列叙述中,不符合良好程序设计风格要求的是 A A)程序的效率第一,清晰第二B)程序的可读性好C)程序中要有必要的注释D)输入数据前要有提示信息(5)下列叙述中正确的是 AA)程序执行的效率与数据的存储结构密切相关B)程序执行的效率只取决于程序的控制结构C)程序执行的效率只取决于所处理的数据量D)以上三种说法都不对(6)下列叙述中正确的是 DA)数据的逻辑结构与存储结构必定是一一对应的B)由于计算机存储空间是向量式的存储结构,因此,数据的存储结构一定是线性结构C)程序设计语言中的数组一般是顺序存储的,因此,利用数组只能处理线性结构D)以上三种说法都不对(7)冒泡排序在最坏情况下的比较次数是 CA)n(n+1)/2 B)nlog2n C)n(n-1)/2 D)n/2 (8)一棵二叉树中共有70个叶子结点与80个度为1的结点,则该二叉树中的总结点数为 AA)219 B)221 C)229 D)231 (9)下列叙述正确的是 BA)数据系统是一个独立的系统,不需要操作系统的支持B)数据库技术的根本目标是要解决数据的共享问题C)数据库管理系统就是数据库系统D)以上三种说法都不对(10)下列叙述中正确的是 AA)为了建立一个关系,首先要构造数据的逻辑关系B)表示关系二维表中各元组的每一个分量还可以分成若干数据项C)一个关系的属性名表称为关系模式D)一个关系可以包括多个二维表(11)C语言源程序名的后缀是A).exe B).C C).obj D).cp (12)可在C程序中用作用户标识符的一组标识符是A)and B)Date C)Hi D)case2007 y-m-d Dr. Tom Bigl (13)以下选项中,合法的一组C语言数值常量是A)028 B)12 C)177 D)0x8A .5e-3 OXa23 4c1.5 10,000 (14)以下叙述正确的是A)C语言程序将从源程序中第一个函数开始执行B)可以在程序中由用户指定任意一个函数作为主函数,程序将从此开始执行C)C语言规定必须用min作为主函数名,程序将从开始执行,在此结束D)min可作为用户标识符,用以命名任意一个函数作为主函数(15)若在定义语句:int a,b,c*p=&c;之后,接着执行以下选项中的语句,则能正确执行的语句是A)scanf(“%d”,a,b,c);B)scanf(“%d%d%d”,a,b,c);C )scanf(“%d”,p);D )scanf(“%d”,&p)(16)以下关于long 、int 和short 类型数据占用内存大小的叙述中正确的是A )均占4个字节B )根据数据的大小来决定所占内存的字节表C )由用户自己定义D )由C 语言编译系统决定(17)若变量均已正确定义并赋值,以下合法的C 语言赋值语句是A )x =y =5;B )x =n%2.5;C )x+n =l ;D )x =5=4+1(18)有以下程序段int j ; float y ; char name[50];scanf(“%2d%f%s”,&j,&y,name)当执行上述程序段,从键盘上输入55566 7777abc 后,y 的值为A )55560.0B )566.0C )7777.0D )566777.0(19)若变量已正确定义,有以下程序段i =0;do printf(“%d,”i); while(i++);printf(“%d \n”,i);其输出结果是A )0,0B )0,1C )1,1D )程序进入无限循环(20)有以下计算公式y = (0)(0)x x ≥<若程序前面已在命令行中包含math.h 文件,不能够正确计算上述公式的程序段是A )if(x >=0) y =sprt(x);B )y =sqrt(x);else y =sqrt(-x); if(x <0)y =sqrt(x)C )if(x >=0)y =sqrt(x);D )y =sqrt(x >0?x;-x)If(x <0)y =sqrt(-x);(21)设有条件表达式:(EXP)? i++ ; j —,则以下表达式中与(EXP )完全等价的是A)(EXP=0)B)(EXP!=0)C)(EXP=1)D)(EXP!=1)(22)有以下程序#include <stdio,h>main()﹛inf y=9;for( ; y>0; y--)if(y%3=0) printf(“%d”, ‥y﹜程序的运行结果是A)741 B)963 C)852 D)875421 (23)已有定义:char c;,程序前面已在命令行中包含ctype. h 文件。
2011年3月全国计算机等级考试二级C语言笔试真题与答案【附珍贵解题方案】
2011年3月全国计算机等级考试二级C语言笔试真题一、选择题(1)下列关于栈叙述正确的是A)栈顶元素最先能被删除B)栈顶元素最后才能被删除C)栈底元素永远不能被删除D)以上三种说法都不对(2)下列叙述中正确的是A)有一个以上根结点的数据结构不一定是非线性结构B)只有一个根结点的数据结构不一定是线性结构C)循环链表是非线性结构D)双向链表是非线性结构(3)某二叉树共有7个结点,其中叶子结点只有1个,则该二叉树的深度为(假设根结点在第1层)A)3 B)4 C)6 D)7(4)在软件开发中,需求分析阶段产生的主要文档是A)软件集成测试计划B)软件详细设计说明书C)用户手册D)软件需求规格说明书(5)结构化程序所要求的基本结构不包括A)顺序结构B)GOTO跳转C)选择(分支)结构D)重复(循环)结构(6)下面描述中错误的是A)系统总体结构图支持软件系统的详细设计B)软件设计是将软件需求转换为软件表示的过程C)数据结构与数据库设计是软件设计的任务之一D)PAD图是软件详细设计的表示工具(7)负责数据库中查询操作的数据库语言是A)数据定义语言B)数据管理语言C)数据操纵语言D)数据控制语言(8)一个教师可讲授多门课程,一门课程可由多个教师讲授。
则实体教师和课程间的联系是A)1:1联系B)1:m联系C)m:1联系D)m:n联系(9)有三个关系R、S和T如下:则由关系R和S得到关系T的操作是A)自然连接B)交C)除D)并(10)定义无符号整数类为UInt,下面可以作为类UInt实例化值的是A)-369 B)369 C)0.369 D)整数集合{1,2,3,4,5}(11)计算机高级语言程序的运行方法有编译执行和解释执行两种,以下叙述中正确的是A)C语言程序仅可以编译执行B)C语言程序仅可以解释执行C)C语言程序既可以编译执行又可以解释执行D)以上说法都不对(12)以下叙述中错误的是A)C语言的可执行程序是由一系列机器指令构成的B)用C语言编写的源程序不能直接在计算机上运行C)通过编译得到的二进制目标程序需要连接才可以运行D)在没有安装C语言集成开发环境的机器上不能运行C源程序生成的.exe 文件(13)以下选项中不能用作C程序合法常量的是A)1,234 B)'\123'C)123 D)"\x7G"(14)以下选项中可用作C程序合法实数的是A).1e0 B)3.0e0.2C)E9 D)9.12E(15)若有定义语句:int a=3,b=2,c=1;,以下选项中错误的赋值表达式是A)a=(b=4)=3; B)a=b=c+1;C)a=(b=4)+c; D)a=1+(b=c=4);(16)有以下程序段char name[20];int num;scanf("name=%s num=%d",name;&num);当执行上述程序段,并从键盘输入:name=Lili num=1001<回车>后,name 的值为A)Lili B)name=LiliC)Lili num= D)name=Lili num=1001(17)if语句的基本形式是:if(表达式)语句,以下关于“表达式”值的叙述中正确的是A)必须是逻辑值B)必须是整数值C)必须是正数D)可以是任意合法的数值(18)有以下程序#includemain(){ int x=011;printf("%d\n",++x);}程序运行后的输出结果是A)12 B)11 C)10 D)9(19)有以下程序#include <stdio.h>main(){ int s;scanf("%d",&s);while(s>0){ switch(s){ case 1:printf("%d",s+5);case 2:printf("%d",s+4); break;case 3:printf("%d",s+3);default:printf("%d",s+1);break;}scanf("%d",&s);}}运行时,若输入1 2 3 4 5 0<回车>,则输出结果是A)6566456 B)66656 C)66666 D)6666656(20)有以下程序段int i,n;for(i=0;i<8;i++){ n=rand()%5;switch (n){ case 1:case 3:printf("%d\n",n); break;case 2:case 4:printf("%d\n",n); continue;case 0:exit(0);}printf("%d\n",n);}以下关于程序段执行情况的叙述,正确的是A)for循环语句固定执行8次B)当产生的随机数n为4时结束循环操作C)当产生的随机数n为1和2时不做任何操作D)当产生的随机数n为0时结束程序运行(21)有以下程序#include <stdio.h>main(){ char s[]="012xy\08s34f4w2";int i,n=0;for(i=0;s[i]!=0;i++)if(s[i]>='0'&&s[i]<='9') n++;printf("%d\n",n);}程序运行后的输出结果是A)0 B)3 C)7 D)8(22)若i和k都是int类型变量,有以下for语句for(i=0,k=-1;k=1;k++) printf("*****\n");下面关于语句执行情况的叙述中正确的是A)循环体执行两次B)循环体执行一次C)循环体一次也不执行D)构成无限循环(23)有以下程序#include <stdio.h>main()b='a'; c='A';for(i=0;i<6;i++){ if(i%2) putchar(i+b);else putchar(i+c);}printf("\n");}程序运行后的输出结果是A)ABCDEF B)AbCdEf C)aBcDeF D)abcdef(24)设有定义:double x[10],*p=x;,以下能给数组x下标为6的元素读入数据的正确语句是A)scanf("%f",&x[6]); B)scanf("%lf",*(x+6));C)scanf("%lf",p+6); D)scanf("%lf",p[6]);(25)有以下程序(说明:字母A的ASCII码值是65)#include <stdio.h>void fun(char *s){ while(*s){ if(*s%2) printf("%c",*s);s++;}}main(){ char a[]="BYTE";fun(a);printf("\n");}程序运行后的输出结果是A)BY B)BT C)YT D) YE(26)有以下程序段#include <stdio.h>main(){ …while( getchar()!='\n');…}以下叙述中正确的是A)此while语句将无限循环B) getchar()不可以出现在while语句的条件表达式中C)当执行此while语句时,只有按回车键程序才能继续执行D)当执行此while语句时,按任意键程序就能继续执行(27)有以下程序#include <stdio.h>main()if(!x) y++;else if(x==0)if (x) y+=2;else y+=3;printf("%d\n",y);}程序运行后的输出结果是A)3 B)2 C)1 D) 0(28)若有定义语句:char s[3][10],(*k)[3],*p;,则以下赋值语句正确的是A)p=s; B)p=k; C)p=s[0]; D)k=s;(29)有以下程序#include <stdio.h>void fun(char *c){ while(*c){ if(*c>='a'&&*c<='z') *c=*c-('a'-'A');c++;}}main(){ char s[81];gets(s);fun(s);puts(s);}当执行程序时从键盘上输入Hello Beijing<回车>,则程序的输出结果是A)hello beijing B)Hello BeijingC)HELLO BEIJING D)hELLO Beijing(30)以下函数的功能是:通过键盘输入数据,为数组中的所有元素赋值。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2007年9月全国计算机等级考试二级C笔试答案
选择
1~10 DBCAA DCABA 11~20 BABCC DABBB 21~30 BCBBD CCDAA
31~40 BACDC CDDDD 41~50 AABAD CDDCD
填空:1,正确性2,白盒3,链式4,ACBDFEHGP 5,实体
6,12 34 7.a:b 8.c:t1 9.54321 10.k<=n
11.k++ 12.ACE 13.efgh 14.x[0] 15.x[0]
16.c=getchar() 17.1 18.3 7 15 19.55 20.p->next
2008年4月全国计算机等级考试二级C笔试答案
选择:1-10 CAbBA DBCDC 11-20 CCBCB DBBBD 21-30 DADCA DDDAB
31-40 CCACC ABAAB
填空::1、输出2、16 3、24 4、关系5、数据定义语言6、0 7、3 8、##2##4
9、2 10、2468 11、3 5 12、4 13、13 14、person[i].sex 15、"filea.dat","r" 2008年9月全国计算机等级考试二级C笔试答案
选择题:
1-5 :B D C A D 6-10: B A B C D 11-15: C D A C D 16-20: A D C B A
21-25: C A B A B 26-30: C D D A B 31-35: C A C D B 36-40: C D D C B
填空题
1、DBXEAYFZC
2、单元
3、过程
4、逻辑设计
5、分量
6、a=-b
7、a=%d\nb=%d\n
8、1
9、9 9 11 10、3 11、15 12、i-- 13、n 14、func() 15、m++ 2009年9月计算机二级考试C语言真题答案
一、选择题: 1-10:CBDABACBCD 11-20:DCABBDCAAB
21-30:DCACDBACCB 31-40:DAACABADCC
二、填空题:(1)14(2)逻辑条件(3)需求分析(4)多对多(5) 身份证号(6) 5 (7) 1
(8) 1 0 (9) 5 (10) 0 1 123 (11) 3025 (12) &p.ID (13) How are you? How
(14) 16 (15) 1 3 6
2010年3月计算机二级考试C语言真题答案
一、选择题
01~05:ADBAC 06~10 :BADCA 11~15 :BADCC 16~20:DABCA
21~25 :DDABD 26~30:ADBCC 31~35:ACBCC 36~40 :BADAC
二、填空题:
1、A、B、C、D、E、F、5、4、3、
2、1 2、15
3、EDBGHFCA
4、程序
5、课号
6、x%3==0&&x%7==0
7、4
8、7
9、123569
10、135 11、101418 12、fabcde 13、x%10 14、‘\0'或者填写0 15、p
2010年9月计算机二级考试C语言真题答案
一:选择题:1-5:BCDAA 6-10 DDCCA 11-15:CBBBD 16-20: DAACB
21-25:BCBDC 26-30: CBDDA 31-35: ACBCD 36-40:BACBD
填空题:01):1DCBA2345 02):1 03):25 04):结构化05):物理设计06):2008 07):15 08):非0 09):1 4 13 40 10):i 11):2 12):a[row][col] 13):3 14):*s 15):FILE
2011年3月计算机二级考试C语言真题答案
一、选择题:
1-5 ABDDB 6-10 ACDCB
11-15 ADAAA 16-20 ADCAD
21-25 BDBCD 26-30 CDCCC
31-35 BBBDB 36-40 CDDCB
二、填空题:
【1】有序【2】DEBFCA 【3】单元
【4】主键【5】D 【6】3
【7】1217 【8】09 【9】4
【10】20 0 【11】i-1
【12】double avg(double,double);或double avg(double a,double b); 【13】13715 【14】emoclew 【15】123456。