1、9、设变量均已正确定义并且赋值,以下与其他三组输出结构不同的一组语句是A、x+; printf(“%dn”,x); B、n=+x; printf(“%dn”,n);C、+x; D、n=x+;10、以下选项中,能表示逻辑值“假”的是A 1 B 0.000001 C 0 D 100.011.下列叙述中正确的是:A、循环队列是队列的一种顺序存储结构 B、循环队列是队列的一种链式存储结构C、循环队列是非线性结构 D、循环队列是一直逻辑结构12.下列叙述中正确的是A、栈是一种先进先出的线性表 B、队列是一种后进先出的线性表C、栈和队列都是非线性结构 D、以上三种说法都不对13.一棵二叉树共有25个节点,
2、其中5个时子节点,那么度为1的节点数为A、4 B、6 C、10 D、1614.在下列模式中,能够给出数据库物理存储结构与物理存取方法的是A、内模式 B、外模式 C、概念模式 D、逻辑模式15.在满足实体完整性约束的条件下A、 一个关系中可以没有候选关键词B、 一个关系中只能有一个候选关键词C、 一个关系中必须有多个候选关键词D、 一个关系中应该有一个或者多个候选关键词16.有三个关系R、S和T如下: SABCa12b R c3 T 则由关系R和S得到关系T的操作是A、自然连接 B、并 C、差 D、交17.软件生命周期中的活动不包括A、软件维护 B、市场调研 C、软件测试 D、需求分析18.下面
3、不属于需求分析阶段任务的是A、确定软件系统的功能需求 B、确定软件系统的系统的系能需求B、制定软件集成测试计划 D、需求规格说明书审评19.在黑盒测试方式中,设计测试用例的主要根据是A、程序外部功能 B、程序内部逻辑C、程序数据结构 D、程序流程图20、有以下程序 int a;Scanf(“%d”,&a);If(a+9) printf(“%dn”,a);Else printf(“%dn”,a-);程序运行时键盘输入9,则输出的结构是A、10 B 11 C 9 D 821、有以下程序int s=0,n; For (n=0;n3;+)switch(s) case 0;Case 1;s+=1;Cas
4、e 2;s+=2;break;Case 3;s+3;Case 4;s+=4;printf(“%dn”,s);程序运行后的结果是A 1,2,4 B 1,3,6 C 3,10,14 D 3,6,1022、若k是int类型变量,且有以下for语句For(k=-1;k0;k+) printf(*n”);下面关于语句执行情况的叙述中正确的是A、循环体执行一次 B、循环体执行两次C、循环体一次也不执行 D、构成无限循环23、有以下程序char A,B,C;B=1;C=AFor(A=0;Am-) scanf(“%dn”, );A &x+m B &xm+1 C x+(m+) D x+m26、若有函数Viod
5、fun(double a, int *n)以下叙述中正确的是A、 调用fun函数时只有数组执行按值传送,其他实参和形参之间执行按地址传送B、 形参a和n都是指针变量C、 形参a是一个数组名,n是指针变量D、 调用fun函数时将把double型实参数组元素一一对应地传送给形参a数组27、有以下程序int a,b,k,m,*p1,*p2;k=1,m=8;p1=&k,p2=&m;a=/*p1-m; b=*p1+*p2+6;printf(“%d ”,a); printf(“%dn”,b);编译时编译器提示错误信息,你认为出错的语句是A、a=/*p1-m B、b=*p1+*p2+6C、k=1,m=8;
6、D、p1=&28、以下选项中有语法错误的是A char *str =“guest”; B、char str10 =“guest”;C、char *str3 *str1=“guest”; D、char str310;str1=“guest”;29、avg函数的功能是求整型数组中的前若干个元素的平均值,设数组元素个数最多不超过10,则下列函数说明语句错误的是A、int avg(int *a,int n); B、int avg(int a10,int n);C、int avg(int a,int n) ; D、int avg(int a,int n);30、有以下函数 #include main()
7、 printf(“%dn”,strren”ATSn0121”) );程序运行后的输出结果是A 3 B 8 C 4 D 931、有以下函数 char a20,b20,c20;scanf(”%s%s”,a,b);get(c);printf(”%s%sn”,a,b,c);程序运行时从第一行开始输入 this is a cat!x) fun(c-1); printf (“%c”,c);fun”z”;程序运行输出结果是A xyz B wxyz C zyxw D zyx33、有以下函数viod func(int n)int i;for(i=0;i=n;i+) printf(“*”); printf(“#”
8、); func(3); printf(“?”); func(4); printf(“n”); A *#?*# B *#?*# C *#?*# D *#?34、有以下函数viod fun(int *s)staic int j=0;do sj=sj+sj+1; wihle(+j2);int k,a10=1,2,3,4,5;for(K+1;k+) fun(a);5;k+) printf(“%d”,ak);printf(“n”);A 12345 B 23445 C 34756 D 3574535、有以下函数#define S(x) (x)*x*2int k=5,j=2;printf(“%d,”,Sk+
9、j); printf(“%dn”,S(k-j);A 98,18 B 39,11 C39,18 D98,1136、有以下函数Viod exch(int t )t0=t5;int x10=1,2,3,4,5,6,7,8,9,10,i=0;While(i color C std- color D (*ptr) .color 38、有以下函数struct stuint mun; char name10; int age;viod fun(struct stu *p) printf(“%sn”,p-name);mian() struct stu x3=01,”zhang”,20,02,”wang”,19
10、,03,”zhao”,18;fun(x+2);A zhang B zhao C wang D 1939、有以下函数int a=12,c;c=(a2)1;printf(“%dn”,c):A 3 B 50 C 2 D 9640、以下函数不能用于向文件写入数据的是A ftell B fwrite C fputc D fprintf二、 填空题1、将长度为n的顺序存储在线性表中删除一个元素,最坏情况下需要移动表中的元素个数为( )。2、设循环队列的存储空间为Q(1:3),初始状态为front=rear=30。现经过一系列入队与退队运算后,front=16,rear=15,则循环队列中有( )个元素。3
11、、数据库管理系统提供的数据语言中,负责数据的增、删、改和查询的是( )。4、在将E-R图转换到关系模式时,实体和联系都可以表示成( )。5、常见的软件工程方法有结构化方法和面向对象方法,类、继承以及多态性等概念属于( )。6、设变量a和b已定义为int类型,若要通过scanf(”a=%d,b=%d”,&a,&b);语句分别给a和b输入1和2,则正确的数据输入内容是( )。7、以下程序的输出结果是( )。 int a=37;a+=a%=9; printf(“%dn”,a);8、设a、b、c都是整型变量,如果a的值为1,b的值为2,则执行c=a+|b+;语句后,变量b的值是( ).9、有以下程序段
12、s=1.0;for(k=1,kk+) s=s+1.0(k*(k+1);printf(“%fn”,s);请填空,使以下程序段的功能与上面的程序段完全相同。 k=1;while( ) s=s+1.0(k*(k+1); k=k+1;10、以下程序段的输出结果是( ) char a,b; for(a=0;a20;a+=7) b=a%10; putchar(b+0);11、以下程序段的输出结果是( ) char *ch4=“red”,”green”,”blue”;Int i=0;While(chi); putchar(chi0; i+;12、 有以下程序int arr=1,3,5,7,2,4,6,8,
13、i, start;Scanf(“%d”, &start);For(i=0,i3,i+)printf(“%d”,arr(start+i)%8);若在程序运行时输入整数10 ,则输出结果为( )。13、 以下程序的功能是输出a数组中的所有字符串,请填空char *a=“ABC”,”DEFGH”,”IJ”,”KLMNOP”;For(;4;i+) printf(“%sn”, );14、以下程序的输出结果是( )。 char *p, *q, *r;p=q=r=(char *)malloc(sizeof(char)*20);strcpy(p,”attaboy,welcome!printf(“%c%c%cn
14、”,p11, q3, r4);free(p);15、设文件test.txt中原已写入字符串Begin,执行以下程序后,文件中的内容为( )。 file *fp; fp=fopen(“test.txt”,”w+”); fputs(“test”,fp); fclose(fp);(1)【答案】A【解析】为了充分利用存储空间,可以把顺序队列看成一个环状空间,即把顺序队列的头尾指针相连,这样的队列称之为循环队列。它是对顺序队列的改进,故循环队列是队列的一种顺序存储结构(2)【D】【解析】栈是一种后进先出的线性表,队列是一种先进先出的线性表,二者均是线性结构,故选项A)、B)、C)均不对,答案为选项D)。
15、(3)【解析】由二叉树的性质n0=n2+1可知,度为0的结点数(即叶子结点数)=度为2的结点数+1,根据题意得知,度为2的结点数为4个,那么25-5-4=16即为度为1的结点数,选项D)正确(4)、【答案】A【解析】内模式也称存储模式,它是数据物理结构和存储方式的描述,是数据在数据库内部的表示方式,对应于物理级,它是数据库中全体数据的内部表示或底层描述,是数据库最低一级的逻辑描述。所以选项A)正确。(5)【答案】D【解析】在关系R中如记录完全函数依赖于属性(组)X,则称X为关系R中的一个候选关键字。在一个关系中,候选关键字可以有多个且在任何关系中至少有一个关键字。所以在满足数据完整性约束的条件
16、下,一个关系应该有一个或多个候选关键字,所以选项D)正确。(6)【答案】C【解析】R和S的差是由属于R但不属于S的元组组成的集合,运算符为“-”。记为T=R-S。根据本题关系R和关系S运算前后的变化,可以看出此处进行的是关系运算的差运算(7)【答案】B【解析】通常把软件产品从提出、实现、使用、维护到停止使用(退役)的过程称为软件生命周期。可以将软件生命周期分为软件定义、软件开发及软件运行维护三个阶段。软件生命周期的主要活动阶段是可行性研究与计划制定、需求分析、软件设计、软件实现、软件测试、运行和维护。软件生命周期不包括市场调研。(8)【解析】需求分析是对待开发软件提出的需求进行分析并给出详细的
17、定义。主要工作是编写软件需求规格说明书及用户手册。需求分析的任务是导出目标系统的逻辑模型,解决“做什么”的问题。制定软件集成测试计划是软件设计阶段需要完成的任务(9)【解析】黑盒测试也称功能测试或数据驱动测试,设计测试用例着眼于程序外部结构、不考虑内部逻辑结构,主要针对软件界面和软件功能进行测试。(10)【解析】软件设计包括概要设计和详细设计,软件概要设计中,面向数据流的设计方法有变换型系统结构图和事务型数据流两种。软件详细设计,程序流程图(PDF)和PAD(问题分析图)是过程设计的常用工具。数据流图(DFD图)是软件定义阶段结构化分析方法常用的工具。(11)【答案】A)【解析】简单程序设计的
18、步骤是首先要确定算法和数据结构,然胡编码、调试,最后整理相关文档。(12)【解析】实型数据在内存中存储的二进制位数是有限的,例如float型数据在内存中有24位二进制尾数。而一个十进制实数转化为二进制实数时,其有效数字位数有可能会超过尾数的存储长度,从而导致有效数字丢失而产生误差。(13)【答案】B)【解析】一个正确的算法可以有零个或者多个输入,必须有一个或者多个输出。(14)【答案】C)【解析】一个C程序有且只有一个主函数 main()。一个C 程序可以包含多个不同名字的子函数。C程序在书写时没有严格的缩进要求。(15)【解析】考察C语言中输入格式,因为在输入格式中定义好了”%c%c”,其中
19、没有任何符号,所以中间不能加任何字符,包含不能加逗号、回车和空格,因为这些也算是字符。所以在输入时也不可以有任何间隔符号。(16)【答案】D)【解析】字符常量有两种表示方法:一种是用该字符的图形符号,如b ,y,*。另外还可以用字符的ASCII码表示,即用反斜符()开头,后跟字符的ASCII码,这种方法也称为转义序列表示法,具体方法是:有两种形式:一种是用字符的八进制ASCII码,表示为:odd.这里,ddd是八进制值(o可以省略)。另一种使用字符的十六进制ASCII码值,表示为0xhh或0Xhh这里hh是两位十六进制值。本题中D)选项019使用是八进制表示,不应该出现9,所以错误。(17)【
20、解析】考察C语言关于赋值的应用,首先执行a-=a-5,即a=a-(a-5),使得a的值为5,然后执行c=(a-=a-5),即将a的值5赋给变量c,使得c的值也为5。然后执行下句逗号表达式中的a=b,把b的值0赋给a,此时a的值为0,然后执行b=b+4,使得b的值为4。最后打印输出。(18)【解析】本题考察自增运算符,+x表示先将x值加1后再用,x+表示先使用x值,用后加1,所以本题中ABC选项都会输出x+1的值,只有D选项会输出x值。(19)【解析】在C语言中非0的值表示真,0表示假。(20)【解析】考察if语句和自增自减运算符,判断条件中if(a+9)是先用后加,即a的值为9,所以条件不成立
21、,但是a已经进行了自增1操作,a的值此时为10。执行else语句时,因为打印a-,是先用后减,所以先输出10,然后a的值变为9。(21)【解析】本题考察switch语句的应用,case分支后面如果没有break,那么就会顺序执行下面的case,直到遇到break跳出。所以第一次循环后s的值为3打印输出。第二次s的值为:s=s+3,s=s+4,即为10,打印输出。第三次没有匹配成功直接执行default语句,s=s+4,所以s的值为14,打印输出。(22)【解析】考察for循环语句,本题中k初始值为-1,执行一次循环体,执行完后k值为0,不满足k0条件,推出循环,所以执行了一次。(23)【解析】考察for语句和if语句,第一次循环a的值为0 ,a%2也为0 ,条件不满足所以打印的是(c+a)即变量c的值“A”。第二次a的值为1,条件a%2的值为1,条件满足打印字符(b+a)即字符 “2”。第三次a的值为2,条件不满足,打印(a+c)即字符”C”。同理打印后续字符为“4E6”。(24)【解析】考察数组和指针的概念,本题中*k指向数组m的首地址。*(k+2)现将指
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1