全国计算机等级考试二级公共基础知识课后习题及答案_第1页
全国计算机等级考试二级公共基础知识课后习题及答案_第2页
全国计算机等级考试二级公共基础知识课后习题及答案_第3页
全国计算机等级考试二级公共基础知识课后习题及答案_第4页
全国计算机等级考试二级公共基础知识课后习题及答案_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

13/13全国计算机等级考试二级公共基础知识课后习题及答案1第一章

数据结构与算法一.选择题

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.

栈是先进后出线性表

8.在深度为5满二叉树中,叶子结点个数为(

)

A.

32

B.

31

C.

16

D.

15

9.对长度为N线性表进行顺序查找,在最坏情况下所需要比较次数为(

)

A.

N+1

B.

N

C

.(N+1)/2

D.

N/2

10.设树T度为4,其中度为1,2,3,4结点个数分别为4,2,1,1

.则T叶子结点数为

A.

8

B.

7

C

.

6

D.

5

二.填空题

1.

对长度为n有序线性表中进行二分查找,需要比较次数为(

)

2.

设一棵完全二叉树共有700个结点,则在该二叉树中有(

)个叶子结点

3.

设一棵二叉树中序遍历结果为DBEAFC,前序遍历结果为ABDECF,则后序遍历结果为(

)

4.

在最坏情况下,冒泡排序时间复杂度为(

)

5.

在一个容量为15循环队列中,若头指针front=6,尾指针rear=9,则该循环队列中共有(

)个元素第一章参考答案

一.选择题

1.C

2.

D

3.

A

4.

B

5.

C

6.

D

7.

B

8.

B

9.

B

10.

A

二.

填空题

1)

log2n

2)

350

3)

DEBFCA

4)

N(N-1)/2

5)

3

第二章

程序设计基础

一.

选择题

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.

操作是对象动态属性

二.填空题

1.结构化程序设计三种基本逻辑结构为顺序、选择和(

2.源程序文档化要求程序应加注释。注释一般分为序言性注释和(

3.在面向对象方法中,信息隐蔽是通过对象(

)性来实现

4.类是一个支持集成抽象数据类型,而对象是类(

5.在面向对象方法中,类之间共享属性和操作机制称为(

)第二章参考答案

一.选择题

1.B

2.

A

3.

D

4.

B

5.

A

二.填空题

1)

重复(或循环)

2)

功能性

3)

封装

4)

实例

5)

继承

转贴第三章

软件工程基础一.

选择题

1.在软件生命令周期中,能准确地确定软件系统必须做什么和必须具备哪些功能阶段是(

A.概要设计

B.详细设计

C.可行性研究

D.需求分析

2.下面不属于软件工程3个要素是(

A.工具

B.过程

C.方法

D环境

3.检查软件产品是否符合需求定义过程称为(

A.确认测试

B.集成测试

C.验证测试

D.验收测试

4.数据流图用于抽象描述一个软件逻辑模型,数据流图由一些特定图符构成。下列图符名标识图符不属于数据流图合法图符是(

)A.控制流

B.加工

C.数据存储

D.源和潭

5.下面不属于软件设计原则是

A.抽象

B.模块化

C.自底向上

D.信息隐蔽

6.程序流程图(PFD)中箭头代表是(

A.数据流

B.控制流

C.调用关系

D.组成关系

7.下列工具中为需求分析常用工具是(

)

A.

PAD

B.

PFD

C.

N-S

D.

DFD

8.在结构化方法中,软件功能分解属于下列软件开发中阶段是(

)A.详细设计

B.需求分析

C.总体设计

D.编程调试

9.软件调试目是(

)

A.

发现错误

B.改正错误

C.改善软件性能

D.挖掘软件潜能

10.软件需求分析阶段工作,可以分为四个方面:需求获取,需求分析,编写需求规格说明书,以及(

A.阶段性报告

B.需求评审

C.总结

D.都不正确

二.填空题

1.软件是程序、数据和(

)集合.

2.Jackson方法是一种面向(

)结构化方法

3.软件工程研究内容主要包括(

)技术和软件工程管理

4.数据流图类型有(

)和事务型

5.软件开发环境是全面支持软件开发全过程(

)集合。第三章参考答案一.选择题

1.D

2.

D

3.

A

4.

A

5.

C

6.

B

7.

D

8.

C

9.

B

10.

B

二.填空题

1)

文档

2)

数据流

3)

软件开发

4)

变换型

5)

软件工具

转贴第四章

数据库设计基础一.选择题

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.按条件f对关系R进行选择,其关系代数表达式是(

)

A.

R|×|R

B.

R|×|R

C.

σf(R)

D.

πf(R)

7.关系数据管理系统能实现专门关系运包括(

)

A.排序、索引、统计B.选择、投影、连接C.关联、更新、排序

D.显示、打印、制表

8.在关系数据库中,用来表示实体之间联系是(

A.树结构

B.网结构

C.线性表

D.二维表

9.数据库设计包括两个方面设计内容,它们是(

A.概念设计和逻辑设计

B.模式设计和内模式设计

C.内模式设计和物理设计

D.结构特性设计和行为特性设计

10

将E-R图转换到关系模式时,实体与联系都可以表示成(

A.属性

B.关系

C.键

D.域

二.

填空题

1.一个项目具有一个项目主管,一个项目主管可管理多个项目,则实体”项目主管”与实体”项目”联系属于(

)联系.

2.数据独立性分为逻辑独立性和物理独立性.当数据存储结构改变时,其逻辑结构可以不变。因此,基于逻辑结构应用程序不必修改,称为(

)

3.数据库系统中实现各种数据管理功能核心软件称为(

)

4.关系模型完整性规则是对关系某种约束条件,包括实体完整性、(

)和自定义完整性.

5.在关系模型中,把数据看成一个二维表,每一个二维表称为一个(

)转贴于第四章参考答案

一.选择题

1.A

2.

A

3.

B

4.

B

5.

A

6.

C

7.

B

8.

D

9.

A

10.

B

三.

填空题

1)

一对多(或1:N)

2)

逻辑独立性

3)

数据库管理系统

4)

参照完整性

5)

关系

转贴于一、选择题(1)下列关于栈叙述正确是

A)栈是非线性结构B)栈是一种树状结构C)栈具有先进先出特征D)栈具有后进先出特征

(2)结构化程序设计所规定三种基本控制结构是

A)输入、处理、输出B)树形、网形、环形C)顺序、选择、循环D)主程序、子程序、函数(3)结构化程序设计一种基本方法是A)筛选法B)递归法C)归纳法D)逐步求精法(4)如果对一个关系实施了一种关系运算后得到了一个新关系,而且新关系中属性个数少于原来关系中属性个数,这说明所实施运算关系是:A)选择B)投影C)连接D)并

二、填空题

1.对于输入为N个数进行快速排序算法平均时间复杂度是()2.在面向对象方法学中,直接反映了用户对目标系统要求模型是()3.软件测试方法中,黑盒测试个白盒测试法是常用方法,其中黑盒测试法主要是用于测试()

4.关系型数据库管理系统中存储与管理数据基本形式是()

C语言程序设计

一、选择题(1)以下程序输入结果是

main()

{inti=010,j=10,k=x10;

printf("%d,%d,%d",i,j,k);

}

A)8,10,16B)8,10,10C)10,10,10D)10,10,16

(2)指针s所指字符串长度

char*s=""NameAddress";

A)说法不合法B)19C)18D)15

(3)C语言中最简单数据类型包括

A)整型、实型、逻辑型B)整型、实型、字符型

C)整型、字符型、逻辑型D)整型、实型、逻辑型、字符型

(4)为表示关系x大于等于y大于等于z,应使用C语言表达式

A)(x>=Y)&&(Y>=z)B)(x>=Y)AND(y>=z)C)(x>=Y>=z)D)(x>=Y)&(Y>=z)

(5)下列对C语言字符数组描述中错误是

A)字符数组可以存放字符串B)字符数组中字符串可以整体输入、输出

C)可以在赋值语句中通过赋值运算符“=”对字符数组整体赋值D)不可以用关系运算符对字符数组中字符串进行比较

(6)以下说法中正确是

A)C语言程序总是从第一个定义函数开始执行B)在C语言程序中,要调用函数必须在main()函数中定义

C)C语言程序总是从main()函数开始执行D)C语言程序中main()函数必须放在程序开始部分

(7)以下程序段输出结果是

intx=3;

do

{printf("%3d",x-=2);}

while(!(--x));

A)1B)30C)1-2D)死循环

(8)设有如下定义:

char*aa[2]={"abcd","ABCD"};

则以下说法中正确是

A)aa数组元素值分别是"abcd"和"ABCD"

B)aa是指针变量,它指向含有两个数组元素字符型一维数组

C)aa数组两个元素分别存放是含有4个字符一维字符数组首地址

D)aa数组两个元素中各自存放了字符'a'和'A'地址

(9)设有以下定义:

inta[4][3]={1,2,3,4,5,6,7,8,9,10,11,12};

int(*prt)[3]=a,*p=a[0];

则下列能够正确表示数组元素a[1][2]表达式是

A)*((*prt+1)[2])B)*(*(p+5))C)(*prt+1)+2D)*(*(a+1)+2)

(10)以下程序输出结果是

fut(int**s,intp[2][3])

{**s=p[1][1];}

main()

{inta[2][3]={1,3,5,7,9,11},*P;

p=(int*)malloc(sizeof(int));

fut(&p,a);

print("%",*p);

}

A)1B)7C)9D)11二、填空题(1)表示条件:10

(2)下列程序输出结果是()

#include

main()

{charb[]="ABCDEFG";

char*chp=&b[7];

while(--chp>&b[0])

putchar(*chp);

putchar("");

}

(3)下列程序输出结果是()

intast(intx,intY,int*cp,int*dp)

{*cp=x+y;

*dp=x-y;

}

main()

{inta,b,c,d;

a=4;b=3;

ast(a,b,&c,&d);

print("%d%dn",c,d);

}

(4)阅读程序:

main()

{charstr1[]="howdoyoudo",str2[10];

char*p1=str1,*p2=str2;

scanf("%s",p2);

printf("%s",p2);

printf("%s",p1);

}

运行上面程序,输入字符串HOWDOYOUDO则程序输出结果是()

(5)以下程序由终端键盘输入一个文件名,然后把从终端键盘输入字符依次存放到该文件中,用#作为结束输入标志。请填空。

#include

main()

{FILE*fp;

charch,fname[10];

printf("Inputthenameoffile");

gets(fname);

gets(fname);

if((fp=[5])==NULL)

{printf("Cannotopen");exit(0);}

printf("Enterdata");

while((ch=getchar())!='#')

fputc([6],fp);

fclose(fp);

}三、上机操作题1.改错题

下列给定程序中,函数fun功能是:逐个比较a、b两个字符串对应位置中字符,把ASCII值大或相等字符依次存放到c数组中,形成一个新字符串。例如:若a中字符串为:aBCDeFgH,b中字符串为:ABcd,则c中字符串应为:aBcdeFgH.请改正程序中错误,使它能得到正确结果,注意:不要改动main函数,不得增行或删行,也不得更改程序结构。

试题程序:

#include

#include

voidfun(char*p,char*q,char*c)

{intk=1;

while(*p!=*q)

{if(*p!<*q)c[k]=*q;

elsec[k]=*p;

if(*p)p++;

if(*q)q++;

k++;

}

}

main()

{chara[10]="aBCDeFfH",b[10]="ABcd",c[80]={"0"};

fun(a,b,c);

printf("Thestringa:");puts(a);

ptintf("Thestringb:");puts(b);

printf("Theresult:");puts(c);

2.编程题

请编写函数fun,它功能是:求出1到1000之内能被7或11整除、但不能同时被7和11整除所有整数并将它们放在a所指数组中,通过n返回这些数个数。注意:部分源程序给出如下。请勿改动主函数main和其他函数中任何内容,仅在函数fun花括号中填入所编写若干语句。

试题程序:

#include<conio.h>

#include<stdio.h>

voidfun(int*a,int*n)

{

}

main()

{intaa[1000],n,k;

clrscr();

fun(aa,&n);

for(k=0;kif((k+1)%10==0)printf("");elseprintf("%5d",aa[k]);

}

二级(C语言程序设计)样题参考答案一、选择题

(1)D(2)C(3)D(4)B二、填空题

(1)[1]O(Nlog2N)

(2)[2]功能模型

(3)[3]软件外部功能

(4)[4]二维表C语言程序设计一、选择题

(1)A(2)D(3)B(4)A(5)C(6)C(7)C(8)D(9)D(10)C二、填空题

(1)[1](x>10&&x<100)//x<0

或(10或x<0//(x>10&&x<100)

或0>x//(10(并且括号有无都可以)

(2)[2]GFEDCB

(3)[3]71

(4)[4]HOWhowdoyoudo(说明:HOW和how之间有无空格均可)

(5)[5]fopen(fname,"w")

(说明:"w"内以w开头字符串均可)

[6]ch(1)已知一棵二叉树前序遍历和中序遍历分别为ABDEGCFH和DBGEACHF,则该二叉树后序遍历为

A)GEDHFBCAB)DGEBHFCA

C)ABCDEFGHD)ACBFEDHG正确答案:

B(2)树是结点集合,它根结点数目是

A)有且只有1B)1或多于1

C)0或1D)至少2正确答案:

A(3)如果进栈序列为e1,e2,e3,e4,则可能出栈序列是

A)e3,e1,e4,e2B)e2,e4,e3,e1C)e3,e4,e1,e2

D)任意顺序正确答案:

B(4)在设计程序时,应采纳原则之一是正确答案:

D

A)不限制goto语句使用B)减少或取消注解行

C)程序越短越好D)程序结构应有助于读者理解

(5)程序设计语言基本成分是数据成分、运算成分、控制成分和

A)对象成分B)变量成分C)语句成分

D)传输成分

正确答案:

D一、选择题

(1)下列数据结构中,按先进后出原则组织数据是

A)线性链表

B)栈C)循环链表

D)顺序表正确答案:

B(2)具有3个结点二叉树有

A)2种形态

B)4种形态

C)7种形态

D)5种形态

正确答案:

D(3)设有下列二叉树:

对此二叉树前序遍历结果为

A)ZBTYCPXA

B)ATBZXCYPC)ZBTACYXP

D)ATBZXCPY

正确答案:

B(4)结构化程序设计主要强调是正确答案:

D

A)程序规模

B)程序效率

C)程序设计语言先进性

D)程序易读性

(5)程序3种基本控制结构是

A)过程、子过程和分程序

B)顺序、选择和重复

C)递归、堆栈和队列

D)调用、返回和转移

正确答案:

B(6)下列叙述中,不属于测试特征是

A)测试挑剔性

B)完全测试不可能性

C)测试可靠性

D)测试经济性

正确答案:

C(7)需求分析中开发人员要从用户那里了解

A)软件做什么

B)用户使用界面

C)输入信息

D)软件规模

正确答案:

A(8)下列关系模型中,能使经运算后得到新关系中属性个数多于原来关系中属性个数是

A)选择

B)连接C)投影

D)并

正确答案:

B(9)下列叙述中,正确是

A)用E-R图能够表示实体集间一对一联系、一对多联系和多对多联系

B)用E-R图只能表示实体集之间一对一联系

C)用E-R图只能表示实体集之间一对多联系

D)用E-R图表示概念数据模型只能转换为关系数据模型

正确答案:

C(10)"年龄在18~25之间"这种约束是属于数据库当中

A)原子性措施

B)一致性措施

C)完整性措施

D)安全性措施

正确答案:

C(11)以下说法错误是

A)高级语言都是用接近人们习惯自然语言和数学语言作为语言表达形式

B)计算机只能处理由0和1代码构成二进制指令或数据

C)C语言源程序经过C语言编译程序编译之后生成一个后缀为.EXE二进制文件

D)每一种高级语言都有它对应编译程序

正确答案:

C(12)算法是指为解决某个特定问题而采取确定且有限步骤,下面不属于算法五个特性是

A)有零个输入或多个输入B)高效性C)有穷性D)确定性

正确答案:

B(13)已知inta=6;则执行a+=a-=a*a;语句后,a值为

A)36B)0C)-24D)-60

正确答案:

D(14)下面各选项中,均是C语言标识符选项组是

A)forchinatoB)long_123short56_do

C)voidunion_342D)text.txt_023_3ew

正确答案:

B(15)下列表达式中,结果为5是

A)6*5%6B)5*-2+15

C)5+75%10D)6+-2/3

正确答案:

B(16)下列常量中,为不合法实型常量表示是

A).0032B)0.0

C)0.3242E8D).E3

正确答案:

D(17)关于C语言主函数描述正确是

A)C程序可以有多个main函数

B)C程序必有一个而且只能有一个main函数

C)C程序可以没有main函数

D)C程序执行不一定在main函数开始执行

正确答案:

B(18)已知inta=1,b=-1;则语句printf("%d\n",(a--,++b));输出结果是

A)-1B)0C)1D)语句错误

正确答案:

B(19)已知inta,b;doublec;则以下语句中错误函数调用是

A)scanf("%d,%x,%lf",&a,&b,&c);

B)scanf("%d,%d,%le",&a,&b,&c);

C)scanf("%o,%x,%o",&a,&b);

D)scanf("%d,%o,%e",&a,&b,&c);

正确答案:

D(20)已知x,y,z均为整型变量,且值均为1,则执行语句++x||++y&&++z;后,表达式x+y值为正确答案:

C

A)1B)2C)3D)4(30)阅读下面程序,则程序执行后结果为

#include"stdio.h"

main()

{inta=4,b=6,c=7;

doubled,fun(int,int,int);

d=fun(a,b,c);

printf("%lf\n",d);}

doublefun(inta,intb,intc)

{doubles;

s=a%b*c;

returns;}

A)27B)27.000000

C)28D)28.000000

正确答案:

D(31)下列不合法指针变量定义是

A)int*_k;B)char*_245;

C)int*p;D)double*5_is

正确答案:

D(32)下列关于指针变量赋空值说法错误是

A)当赋空值时候,变量指向地址为0存储单元

B)赋值语句可以表达为变量名=′\0′;

C)赋值语句可以表达为变量名=0;

D)一个指针变量可以被赋空值

正确答案:

A(33)阅读下面程序,则执行后输出结果为

#include"stdio.h"

voidfun(int*a,int*b)

{intm;

m=(*a+*b)*(*a+*b);

m+=(*a-*b)*(*a-*b);

printf("%d\n",m);}

main()

{inta=5,b=6,*x=&a,*y=&b;

fun(x,y);}

A)120B)121C)122

D)123正确答案:

C(34)阅读下面程序,则输出结果是

#include"stdio.h"

voidfun(int*a,int*b)

{intc=20,d=25;

*a=c/3;

*b=d/5;}

main()

{inta=3,b=5;

fun(&a,&b);

printf("%d,%d\n",a,b);}

A)6,5B)5,6C)20,25D)3,5

正确答案:

A(35)以下对一维数组c进行正确定义初始化语句是

A)intc[10]=0;B)intc[10]={0}*10;

C)intc[1]={0,0,0,0,0,0,0};

D)intc[10]={0};正确答案:

D(36)以下二维数组c定义形式是

A)intc[3][]B)floatc[3,4]

C)doublec[3][4]D)floatc(3)(4)

正确答案:

C(37)阅读下列程序,则执行后输出结果是

#include"stdio.h"

intk=1;

main()

{fun(k);

printf("%d\n",k);}

fun(intk)

{k++;

k=k*6;}正确答案:

A

A)1B)2C)6D)12

(38)已知#defineM2;宏定义,执行语句k=M*5;后,k值是

A)10B)5C)2D)以上答案都不对正确答案:

D(39)已知:intc[3][4];则对数组元素引用正确是

A)c[1][4]B)c[1.5][0]

C)c[1+0][0]D)以上表达都错误

正确答案:

C(40)现有如下程序段

#include"stdio.h"

voidfun(int*a,int*b,int*c)

{*c=*a+*b;}

main()

{inta[2]={12,23},c;

fun(a,a+1,&c);

printf("%d\n",c);}

则程序输出结果为

A)23B)12

C)0D)35

正确答案:

D(41)若有以下语句,则正确描述是

chara[]="toyou";

charb[]={′t′,′o′,′y′,′o′,′u′};

A)a数组和b数组长度相同

B)a数组长度小于b数组长度

C)a数组长度大于b数组长度

D)a数组等价于b数组

正确答案:

C(42)已知:chara[15],b[15]={"Ilovechina"};则在程序中能将字符串Ilovechina赋给数组a正确语句是

A)a="Ilovechina";B)strcpy(b,a);

C)a=b;D)strcpy(a,b);正确答案:

D(44)阅读下面程序,则执行后结果为

#include"stdio.h"

main()

{

char*str="abcdefghijklmnopq";

while(*str++!=′e′);

printf("%c\n",*str);}

A)fB)aC)e

D)q正确答案:

A(45)现有如下程序段

#include"stdio.h"

intfun(intk,int*m)

{if(k%3)*m=k*k;

else*m=k/3;}

main()

{int(*p)(int,int*),m;

p=fun;

(*p)(78,&m);

printf("%d\n",m);}

则程序段输出结果为

A)24B)25C)26

D)27正确答案:

C(46)阅读下列程序,则执行后输出结果为

#include"stdio.h"

fun(intx)

{if(x/2>0)fun(x/2);

printf("%d",x%2);}

main()

{fun(20);

putchar(′\n′);}

A)11100B)10100C)10101

D)10110正确答案:

B(47)阅读如下程序段,则执行后程序输出结果是

#include<stdio.h>

main()

{structa{intx;inty;}num[2]={{20,5},{6,7}};

printf("%d\n",num[0].x/num[0].y*num[1].y);}

A)0B)28C)20D)5正确答案:

B(48)阅读程序段,则执行后输出结果为

#include"stdio.h"

typedefunion{longx[2];

inty[4];

charz[8];}atx;

typedefstructaa{longx[2];

inty[4];

charz[8];}stx;

main()

{printf("union=%d,structaa=%d\n",sizeof(atx),sizeof(stx));}

A)union=8,structaa=8

B)union=8,structaa=24

C)union=24,structaa=8

D)union=24,structaa=24

正确答案:

B(49)阅读下列程序段

#include"stdio.h"

typedefstructaa

{inta;

structaa*next;}M;

voidset(M*k,inti,int*b)

{intj,d=0;

for(j=1;j<i;j++)

{

k[j-1].next=&k[j];

k[j-1].a=b[d++];}

k[j].a=b[d];}

main()

{Mk[5],*p;

intd[5]={23,34,45,56,67};

set(k,5,d);

p=k+1;

printf("%d\n",table);}

则下面表达式在table处,能使程序执行后,打印输出数据45是

A)p->next->aB)++p->a

C)(*p).a++D)p++->a

正确答案:

A(50)阅读下面程序,程序实现功能是(a123.txt在当前盘符下已经存在)

#include"stdio.h"

voidmain()

{FILE*fp;

inta[10],*p=a;

fp=fopen("a123.txt","w");

while(strlen(gets(p))>0)

{fputs(a,fp);

fputs("\n",fp);}

fclose(fp);}

A)从键盘输入若干行字符,按行号倒序写入文本文件a123.txt中

B)从键盘输入若干行字符,取前2行写入文本文件a123.txt中

C)从键盘输入若干行字符,第一行写入文本文件a123.txt中

D)从键盘输入若干行字符,依次写入文本文件a123.txt中

正确答案:

D二、填空题

(1)排序是计算机程序设计中一种重要操作,常见排序方法有插入排序、【1】和选择排序等。正确答案:

1.(交换排序)(2)当循环队列非空且队尾指针等于队头指针时,说明循环队列已满,不能进行入队运算。这种情况称为【2】。正确答案:

1.(上溢)(3)【3】是一种信息隐蔽技术,目在于将对象使用者和对象设计者分开。正确答案:

1.(封装)(4)为了便于对照检查,测试用例应由输入数据和预期【4】两部分组成。正确答案:

1.(输出结果)(5)【5】是从二维表列方向进行运算。

正确答案:

1.(关系运算)(6)定义inta=5,b=20;若执行语句printf("%d\n",++a*--b/5%13);后,输出结果为【6】。正确答案:

1.(9)(7)执行程序时输入为123456789,则程序运行结果为【7】。

#include"stdio.h"

main()

{

inta,b;

scanf("%2d%*2d%1d",&a,&b);

printf("%d\n",a-b);}

正确答案:

1.(7)(8)阅读下面程序,则在执行时候输出为【8】。

#include"stdio.h"

main()

{intx=1,y=2,z=0;

if(x=2)z=x,x=y,y=z;

printf("%d,%d\n",x,y);}

正确答案:

1.(2,2)(9)语句printf("%d\n",′H′-′0′+64);执行结果为【9】。

正确答案:

1.(88)(10)阅读下面程序,则程序执行结果为【10】。

#include"stdio.h"

main()

{inta=10;

fun(a);

printf("%d\n",a);}

fun(intx)

{x=50;}

正确答案:

1.(10)(11)以下程序输出结果是【11】。

intfun(intx,inty,int*p,int*q)

{*p=x*y;

*q=x/y;}

main()

{inta,b,c,d;

a=4;b=3;

fun(a,b,&c,&d);

printf("%d,%d\n",c,d);}

正确答案:

1.(12,1)(12)下面程序是求出数组arr两条对角线上元素之和,请填空。

#include"stdio.h"

main()

{intarr[3][3]={2,3,4,8,3,2,7,9,8},a=0,b=0,i,j;

for(i=0;i<3;i++)

for(j=0;j<3;j++)

if(【12】)a=a+arr[i][j];

for(i=0;i<3;i++)

for(【13】;j>=0;j--)

if(【14】)

b=b+arr[i][j];

printf("%d,%d\n",a,b);}

正确答案:

1.(i==j)2.(j=2)3.(i+j==2)(13)下面程序功能是:对字符串从小到大进行排序并输出,请填空。

#include"string.h"

#include"stdio.h"

sort(char*a[],intn)

{inti,j;

char*p;

for(j=1;j<=n-1;j++)

for(i=0;【15】;i++)

if(【16】>0)

{p=a[i];

a[i]=a[i+1];

a[i+1]=p;}}

main()

{inti;

char*book[]={"itisme","itisyou","howareyou","fine","goodnight","goodbye"};

sort(【17】);

for(i=0;i<6;i++)

printf("%s\n",book[i]);}

正确答案:

1.(i<n-j)2.(strcmp(a[i],a[i+1]))3.(book,6)(14)下面函数是完成1~n累加,完成函数。

a(intk)

{if(k<=0)printf("error\n");

if(k==1)【18】;

else【19】;}

正确答案:

1.(return1)2.(return(a(k-1)+k))(15)阅读下列程序,则程序实现功能是【20】。

#include"stdio.h"

structnode

{chardata;

structnode*next;}*head;

fun(structnode*q)

{if(head==NULL)

{q->next=NULL;

head=q;}

else

{q->next=head;

head=q;}}

main()

{charch;

structnode*p;

head=NULL;

while((ch=getchar())!=′\n′)

{p=(structnode*)malloc(sizeof(structnode));

p->data=ch;

fun(p);}

p=head;

while(p!=NULL)

{printf("%c",p->data);

p=p->next;}}

正确答案:

1.(从键盘输入一行字符串,调用函数建立反序链表,然后输出整个链表)(1)最简单交换排序方法是

A)快速排序

B)选择排序

C)堆排序

D)冒泡排序

正确答案:

D(2)栈通常采用两种存储结构是

A)线性存储结构和链表存储结构

B)散列方式和索引方式

C)链表存储结构和数组

D)线性存储结构和非线性存储结构

正确答案:

A(3)线性表顺序存储结构和线性表链式存储结构分别是

A)顺序存取存储结构、顺序存取存储结构

B)随机存取存储结构、顺序存取存储结构

C)随机存取存储结构、随机存取存储结构

D)任意存取存储结构、任意存取存储结构正确答案:

B(4)完全不考虑程序内部结构和内部特征,而只是根据程序功能导出测试用例测试方法是

A)黑箱测试法

B)白箱测试法

C)错误推测法

D)安装测试法

正确答案:

A(5)在结构化设计方法中,生成结构图(SC)中,带有箭头连线表示

A)模块之间调用关系

B)程序组成成分C)控制程序执行顺序

D)数据流向

正确答案:

A(6)下列选项中,不属于模块间耦合是

A)数据

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论