ImageVerifierCode 换一换
格式:DOCX , 页数:28 ,大小:25KB ,
资源ID:29396334      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/29396334.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(二级计算机VB笔试选择复习题.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

二级计算机VB笔试选择复习题.docx

1、二级计算机VB笔试选择复习题二级计算机VB笔试选择复习题1.程序流程图(PFD)中的箭头代表的是_。A、数据流B、控制流C、调用关系D、组成关系 程序流程图(PFD)是一种传统的、应用广泛的软件过程设计表示工具,通常也称为程序框图,其箭头代表的是控制流。 本题答案为B。2.下列叙述中正确的是_。A、线性表是线性结构B、栈与队列是非线性结构C、线性链表是非线性结构D、二叉树是线性结构 根据数据结构中各数据元素之间前后间关系的复杂程度,一般将数据结构分为两大类型:线性结构与非线性结构。 如果一个非空的数据结构满足下列两个条件:(1)有且只有一个根结点;(2)每一个结点最多有一个前件,也最多有一个后

2、件。则称该数据结构为线性结构,又称线性表。 所以线性表、栈与队列、线性链表都是线性结构,而二叉树是非线性结构。 本题答案是A。3.数据处理的最小单位是_。A、数据B、数据元素C、数据项D、数据结构 数据处理的最小单位是数据项;由若干数据项组成数据元素;而数据是指能够被计算机识别、存储和加工处理的信息载体;数据结构是指数据之间的相互关系和数据运算。 本题答案为C。4.将E-R图转换到关系模式时,实体与联系都可以表示成_。A、属性B、关系C、键D、域 关系是由若干个不同的元组所组成,因此关系可视为元组的集合,将E-R图转换到关系模式时,实体与联系都可以表示成关系。 本题答案为B。5.在下列选项中,

3、哪个不是一个算法一般应该具有的基本特征_。A、确定性B、可行性C、无穷性D、拥有足够的情报 作为一个算法,一般应具有以下几个基本特征。 1、可行性 2、确定性 3、有穷性 4、拥有足够的情报 本题答案为C。6.软件调试的目的是_。A、发现错误B、改正错误C、改善软件的性能D、挖掘软件的潜能 由程序调试的概念可知:程序调试活动由两部分组成,其一是根据错误的迹象确定程序中错误的确切性质、原因和位置。其二,对程序进行修改,排除这个错误。所以程序调试的目的就是诊断和改正程序中的错误。 本题答案为B。7.在结构化方法中,软件功能分解属于下列软件开发中的_阶段。A、详细设计B、需求分析C、总体设计D、编程

4、调试 总体设计过程通常由两个主要阶段组成:系统设计,确定系统的具体实现方案;结构设计,确定软件结构。为确定软件结构,首先需要从实现角度把复杂的功能进一步分解。分析员结合算法描述仔细分析数据流图中的每个处理,如果一个处理的功能过分复杂,必须把它的功能适当地分解成一系列比较简单的功能。 本题答案为C。8.下面概念中,不属于面向对象方法的是_。A、对象B、继承C、类D、过程调用 面向对象方法是一种运用对象、类、封装、继承、多态和消息等概念来构造、测试、重构软件的方法。面向对象方法从对象出发,发展出对象,类,消息,继承等概念。 本题答案为D。9.在一棵二叉树上第5层的结点数最多是_。A、8B、16C、

5、32D、15 根据二叉树的性质:二叉树第i(i1)层上至多有2i-1个结点。得到第5层的结点数最多是16。 本题答案为B。10.在关系数据库中,用来表示实体之间联系的是_。A、树结构B、网结构C、线性表D、二维表 在关系数据库中,用二维表来表示实体之间联系。 本题答案为D。11.以下程序段中与语句k=ab?(bc?1:0):0;功能等价的是_。A、if(ab)&(bc)k=1; else k=0;B、if(ab)|(bc)k=1; else k=0;C、if(a=b) k=0; else if(bb) k=1; else if(bc) k=1; else k=0; 条件表达式的一般形式为:表达

6、式1?表达式2:表达式3 1、条件运算符的执行顺序为:先求解表达式1,若非0则求解表达式2,此时表达式2的值就是整个条件表达式的值,若表达式1的值为0,则求解表达式3,此时表达式3的值就是整个条件表达式的值。 2、条件运算符优先于赋值运算符。 3、条件运算符的结合方向为“自右至左”。 综上所述,本题是先比较a,b,如果ab成立则执行(bc?1:0),如果bc成立则结果为1,其它情况则为0。也就是说只有ab与bc同时成立时k值才能为1。 故本题答案为A。12.若程序中定义了以下函数,double myadd(double a,double b)return(a+b);并将其放在调用语句之后,则在

7、调用之前应该对函数进行说明,以下选项中错误的说明是_。A、double myadd(double a, b);B、double myadd(double,double);C、double myadd(double b, double a);D、double myadd(double x, double y); 对函数的定义和说明不是一回事。定义是指对函数功能的确立,包括指定函数名,函数值类型、形参及其类型、函数体等,它是一个完整的、独立的函数单位。而说明则是对已定义的函数的返回值进行类型说明(或称申明),它只包括函数名、函数类型、以及一个空的括弧,不包括形参和函数体。对被调函数进行说明的作用是

8、告诉系统:在本函数中将要用到的某函数是XX类型。也就是说明该函数的返回值的类型,以便在主调函数中按此类型对函数值作相应的处理。 本题选项A中,函数参数列表中,不可以用一类型声明多个变量,即变量b没有被声明,所以出错。 故本题答案为A。13.下面程序的功能是输出以下形式的金字塔图案: * * * *main() int i,j; for(i=1;i=4;i+) for(j=1;j=4-i;j+)printf( ); for(j=1;j=_;j+)printf(*); printf(n); 在下划线处应填入的是_。A、iB、2*i-1C、2*i+1D、i+2 本题是找出打印*号的条件,从图中我们可

9、以找到规律,第一行一个*,第二行3个,第三行5个,也就是每行中*的个数恰好是行数的2倍减一个,由此不难得出,横线处应当填入2*i-1。 故本题答案为B。14.有以下程序main() char a=abcdefg,b10=abcdefg; printf(%d %dn,sizeof(a),sizeof(b);执行后输出结果是_。A、7 7B、8 8C、8 10D、10 10 C语言中可以用字符串常量来使字符数组初始化。char a=abcdefg中,不是用单个字符作为初值,而用一个字符串(注意字符串的两端是用双引号而不是单引号括起来的)作为初值。数组a的长度是8,而不是7,因为字符串常量的最后由系

10、统加上一个0。 在对全部数组元素赋初值时,可以不指定数组长度,系统会据数组元素自动定义。若被定义的数组长度与提供初值的个数不相同,则数组长度不能省略。例如,想定义数组长度为10,就必须写成b10=abcdefg;只初始化前7个元素,后3个元素为0(0)。 故本题答案为C。15.一个算法应该具有确定性等5个特性,下面对另外4个特性的描述中错误的是_。A、有零个或多个输入B、有零个或多个输出C、有穷性D、可行性 算法是对特定问题求解步骤的一种描述,它是指令的有限序列,其中每一条指令表示一个或多个操作;此外,一个算法还具有下列五个重要特性: (1)有穷性:一个算法必须总是(对任何合法的输入值)在执行

11、有穷步之后结束,且每一步都可在有穷时间内完成; (2)确定性:算法中每一条指令必须有确切的含义,读者理解时不会产生二义性,并且,在任何条件下,算法只有唯一的一条执行路径,即对于相同的输入只能得出相同的输出; (3)可行性:一个算法是能行的,即算法中描述的操作都是可以通过已经实现的基本运算执行有限次来实现的; (4)输入:一个算法有零个或多个的输入,这些输入取自于某个特定的对象的集合; (5)输出:一个算法有一个或多个的输出,这些输出是同输入有着某些特定关系的量。 故本题答案为B。16.有以下程序:main() int i,s=0; for(i=1;i10;i+=2) s+=i+1; print

12、f(%dn,s);程序执行后的输出结果是_。A、自然数19的累加和B、自然数110的累加和C、自然数19中奇数之和D、自然数110中偶数之和 通过for(i=1;i10;i+=2)可知,i为从1开始的小于10的奇数,即1,3,5,7,9,i+1即为2,4,6,8,10。也就是自然数1到10中的偶数,s+=i+1就是累加这几个偶数。 故本题答案为D。17.有以下程序#include struct NODE int num; struct NODE *next;main() struct NODE *p,*q,*r; int sum=0; p=(struct NODE *)malloc(sizeo

13、f(struct NODE); q=(struct NODE *)malloc(sizeof(struct NODE); r=(struct NODE *)malloc(sizeof(struct NODE); p-num=1;q-num=2;r-num=3; p-next=q;q-next=r;r-next=NULL; sum+=q-next-num;sum+=p-num; printf(%dn,sum);执行后输出结果是_。A、3B、4C、5D、6 题目中因为q-next=r,所以q-next-num即为r-num,为3,p-num=1,所以sum=3+1=4。 故本题答案为B。18.设有

14、定义:int n=0,*p=&n,*q=&p;则以下选项中,正确的赋值语句是_。A、p=1;B、*q=2;C、q=p;D、*p=5; 指针变量中只能存放地址(指针),不要将一个整型量(或任何其它非地址类型的数据)赋给一个指针变量。 有两个相关的运算符:(1)&:取地址运算符。(2)*:指针运算符(或称“间接访问”运算符)。 故本题答案为D。19.有以下程序main() char k; int i; for(i=1;i3;i+) scanf(%c,&k); switch(k) case 0: printf(anothern); case 1: printf(numbern); 程序运行时,从键盘

15、输入:01,程序执行后的输出结果是_。A、another number B、another number anotherC、another number numberD、number number switch语句的一般形式如下:switch(表达式) case 常量表达式1:语句1; case 常量表达式2:语句2; . . . case 常量表达式n:语句n; default :语句n+1; switch语句执行完一个case后面的语句后,流程控制转移到下一个case继续执行。case 常量表达式只是起语句标号作用,并不是在该处进行条件判断。在执行switch语句时,根据switch后面表

16、达式的值找到匹配的入口标号,就从此标号开始执行下去,不再进行判断。如果想在执行一个case分支后,使流程跳出switch结构,即终止switch语句的执行。可以用一个break语句来达到此目的。本题中没有使用break终止switch语句的执行,本题当k为0时,执行完case 0后将继续执行case 1。 故本题答案为C。20.有以下程序:#include main() FILE *fp;int i,k=0,n=0; fp=fopen(d1.dat,w); for(i=1;i4;i+) fprintf(fp,%d,i); fclose(fp); fp=fopen(d1.dat,r); fsca

17、nf(fp,%d%d,&k,&n);printf(%d %dn,k,n); fclose(fp);执行后输出结果是_。A、1 2B、123 0C、1 23D、0 0 fprintf函数、fscanf函数与printf函数、scanf函数作用相仿,都是格式化读写函数。只有一点不同:fprintf和fcanf函数的读写对象不是终端而是磁盘文件。一般调用方式为: fprintf(文件指针,格式字符串,输出表列); fscanf(文件指针,格式字符串,输入表列);本题中需要注意的是,从磁盘文件上读入数据时,格式字符串为%d%d,而输出到文件d1.dat上的是数据123,在读入数据时将123默认为一个数

18、字,即k为123,n默认为0。 故本题答案为B。21.有以下程序:struct STU char name10; int num;void f1(struct STU c)struct STU b=LiSiGuo,2042; c=b;void f2(struct STU *c)struct STU b=SunDan,2044; *c=b;main()struct STU a=YangSan,2041,b=WangYin,2043; f1(a);f2(&b); printf(%d %dn,a.num,b.num);执行后输出结果是_。A、2041 2044B、2041 2043C、2042 20

19、44D、2042 2043 f2函数传递的是变量的地址,可以实现数据的交换,而f1函数中是传递的值,执行完f1后,c的值是变了,但main函数中的a的值并未变化。也就是说由于“单向传送”的“值传递”方式,形参值的改变无法传给实参。 故本题答案为A。22.有以下程序struct STU char name10; int num; int Score;main() struct STU s5=YangSan,20041,703,LiSiGuo,20042,580, WangYin,20043,680,SunDan,20044,550, Penghua,20045,537, *p5,*t; int

20、i,j; for(i=0;i5;i+) pi=&si; for(i=0;i4;i+) for(j=i+1;jScorepj-Score) t=pi;pi=pj;pj=t; printf(%d %dn,s1.Score,p1-Score);执行后输出结果是_。A、550 550B、680 680C、580 550D、580 680 本题实际上是按成员变量Score的值进行由小到大的排序,程序执行后p5中各元素分别为:Penghua,20045,537,SunDan,20044,550,LiSiGuo,20042,580,WangYin,20043,680,YangSan,20041,703。所以

21、p1-Score=550,s1.Score=580。 故本题答案为C。23.有以下程序:void sum(int *a) a0=a1;main() int aa10=1,2,3,4,5,6,7,8,9,10,i; for(i=2;i=0;i-) sum(&aai); printf(%dn,aa0);执行后的输出结果是_。A、4B、3C、2D、1 当i=2时,将实参aa2的地址传递给形参,此时a0=a1=aa3=4,即aa2=4; 当i=1时,将实参aa1的地址传递给形参,此时a0=a1=aa2=4,即aa1=4; 当i=0时,将实参aa0的地址传递给形参,此时a0=a1=aa1=4,即aa0=

22、4; 当i=-1时,不满足条件i=0,跳出循环,程序执行后数组aa中的值为4,4,4,4,5,6,7,8,9,所以aa0=4。 故本题答案为A。24.有以下程序main() int x=102,y=012; printf(%2d,%2dn,x,y);执行后输出结果是_。A、10,01B、02,12C、102,10D、02,10 y=012表示将八进制数12赋给变量y。d格式符,用来输出十进制整数。%md,m为指定的输出字段的宽度。如果数据的位数小于m,则左端补以空格,若大于m,则按实际位数输出。本题是将八进制数12也输出为十进制数,八进制数12转换为十进制数为10,所以输出结果为102,10。

23、 故本题答案为C。25.以下4个选项,不能看作一条语句的是_。A、;B、a=0,b=0,c=0;C、if(a0);D、if(b=0)m=1;n=2; if语句是用来判定所给的条件是否满足,根据判定的结果(真或假)决定执行给出的两种操作之一。 在if和else后面可以只含一个内嵌的操作语句,也可以有多个操作语句,此时用花括号“”将几个语句括起来成为一个复合语句。选项D中没有将两个操作语句括起来,不能看作一条语句。 故本题答案为D。26.有以下程序:void sort(int a,int n) int i,j,t; for(i=0;in-1;i+=2) for(j=i+2;jn;j+=2) if(

24、aiaj)t=ai;ai=aj;aj=t;main() int aa10=1,2,3,4,5,6,7,8,9,10,i; sort(aa,10); for(i=0;iy) f(x,y); else if(yz) f(y,z); else f(x,z); printf(%d,%d,%dn,x,y,z);执行后输出结果_。A、1,2,3B、3,1,2C、1,3,2D、2,3,1 if语句是用来判定所给定的条件是否满足,根据判定的结果(真或假)决定执行给出的两种操作之一。本题中条件yz为真,所以执行f(y,z)。 在函数调用开始时,y的值传送给v,z的值传送给w,执行完f函数后,v和w的值是互换了,

25、但main函数中的y和z并未互换。也就是说由于“单向传送”的“值传递”方式,形参值的改变无法传给实参。 故本题答案为C。29.有以下程序main() int i,n=0; for( i=2;i5;i+) do if(i%3) continue; n+; while(!i); n+; printf(n=%dn,n);程序执行后输出结果是_。A、n=5B、n=2C、n=3D、n=4 当i=2时,i%3为真,继续执行n+;此时n=1,!i为假,结束while循环,执行n+,此时n为2。 当i=3时,i%3=0,跳出循环。 当i=4时,i%3=1为真,继续执行n+,此时n为3,!i为假,结束while

26、循环,继续往下执行n+,此时n为4。 故本题答案为D。30.设有定义:float a=2,b=4,h=3;,以下C语言表达式中与代数式1/2(a+b)h计算结果不相符的是_。A、(a+b)*h/2B、(1/2)*(a+b)*hC、(a+b)*h*1/2D、h/2*(a+b) 两个整数相除结果为整数,如5/3的结果为1,舍去小数部分。如果参加运算的两个数中有一个数为实数,则结果是double型,因为所有实数都按double型进行运算。根据运算符优先级,先计算括号内的,故选项B中(1/2)=0,整个表达式的值为0。 故本题答案为B。31.设有定义:int a,*pa=&a; 以下scanf语句中能正确为变量a读入数据的是_。A、scanf(%d,pa);B、scanf(%d,a

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1