2008年9月全国计算机二级笔试C语言程序设计真题及答案
2008年9月计算机等级考试二级C语言模拟试卷及其答案
2008年9月计算机等级考试二级C语言模拟试卷及其答案
转贴于:计算机二级考试_考试大
全国计算机等级考试二级C语言模拟试卷答案
一、选择题
(1)D
评析:算法的控制结构给出了算法的基本框架,不仅决定了算法中各操作的执行顺序,也直接反映了算法的设计是否符合结构化原则。
一个算法一般都可以用顺序、选择、循环三种基本控制结构组合而成。
(2)B
评析:数据的逻辑结构在计算机存储空间中的存放形式称为数据的存储结构。
《电力拖动控制线路与技能训练》试卷(A)
.21。
2008年9月全国计算机等级考试二级笔试真题(含答案)
一、选择题1.一个栈的初始状态为空。
现将元素1、2、3、4、5、A、B、C、D、E依次入栈,然后再依次出栈,则元素出栈的顺序是A)12345ABCDEB)EDCBA54321C)ABCDE12345D)54321EDCBA2.下列叙述中正确的是A)循环队列有队头和队尾两个指针,因此,循环队列是非线性结构B)在循环队列中,只需要队头指针就能反映队列中元素的动态变化情况C)在循环队列中,只需要队尾指针就能反映队列中元素的动态变化情况D)循环队列中元素的个数是由队头指针和队尾指针共同决定3.在长度为n的有序线性表中进行二分查找,最坏情况下需要比较的次数是A)O(n)B)O(n2)C)O(log2n)D)O(nlog2n)4.下列叙述中正确的是A)顺序存储结构的存储一定是连续的,链式存储结构的存储空间不一定是连续的B)顺序存储结构能存储有序表,链式存储结构不能存储有序表C)链式存储结构比顺序存储结构节省存储空间D)循环队列中元素的个数是由队头指针和队尾指针共同决定5.数据流图中带有箭头的线段表示的是A)控制流B)事件驱动C)模块调用D)数据流6.在软件开发中,需求分析阶段可以使用的工具是A)N-S图B)DFD图C)PAD图D)程序流程图7.在面向对象方法中,不属于“对象”基本特点的是A)一致性B)分类性C)多态性D)标识唯一性8.一间宿舍可以住多个学生,则实体宿舍和学生之间的联系是A)一对一B)一对多C)多对一D)多对多9.在数据管理技术发展的三个阶段中,数据共享最好的是A)人工管理阶段B)文件系统阶段C)数据库系统阶段D)三个阶段相同10.有三个关系R、S和T如下:由关系R和S通过运算得到关系T,则所用的运算为A)笛卡尔积B)交C)并D)自然连接二、填空题1.对下列二叉树进行中序遍历的结果是。
2.按照软件测试的一般步骤,集成测试应在测试之后进行。
3.软件工程三要素包括方法、工具和过程,其中,支持软件开发的各个环节的控制和管理4.数据库设计包括概念设计、和物理设计。
全国计算机等级考试二级C语言程序设计真题精选3(含答案)
全国计算机等级考试二级C语言程序设计真题精选3一、单项选择题1.下列关于C语言文件的叙述中正确的是()。
A.文件由一系列数据依次排列组成,只能构成二进制文件B.文件由结构序列组成,可以构成二进制文件或文本文件C.文件由数据序列组成,可以构成二进制文件或文本文件√D.文件由字符序列组成,其类型只能是文本文件解析:C语言将文件看作是一个字符(字节)的序列,即由一个一个字符(字节)数据顺序组成。
根据数据的组成形式,可将文件分为两种:①ASCII文件,又称文本(text)文件,它的每一个字节可放一个ASCII码,代表一个字符;②二进制文件,是把内存中的数据按其在内存中的存储形式原样输出到磁盘上存放。
所以C文件就是一个字节流或一个二进制流。
2.有以下程序:#includ<stdio.h>main()inm=1,n=2,*p=&m,*q=&n,*r; r=p,p=q;q=r; printf("%d,%d,%d,%",m,n,*p,*q);}程序运行后的输出结果是()。
A.1,2,1,2B.1,2.2,1 √C.2,1,2,1D.2,1.1,2解析:本题定义了两个整型变量,然后用两个指针分别指向这两个整型变量,接着对指针进行交换,那么原来指向第一个整数的指针将指向第二个整数,原来指向第二个整数的指针将指向第一个整数。
3.有以下程序:#includ<stdio.h>#include<string.h>strucAina;chab[10];doublc;};strucf (struct);main()struca={1001,"ZhangDa",1098.0}; a=f(a);printf ("%d,%s,%6.1",a.a,a.b,a.c);}strucf(struct)t.a=1002;strcpy(t.b,"ChangRong");t.c=1202.0;returt;}程序运行后的输出结果是()。
全国计算机等级考试二级教程——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语言程序设计二级考试真题
1、在C语言中,若需定义一个标识符以表示一个常量,通常使用:
A. const 关键字
B. #define 预处理指令
C. enum 关键字
D. typedef 关键字
(答案)B
2、以下哪个选项正确地描述了C语言中数组的内存分配?
A. 数组元素在内存中连续存储
B. 数组元素在内存中随机存储
C. 数组名代表数组第一个元素的值
D. 数组大小可以在运行时动态改变
(答案)A
3、在C语言中,关于指针的下列说法中,哪一个是正确的?
A. 指针变量的值可以是一个整数
B. 指针变量可以进行算术运算
C. 所有指针类型的大小都相同,但与所指向的数据类型有关
D. 一个指针变量只能指向一个固定类型的变量
(答案)B
4、在C语言中,若要在函数内部修改一个全局变量的值,需要:
A. 使用extern关键字声明该变量
B. 直接使用全局变量名,无需特别声明
C. 通过指针传递全局变量的地址
D. 将全局变量作为函数参数传递
(答案)B
5、以下哪个不是C语言的基本数据类型?
A. int
B. float
C. string
D. char
(答案)C
6、关于C语言中的结构体(struct),以下说法错误的是:
A. 结构体可以包含不同类型的数据成员
B. 结构体变量可以通过.运算符访问其成员
C. 结构体成员在内存中的顺序是固定的
D. 结构体类型的大小等于其所有成员大小之和
(答案)D。
2007—2008年全国计算机等级考试二级C语言真题及参考答案
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>=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’。
2008年9月全国计算机二级笔试C语言程序设计真题及答案
2008年9月全国计算机二级笔试C语言程序设计真题及答案2008年9月全国计算机二级笔试C语言程序设计真题及答案一、选择题((1)~(10)、(21)~(40)每题2 分,(11)~(20)每题1 分,70 分)下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项填涂在答题卡相应位置上,答在试卷上不得分。
(1)一个栈的初始状态为空。
现将元素1、2、3、4、5、A、B、C、D、E 依次入栈,然后再依次出栈,则元素出栈的顺序是()。
A)12345ABCDE B)EDCBA54321 C)ABCDE12345 D)54321EDCBA(2)下列叙述中正确的是()。
A)循环队列有队头和队尾两个指针,因此,循环队列是非线性结构B)在循环队列中,只需要队头指针就能反映队列中元素的动态变化情况C)在循环队列中,只需要队尾指针就能反映队列中元素的动态变化情况D)循环队列中元素的个数是由队头指针和队尾指针共同决定(3)在长度为n的有序线性表中进行二分查找,最坏情况下需要比较的次数是()。
A)O(n) B)O(n2) C)O(log2n) D)O(n log2n)(4)下列叙述中正确的是()。
A)顺序存储结构的存储一定是连续的,链式存储结构的存储空间不一定是连续的B)顺序存储结构只针对线性结构,链式存储结构只针对非线性结构C)顺序存储结构能存储有序表,链式存储结构不能存储有序表D)链式存储结构比顺序存储结构节省存储空间(5)数据流图中带有箭头的线段表示的是()。
A)控制流 B)事件驱动 C)模块调用 D)数据流(6)在软件开发中,需求分析阶段可以使用的工具是()。
A)N-S 图 B)DFD 图 C)PAD 图 D)程序流程图(7)在面向对象方法中,不属于“对象”基本特点的是()。
A)一致性 B)分类性 C)多态性 D)标识唯一性(8)一间宿舍可住多个学生,则实体宿舍和学生之间的联系是()。
A)一对一 B)一对多 C)多对一 D)多对多(9)在数据管理技术发展的三个阶段中,数据共享最好的是()。
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试资件且、术卷料中拒管试试调绝路包验卷试动敷含方技作设线案术,技槽以来术、及避管系免架统不等启必多动要项方高方案中式;资,对料为整试解套卷决启突高动然中过停语程机文中。电高因气中此课资,件料电中试力管卷高壁电中薄气资、设料接备试口进卷不行保严调护等试装问工置题作调,并试合且技理进术利行,用过要管关求线运电敷行力设高保技中护术资装。料置线试做缆卷到敷技准设术确原指灵则导活:。。在对对分于于线调差盒试动处过保,程护当中装不高置同中高电资中压料资回试料路卷试交技卷叉术调时问试,题技应,术采作是用为指金调发属试电隔人机板员一进,变行需压隔要器开在组处事在理前发;掌生同握内一图部线纸故槽资障内料时,、,强设需电备要回制进路造行须厂外同家部时出电切具源断高高习中中题资资电料料源试试,卷卷线试切缆验除敷报从设告而完与采毕相用,关高要技中进术资行资料检料试查,卷和并主检且要测了保处解护理现装。场置设。备高中资料试卷布置情况与有关高中资料试卷电气系统接线等情况,然后根据规范与规程规定,制定设备调试高中资料试卷方案。
全国计算机等级考试二级C语言真题2008年9月
全国计算机等级考试二级C语言真题2008年9月(总分:100.00,做题时间:90分钟)一、{{B}}选择题{{/B}}(总题数:40,分数:70.00)1.—个栈的初始状态为空。
现将元素1、2、3、4、5、A、B、C、D、E依次入栈,然后再依次出栈则元素出栈的顺序______。
(分数:2.00)A.12345ABCDEB.EDCBA54321 √C.ABCDE12345D.54321EDCBA解析:[知识点] 栈结构的存储方式 [评析] 栈是一种特殊的线性表,这种线性表只能在固定的一端进行插入和删除操作,允许插入和删除的一端称为栈顶,另一端称为栈底。
一个新元素只能从栈顶一端进入,删除时,只能删除栈顶的元素,即刚刚被插入的元素。
这表明栈的运算规则是“先进后出”(或称“后进先出”)。
在栈顶进行插入运算,称为进栈(或入栈),在栈顶进行删除运算,称为退栈(或出栈)。
本题中,依次进栈,即依次插入元素1、2,3、4、5、A、B、C、D、E,依次出栈,即依次删除元素,根据栈“先进后出”的规则,应该以倒序出栈。
即元素出栈顺序为EDCBA54321。
2.下列叙述中正确的是______。
(分数:2.00)A.循环队列中有队头和卧尾两个指针,因此,循环队列是非线牲结构B.在循环队列中,只需要队头指针就能反映队列中元素的动态变化情况C.在循环队列中,只需要队尾指针就能反映队列中元素的动态变化情况D.循环队列中元素的个数是由队头指针和队尾指针共同决定√解析:[知识点] 循环队列 [评析] 所谓循环队列,就是将队列存储空间的最后一个位置绕到第1个位置,形成逻辑上的环状空间,供队列循环使用。
所以循环队列还是属于线性结构,所以选项A是错误的。
循环队列的头指针front指向队列的第一个元素的前一位置,队尾指针rear指向队列的最后一个元素,循环队列的动态变化需要头尾指针共同反映,所以选项B、C是错误的。
循环队列的长度是:(sq.rear-sq.front+maxsize)%maxsize,所以循环队列的长度是由队头和队尾指针共同决定的,所以选项D正确。
2008年9月全国计算机等级考试二级笔试试卷
2008年9月全国计算机等级考试Access二级笔试试卷一、选择题(每小题2分,共70分)下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的。
请将正确选项涂写在答题卡相应位置上,答在试卷上不得分。
(1)一个栈的初始状态为空。
现将元素1、2、3、4、5、A、B、C、D、E依次入栈,然后再依次出栈,则元素出栈的顺序是A)12345ABCDE B)EDCBA54321 C)ABCDE12345 D)54321EDCBA答案:B【解析】:栈的特点是先进后出,所以全部入栈后再全部出栈所得的序列顺序必然与入栈序列的顺序相反。
(2)下列叙述中正确的是A)循环队列有队头和队尾两个指针,因此,循环队列是非线性结构B)在循环队列中,只需要队头指针就能反映队列中元素的动态变化情况C)在循环队列中,只需要队尾指针就能反映队列中元素的动态变化情况D)循环队列中元素的个数是由队头指针和队尾指针共同决定答案:D【解析】:循环队列是线性表的一种,所以选项A错,循环队列的入队和出队需要队尾指针和队头指针完成。
所以BC错。
(3)在长度为n的有序线性表中进行二分查找,最坏情况下需要比较的次数是A)O(n) B)O(n2) C)O(log2n) D)O(nlog2n)答案:C【解析】:二分查找法也称为折半查找法。
它的基本思想是:将N个元素分成个数大致相同的两半,取a[n/2]与欲查找的x 进行比较,如果x= a[n/2],则找到x,算法终止;如果x< a[n/2],则只要在数组a 的左半部继续搜索x ;如果x> a[n/2],则只要在数组a 的右半部继续搜索x 。
每次余下n/(2i)个元素待比较,当最后剩下一个时,即n/(2i)=1.故n =2i;所以(4)下列叙述中正确的是A)顺序存储结构的存储一定是连续的,链式存储结构的存储空间不一定是连续的B)顺序存储结构只针对线性结构,链式存储结构只针对非线性结构C)顺序存储结构能存储有序表,链式存储结构不能存储有序表D)链式存储结构比顺序存储结构节省存储空间答案:A【解析】:顺序存储方式是把逻辑上相邻的节点存储在物理上相邻的存储单元里,节点之间的关系由存储单元的邻接关系来体现。
全国计算机等级考试《二级C语言程序设计》历年真题精选及详解
全国计算机等级考试《二级C语言程序设计》历年真题精选及详解一、选择题(请在【答题】菜单上选择【选择题】命令,启动选择题测试程序,按照题目上的内容进行答题。
作答选择题时键盘被封锁,使用键盘无效,考生须使用鼠标答题。
选择题部分只能进入一次,退出后不能再次进入。
选择题部分不单独计时。
)1.下列叙述中正确的是()。
A.所有数据结构必须有根结点B.所有数据结构必须有终端结点(即叶子结点)C.只有一个根结点,且只有一个叶子结点的数据结构一定是线性结构D.没有根结点或没有叶子结点的数据结构一定是非线性结构【答案】D【解析】D项正确,线性结构的特点是:①集合中必存在“第一个元素”且惟一;②集合中必存在“最后一个元素”且惟一;③除最后一个元素外,其他数据元素均有惟一的“后继”;④除第一个元素外,其他数据元素均有惟一的“前驱”。
所以没有根结点或没有叶子结点的数据结构一定是非线性结构。
AB两项错误,不是所有数据结构都必须有根结点和叶子结点;C项错误,数据结构中若有中间结点不满足只有一个前件或者后件的条件,就不是线性结构。
答案选择D选项。
2.以下叙述中错误的是()。
A.C语言中的每条可执行语句和非执行语句最终都将被转换成二进制的机器指令B.C程序经过编译、链接步骤之后才能形成一个真正可执行的二进制机器指令文件C.用C语言编写的程序称为源程序,它以ASCII代码形式存放在一个文本文件中D.C语言源程序经编译后生成后缀为.obj的目标程序【答案】A【解析】A项错误,注释语句不会被翻译成二进制的机器指令。
C源程序经过C编译程序编译之后生成后缀为.obj的二进制文件(称为目标文件),然后由“链接程序”(Link)的软件把.obj文件与各种库函数连接起来生成一个后缀为.exe的可执行文件。
答案选择A选项。
3.C语言主要是借助以下()功能来实现程序模块化的。
A.定义函数B.定义常量和外部变量C.三种基本结构语句D.丰富的数据类型【答案】A【解析】C程序的模块化主要通过函数来实现。
2008年9月全国计算机等级考试二级c说话口试试题(含参考答案)
2008年9月全国计算机等级考试二级C笔试试卷一、选择题1、一个栈的初始状态为空。
现将元素1、2、3、4、5、A、B、C、D、E依次入栈,然后在依次出栈,则元素出栈的顺序是A)12345ABCDE B)EDCBA54321C)ABCDE12345 D)54321EDCBA2、下列叙述正确的是A)循环队列有队头和队尾两个指针,因此,循环队列是非线形结构B)在循环队列中,只需要队头指针就能反映队列中元素的动态变化情况C)在循环队列中,只需要队尾指针就能反映队列中元素的动态变化情况D)循环队列中元素的个数是由队头指针和队尾指针共同决定3、在长度为n的有序线性表中进行二分查找,最坏情况下需要比较的次数是A)O(n) B) O(n2) C)O(log2n) D)O(log2n)4、下列叙述中正确的是A)顺序结构存储的存储一定是连续的,链式存储结构的存储空间不一定是连续的B)顺序存储结构只针对线性结构,链式存储结构只针对非线性结构C)顺序存储结构能存储有序表,链式存储结构不能存储有序表D)链式存储结构比顺序存储结构节省存储空间5、数据流图中带有箭头的线段表示的是A)控制流 B)事件驱动 C)模块调用D)数据流6、在软件开发中,需求分析阶段可以使用的工具是A)N—S图 B)DFD图 C)PAD图 D)程序流程图7、在面向对象的方法中,不属于〞对象〞基本特点的是A)一致性 B)分类性 C)多态性 D)标识唯一性8、一间宿舍可住多个学生,则实体宿舍和学生之间的联系是A)一对一B)一对多 C)多对一 D)多对多9、在数据管理技术发展的三个阶段中,数据共享最好的是A)人工管理阶段 B)文件系统阶段C)数据库系统阶段 D)三个阶段相同10、有三个关系R、S和T如下:R S TA Bm 1n 2B C1 33 5A B Cm 1 3由关系R和S通过运算得到关系T,则所使用的运算为A)笛卡尔积 B)交 C)并 D)自然连接11、以下叙述中正确的是A)C程序的基本组成单位是语句 B)C程序中的每一行只能写一条语句C)简单C语句必须以分号结束 D)C语句必须在一行内写完12、计算机能直接执行的程序是A)源程序 B)目标程序 C)汇编程序 D)可执行程序13、以下选项中不能作为C语言合法常量的是A)´cd´B) 0.1c+6 C)〞\a〞 D)´\011´14、以下选项中正确的定义语句是A)double a;b; B) double a=b=7C)double a=7,b=7; D)double,a,b;15、以下不能正确表示代数式2ab/cd 的C语言表达式是A)2*a*b/c/d B)a*b/c/d*2C)a/c/d*b*2 D)2*a*b/c*d16、C源程序中不能表示的数制是A)二进制 B)八进制 C)十进制 D)十六进制17、若有表达式(w)?(-x):(++y),则其中与w等价的表达式是A)w==1 B)w==0 C)w!=1 D)w!=018、执行以下程序段后,w的值为int w=´A´,x=14,y=15;W=((x||y)&&(w<´a´));A) -1 B) NULL C)1 D) 019、若变量已正确定义为int 型,要通过语句scanf(〞%d,%d,%d〞,&a,&b,&c);给a赋值1、给b赋值2、给c赋值3,以下输入形式中错误的是(u代表一个空格符)A)uuu1,2,3<回车> B)1u2u3<回车>C)1,uuu2,uuu3<回车> D)1,2,3<回车>20、有以下程序段int a,b,c;a=10;b=50;c=30;if(a>b)a=b,b=c,c=a;printf(〞a=%d b=%d c=%d\n〞,a,b,c);程序的输出结果是A) a=10 b=50 c=10 B) a=10 b=50 c=30C)a=10 b=30 c=10 D)a=50 b=30 c=5021、若有以下定义语句:int m[]={5,4,3,2,1},i=4;,则下面对m数组元素的引用中错误的是A)m[-i] B)m[2*2] C)m[m[0]] D)m[m[i]]22、下面的函数调用语句中func函数的实参个数是func(f2(v1,v2),(v3,v4,v5),(v6,max(v7,v8)));A) 3 B) 4 C)5 D) 823、若有定义语句:double x[5]={1.0,2.0,3.0,4.0,5.0},*p=x;则错误引用x数组元素的是A) *p B) x[5] C)*(p+1) D) *x24、若有定义语句:char s[10]=〞1234567\0\0〞;,则strlen(s)的值是A) 7 B) 8 C) 9 D) 1025、以下叙述中错误的是A)用户自定义的函数中可以没有return语句B)用户自定义的函数中可以有多个return语句,以便可以调用一次返回多个函数值C)用户自定义的函数中若没有return语句,则应当定义函数为void类型D)函数的return语句中可以没有表达式26、以下关于宏的叙述中正确的是A)宏名必须用大写字母表示B)宏定义必须位于源程序中所有语句之前C)宏替换没有数据类型限制D)宏调用比函数调用耗费时间27、有以下程序#include <stdio.h>main(){ int i,j;for (i=3;i>=1;i--){for(j=1;j<=2;j++) printf(〞%d〞,i+j);pintf(〞\n〞);}}程序运行的结果是A) 2 3 4 B) 4 3 2 C)2 3 D) 4 53 4 5 5 4 3 3 4 3 44 5 2 328、有以下程序#include <stdio.h>main(){ int x=1,y=2,z=3;if(x>y)if(y>z) printf(〞%d〞,++z);else printf(〞%d〞,++y);printf(〞%d\n〞,x++);}程序运行的结果是A) 331 B)41 C)2 D)129、有以下程序#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) *7 B)*3*5 C)*5 D)*2*630、有以下程序#include <stdio.h>int fun(int a,int b){ if(b==0) return a;else return(fun(-a,-b));}main(){printf(〞%d\n〞,fun(4,2));}程序运行的结果是A) 1 B) 2 C) 3 D)431、有以下程序#include <stdio.h>#include <stdio.h>{ int *p;p=(int*)malloc(sizeof(int));*p=n; return *p;}main(){ int a;a=fun(10); printf(〞%d\n〞,a+fun(10));}程序运行的结果是A)0 B) 10 C)20 D)出错32、有以下程序#include (stdio.h)void fun(int a, int b){ int t;t=a; a=b; b=t;}main(){ int c[10]={1,2,3,4,5,6,7,8,9,0},i;for(i=0;i<10;i+=2) fun(c[i],c[i+1]);for (i=0;i<10;i++) printf(〞%d,〞,c[i]);printf(〞\n〞);}程序运行的结果是A)1,2,3,4,5,6,7,8,9,0 B)2,1,4,3,6,5,8,7,0,9C)0,9,8,7,6,5,4,3,2,1 D)0,1,2,3,4,5,6,7,8,933、有以下程序#include <stdio.h>struct st{int x,y;} data[2]={1,10,2,20};main(){struct st *p=data;printf(〞%d,〞,p->y); printf(〞%d\n〞,(++p)->x);}程序运行的结果是A) 10,1 B)20,1 C)10,2 D) 20,234、有以下程序#include <stdio.h>void fun(int a[],int n){ int i,t;for(i=1;i<n/2;i++) {t=a[i];a[i]=a[n-1-i];a[n-1-i]=t;}}main(){ int k[10]={1,2,3,4,5,6,7,8,9,10},i;fun(k,5);for(i=2;i<8;i++)printf(〞%d〞,k[i]);printf(〞\n〞);}程序运行的结果是A) 345678 B)876543 C)1098765 D)32167835、有以下程序#include <stdio.h>#define N 4void fun(int a[][N],int b[]){ int i;for(i=0;i<N;i++) b[i]=a[i][i];}main(){int x[][N]={{1,2,3},{4},{5,6,7,8},{9,10}},y[N],i;fun(x,y);for(i=0;i<N;i++) printf(〞%d,〞,y[i]);printf(〞\n〞);}程序运行的结果是A)1,2,3,4, B)1,0,7,0, C)1,4,5,9, D)3,4,8,10,36、有以下程序#include <stdio.h>int fun(int (*s)[4],int n,int k){ int m,i;m=s[0][k];for(i=1;i<n;i++) if(s[i][k]>m)m=s[i][k];return m;}main(){int a[4][4]={{1,2,3,4},{11,12,13,14},{21,22,23,24},{31,32,33,34}}; printf(〞%d\n〞,fun(a,4,0));}程序运行的结果是A) 4 B) 34 C) 31 D)3237、有以下程序#include <stdio.h>main(){ struct STU{ char name[9]; char sex; double score[2];};struct STU a={〞Zhao〞,´m´,85.0,90.0},b={〞Qian〞,´f´,95.0,92.0}; b=a;printf(〞%s,%c,%2.0f,%2.0f\n〞,,b.sex,b.score[0],b.score[1]); }程序运行的结果是A)Qian,f,95,92 B)Qian,m,85,90C)Zhao,f,95,92 D)Zhao,m,85,9038、假定已建立以下链表结构,且指针p和q已指向如图所示的结点:则以下选项中可将q所指结点从链表中删除并释放该结点的语句组是A) (*p).next=(*q).next; free(p);B) p=q->next; free(q);C) p=q; free(q);D)p->next=q->next; free(q);39、有以下程序#include <stdio.h>main(){char a=4;printf(〞%d\n,a=a<<1〞);}程序的运行结果是A) 40 B) 16 C) 8 D) 440、有以下程序#include <stdio.h>main(){ FILE *pf;char *s1=〞China〞,*s2=〞Beijing〞;pf=fopen(〞abc.dat〞,〞wb+〞);fwrite(s2,7,1,pf);rewind(pf);fwrite(s1,5,1,pf);fclose(pf);}以下程序执行后abc.dat文件的内容是A) China B) ChinangC) ChinaBeijing D)BeijingChina二、填空题1、对下列二叉树进行中序遍历的结果是( ).2、按照软件测试的一般步骤,集成测试应在()测试之后进行。
全国计算机等级考试二级C语言笔试试题及答案解析
全国计算机等级考试二级C语言笔试试题及答案解析一、选择题1. 以下哪个选项不是C语言的关键字?A. autoB. includeC. ifD. static答案:B解析:C语言中,auto、if和static都是关键字,而include不是关键字,它是预处理命令的一部分。
2. 在C语言中,下列哪个选项是非法的整型常量?A. 012B. 0x123C. 0X123D. 0123答案:D解析:C语言中,以0开头的数字表示八进制常量,以0x 或0X开头的数字表示十六进制常量。
选项A表示八进制常量,选项B和C表示十六进制常量,而选项D表示非法的常量。
3. 有以下程序段:```cint a = 5, b = 4;printf("%d\n", a/b);```输出结果是:A. 1B. 1.25C. 5D. 4答案:A解析:在C语言中,整数除法的结果仍然是整数。
因此,5除以4的结果为1。
4. 以下哪个函数用于动态分配内存?A. malloc()B. alloc()C. new()D. calloc()答案:A解析:在C语言中,malloc()函数用于动态分配内存。
calloc()函数也用于动态分配内存,但会初始化分配的内存空间。
alloc()和new()不是C语言中的标准函数。
二、填空题1. 在C语言中,若要定义一个指向整型的指针变量,应使用______。
答案:int解析:在C语言中,使用int 来定义一个指向整型的指针变量。
2. 有以下程序段:```cint a = 5, b = 3;printf("%d\n", a % b);```输出结果是______。
答案:2解析:在C语言中,%运算符表示求余运算。
因此,5除以3的余数为2。
3. 有以下程序段:```cint a = 5;printf("%d\n", sizeof(a));```输出结果是______。
计算机二级考试C语言程序设计试题及答案
计算机二级考试C语言程序设计试题及答案计算机二级考试C语言程序设计试题及答案计算机二级考试采用全国统一命题、统一考试的形式。
下面店铺整理了计算机二级考试C语言程序设计试题及答案,希望对大家有帮助!一、选择题((1)--(40)每小题1分, (41)--(50)每小题2分, 共60分)下列各题 A) 、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项在答题卡相应位置上涂黑,答在试卷上不得分。
(1) 下列述叙中正确的是A) 显示器和打印机都是输出设备 B) 显示器只能显示字符C) 通常的彩色显示器都有7种颜色D) 打印机只能打印字符和表格(2) 微型计算机中运算器的主要功能是进行A) 算术运算 B) 逻辑运算 C) 算术和逻辑运算 D) 初等函数运算(3) COMMAND。
COM是DOS系统的最外层模块,通常称之为A) 引导程序 B) 输入输出系统 C) 命令处理系统 D) 文件管理系统(4) 电子邮件是A)网络信息检索服务B)通过Web网页发布的公告信息C)通过网络实时交互的信息传递方式D)一种利用网络交换信息的非交互式服务(5) 和十进制数225相等的二进制数是A) 11101110 B) 11111110 C) 10000000 D) 11111111(6) 下列叙述中正确的是A) 指令由操作数和操作码两部分组成B) 常用参数xxMB表示计算机的速度C) 计算机的一个字长总是等于两个字节D) 计算机语言是完成某一任务的指令集(7) 计算机的内存储器比外存储器A) 价格便宜 B) 存储容量大 C) 读写速度快 D) 读写速度慢(8) 设当前盘为C盘,执行DOS命令"COPY B:A.TXT PRN"之后,结果是A) B盘上的A.TXT文件被复制到C盘的PRN文件B) 屏幕上显示B盘上的A.TXT文件内容C) B盘上的A.TXT文件内容在打印机上输出D) B盘上的A.TXT文件被复制到B盘上的PRN文件(9) 要将当前盘当前目录下的两个文件X1.TXT和B1.TXT连接起来之后存入B盘当前目录下并且命名为Z.TXT,无论B盘当前目录是什么,完成这件任务可以使用的命令是A) COPY A:X1.TXT+C:B1.TXT Z.TXTB) COPY X1.TXT+C:WSB1.TXT B:.TXTC) COPY A:X1.TXT+C:WSB1.TXTD) COPY X1.TXT+B1.TXT B:Z.TXT(10) 下列四组DOS命令中,功能等价的一组是A) COPY A:*.* B:与DISKCOPY A: B:B) COPY ABC.TXT+XYZ.TXT 与TYPE XYZ.TXT>>ABC.TXTC) COPY ABC.TXT+XYZ.TXT与COPY XYZ.TXT+ABC.TXTD) TYPE *.FOR>CON与COPY *.FOR CON(11) 设当前目录为D:BB,现要把D:AA目录下首字符是A的文本文件全部删除,应该使用命令A) DEL A*.TXT B) DEL AAA.TXTC) DEL AAA*.TXT D) DEL AAA?.TXT(12) 在Windows中,启动应用程序的正确方法是A) 用鼠标指向该应用程序图标B) 将该应用程序窗口最小化成图标B) 将该应用程序窗口还原D) 用鼠标双击该应用程序图标(13) 在Windows中,终止应用程序执行的正确方法是A) 将该应用程序窗口最小化成图标B) 用鼠标双击应用程序窗口右上角的还原按钮C) 用鼠标双击应用程序窗口中的标题栏D) 用鼠标双击应用程序窗口左上角的控制菜单框(14) 在微机系统中,对输入输出设备进行管理的基本程序模块(BIOS)存放在A) RAM中 B) ROM中 C) 硬盘中 D) 寄存器中(15) 使计算机病毒传播范围最广的媒介是A) 硬磁盘 B) 软磁盘 C) 内部存储器 D) 互联网(16) 设有 int x=11; 则表达式 (x++ * 1/3) 的值是A) 3 B) 4 C) 11 D) 12(17) 下列程序的输出结果是A) 3 B) 3.2 C) 0 D) 3.07main(){ double d=3.2; int x,y;x=1.2; y=(x+3.8)/5.0;printf("%d ", d*y);}(18) 下列程序执行后的输出结果是(小数点后只写一位)A) 6 6 6.0 6.0 B) 6 6 6.7 6.7C) 6 6 6.0 6.7 D) 6 6 6.7 6.0main(){ double d; float f; ling l; int i;i=f=1=d=20/3;printf("%d %ld %f %f ", i,l,f,d);}(19) 下列变量定义中合法的是A) short _a=1-.le-1; B) double b=1+5e2.5;C) long do=0xfdaL; D) float 2_and=1-e-3;(20) 设 int x=1, y=1; 表达式(!x||y--)的值是A) 0 B) 1 C) 2 D) -1(21) 与 y=(x>0?1:x<0?-1:0);的功能相同的if语句是A) if (x>0) y=1; B) if(x)else if(x<0)y=-1; if(x>0)y=1;else y=0; else if(x<0)y=-1;else y=0;C) y=-1 D) y=0;if(x) if(x>=0)if(x>0)y=1; if(x>0)y=1;else if(x==0)y=0; else y=-1;else y=-1;(22) 以下循环体的执行次数是A) 3 B) 2 C) 1 D) 0main(){ int i,j;for(i=0,j=1; i<=j+1; i+=2, j--)printf("%d ",i);}(23) 以下叙述正确的是A) do-while语句构成的循环不能用其它语句构成的循环来代替。
全国计算机等级考试二级C语言机试真题2008年9月
全国计算机等级考试二级C语言机试真题2008年9月(总分:100.00,做题时间:90分钟)一、程序填空题(总题数:1,分数:30.00)1.N个有序整数数列已放在一维数组中,给定的下列程序中,函数fun()的功能是:利用折半查找法查找整数m在数组中的位置。
若找到,则返回其下标值;反之,则返回“Not be found!”。
折半查找法的基本算法是:每次查找前先确定数组中待确定的范围:low和high(low<high),然后把m与中间位置(mid)中元素的值进行比较。
如果m的值大于中间位置元素中的值,则下一次的查找范围放在中间位置之后的元素中;反之,下次查找范围落在中间位置之前的元素中,直到low>high,查找结束。
[注意] 部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的横线上填入所编写的若干表达式或语句。
[试题源程序]#include <stdio.h>#define N 10int fun(int a[],int m)int low=0, high=N-1, mid;while(low<=high)mid= (1) ;if(m<a[mid])high= (2) ;eiseif(m>a[mid])low=mid+1;elsereturn(mid);(3) (-1);main()int i, a[N]=(-3, 4, 7, 9, 13, 24, 67, 89, 100, 180), k, m;printf("a数组中的数据如下: ");for(i=0; i<N; i++);printf("%d", a[i]);printf("Enter m: ");scanf("%d", &m);k=fun(a, m);if(k>=0)printf("m=%d, index=%d/n", m, k));elseprintf("Not be found/n");(分数:30.00)填空项1:__________________ (正确答案:[1] (low+high)/2[2] mid-1[3] return)解析:[解析] 填空1:根据题目的意思,这里应该是确定折半查找的中间位置,所以很明显应该填(low+high)/2。
2008年全国高等学校计算机考试二级(C语言)试卷
一、单项选择题(本体共30小题,每小题1分,共30分)下面每题给出4个答案,用A、B、C、D标出,其中只有一个是正确的,将你选择的结果涂黑答题纸对应题号的方格。
1、完整的计算机系统包括A、硬件系统和软件系统B、主机、键盘、显示器C、系统软件和应用软件D、计算机及其外部设备2、微型计算机中,PROM的中文名字是A、随即存储器B、只读存储器C、可编程只读存储器D、高速缓冲存储器3、计算机储存中,一个字节包含二进制位数是A、4B、8C、16D、324、在微型计算机中,1MB准确等于A、1024×1024字B、1024×1034个字节C、1000×1000个字节D、1000×1000个字5、十进制证书170可化为二进制数是A、11001010B、11010001C、10101011D、101010106、在windows缺省状态下,进行全角/半角切换的组合捷径是A、<Alt>+空格键B、<Ctrl>+圆点键C、<Alt>+空格键D、<Shift>+空格键7、windows中,下列不能用‚资源管理器‛对选定的文件或文件夹进行更名操作的是A、快速双击要更名的文件或文件夹B、右键单击要更名的文件或文件夹,选择快捷菜单中的‚重命名‛菜单命令C、单机‚文件‛菜单中的‚重命名‛菜单命令D、间隔双击要更名的文件或文件夹名称部分,并键入新名字8、如果windows的资源管理底部没有状态栏,那么要增加状态栏的操作时单击A、‚编辑‛菜单中的‚状态栏‛命令B、‚工具‛菜单中的‚状态栏‛命令C、‚查看‛菜单中的‚状态栏‛命令D、‚文件‛菜单中的‚状态栏‛命令9、用户在操作系‚命令提示符‛环境下的操作方式是A、使用鼠标B、使用图标C、使用命令D、使用窗口10、启动记事本的操作是A、开始—程序—附件—记事本B、我的电脑—控制面板—记事本C、资源管理器—记事本D、我的电脑—控制面板—辅助选项—记事本11、在windows中,回收站是A、内存中的一块区域B、硬盘上的一块区域C、软盘上的一块区域D、高速缓存中的一块区域12、Word程序启动后就自动打开文档的名字为A、NonameB、UnititledC、文件1D、文档113、将Word文档中一部分选定的文字移动到指定的位置上去,进行的第一步骤是A、单击‚编辑‛菜单下的‚复制‛命令B、单击‚编辑‛菜单下的‚清楚‛命令C、单击‚编辑‛菜单下的‚剪切‛命令D、单击‚编辑‛菜单下的‚粘贴‛命令14、以下关于Word分栏功能的描述中正确的是A、各栏的宽度可以不同B、各栏之间的间隔距离是固定的C、各栏的宽度必须相同D、最多可以设置4栏15、如果要在Word文档中创建表格,应使用的菜单是A、格式B、表格C、工具D、插入16、使单元格中显示0,2,应在该单元格中输入A、4/20B、=4/20C、‛4/20‛D、=‛4/20‛17、某区域由A1,A2,A3,B1,B2,B3六个单元格组成。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2008年9月全国计算机二级笔试C语言程序设计真题及答案2008年9月全国计算机二级笔试C语言程序设计真题及答案一、选择题((1)~(10)、(21)~(40)每题2 分,(11)~(20)每题1 分,70 分)下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项填涂在答题卡相应位置上,答在试卷上不得分。
(1)一个栈的初始状态为空。
现将元素1、2、3、4、5、A、B、C、D、E 依次入栈,然后再依次出栈,则元素出栈的顺序是()。
A)12345ABCDE B)EDCBA54321 C)ABCDE12345 D)54321EDCBA(2)下列叙述中正确的是()。
A)循环队列有队头和队尾两个指针,因此,循环队列是非线性结构B)在循环队列中,只需要队头指针就能反映队列中元素的动态变化情况C)在循环队列中,只需要队尾指针就能反映队列中元素的动态变化情况D)循环队列中元素的个数是由队头指针和队尾指针共同决定(3)在长度为n的有序线性表中进行二分查找,最坏情况下需要比较的次数是()。
A)O(n) B)O(n2) C)O(log2n) D)O(n log2n)(4)下列叙述中正确的是()。
A)顺序存储结构的存储一定是连续的,链式存储结构的存储空间不一定是连续的B)顺序存储结构只针对线性结构,链式存储结构只针对非线性结构C)顺序存储结构能存储有序表,链式存储结构不能存储有序表D)链式存储结构比顺序存储结构节省存储空间(5)数据流图中带有箭头的线段表示的是()。
A)控制流 B)事件驱动 C)模块调用 D)数据流(6)在软件开发中,需求分析阶段可以使用的工具是()。
A)N-S 图 B)DFD 图 C)PAD 图 D)程序流程图(7)在面向对象方法中,不属于“对象”基本特点的是()。
A)一致性 B)分类性 C)多态性 D)标识唯一性(8)一间宿舍可住多个学生,则实体宿舍和学生之间的联系是()。
A)一对一 B)一对多 C)多对一 D)多对多(9)在数据管理技术发展的三个阶段中,数据共享最好的是()。
A)人工管理阶段 B)文件系统阶段 C)数据库系统阶段 D)三个阶段相同(10)有三个关系R、S 和T 如下:R S TA B B C A B Cm 1 1 3 m 1 3n 2 3 5由关系R 和S 通过运算得到关系T,则所使用的运算为()。
A)笛卡尔积 B)交 C)并 D)自然连接11)以下叙述中正确的是()。
A)C 程序的基本组成单位是语句 B)C 程序中的每一行只能写一条语句二级C 语言程序设计试卷第 2 页(共9 页)C)简单C 语句必须以分号结束 D)C 语句必须在一行内写完(17)若有表达式(w)?(--x):(++y),则其中与w 等价的表达式是()。
A)w==l B)w==0 C)w!=l D)w!=0(18)执行以下程序段后,w 的值为()。
int w='A', x=14, y=15;w=((x || y)&&(w<'a'));A)-1 B)NULL C)l D)0(19)若变量已正确定义为int 型,要通过语句scanf("%d, %d, %d", &a, &b, &c);给a 赋值1、给b 赋值2、给c 赋值3,以下输入形式中错误的是(ò 代表一个空格符)()。
A)ò ò ò 1,2,3<回车> B)1 ò 2 ò 3<回车>C)1,ò ò ò 2,ò ò ò 3<回车> D)1,2,3<回车>(20)有以下程序段int a, b, c;a=10; b=50; c=30;if (a>b) a=b, b=c; c=a;printf("a=%d b=%d c=%d\n”, a, b, c);程序的输出结果是()。
A)a=10 b=50 c=10 B)a=10 b=50 c=30 C)a= 10 b=30 c=10 D)a=50 b=30 c=50(21)若有定义语句:int m[]={5,4,3,2,1},i =4;,则下面对m 数组元素的引用中错误的是()。
A)m[--i] B)m[2*2] C)m[m[0]] D)m[m[i]](22)下面的函数调用语句中func 函数的实参个数是()。
func (f2(v1, v2), (v3, v4, v5), (v6, max (v7, v8)));A)3 B)4 C)5 D)8(23)若有定义语句:double x[5]={1.0,2.0, 3.0,4.0,5.0}, *p=x;则错误引用x 数组元素的是()。
A)*p B)x[5] C)*(p+1) D)*x(24)若有定义语句:char s[10]="1234567\0 \0";,则strlen(s)的值是()。
A)7 B)8 C)9 D)10(25)以下叙述中错误的是()。
A)用户定义的函数中可以没有return 语句B)用户定义的函数中可以有多个return 语句,以便可以调用一次返回多个函数值C)用户定义的函数中若没有return 语句,则应当定义函数为void 类型D)函数的return 语句中可以没有表达式(26)以下关于宏的叙述中正确的是()。
A)宏名必须用大写字母表示B)宏定义必须位于源程序中所有语句之前C)宏替换没有数据类型限制D)宏调用比函数调用耗费时间(27)有以下程序#include<stdio.h>main(){ int i, j;for(i=3; i>=l; i--){ for(j=1; j<=2; j++) printf("%d", i+j); printf("\n");}}程序的运行结果是()。
A)2 3 4 B)4 3 23 4 5 5 4 3C)2 3 D)4 53 4 3 44 5 2 3(28)有以下程序#include <stdio.h>main(){ int x=l, y=2, z=3;if(x>y)if(y<z) printf("%d", ++z); else printf("%d", ++y); printf("%d\n", x++);}程序的运行结果是()。
A)331 B)41 C)2 D)1 (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)*7 B)*3*5 C)*5 D)*2*6 (30)有以下程序#include <stdio.h>int fun(int a,int b){ if(b==0) return a;else return(fun(--a,--b)); }main(){ printf("%d\n", fun(4,2));} 程序的运行结果是()。
A)1 B)2 C)3 D)4(31)有以下程序#include <stdio.h>#include <stdlib.h>int fun(int n){ int *p;p=(int*)malloc(sizeof(int)); *p=n; return *p;}main(){ int a;a = fun(10); printf("%d\n", a+fun(10)); }程序的运行结果是()。
A)0 B)10 C)20 D)出错(32)有以下程序#include <stdio.h>void fun(int a, int b){ int t;t=a; a=b; b=t;}main(){ int c[10]={1,2,3,4,5,6,7,8,9,0), i;for (i=0; i<10; i+=2) fun(c[i], c[i+l]); for (i=0; i<10; i++) printf("%d,", c[i]);printf("\n");}程序的运行结果是()。
A)l,2,3,4,5,6,7,8,9,0, B)2,l,4,3,6,5,8, 7,0,9, C)0,9,8,7,6,5,4,3,2,1, D)0,1,2,3,4,5,6,7,8,9,(33)有以下程序#include <stdio.h>struct st{ int x, y;) data[2]={l,10,2,20};main(){ struct st *p=data;printf("%d,", p->y); printf("%d\n",(++p) ->x);}程序的运行结果是()。
A)10,1 B)20,1 C)10,2 D)20,2(34)有以下程序#include <stdio.h>void fun(int a[], int n){ int i, t;for(i=0; i<n/2; i++) {t=a[i]; a[i]=a[n-1-i]; a[n-1-i]=t;}}main(){ int k[10]={1,2,3,4,5,6,7,8,9,10}, i;fun(k,5);for(i=2; i<8; i++) printf("%d", k[i]);printf("\n");}程序的运行结果是()。
A)345678 B)876543 C)1098765 D)321678(35)有以下程序#include <stdio.h>#define N 4void fun(int a[][N], int b[]){ int i;for(i=0; i<N; i++) b[i]=a[i][i];}main(){ int x[][N]={{1,2,3),{4),{5,6,7,8),{9,1 0}},y[N], i;fun(x,y);for (i=0; i<N; i++) printf("%d,", y[i]);printf("\n");}程序的运行结果是()。