|
一 、选择题 (1)已知一棵二叉树前序遍历和中序遍历分别为ABDEGCFH和DBGEACHF,则该二叉树的后序遍历为 A)GEDHFBCA B)DGEBHFCA C)ABCDEFGH D)ACBFEDHG 正确答案: B
(2)树是结点的集合,它的根结点数目是 A)有且只有1 B)1或多于1 C)0或1 D)至少2 正确答案: A
(3)如果进栈序列为e1,e2,e3,e4,则可能的出栈序列是 A)e3,e1,e4,e2 B)e2,e4,e3,e1 C)e3,e4,e1,e2 D)任意顺序 正确答案: B
(4)在设计程序时,应采纳的原则之一是 A)不限制goto语句的使用 B)减少或取消注解行 C)程序越短越好 D)程序结构应有助于读者理解 正确答案: D
(5)程序设计语言的基本成分是数据成分、运算成分、控制成分和 A)对象成分 B)变量成分 C)语句成分 D)传输成分 正确答案: D
(6)下列叙述中,不属于软件需求规格说明书的作用的是 A)便于用户、开发人员进行理解和交流 B)反映出用户问题的结构,可以作为软件开发工作的基础和依据 C)作为确认测试和验收的依据 D)便于开发人员进行需求分析 正确答案: D
(7)下列不属于软件工程的3个要素的是 A)工具 B)过程 C)方法 D)环境 正确答案: D
(8)单个用户使用的数据视图的描述称为 A)外模式 B)概念模式 C)内模式 D)存储模式 正确答案: A
(9)将E-R图转换到关系模式时,实体与联系都可以表示成 A)属性 B)关系 C)键 D)域 正确答案: B
(10)SQL语言又称为 A)结构化定义语言 B)结构化控制语言 C)结构化查询语言 D)结构化操纵语言 正确答案: C
(11)下列叙述中正确的是 A)C语言编译时不检查语法 B)C语言的子程序有过程和函数两种 C)C语言的函数可以嵌套定义 D)C语言的函数可以嵌套调用 正确答案: D
(12)在C语言中,退格符是 A)\n B)\t C)\f D)\b 正确答案: D
(13)以下叙述中正确的是 A)构成C程序的基本单位是函数 B)可以在一个函数中定义另一个函数 C)main()函数必须放在其他函数之前 D)所有被调用的函数一定要在调用之前进行定义 正确答案: A
(14)在C程序中,判逻辑值时,用"非0"表示逻辑值"真", 又用"0"表示逻辑值"假"。 在求逻辑值时,用()表示逻辑表达式值为"真", 又用()表示逻辑表达式值为"假"。 A)1 0 B)0 1 C)非0 非0 D)1 1 正确答案: A
(15)在C语言中,运算对象必须是整型数的运算符是 A)% B)\ C)%和\ D)** 正确答案: A
(16)字符型数据在机器中是用ASCII码表示的,字符"5"和"7"在机器中表示为 A)10100011和 01110111 B)01000101和01100011 C)00110101和00110111 D)01100101和01100111 正确答案: C
(17)若已定义:int a=25,b=14,c=19;以下三目运算符(?:)所构成语句的执行后 a<=25&&b--<=2&&c?printf("***a=%d,b=%d,c=%d\n",a,b,c):printf("###a=%d,b=%d,c=%d\n",a,b,c);程序输出的结果是 A)***a=25,b=13,c=19 B)***a=26,b=14,c=19 C)### a=25,b=13,c=19 D)### a=26,b=14,c=19 正确答案: C
(18)若有定义:int a=7;float x=2.5,y=4.7;则表达式x+a%3*(int)(x+y)%2/4的值是 A)2.500000 B)2.750000 C)3.500000 D)0.000000 正确答案: A
(19)下列程序段的输出结果是: int a=1234; float b=123.456; double c=12345.54321; printf("%2d,%2.1f,%2.1f",a,b,c); A)无输出 B)12,123.5,12345.5 C)1234,123.5,12345.5 D)1234,123.4,1234.5 正确答案: C
(20)若运行以下程序时,从键盘输入 ADescriptor<CR>(<CR>表示回车),则下面程序的运行结果是#include <stdio.h> main() {char c; int v0=1,v1=0,v2=0; do{switch(c=getchar()) {case ′a′:case ′A′: case ′e′:case ′E′: case ′i′:case ′I′: case ′o′:case ′O′: case ′u′:case ′U′:v1+=1; default:v0+=1;v2+=1; } }while(c!=′\n′); printf("v0=%d,v1=%d,v2=%d\n",v0,v1,v2);} A)v0=7,v1=4,v2=7 B)v0=8,v1=4,v2=8 C)v0=11,v1=4,v2=11 D)v0=13,v1=4,v2=12 正确答案: D
(21)设有以下程序段 int x=0,s=0; while(!x!=0)s+=++x; printf("%d",s); 则 A)运行程序段后输出0 B)运行程序段后输出1 C)程序段中的控制表达式是非法的 D)程序段执行无限次 正确答案: B
(22)有如下程序 main() { float x=2.0,y; if(x<0.0)y=0.0; else if(x>10.0)y=1.0/x; else y=1.0; printf("%f\n",y);} 该程序的输出结果是 A)0.000000 B)0.250000 C)0.500000 D)1.000000 正确答案: D
(23)执行下面的程序段后,变量k中的值为 int k=3, s[2]; s[0]=k; k=s[1]*10; A)不定值 B)33 C)30 D)10 正确答案: A
(24)以下程序段的描述,正确的是 x=-1; do {x=x*x;} while(!x); A)是死循环 B)循环执行两次 C)循环执行一次 D)有语法错误 正确答案: C
(25)以下选项错误的是 A)main() { int x,y,z; x=0;y=x-1; z=x+y;} B)main() { int x,y,z; x=0,y=x+1; z=x+y;} C)main() { int x;int int y; x=0,y=x+1; z=x+y;} D)main() { int x,y,z; x=0;y=x+1; z=x+y,} 正确答案: D
(26)有如下程序段 int a=14,b=15,x; char c=′A′; x=(a&&b)&&(c<′B′); 执行该程序段后,x的值为 A)ture B)false C)0 D)1 正确答案: D
(27)下列程序执行后的输出结果是 void func1(int i); void func2(int i); char st[]="hello,friend!"; void func1(int i) { printf("%c",st[i]); if(i<3){i+=2;func2(i);}} void func2(int i) { printf("%c",st[i]); if(i<3){i+=2;func1(i);}} main() { int i=0; func1(i); printf("\n");} A)hello B)hel C)hlo D)hlm 正确答案: C
(28)以下函数返回a所指数组中最大值所在的下标值 fun(int *a,int n) { int i,j=0,p; p=j; for(i=j;i<n;i++) if(a[i]>a[p])_________; return(p);} 在下划线处应填入的内容是 A)i=p B)a[p]=a[i] C)p=j D)p=I 正确答案: D
(29)下面说明不正确的是 A)char a[10]="china"; B)char a[10],*p=a;p="china" C)char *a;a="china"; D)char a[10],*p;p=a="china" 正确答案: D
(30)以下程序的输出结果是 #include <stdio.h> void prt (int *x, int *y, int *z) {printf("%d,%d,%d\n",++*x,++*y,*(z++));} main() {int a=10,b=40,c=20; prt (&a,&b,&c); prt (&a,&b,&c);} A)11,42, 31 12,22,41 B)11,41,20 12,42,20 C)11,21,40 11,21,21 D)11,41,21 12,42,22 正确答案: B
(31)若有函数内部说明:int a[3][4];则数组a中各元素 A)可在程序的运行阶段得到初值0 B)可在程序的编译阶段得到初值0 C)不能得到确定的初值 D)可在程序的编译或运行阶段得到初值0 正确答案: C
(32)有如下程序 main() { char s[]="ABCD", *p; for(p=s+1; p<s+4; p++)printf ("%s\n",p);} 该程序的输出结果是 A)ABCD BCD CD D
B)A B C D
C)B C D
D)BCD CD D 正确答案: D
(33)下列程序执行后的输出结果是 main() { int a[3][3], *p,i; p=&a[0][0]; for(i=1; i<9; i++)p[i]=i+1; printf("%d\n",a[1][2]);} A)3 B)6 C)9 D)随机数 正确答案: B
(34)定义如下变量和数组: int k; int a[3][3]={9,8,7,6,5,4,3,2,1}; |