第四套
1.下列数据结构中,属于非线性结构的是( A) 循环队列 B) 带链队列 C) 二叉树 D) 带链栈
2.下列数据结构中,能够按照\先进后出\原则存取数据的是( A) 循环队列 B) 栈 C) 队列 D) 二叉树
3.对于循环队列,下列叙述中正确的是( A) 队头指针是固定不变的 B) 队头指针一定大于队尾指针 C) 队头指针一定小于队尾指针
D) 队头指针可以大于队尾指针,也可以小于队尾指针
4.算法的空间复杂度是指( A )。 A) 算法在执行过程中所需要的计算机存储空间 B) 算法所处理的数据量
C) 算法程序中的语句或指令条数
D) 算法在执行过程中所需要的临时工作单元数
5.软件设计中划分模块的一个准则是( A) 低内聚低耦合 B) 高内聚低耦合 C) 低内聚高耦合
D) 高内聚高耦合
6.下列选项中不属于结构化程序设计原则的是( A) 可封装 B) 自顶向下 C) 模块化 D) 逐步求精
C )。
B )。
D)。
B )。
A )。
7.软件详细设计生产的图如下: 该图是( C )
A) N-S图 B) PAD图 C) 程序流程图
D) E-R图
8.数据库管理系统是( A) 操作系统的一部分
B) 在操作系统支持下的系统软件 C) 一种编译系统
D) 一种操作系统
9.在E-R图中,用来表示实体联系的图形是( A) 椭圆形 B) 矩形 C) 菱形 D) 三角形
B )。
C)。
10.有三个关系R、S和T如下:
则关系T是由关系R和S通过某种操作得到,该操作为( D )。
A) 选择 B) 投影 C) 交 D) 并
11.计算机高级语言程序的运行方法有编译执行和解释执行两种,以下叙述中正确的是
( A )。
A) C语言程序仅可以编译执行 B) C语言程序仅可以解释执行
C) C语言程序既可以编译执行又可以解释执行 D) 以上说法都不对
12.以下叙述中错误的是( A )。 A) 用户所定义的标识符允许使用关键字
B) 用户所定义的标识符应尽量做到\见名识意\
C) 用户所定义的标识符中,大、小写字母代表不同标识 D) 用户所定义的标识符必须以字母或下划线开头
13.若有说明语句:char c='\\72'?;则变量c( A) 包含1个字符 B) 包含2个字符 C) 包含3个字符
D) 说明不合法,c的值不确定
14.现有定义int a;double b;float c;char k;,则表达式a/b+c-k值的类型为(B A) int B) double C) float
A )。
)。
D) char
15.以下定义语句中正确的是( A) int a=b=0;
B) char A=65+1,b=′b′; C) float a=1,*b=&a,*c=&b;
D) double a=0.0;b=1.1
16.若在定义语句int a,b,c,*p=&c;之后,接着执行以下选项中的语句,则能正确执行
B )。
的语句是(D )。
A) scanf(\,a,b,c);
B) scanf(\,a,b,c); C) scanf(\, &p); D) scanf(\, p);
17.以下程序的运行结果是( B )。 int k=0; void fun(int m)
{ m+=k;k+=m;printf(\=%d k=%d \,m,k++);} main()
{ int i=4;
fun(i++); printf(\=%d k=%d\\n\,i,k); }
A) m=4 k=5 i=5 k=5 B) m=4 k=4 i=5 k=5 C) m=4 k=4 i=4 k=5 D) m=4 k=5 i=4 k=5
18.在执行下述程序时,若从键盘输入6和8,则结果为(B)。 main()
{ int a,b,s;
scanf(\,&a,&b); s=a ; if(a
printf(\,s); } A) 36 B) 64 C) 48
D) 以上都不对
19.有以下程序: main()
{ int k=5,n=0; while(k>0) { switch(k) { default : break; case 1 : n+=k; case 2 :
case 3 : n+=k; }
k--;
}
printf(\,n); }
程序运行后的输出结果是( D )。
A) 0 B) 4 C) 6 D) 7
20.有以下程序:
#include
if(x!=10) printf(\,x); }
程序运行时,输入的值在哪个范围才会有输出结果( B )。 A) 不等于10的整数
B) 大于3且不等10的整数 C) 大于3或等于10的整数 D) 小于3的整数
21.有以下程序: #include
main(){ int a=1,b=0; printf(\,\,b=a+b); printf(\,a=2*b)}
程序运行后的输出结果是( D )。 A) 0,0 B) 1,0 C) 3,2 D) 1,2
22.有以下程序:
main(){ int num[4][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12},{13,14,15,16}},i,j; for(i=0;i<4;i++) { for(j=0;j<=i;j++)printf(\,? ?' '); for(j= ;j<4;j++)printf(\,num[i][j]); printf(\; } }
若要按以下形式输出数组右上半三角 1 2 3 4 6 7 8 11 12 16
则在程序下划线处应填入的语句是( C )。 A) i-1 B) i+1 C) i D) 4-i
23.以下程序段中,与语句:k=a>b?(b>c?1:0):0;功能相同的是( A) if((a>b)&&(b>c))k=1;
A)。
else k=0;
B) if((a>b)‖(b>c))k=1; else k=0;
C) if(a<=b)k=0; else if(b<=c)k=1;
D) if(a>b)k=1; else if(b>c) k=1; else k=0;
24.有以下程序:
void ss(char *s,char t) { while(*s)
{ if(*s==t)*s=t-?a?+?A?; s++; } } main()
{ char str1[100]=\,c=?d?; ss(str1,c); printf(\,str1);} 程序运行后的输出结果是(B )。 A) ABCDDEFEDBD B) abcDDfefDbD C) abcAAfefAbA D) Abcddfefdbd
25.现有如下程序段:
#include \main()
{ int k[30]={12,324,45,6,768,98,21,34,453,456}; int count=0,i=0; while(k[i])
{ if(k[i]%2==0||k[i]%5==0)count++; i++; }
printf(\,%d\\n\,count,i);} 则程序段的输出结果为( D )。 A) 7,8 B) 8,8 C) 7,10 D) 8,10
26.以下程序运行后的输出结果是(
D )。
#include
void f(char *s,char *t){ char k; k=*s; *s=*t; *t=k;
s++;t--;