第1题
设栈的顺序存储空间为S(0:49),栈底指针bottom=49,栈顶指针top=30(指向栈顶元素)。则栈中的元素个数为( )。
30
29
20
19
第2题
面向对象方法中,继承是指( )。
一组对象所具有的相似性质
一个对象具有另一个对象的性质
各对象之间的共同性质
类之间共享属性和操作的机制
第3题
软件生命周期是指( )。
软件产品从提出、实现、使用维护到停止使用退役的过程
软件从需求分析、设计、实现到测试完成的过程
软件的开发过程
软件的运行维护过程
第4题
层次型、网状型和关系型数据库的划分原则是( )。
记录长度
文件的大小
联系的复杂程度
数据之间的联系方式
第5题
结构化程序的三种基本控制结构是( )。
顺序、选择和重复(循环)
过程、子程序和分程序
顺序、选择和调用
调用、返回和转移
第6题
数据库设计中反映用户对数据要求的模式是( )。
内模式
概念模式
外模式
设计模式
第7题
程序测试的目的是( )。
为被测程序设计正确的测试用例
发现并改正程序中的错误
发现程序中的错误
改正程序中的错误
第8题
在数据库中,数据模型包括数据结构、数据操作和( )。
查询
数据类型
关系运算
数据约束
第9题
一名工作人员可以使用多台计算机,而一台计算机可被多名工作人员使用,则实体工作人员与实体计算机之间的联系是( )。
一对一
一对多
多对多
多对一
第10题
有三个关系R、S和T如下:
则由关系R和S得到关系T的操作是( )。
自然连接
差
交
并
第11题
以下叙述中正确的是( )。
不同函数的形式参数不能使用相同名称的标识符
用户自己定义的函数只能调用库函数
实用的C语言源程序总是由一个或多个函数组成
在C语言的函数内部,可以定义局部嵌套函数
第12题
以下选项中叙述正确的是( )。
函数体必须由{开始
C程序必须由main语句开始
C程序中的注释可以嵌套
C程序中的注释必须在一行完成
第13题
关于C语言标识符,以下叙述错误的是( )。
标识符可全部由数字组成
标识符可全部由下划线组成
标识符可全部由小写字母组成
标识符可全部由大写字母组成
第14题
有以下程序(字母A的ASCII代码为65)
#include <stdio.h>
main()
{
char
c1 =
'A'
,c2 =
'Y'
;
printf
(
"%d, %d\n"
,c1,c2);
}
程序运行后的输出结果是( )。
输出格式不合法,输出出错信息
A,Y
65,90
65,89
第15题
有以下程序
int
a;
a = (
)(-1.53*3);
"%d\n"
, a);
程序的运行结果是( )。
-3
-4
-5
结果不确定
第16题
若有C语言表达式 2+3*4+7/3,以下选项中叙述正确的执行顺序是( )。
先执行3*4得12,再执行2+12得14,再执行7/3得2,最后执行14+2得16
先执行3*4得12,再执行7/3得2.5,最后执行2+12+2.5得16.5
先执行7/3得2,再执行3*4得12,再执行12+2得14,最后执行2+14得16
先执行2+3得5,再执行5*4得20,再执行20+7得27,最后执行27/3得9
第17题
若有定义:char c;int d; 程序运行时输入:c=1,d=2<回车>,能把字符1输入给变量c、整数2输入给变量d的输入语句是( )。
scanf("c=%c,d=%d", &c,&d);
scanf("c=%c d=%d", &c,&d);
scanf("c=%d,d=%d", &c,&d);
scanf("c=%d d=%d", &c,&d);
第18题
设有定义:double x=2.12;,以下不能完整输出变量x值的语句是( )。
printf("x=%5.0f\n",x);
printf("x=%f\n",x);
printf("x=%If\n",x);
printf("x=%0.5f\n",x);
第19题
以下叙述中正确的是()。
可以在程序中由用户指定任意一个函数作为主函数,程序将从此开始执行
C语言程序将从源程序中第一个函数开始执行
main的各种大小写拼写形式都可以作为主函数名,如:MAIN,Main等
C语言规定必须用main作为主函数名,程序将从此开始执行
第20题
a,b;
for
(a=0; a<3; a++)
scanf
"%d"
, &b);
switch
(b)
default
:
"%d,"
, ++b);
case
1:
2:
}执行时输入:1 2 3 <回车>,则输出结果是( )。
2,3,3,4,5,6,
2,3,4,
2,2,3,4,4,4,
2,3,4,3,4,4,
第21题
以下程序段中的变量已正确定义
( i=0; i<4; i++,i++ )
( k=1; k<3; k++ );
"*"
);
该程序段的输出结果是( )。
********
****
**
*
第22题
a=-1, b=-1;
(; ++a;)++b;
"%d,%d\n"
, a, b);
0,-1
0,0
-1,-1
第23题
以下叙述中正确的是( )。
程序的算法只能使用流程图来描述
结构化程序的三种基本结构是循环结构、选择结构、顺序结构
N-S流程图只能描述简单的顺序结构的程序
计算机可以直接处理C语言程序,不必进行任何转换
第24题
以下不能用于描述算法的是( )。
程序语句
E-R图
伪代码和流程图
文字叙述
第25题
有如下程序
i, *ptr;
array[5] = {5,3,1};
(ptr=array, i=0; i<5; i++, ptr++)
if
(*ptr == 0)
putchar
'X'
else
+ *ptr);
"\n"
ABCDE
FFFXX
FDBBB
FDBXX
第26题
C语言主要是借助以下哪种手段来实现程序模块化?( )
定义常量和外部变量
定义函数
使用丰富的数据类型
使用三种基本结构语句
第27题
设有定义语句int(*f)(int);,则以下叙述中正确的是( )。
f是指向函数的指针变量,该函数具有一个int类型的形参
f是基类型为int的指针变量
f是指向int类型一维数组的指针变量
f是函数名,该函数的返回值是基类型为int类型的地址
第28题
下列叙述中正确的是()。
在C程序中main函数的位置是固定的
C程序中所有函数之间都可以相互调用
每个C程序文件中都必须要有一个main函数
在C程序的函数中不能定义另一个函数
第29题
m1(
x,
y)
return
x<=y ? x :y;
m2(
x<=y ? y :x;
fun(
a,
b)
a+b;
x=2,y=3,z=1;
, fun(m1(x,y),m2(y,z)));
5
6
4
3
第30题
函数调用时,不必区分函数名称的大小写
调用函数时,函数名必须与被调用的函数名完全一致
函数名允许用数字开头
在函数体中只能出现一次return语句
第31题
若有定义:char s[30] = {0};运行时输入:This is a string.<回车>则以下不能正确读入整个字符串:This is a string.到字符数组 s 中的语句组是( )。
scanf("%s",s);
gets(s);
for(i=0;(c=getchar())!= '\n';i++)s[i] = c;
i=0;while((c=getchar())!='\n')s[i++] = c;
第32题
设有如下程序段:
s[20]=
"Bejing"
,*p;
p=s:
则执行p=s;语句后,以下叙述正确的是()。
可以用*p表示s[0]
s数组中元素的个数和p所指字符串长度相等
s和p都是指针变量
数组s中的内容和指针变量p中的内容相等
第33题
以下选项中正确的语句组是( )。
char s[]; s="BOOK!";
char*s; s={"BOOK!"};
char s[10]; s="BOOK!";
char*s; s="BOOK!";
第34题
#include <stdlib.h>
void
**s,
x[2][3])
**s =*(x[1]+1);
a[2][3]={1,2,3,4,5,6},*p;
p = (
*)
malloc
sizeof
));
fun(&p,a);
,*p);
2
第35题
关于地址和指针,以下说法正确的是( )。
通过强制类型转换可以将一种类型的指针变量赋值给另一种类型的指针变量
可以取一个常数的地址赋值给同类型的指针变量
可以取一个表达式的地址赋值给同类型的指针变量
可以取一个指针变量的地址赋值给基类型相同的指针变量
第36题
以下叙述中错误的是( )。
在程序中凡是以“#”开始的语句行都是预处理命令行
预处理命令行的最后不能以分号表示结束
#define MAX是合法的宏定义命令行
C程序对预处理命令行的处理是在程序执行的过程中进行的
第37题
若要使用C数学库中的sin函数,需要在源程序的头部加上#include <math.h>关于引用数学库,以下叙述正确的是( )。
将数学库中sin函数的源程序插入到引用处,以便进行编译链接
将数学库中sin函数链接到编译生成的可执行文件中,以便能正确运行
通过引用math.h文件,说明sin函数的参数个数和类型,以及函数返回值类型
实际上,不引用math.h文件也能正确调用sin函数
第38题
下面结构体的定义语句中,错误的是( )。
struct ord {int x;int y;int z;} struct ord a;
struct ord {int x;int y;int z;};struct ord a;
struct ord {int x;int y;int z;} a;
struct {int x;int y;int z;}a;
第39题
#include <string.h>
struct
S
name[10];
};
change(
S *data,
value)
strcpy
(data->name,
"#"
value = 6;
S input;
num = 3;
(input.name,
"OK"
change(&input, num);
"%s,%d\n"
, input.name, num);
#,3
#,6
OK,3
OK,6
第40题
typedef
b, p;} A;
f(A c)
j;
c.b+=1;
c.p+=2;
i;
A a={1,2};
f(a);
, a.b, a.p);
2,4
1,2
1,4
2,3
第41题
给定程序中,函数fun的功能是:将形参n所指变量中,各位上为偶数的数去除,剩余的数按原来从高位到低位的顺序组成一个新的数.并通过形参指针n传回所指变量。例如:输入一个数:27638496,新的数:为739。请在程序的下划线处填八正确的内容并把下划线删除,使程序得出正确的结果。
注意:
源程序存放在考生文件夹下的BLANKl.C中。不得增行或删行,也不得更改程序的结构!
/**********code.c**********/
fun(unsigned
long
*n)
unsigned
x=0, i;
t;
i=1;
while
(*n)
/**********found**********/
t=*n % ①______;
(t%2!= ②______)
x=x+t*i;
i=i*10;
}*n =*n /10;
*n=③______;
n=-1;
(n>99999999||n<0)
"Please input(0<n<100000000): "
"%ld"
,&n);
fun(&n);
"\nThe result is: %ld\n"
,n);
/**********-code.c**********/
10
0
x
第42题
给定程序MODI1.C中函数fun的功能是:计算n!。例如,给n输入入5,则输出l20.000000。请改正程序中的错误,使程序能输出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。
double
n)
result = 1.0 ;
n == 0
1.0 ;
(n >1 && n < 170)
result *= n--
result ;
n;
"Input N:"
, &n);
"\n\n%d! =%lf\n\n"
,n,fun(n));
错误:if n == 0 正确: if(n==0)
错误:result *= n-- 正确:result *=n--;或{result *=n; n--;}
第43题
请编写一个函数fun,它的功能是:将一个表示正整数的数字字符串转换为一个整数(不得调用C语言提供的将字符串转换为整数的函数)。例如,若输入字符串“1234”,则函数把它转换为整数值1234。函数fun中给出的语句仅供参考。注意:
部分源程序存在文件PROG1.C文件中。请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
*p)
i,len;
/* len为串长*/
x=0;
len=
strlen
(p);
/*以下完成数字字符串转换为数字,注意字符’0’不是数字0*/
x;
s[6];
"Enter a tring:\n"
gets
(s);
n = fun(s);
"%ld\n"
参考答案:
flag=1;
i=0;
(*p==
'-'
)
/*p表示负数,置flag值为-1*/
p++;
i++;
flag= -1;
'+'
/*p表示正数,置flag值为1*/
(;i<len;i++)
x=x*10+*p-
'0'
/*将字符串转换成相应的整数*/
x = x*flag;
一、选择题(1 - 40题,共计40分) 二、填空题(41 - 43题,共计60分)