通过海量题库、编程比赛和实时排名,系统化提升您的编程能力。
第1题
负责数据库中查询操作的数据库语言是
数据定义语言
数据管理语言
数据操纵语言
数据控制语言
第2题
有关系如下图所示,其违反了哪一类完整性约束
实体完整性约束
参照完整性约束
用户定义的完整性约束
以上都不正确
第3题
软件的三要素是
程序、数据和工具
程序、数据和配置
程序、数据及相关文档
程序、数据和运行环境
第4题
有以下程序
#include <stdio.h> #include <string.h> void main() { char str[][20]={"One*World", "One*Dream!"}, p=str[1]; printf("%d,",strlen(p)); printf("%s\n",p); }
程序运行后的输出结果是
9,One*Dream!
10,One*Dream!
9,One*World
10,One*World
第5题
软件生命周期中,确定软件系统要做什么的阶段是
需求分析
软件测试
软件设计
系统维护
第6题
以下叙述中正确的是
在scanf函数中的格式控制字符串是为了输入数据用的,不会输出到屏幕上0
在使用scanf函数输入整数或实数时,输入数据之间只能用空格来分隔
在printr函数中,各个输出项只能是变量
使用print函数无法输出百分号%
第7题
结构化程序所要求的基本结构不包括
顺序结构
GOTO跳转
选择(分支)结构
重复(循环)结构
第8题
有下列程序
main() { int x[3][2]={0), i; for (i=0; i<3; i++) scanf("%d",x[i]); printf("%3d%3d%3d\n", x[0][0], x[0][1], x[1][0]); }
若运行时输入:2 4 6<CR>,则输出结果为
2 0 0
2 4 0
2 0 4
2 4 6
第9题
下面选项中关于编译预处理的叙述正确的是
凡是以#号开头的行,都被称为编译预处理命令行
预处理命令行必须使用分号结尾
预处理命令行不能出现在程序的最后一行
预处理命令行的作用域是到最近的函数结束处
第10题
void fun2 (char a, char b} { printf("%c%c", a, b); } char a='A', b='B'; void fun1() { a='C'; b='D'; } main() { fun1(); printf("%c%c",a,b); fun2('E','F'); }
程序的运行结果是
ABEF
CDEF
ABCD
CDAB
第11题
以下叙述中错误的是
gets函数用于从终端读入字符串
getchar函数用于从磁盘文件读入字符
fputs函数用于把字符串输出到文件
fwrite函数用于以二进制形式输出数据到文件
第12题
设表的长度为15,则在最坏情况下,快速排序所需要的比较次数为
105
55
15
75
第13题
以下选项中,能用作用户标识符的是
_0_
8_8
void
unsigned
第14题
以下选项中合法的变量是
5а
A%
_10_
sizeof
第15题
软件生命周期可分为定义阶段、开发阶段和维护阶段,下面不属于开发阶段任务的是:
软件实现
软件总体设计
可行性研究
第16题
设表的长度为20,则在最坏情况下,冒泡排序的比较次数为
90
20
19
190
第17题
设表的长度为n。在下列结构所对应的算法中,最坏情况下时间复杂度最低的是
堆排序
有序链表查找
希尔排序
循环链表中寻找最大项
第18题
若有以下程序
#include <stdio.h> int *f(int *s, int *t) { int k; if (*s<*t) { k=*s;*s=*t;*t=k; } return s; } main() { int i=3, j=5, *p=&i, *q=&j,*r; r=f(p, q); printf("%d,%d,%d,%d,%d\n", i,j, *p, *q, *r); }
则程序的输出结果是
3,5,5,3,5
3,5,3,5,5
5,3,5,3,5
5,3,3,5,5
第19题
有三个关系R,S和T如下图所示,则由关系R和S得到关系T的操作是:
选择
投影
交
并
第20题
第21题
差
第22题
设循环队列存储空间为Q(1:50),初始状态为front-rear=50,经过一系列入队和退队操作后,front=rear=25,则该循环队列中元素个数为
26
25
24
0或50
第23题
在一个C源程序文件中所定义的全局变量,其作用域为
由具体定义位置和extern说明来决定范围
所在程序的全部范围
所在函数的全部范围
所在文件的全部范围
第24题
不属于对象构成成份的是
规则
属性
标识
方法
第25题
违背数据流图(DFD)构造规则的是
"数据存储"间有数据流
"数据流"应标识数据流名
"加工"应既有输入又有输出
父图子图是指相邻上下两层的数据流图
第26题
语句int a[4][3]=(1,2,4,5};是错误的初始化形式
语句int al[3]={1,2,4,5);是错误的初始化形式
在逻辑上,可以把二维数组看成是一个具有行和列的表格或矩阵
语句int a[4][3]={1,2),(4,5);是错误的初始化形式
第27题
某二叉树的中序序列为DCBAEFG,后序序列为DCBGFEA,则该二叉树的深度为
5
4
3
2
第28题
设有定义:int x[2][3];则以下关于二维数组x的叙述错误的是
数组x可以看作是由x[0]和x[1]两个元素组成的一维数组
可以用x[0]=0的形式为数组所有元素赋初值0
元素x[0]可看作是由3个整型元素组成的一维数组
x[0]和x[1]是数组名,分别代表一个地址常量
第29题
#include <stdio.h> main() { int a=0, b=0, c=0, d; c=(a+=b,, b+=a); /*the 4th line */ d=C;/*the 5th line*/ ;/*The 6th line*/ printf("%d,%d,%d\n",a,b,c);/*line 7*/ }
编译时出现错误,你认为出错的是
第4行
第5行
第6行
第7行
第30题
下列叙述中错误的是
算法的时间复杂度与问题规模无关
算法的时间复杂度与计算机系统无关
算法的时间复杂度与空间复杂度没有必然的联系
算法的空间复杂度与算法运行输出结果的数据量无关
第31题
下面对软件描述错误的是
文档是不可执行的
程序和数据是可执行的
软件是程序、数据及相关文档的集合
软件文档是与程序开发、维护和应用无关的资料
第32题
代码编写阶段可进行的软件测试是
单元测试
集成测试
确认测试
系统测试
第33题
定义学生、教师和课程的关系模式S(S#,Sn,Sd,DC,Sa);C(C#,Cn,P#);SC(S#,C#,G),包含对非主属性部分依赖的关系是
S(S#,Sn,Sd,Dc,Sa)
C(C#,Cn,P#)
SC(S#,C#,G)
S(S#,Sd,S#,c#)
第34题
数据模型包括数据结构、数据完整性约束和
查询
数据类型
关系运算
数据操作
第35题
关于数据库管理阶段的特点,下列说法中错误的是
数据独立性差
数据的共享性高,元余度低,易扩充
数据真正实现了结构化
数据由DBMS统一管理和控制
第36题
每个学校有一名校长,且不同学校的校长可以是同一人,则实体学校和实体校长间的联系是
多对一
多对多
一对一
一对多
第37题
设有定义:int k=0;以下选项的四个表达式中与其他三个表达式的值不相同的是
k++
k+=1
++k
k+1
第38题
以下程序用来统计文件中字符的个数(函数feof用以检查文件是否结束,结束时返回非零)
#include <stdio.h> main() { FILE*fp; long num-0; fp=fopen("fname.dat"); while(___) { getc(fp); num++; printf("num=%d\n",num); fclose(fp); }
下面选项中,填入横线处不能得到正确结果的是
feof(fp)
feof(fp)=-NULL
!feof(fp)
feof(fp)==0
第39题
在scant函数的格式串中,必须有与输入项-对应的格式转换说明符
只能在print函数中指定输入数据的宽度,而不能在scanf函数中指定输入数据占的宽度
scanf函数中的字符串,是提示程序员的,输入数据时不必管它
复合语句也被称为语句块,它至少要包含两条语句
第40题
常量可以用一个符号名来代表
数值型常量有正值和负值的区分
常量是在程序运行过程中值不能被改变的量
定义符号常量必须用类型名来设定常量的类型
第41题
给定程序中,函数fun的功能是:判定形参a所指的NxN(规定N为奇数)的矩阵是否是"幻方",若是,函数返回值为1;不是,函数返回值为0。“幻方"的判定条件是:矩阵每行、每列、主对角线及反对角线上元素之和都相等。
例如,以下3x3的矩阵就是一个"幻方":
4 9 2
3 5 7
8 1 6
不得增行或删行,也不得更改程序的结构!
#include <stdio.h> #include <stdlib.h> #define N 3 int fun(int (*a)[N]) { int i,j,m1,m2,row,colum; m1=m2=0; for(i=0; i<N; i++) { j=N-i-1; m1+=a[i][i]; m2+=a[i][j]; } if(m1!=m2) { return 0; } for(i=0; i<N; i++) { /**********found**********/ row=colum=__(1)__; for(j=0; j<N; j++) { row+=a[i][j]; colum+=a[j][i]; } /**********found**********/ if((row!=colum) __(2)__ (row!=m1)) { return 0; } } /**********found**********/ return __(3)__; } main() { int x[N][N], i, j; printf("输入一个3×3的矩阵:\n"); for(i=0; i<N; i++) { for(j=0; j<N; j++) { scanf("%d", &x[i][j]); } } if(fun(x)) { printf("这个矩阵是幻方\n"); } else { printf("这个矩阵不是幻方\n"); } system("pause"); }
第42题
给定程序fun函数的功能是:根据整型形参m,计算如下公式的值:
例如,若主函数中输入5,则应输出-0.283333
请改正程序中的错误,使它能得出正确的结果。
不要改动main函数,不得增行或删行,也不得更改程序的结构!
#include <stdio.h> #include <stdlib.h> double fun(int m) { double t=1.0; int i; for(i=2; i<=m; i++) { /**********found**********/ t = 1.0-1/i; } /**********found**********/ ______; } main() { int m ; printf("\nPlease enter 1 integer numbers:\n"); scanf("%d", &m); printf("\n\nThe result is %lf\n", fun(m)); system("pause"); }
第43题
请编写一个函数fun,函数的功能是删除字符串中的所有空格。
例如,主函数中输入"asd af aa 267",则输出为"asdafaaz67"
请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
#include <stdio.h> #include <stdlib.h> #include <ctype.h> void fun(char *str) { int i=0; char *p=str; while(①) { if(②) { ③ } ④ } ⑤ } main() { char str[81]; void NONO (); printf("Input a string:"); gets(str); puts(str); fun(str); printf("*** str:%s\n",str); NONO(); } void NONO () {/* 请在此函数内打开文件,输入调试数据, 调用 fun 函数,输出数据,关闭文件。 */ char str[81]; int n=0; FILE *rf, *wf; rf=fopen("in.dat","r"); wf=fopen("out.dat","w"); while(n<8) { fgets(str, 80, rf); fun(str); fprintf(wf, "%s", str); n++; } fclose(rf); fclose(wf); system("pause"); }
选择题(0 - 40题,共计40分) 填空题(包括程序填空题,程序修改题,程序设计题)(41-43题 共计60分)