1、【
单选题
】
下列选项中不属于结构化程序设计方法的是
[2分]
、
自顶向下
、
逐步求精
、
模块化
、
可复用
答案:
2、【
单选题
】
两个或两个以上模块之间关联的紧密程度称为
[2分]
、
耦合度
、
内聚度
、
复杂度
、
数据传输特性
答案:
3、【
单选题
】
下列叙述中正确的是
[2分]
、
软件测试应该由程序开发者来完成
、
程序经调试后一般不需要再测试
、
软件维护只包括对程序代码的维护
、
以上三种说法都不对
答案:
4、【
单选题
】
按照“后进先出”原则组织数据的数据结构是
[2分]
答案:
5、【
单选题
】
下列叙述中正确的是
[2分]
、
线性链表是线性表的链式存储结构
、
栈与队列是非线性结构
、
双向链表是非线性结构
、
只有根结点的二叉树是线性结构
答案:
6、【
单选题
】
对如下二叉树
ABDECF
进行后序遍历的结果为
[2分]
、
ABCDEF
、
DBEAFC
、
ABDECF
、
DEBFCA
答案:
7、【
单选题
】
在深度为7的满二叉树中,叶子结点的个数为
[2分]
答案:
8、【
单选题
】
“商品”与“顾客”两个实体集之间的联系一般是
[2分]
答案:
9、【
单选题
】
在E-R图中,用来表示实体的图形是
[2分]
答案:
10、【
单选题
】
数据库DB、数据库系统DBS、数据库管理系统DBMS之间的关系是
[2分]
、
DB包含DBS和DBMS
、
DBMS包含DB和DBS
、
DBS包含DB和DBMS
、
没有任何关系
答案:
11、【
单选题
】
以下不合法的用户标识符是
[1分]
、
j2_KEY
、
Double
、
4d
、
_8_
答案:
12、【
单选题
】
以下不合法的数值常量是
[1分]
、
011
、
1e1
、
8.0E0.5
、
0xabcd
答案:
13、【
单选题
】
以下不合法的字符常量是
[1分]
、
′\018′
、
′\"′
、
′\\′
、
′\xcc′
答案:
14、【
单选题
】
表达式3.6-5/2+1.2+5%2的值是
[1分]
答案:
15、【
单选题
】
以下能正确定义字符串的语句是
[1分]
、
char str[]={′\064′};
、
char str="kx43";
、
char str=";
、
char str[]="\0";
答案:
16、【
单选题
】
以下数组定义中错误的是
[1分]
、
int x[][3]={0};
、
int x[2][3]={{l,2},{3,4},{5,6}};
、
int x[][3]={{l,2,3},{4,5,6}};
、
int x[2][3]={l,2,3,4,5,6};
答案:
17、【
单选题
】
若要求从键盘读入含有空格字符的字符串,应使用函数
[1分]
、
getc()
、
gets()
、
getchar()
、
scanf()
答案:
18、【
单选题
】
以下四个程序中,完全正确的是
[1分]
、
#include <stdio.h>
、
#include <stdio.h>
main();main()
{/*programming*/{/*/ programming /*/
printf("programming!\n");} printf("programming!\n");}
、
#include <stdio.h>
、
include <stdio.h>
main()main()
{/*/*programming*/*/{/*programming*/
printf("programming!\n");} printf("programming!\n");}
答案:
19、【
单选题
】
若有定义:float x=1.5;int a=1,b=3,c=2;则正确的switch语句是
[1分]
、
switch(x)
、
switch((int)x);
{case 1.0:printf("*\n"); {case 1:printf("*\n");
case 2.0:printf("**\n");} case 2:printf("**\n");}
、
switch(a+b)
、
switch(a+b)
{case 1:printf("*\n");{case 1:printf("*\n");
case 2+1:printf("**\n");}case c:printf("**\n");}
答案:
20、【
单选题
】
若各选项中所用变量已正确定义,函数fun中通过return语句返回一个函数值,以下选项中错误的程序是
[1分]
、
main()
、
float fun(int a,int b){……}
{……x=fun(2,10);……}main()
float fun(int a,int b){……} {……x=fun(i,j);……}
、
float fun(int,int);
、
main()
main() {float fun(int i,int j);
{……x=fun(2,10);……} ……x=fun(i,j); ……}
float fun(int a,int b){……}float fun(int a,int b){……}
答案:
21、【
单选题
】
在以下给出的表达式中,与while( )中的(E)不等价的表达式是
[1分]
、
(!E==0)
、
(E>0‖E<0)
、
(E==0)
、
(E!=0)
答案:
22、【
单选题
】
要求通过while循环不断读入字符,当读入字母N时结束循环。若变量已正确定义,以下正确的程序段是
[1分]
、
while((ch=getchar())!=′N′)printf("%c",ch);
、
while(ch=getchar()!=′N′)printf("%c",ch);
、
while(ch=getchar()==′N′)printf("%c",ch);
、
while((ch=getchar())==′N′)printf("%c",ch);
答案:
23、【
单选题
】
已定义以下函数
int fun(int *p)
{return *p;)
fun函数返回值是
[1分]
、
不确定的值
、
一个整数
、
形参P中存放的值
、
形参P的地址值
答案:
24、【
单选题
】
若有说明语句:double *p,a;则能通过scanf语句正确给输入项读入数据的程序段是
[1分]
、
*p=&a; scanf("%1f",p);
、
*p=&a; scanf("%f",p);
、
p=&a; scanf("%1f",*p);
、
p=&a; scanf("%1f",p);
答案:
25、【
单选题
】
现有以下结构体说明和变量定义,如图所示,指针p、q、r分别指向一个链表中连续的三个结点。
struct node
{char data;
struct node *next;
}*p,*q,*r;
现要将q和r所指结点交换前后位置,同时要保持链表的连续,以下不能完成此操作的语句是
[1分]
、
q->next=r->next;p->next=r;r->next=q;
、
p->next=r;q->next=r->next;r->next=q;
、
q->next=r->next;r->next=q;p->next=r;
、
r->next=q;p->next=r;q->next=r->next;
答案:
26、【
单选题
】
有以下程序段
struct st
{int x;int *y;)*pt;
int a[]={l,2},b[]={3,4};
struct st c[2]={10,a,20,b};
pt=c;
以下选项中表达式的值为11的是
[1分]
、
*pt->y
、
pt->x
、
++pt->x
、
(pt++)->x
答案:
27、【
单选题
】
设fp为指向某二进制文件的指针,且已读到此文件末尾,则函数feof(fp)的返回值为
[1分]
答案:
28、【
单选题
】
设有以下语句
int a=1,b=2,c;
c=a^(b<<2);
执行后,C的值为
[1分]
答案:
29、【
单选题
】
有以下程序
#include <stdio.h>
main()
{char c1,c2,c3,c4,c5,c6;
scanf("%c%c%c%c",&c1,&c2,&c3,&c4);
c5=getchar(); c6=getchar();
putchar(c1);putchar(c2);
printf("%c%c\n",c5,c6);
}
程序运行后,若从键盘输入(从第1列开始)
123<回车>
45678<回车>
则输出结果是
[1分]
、
1267
、
1256
、
1278
、
1245
答案:
30、【
单选题
】
有以下程序
main()
{int y=10;
while(y--);printf("y=%d\n",y);
}
程序执行后的输出结果是
[1分]
、
y=0
、
y=-1
、
y=1
、
while构成无限循环
答案:
31、【
单选题
】
有以下程序
main()
{int a=0,b=0,c=0,d=0;
if(a=1) b=1;c=2;
else d=3;
printf("%d,%d,%d,%d\n",a,b,c,d);
}
程序输出
[1分]
、
0,1,2,0
、
0,0,0,3
、
1,1,2,0
、
编译有错
答案:
32、【
单选题
】
有以下程序
main()
{int i,j,x=0;
for(i=0;i<2;i++)
{x++;
for(j=0;j<=3;j++)
{if(j%2)continue;
x++;
}
x++;
}
printf("x=%d\n",x);
}
程序执行后的输出结果是
[1分]
答案:
33、【
单选题
】
有以下程序
int fun1(double a){return a*=a;}
int fun2(double x,double y)
{double a=0,b=0;
a=fun1(x);b=fun1(y);return(int)(a+b);
}
main()
{double w;w=fun2(1.1,2.0);……}
程序执行后变量w中的值是
[1分]
答案:
34、【
单选题
】
有以下程序
main()
{int i,t[][3]={9,8,7,6,5,4,3,2,1};
for(i=0;i<3;i++) printf("%d",t[2-i][i]);
}
程序执行后的输出结果是
[1分]
、
7 5 3
、
3 5 7
、
3 6 9
、
7 5 1
答案:
35、【
单选题
】
有以下程序
fun(char p[][10])
{int n=0,i;
for(i=0;i<7;i++)
if(p[i][0]==′T′)n++;
return n;
}
main()
{char str[][10]={"Mon","Tue","Wed","Thu","Fri","Sat","Sun"};
printf("%d\n",fun(str));
}
程序执行后的输出结果是
[1分]
答案:
36、【
单选题
】
有以下程序
main()
{int i,s=0,t[]={l,2,3,4,5,6,7,8,9};
for(i=0;i<9;i+=2)s+=*(t+i);
printf("%d\n",s);
}
程序执行后的输出结果是
[1分]
答案:
37、【
单选题
】
有以下程序
void fun1(char *p)
{char *q;
q=p;
while(*q!=′\0′)
{ (*q)++; q++; )
}
main()
{char a[]={"Program"), *p;
p=&a[3];fun1(p);printf("%s\n",a);
}
程序执行后的输出结果是
[1分]
、
Prohsbn
、
Prphsbn
、
Progsbn
、
Program
答案:
38、【
单选题
】
有以下程序
void swap(char *x,char *y)
{char t;
t=*x; *x=*y; *y=t;
}
main()
{char *s1="abc",*s2="123";
swap(s1,s2);printf("%s,%s\n",s1,s2);
}
程序执行后的输出结果是
[1分]
、
123,abc
、
abc,123
、
1bc,a23
、
321,cba
答案:
39、【
单选题
】
有以下程序
int fun(int n)
{if(n==1)return 1;
else
return(n+fun(n-1));
}
main()
{int x;
scanf("%d",&x); x=fun(x);printf("%d\n",x);
}
执行程序时,给变量X输入10,程序的输出结果是
[1分]
答案:
40、【
单选题
】
有以下程序
int fun(int x[],int n)
{static int sum=0,i;
for(i=0;i<n;i++) sum+=x[i];
return sum;
}
main()
{int a[]={1,2,3,4,5},b[]={6,7,8,9},s=0;
s=fun(a,5)+fun(b,4);printf("%d\n",s);
}
程序执行后的输出结果是
[1分]
答案: