1、 选取题题库71.下列论述中对的是()。A) 循环队列是队列一种链式存储构造B) 循环队列是队列一种顺序存储构造C) 循环队列是非线性构造D) 循环队列是一种逻辑构造2.下列关于线性链表论述中,对的是()。A) 各数据结点存储空间可以不持续,但它们存储顺序与逻辑顺序必要一致B) 各数据结点存储顺序与逻辑顺序可以不一致,但它们存储空间必要持续C) 进行插入与删除时,不需要移动表中元素D) 以上说法均不对的3.一棵二叉树共有25个结点,其中5个是叶子结点,则度为1结点数为()A) 16B) 10C) 6D) 44.在下列模式中,可以给出数据库物理存储构造与物理存取办法是()。A) 外模式 B) 内
2、模式C) 概念模式D) 逻辑模式5.在满足实体完整性约束条件下()。A) 一种关系中应当有一种或各种候选核心字B) 一种关系中只能有一种候选核心字C) 一种关系中必要有多核心字个候选D) 一种关系中可以没有候选核心字6.A) 自然连接 B) 交C) 除D) 并7.下面描述中,不属于软件危机体现是()。A) 软件过程不规范B) 软件开发生产率低C) 软件质量难以控制D) 软件成本不断提高8.下面不属于需求分析阶段任务是()。A) 拟定软件系统功能需求B) 拟定软件系统性能需求C) 需求规格阐明书评审 D) 制定软件集成测试筹划9.在黑盒测试办法中,设计测试用例重要依照是()。A) 程序内部逻辑
3、B) 程序外部功能C) 程序数据构造D) 程序流程图10.在软件设计中不使用工具是()。A) 系统构造图 B) PAD图C) 数据流图(DFD图) D) 程序流程图11.如下可用作C语言顾客标记符是()。A) void,define,WORD B) a3b3,123,IFC) FOR,abc,CaseD) 2a,Do,Sizeof12.如下论述中错误是()。A) C语言可执行程序是由一系列机器指令构成B) 用C语言编写源程序不能直接在计算机上运营C) 通过编译得到二进制目的程序需要连接才可以运营D) 在没有安装C语言集成开发环境机器上不能运营C源程序生成.exe文献13.如下4个选项中,不能看
4、作一条语句是()。A) ;B) a5,b2.5,c3.6;C) if(b!5)x2;y6;D) return j;14.如下不能对的计算代数式值C语言表达式是()。A) B) C) D) 15.若有阐明:int *p,m5,n;,如下对的程序段是()。A) p&n;scanf(%d,&p); B) p&n;scanf(%d,*p)C) scanf(%d,&n);*pn;D) p&n;*pm;16.如下程序输出成果是()。main()int a20;printf(%d,%o,%xn,a,a,a);A) 20, 024,0x14B) 20, 24,14C) 20, 0x14,024D) 20, 2
5、0,2017.下面程序运营成果是()main()int y5, x14; y(x3*y,x+6),x-1);printf(x=%d,y=%d,x,y);A) x27,y27B) x12,y13C) x15,y14D) xy2718.设变量x和y均已正拟定义并赋值。如下if语句中,在编译时将产生错误信息是()。A) if(x);B) if(xy & y!0);C) if(x0)x else y;D) if(y0);else x;19.请阅读如下程序:#includemain() int x1,y0,a0,b0;switch(x)case 1: switch(y)case 0:a;break; c
6、ase 2: a,b;break; printf( a%d,b%dn,a,b);上面程序输出成果是()。A) a2,b1B) a1,b1C) a1,b0D) a2,b220.如下论述中对的是()。A) 调用printf函数时,必要要有输出项B) 使用putchar函数时,必要在之前包括头文献stdio.hC) 在C语言中,整数可以以十二进制、八进制或十六进制形式输出D) 调用getchar函数读入字符时,可以从键盘上输入字符所相应ASCII码21.有如下语句:char b8; int c;,则对的输入语句是()。A) scanf(%s%d,&b,&c);B) scanf(%s%d,&b,c);
7、C) scanf(%s%d,b,c);D) scanf(%s%d, b,&c);22.有如下程序:#include main()int a 1,2,3,4,y,*p&a3;p; y*p;printf(y%dn,y);程序运营成果是()。A) y0 B) y1C) y2D) y323.若有如下阐明和语句,请选出哪个是对c数组元素对的引用()。int c45,(*cp)5;cpc;A) cp1B) *(cp 3)C) *(cp 1)3D) *(* cp2)24.有如下程序:#include main() char p20a,b,c,d,qabc,rabcde;strcat(p,r); strcpy
8、(pstrlen(q),q);printf(%dn,strlen(p);程序运营后输出成果是()。A) 9B) 6C) 11D) 725.如下程序段中变量已正拟定义: for(i0;i4;i,i) for(kl;k3;k);printf(*);程序段输出成果是()。A) * B) *C) *D) *26.如下程序运营后输出成果是()。main()char chuvwxyz,*pc;pcch;printf(%cn,*(pc5);A) zB) 0C) 元素ch5地址D) 字符y地址27.有如下程序:#includevoid fun(char *p)p;printf(%sn,*p);main()ch
9、ar *aMorning,Afternoon,Evening,Night;fun(a);运营后输出成果是()。A) AfternoonB) fternoonC) MorningD) orning28.如下程序运营后输出成果是()。void f(int n,int *r) int r10;if(n%30)r1n/3;else if(n%50)r1n/5;else f(n,&r1);*rr1;main() int m7,r;f(m,&r);printf(%dn,r);A) 2B) 1C) 3D) 029.有如下程序:main()int a320,(*ptr)2,i,j;for(i0;i2;i)pt
10、rai;scanf(%d,ptr);ptr;for(i0;i3;i)for(j0;j2;j)printf(%2d,aij);printf(n);若运营时输入:1 2 3,则输出成果是()。A) 编译错误2 00 0B) 1 02 00 0C) 1 22 03 0D) 1 030.有如下程序:#include void fun(char *s) while(*s) if(*s%20)printf(%c,*s);s;main() char agood;fun(a); printf(n);注意:字母aASCII码值为97,程序运营后输出成果是()。A) dB) goC) godD) good31.有
11、如下程序:main()int i,s0,t1,2,3,4,5,6,7,8,9;for(i0;i9;i2)s*(ti);printf(%dn,s);程序执行后输出成果是()。A) 45B) 20C) 25D) 3632.当用#define F 37.5f定义后,下列论述对的是()。A) F是float型数 B) F是char型数C) F无类型D) F是字符串33.有如下程序(函数fun只对下标为偶数元素进行操作) #includevoid fun(int *a,int n) int i,j,k,t;for(i0;in1;i2) ki;for(ji; jak)kj;tai;aiak; akt;ma
12、in() int aa101,2,3,4,5,6,7,i;fun(aa,7);for(i0;i7;i) printf(%d,aai);printf(n);程序运营后输出成果是()。A) 7,2,5,4,3,6,1,B) 1,6,3,4,5,2,7,C) 7,6,5,4,3,2,1,D) 1,7,3,5,6,2,1,34.阅读下列程序,则运营成果为()。#include stdio.hfun()static int x3;x;return x;main()int i,x;for(i0;i3;i)xfun();printf(%dn,x);A) 3B) 4C) 5D) 635.下列程序输出成果是()
13、。#include stdio.h#define N 3#define M 3void fun(int aMN)printf(%dn,*(a12);main()int aMN;int i,j;for(i0;iM;i)for(j0;jN;j)aijij(ij);fun(a);A) 3B) 4C) 5D) 636.有如下程序段:typedef struct NODEint num; struct NODE *next;OLD;如下论述中对的是()。A) 以上阐明形式非法B) NODE 是一种构造体类型C) OLD 是一种构造体类型D) OLD 是一种构造体变量37.有如下程序:struct Sin
14、t n; int a20;void f(int *a, int n) int i;for(i0;in1;i) aii;main() int i; struct S s10,2,3,1,6,8,7,5,4,10,9;f(s.a,s.n);for(i0;is.n;i)printf(%d,s.ai);程序运营后输出成果是()。A) 2,4,3,9,12,12,11,11,18,9,B) 3,4,2,7,9,8,6,5,11,10,C) 2,3,1,6,8,7,5,4,10,9,D) 1,2,3,6,8,7,5,4,10,9,38.下列选项中,可以满足若字符串s1等于字符串s2,则执行ST规定是()。
15、A) if(strcmp(s2,s1)0)ST;B) if(sls2)ST;C) if(strcpy(s1,s2)1)ST;D) if(sls20)ST;39.有如下程序:struct STU char name10; int num; float TotalScore; ;void f(struct STU *p) struct STU s2SunDan,4,550,Penghua,5,537,*qs;p; q; *p*q;main() struct STU s3YangSan,1,703,LiSiGuo,2,580;f(s);printf(%s %d %3.0fn,s1.name, s1.
16、num,s1.TotalScore);程序运营后输出成果是()。A) SunDan 4 550B) Penghua 5 537C) LiSiGuo 2 580D) SunDan 1 70340.下面程序段输出为()。#include stdio.hmain()printf(%dn,122);A) 0B) 47C) 48D) 241、参照答案:B【解析】在实际应用中,队列顺序存储构造普通采用循环队列形式。2、参照答案:C【解析】普通来说,在线性表链式存储构造中,各数据结点存储序号是不持续,并且各结点在存储空间中位置关系与逻辑关系也不一致。线性链表中数据插入和删除都不需要移动表中元素,只需变化结点
17、指针域即可。3、参照答案:A【解析】依照二叉树性质3:在任意一棵二叉树中,度为0叶子结点总是比度为2结点多一种,因此本题中度为2结点是514个,因此度为1结点个数是255416个。4、参照答案:B【解析】数据库系统三级模式是概念模式、外模式和内模式。概念模式是数据库系统中全局数据逻辑构造描述,是全体顾客公共数据视图。外模式也称子模式或顾客模式,它是顾客数据视图,给出了每个顾客局部数据描述。内模式又称物理模式,它给出了数据库物理存储构造与物理存取办法,因此选取B)。5、参照答案:A【解析】实体完整性约束规定关系主键中属性值不能为空值,因此选取A)。6、参照答案:C【解析】如果ST/R,则S称为T
18、除以R商。在除运算中S域由T中那些不出当前R中域所构成,对于S中任一有序组,由它与关系R中每个有序组所构成有序组均出当前关系T中。因此本题选取C)。7、参照答案:A【解析】软件危机重要体当前:软件需求增长得不到满足;软件开发成本和进度无法控制;软件质量难以保证;软件不可维护或维护限度非常低;软件成本不断提高;软件开发生产率提高赶不上硬件发展和应用需求增长。因此选取A)。8、参照答案:D【解析】需求分析阶段工作有:需求获取;需求分析;编写需求规格阐明书;需求评审,因此选取D)。9、参照答案:B 【解析】黑盒测试是对软件已经实现功能与否满足需求进行测试和验证,黑盒测试完全不考虑程序内部逻辑构造和内
19、部特性,只依照程序需求和功能规格阐明,检查程序功能与否符合它功能阐明,因此本题选取B)。10、参照答案:C 【解析】系统构造图是对软件系统构造总体设计图形显示。在需求分析阶段,已经从系统开发角度出发,把系统按功能逐次分割成层次构造,是在概要设计阶段用到。PAD图是在详细设计阶段用到。程序流程图是对程序流程图形表达,在详细设计过程中用到。数据流图是构造化分析办法中使用工具,它以图形方式描绘数据在系统中流动和解决过程,由于它只反映系统必要完毕逻辑功能,因此它是一种功能模型,是在可行性研究阶段用到而非软件设计时用到,因此选取C)。11、参照答案:B【解析】C语言规定顾客标记符由字母、数字和下划线构成
20、,且第一种字符必要是字母或下划线,可见选项C),D)是错误;此外,C语言不容许顾客将核心字作为标记符,而选项A)中void正是C语言核心字。12、参照答案:D【解析】C语言可执行程序是由一系列机器指令构成,用C语言编写源程序必要通过编译生成二进制目的代码,再通过连接才干运营,并且可以脱离C语言集成开发环境。故答案为D)。13、参照答案:C【解析】C语言规定每个语句以;(分号)结束,因而选项C)为两条语句。14、参照答案:A【解析】本题考查是C语言表达式。如果算术运算符/中参加运算变量都是整型变量,则/表达整除运算,因此1/3值应为0,故选项A)表达式值为0,而事实上代数式值并不为0,因此选项A
21、)不能对的计算题目所规定代数式。15、参照答案:D【解析】&是求址运算符,*是指变量阐明符。选项A)、B)应改为scanf(%d,p);选项C)中指针变量p未指向一拟定内存单元,不能为其赋值,并且这样做很危险,建议不使用。16、参照答案:B【解析】本题考查点是不同格式数据输出。printf函数对不同类型数据用不同格式字符,%d是以带符号十进制形式输出整数(正数不输出符号);%o以八进制无符号形式输出整数(不涉及前导符0);%x以十六进制无符号形式输出整数(不涉及前导符0x)。17、参照答案:C【解析】本题考查是逗号表达式。逗号表达式求解环节是先求解表达式1,然后依次求解表达式2,直到表达式N值
22、。整个逗号表达式值就是最后一种表达式N值。表达式(x3*y,x+6)中,x=15。表达式y=x-1=14。18、参照答案:C【解析】本题考查是if语句。if是C语言核心字,表达式两侧圆括号不可少,最后是一条语句或是用花括号括起来一组语句。选项A)和B)是在表达式后跟了一条空语句,选项D)是在表达式后跟了一组空语句,选项C)中x是表达式而不是语句,因此在编译时会浮现错误信息,在x背面加上;号就对了。19、参照答案:A【解析】考查switch语句使用。switch语句执行过程为:进入switch构造后,对条件表达式进行运算,然后从上至下去找与条件表达式值相匹配case,以此作为入口,执行switc
23、h构造中背面各语句,直到遇到break语句,则跳出switch语句,如果各case都不匹配时,则执行default背面语句。20、参照答案:B【解析】本题考查是原则输入输出函数。在使用原则输入输出库函数(除了printf和scanf)前,必要要用预编译命令#include将头文献stdio.h涉及到顾客源文献中。调用printf函数时可以没有输出项,例如printf()是容许。C语言中整数输出形式中没有十二进制形式。getchar函数读入字符时可以得到第一种输入字符ASCII码,无法通过输入相应字符ASCII得到该字符。21、参照答案:D【解析】scanf函数惯用格式控制中s代表输入是字符串,
24、d代表输入带符号十进制整型数,依照语句char b8; int c;可拟定对的输入语句是D)选项22、参照答案:D【解析】在程序中指针变量p初始指向a3,执行p减1后,p指向a2,语句y*p作用是把a2值赋给变量y,因此输出为y3。23、参照答案:D【解析】本题考查点是数组元素引用。cpc这个语句是将数组c首行元素地址赋给了指针数组cp。选项A),cp1是指将数组c首行地址加1,即为第二行地址;选项B),*(cp3)是地址,等于数组c首地址加3那个内存单元内容,不是对数组元素引用;选项C),*(cp1)3是地址,等于数组c首地址加1那个内存单元中存储值加3,不是对数组元素引用。24、参照答案:
25、B【解析】本题考查是用于字符串解决函数。题目中一方面通过strcat(p,r)将r所指字符串内容连接到p所指字符串背面,p20a,b,c,d,a,b,c,d,e。然后通过pstrlen(q)在数组元素p0地址基本上向后移动三位,然后将q所指字符串内容复制到p所指存储空间中,从字符d往后所有覆盖,p20a,b,c,a,b,c。在输出语句中strlen(p)是求字符串长度,值为6。25、参照答案:D 【解析】本题考察for循环语句,注意第二个for语句背面有一种分号,即printf函数不属于循环体,无论循环执行多少次,printf(*)语句只执行一次。因而,本题对的答案为D)。26、参照答案:A
26、【解析】表达式*(pc5)先将指针向后移动5个存储单元,指向ch5,再取出其中值。其值为字符 z。27、参照答案:A【解析】语句void fun(char *p) 中形参是一种指向指针指针,在调用函数fun(a)后,指针数组a加1,则指向了数组第2个字符串AfternoonA地址。28、参照答案:A【解析】参数r传递是址传递,函数调用会变化其值。函数f功能是:判断n与否为3或5倍数,如果是,则将指针r所指内存空间赋值为n除以3或5商;否则n递减,直到它可以被3或5整除。初始时调用函数f(7,&r);n7,执行else子句,调用f(6,&r1);后n6,执行语句 if(n%30) r1n/3;,
27、此后执行语句*rr1;。因此r6/32。29、参照答案:B【解析】一方面二维数组a中元素都初始化为0,另一方面定义了指向数组指针ptr,并且依次将ptr指向二维数组a中各行,循环语句for(i0;iak) kj;可知当前k是记录数组中较大数据值所在位置下标变量,因此该函数作用是对数组a中下标为偶数位置数据进行从大到小排序,即对a0,a2,a4,a6中数据 1,3,5,7进行从大到小排序,其她位置数据不变,因此答案为A)。34、参照答案:D【解析】在整个程序运营期间,静态局部变量在内存静态存储区中占据着永久存储单元,虽然退出函数后来,下次再进入该函数时,静态局部变量仍使用本来存储单元,静态局部变
28、量初值是在编译时候赋予,在程序执行期间不再赋予初值。本题由于持续三次调用函数fun(),三次对静态变量x进行操作,x值应依次为4,5,6。35、参照答案:B【解析】若有如下定义:int a34,i,j;且当0i3,0j4,则可以有如下几种方式来引用数组中第i行,第j列元素:aij,*(aij),*(*(ai)j),(*(ai)j,*(&a004*i+j)。赋值语句完毕后数组中数据如下:0 2 4 0 2 4 0 2 4 由于func( )函数打印是第1行第2列数据,所觉得4。36、参照答案:C【解析】本题考查是构造体定义。typedef核心字用于声明一种新类型名代替已有类型名。本题中如果没有用
29、typedef进行定义,则struct NODE为构造体类型,当前用typedef定义后,相称于用OLD代表了struct NODE这一构造体类型,故OLD为构造体类型。37、参照答案:A【解析】本题考查是构造体成员引用。在主函数main()中定义了一种整型变量i和一种构造体变量s。f()函数中,通过指针a来引用数组中元素;通过for循环语句将数组中除最后一种元素外其她元素(由条件in1决定)分别加上由0开始递增数据(即0、1、28),因此最后输出成果为2,4,3,9,12,12,11,11,18,9,。38、参照答案:A【解析】函数strcmp(s2,s1)作用是比较字符串大小,函数strcpy(s1,s2)作用是进行字符串复制,因此选取A)选项。B)和D)都是比较字符串s1与s2地址与否一致而不是比较字符串内容与否一致。39、参照答案:B【解析】本题考查是构造体。本程序将构造体数组s首地址传递给了构造体指针变量p,并在函数f中变化了指针变量p所指向第二个构造体中成员变量,这一变化,也就是变化了主函数中s1成员变量,故程序输出值为Penghua 5 537。40、参照答案:C【解析】本题考查位运算运算原理。为左移运算符,运算符左边是移位对象;右边是整型表达式,代表左移位数,左移时,右端(低位)补0;左端(高位)移出某些舍弃。