题目
一、选择题:(1)软件是指( )A. 程序 B. 程序和文档 C. 算法加数据结构 D. 程序、数据与相关文档的完整集合 E. )。 F. 发现错误 G. 改正错误 C)改善软件的性能 D)验证软件的正确性)。对象的继承对象的多态对象的封装对象的分类)。程序的效率第一,清晰第二程序的可读性好程序中要有必要的注释输入数据前要有提示信息。程序执行的效率与数据的存储结构密切相关程序执行的效率只取决于程序的控制结构[1]程序执行的效率只取决于所处理的数据量以上三种说法都不对)。数据的逻辑结构与存储结构必定是一一对应的由于计算机存储空间是向量式的存储结构,因此,数据的存储结构一定是线性结构[2]程序设计语言[3]中的数据一般是顺序存储[4]结构,因此,利用数组只能处理线性结构以上三种说法都不对。)n(n+1)/2nlog2n C)n(n-1)/2 D)n/2任何存储类的变量在未赋初值时,其值都是不确定的形参可以使用的存储类说明符与局部变量[5]完全相同)c1^c2 c1c2 ~c2 c1|c2(32) 程序中对fun函数有如下说明 void *fun();)fun了数无返回值fun函数的返回值可以是任意的数据类型[6]fun函数的返回值是无值型的指针类型指针fun指向一个函数,该函数无返回值(33) 有以下程序in()r s[]"Yesn/No",*ps=s; puts(ps+4); *(ps+4)=0; puts(s);}中的第一行是空行)( B )n/No /No n/NO Yes Yes Yes /NoNo /No Yes(34) 有以下程序in(); int b=-1;=b;;})-1 65535 32767 -32768(35) 有以下程序,int i,int j)( int t; if(i<j)[i];a[i]=a[j];a[j]=t; i++; j--;,i,j); )}in()[]=(2,6,1,8),i; fun(x,0,3);[i]);n");})219 B)221 C)229 D)231。数据库系统是一个独立的系统,不需要操作系统的支持数据库技术的根本目标是要决数据的共享问题数据库管理系统就是数据库系统以上三种说法都不对)。为了建立一个关系,首先要构造数据的逻辑关系表示关系的二维表中各元组[7]的每一个分量还可以分成若干数据项[8]一个关系的属性名表称为关系模式[9]一个关系可以包括多个二维表语言源程序[10]名的后缀是( B)。.exe.C C).obj D).cp程序中用作用户标识[11]符的一组标识符[12]是(A )。andDate_2007 y-m-dHi D)caser.Tom Bigl语言数值常量[13]是(B )。02812.23.0xf 4.5e0.1770x8A4e1.5 10,000bc 3.e5)。C 语言程序将从源程序中第一个函数开始执行可以在程序中由用户指定任意一个函数作为主函数,程序将从此开始执行语言规定必须用main 作为主函数名,程序将从此开始执行,在此结束main 可作为用户标识符,用以命名任意一个函数作为主函数,b,c,*p=c;之后,接着执行下列选[14]项中的语句,则能正确执行的语句是(C )。scanf("%d",a,b,c);scanf("%d%d%d",a,b,c);scanf("%d",p); D)scanf("%d",p);。均占4 个字节根据数据的大小来决定所占内存的字节数由用户自己定义由C 语言编译系统决定语言赋值语句[15]是(A )。x = y = = 5;x = n%2.5;x + n = i;x = 5 = 4+ 1;(18)有下列程序段[16]:t y;char name[50] ;nf("%2d%f%s",j,y,name);bc 后,y 的值为(。55566.0566.07777.0566777.0(19)若变量已正确定义,有下列程序段:i=0;hile(i+ +);n",i) ;)。0,00,11,1程序进入无限循环(20)有下列计算公式:th.h 文件,不能够正确计算上述公式的程序段是()。if(x>=0) y=sqrt(x);y=sqrt(x);lse y=sqrt(-x) ; if(x<0) y=sqrt(-x);if(x>=0) y=sqrt(x) ;y=sqrt(x>=0? x:-x);if(x<0) y=sqrt(-x);XP)?i+ +:j--,则下列表达式中与(EXP)完全等价的是(B )。(EXP= =0)(EXP! =0)(EXP= =1)(EXP! =1)(22)有下列程序:h>in( )( int y=9;or(;y>0;y--)if(y%3= =0) printf("%d",--y);)。741963852875421r c;,程序前面已在命令行中包含ctype.h 文件,不能用于判断c 中的字符是否为大写字母的表达式是(;,程序前面已在命令行中包含ctype.h 文件,不能用于判断c 中的字符是否为大写字母的表达式是(B )。isupper(c)'A'<=c<='Z''A'<=cc<='Z'c<=('z'-32)('a'-32)<=c(24)有下列程序:h>in( )( int i,j,m=55;or(i=1;i<=3;i+ +)or(j=3;j<=i;j+ +) m=m%j;n",m);))。12 D)3)。函数的实参[17]和其对应的形参共占同一存储单元[18]形参只是形式上的存在,不占用具体存储单元同名的实参和形参占同一存储单元函数的形参和实参分别占用不同的存储单元'的ASCII 代码值是65,字符变量cl 的值是'A',c2 的值是'D'。执行语句printf("%d,%d",c1,c2-2) ;后,输出结果是(C )。A,BA,68 C)65,66 D)65,68)。改变函数形参的值,不会改变对应实参的值函数可以返回地址值可以给指针变量赋一个整数作为地址值当在程序的开头包含头文件[19]stdio.h 时,可以给指针变量赋NULL)。""'abc'Games" "。sizeof(p)sizeof(char)sizeof(*q)sizeof(p[0])(30)有下列函数:aa(char *s)r *t=s;hile( *t+ +);t - -;return(t-s);}函数的功能的叙述正确的是(A )。求字符串s 的长度比较两个串的大小将串s 复制到串t求字符串s 所占字节数数组的第10 个元素是(。a[0][4]a[1][3]a[0][3]a[1][4](32)有下列程序:h>r * *p)n", *p);}in( )r *a[ ]=("Morning","Afternoon","Evening","Night");;})。AfternoonfternoonMorningorning[2][3],*p[3];,则下列语句中正确的是()。p=a;p[0]=a;p[0]=a[1][2];p[1]=a;(34)有下列程序:h>所指数组元素从大到小排序*/( int t,i,j;or(i=0;i<n-1;j+ +)or(j=i+1;j<n;j+ +)[i]<a[j]) { t=a[i];a[i]=a[j];a[j]=t;)}in( )[10]=(1,2,3,4,5,6,7,8,9,0),i;un(c+4,6);[i]);n");})。1,2,3,4,5,6,7,8,9,0,0,9,8,7,6,5,1,2,3,4,0,9,8,7,6,5,4,3,2,1,1,2,3,4,9,8,7,6,5,0,(35)有下列程序:h>r s[ ])( int n=0;hile(*s<='9'*s>='0') {n=10*n+*s-'0';s+ +;)return(n);}in( )r s[10]=('6','1','*','4','*','9','*','0','*');n",fun(s));})。961490 C)61 D)5)。scanf( )getchar( )gets( ) D)getc( )。C 语言中有字符串类型的常量和变量两个字符串中的字符个数相同时才能进行字符串大小的比较可以用关系运算符对字符串的大小进行比较空串[20]一定比空格打头的字符串小(38)有下列程序:h>r *t,char *s)hile(*t! =0) t+ +;hile((*t+ + =*s+ +)! =0);}in( )r ss[10]="acc",aa[10]="bbxxyy";; printf("%s,%sn",ss,aa);})。accxyy,bbxxyyacc,bbxxyyaccxxyy,bbxxyyaccbbxxyy,bbxxyy(39)有下列程序:h>h>r s[ ][10],int n)r t; int i,j;or(i=0;i<n-1;i+ +)or(j=i+1;j<n;j+ +)/* 比较字符串的首字符大小,并交换字符串的首字符*/[i][0]>s[j][0])(t=s[i][0];s[i][0]=s[j][0];s[j][0]=t;)}in( )r ss[5][10]=("bcc","bbcc","xy","aaaacc","aabcc");n",ss[0],ss[4]);}。xy,aaaaccaaaacc,xy C)xcc,aabcc D)acc,xabcc源程序文件中所定义的全局变量[21],其作用域[22]为()。所在文件的全部范围所在程序的全部范围所在函数的全部范围由具体定义位置和extern 说明来决定范围(41)有下列程序:h>=1;int f(int c)tic int a=2;=c+1;+ +)+c;}in( )( int i,k=0;;);n",k);})。14151617(42)有下列程序:h>void fun(int n,int *p)( int f1,f2;if(n= =1||n= =2) *p=1;lse{ fun(n-1,f1); fun(n-2,f2);*p=f1+f2;)}in( )( int s;n",s);))。2345N 100,则下列叙述中正确的是(B )。宏定义行中定义了标识符N 的值为整数100在编译程序[23]对C 源程序进行预处理时用100 替换标识符N源程序进行编译时[24]用100 替换标识符N在运行时用100 替换标识符N)。用typedef 可以增加新类型typedef 只是将已存在的类型用一个新的名字来代表用typedef 可以为各种类型说明一个新名,但不能用来为变量说明一个新名用typedef 为类型说明一个新名,通常可以增加程序的可读性(45)有下列程序:h>struct tt( int x;struct tt *y;)*p;[4]=(20,a+1,15,a+2,30,a+3,17,a);in( )( int i;;or(i=1;i<=2;i+ +) {printf("%d,",p->x);p=p->y;)})。20,30,30,1715,30,20,15,(46)有下列程序:h>h>r name[9];char sex;float score[2]; }STU;STU f(STU a)STU b=("Zhao",'m',85.0,90.0);int i;name,b.name);sex=b.sex;score[i]=b.score[i];;}in( )STU c=("Qian",'f',95.0,92.0),d;n",d.neme,d.sex,d.score[0],d.score[1]);}。Qian,f,95,92Qian,m,85,90Zhao,m,85,90Zhao,f,95,92(47)设有下列定义:tat d2;}demo;)。变量demo 与成员d2 所占的内存字节数相同变量demo 中各成员的地址相同变量demo 和各成员的地址相同若给demo.d1 赋99 后,demo.d2 中的值是99.0(48)有下列程序:h>in( )=1,b=2,c=3,x;^b)c; printf("%dn",x);})。123d(buffer,size,count,fp);,其中buffer 代表的是( C)。一个文件指针,指向待读取的文件一个整型变量,代表待读取的数据的字节数一个内存块的首地址,代表读入数据存放的地址一个内存块的字节数(50)有下列程序:h>in( )ILE *fp; int a[10]=(1,2,3,0,0),i;t","wb");,sizeof(int),5,fp);,sizeof(int),5,fp);close(fp);t","rb");d(a,sizeof(int),10,fp);close(fp);[i] );}。1,2,3,0,0,0,0,0,0,0,1,2,3,1,2,3,0,0,0,0,123,0,0,0,0,123,0,0,0,0,1,2,3,0,0,1,2,3,0,0,2008 年4 月全国计算机等级考试笔试试卷
一、选择题:
(1)软件是指( )
A. 程序B. 程序和文档
C. 算法加数据结构
D. 程序、数据与相关文档的完整集合
E. )。
F. 发现错误
G. 改正错误 C)改善软件的性能 D)验证软件的正确性
)。
对象的继承
对象的多态
对象的封装
对象的分类
)。
程序的效率第一,清晰第二
程序的可读性好
程序中要有必要的注释
输入数据前要有提示信息
。
程序执行的效率与数据的存储结构密切相关
程序执行的效率只取决于程序的控制结构[1]
程序执行的效率只取决于所处理的数据量
以上三种说法都不对
)。
数据的逻辑结构与存储结构必定是一一对应的
由于计算机存储空间是向量式的存储结构,因此,数据的存储结构一定是线性结构[2]
程序设计语言[3]中的数据一般是顺序存储[4]结构,因此,利用数组只能处理线性结构
以上三种说法都不对。
)
n(n+1)/2
nlog2n C)n(n-1)/2 D)n/2
任何存储类的变量在未赋初值时,其值都是不确定的
形参可以使用的存储类说明符与局部变量[5]完全相同
)
c1^c2
c1c2
~c2
c1|c2
(32) 程序中对fun函数有如下说明
void *fun();
)
fun了数无返回值
fun函数的返回值可以是任意的数据类型[6]
fun函数的返回值是无值型的指针类型
指针fun指向一个函数,该函数无返回值
(33) 有以下程序
in()
r s[]"Yes\n/No",*ps=s;
puts(ps+4);
*(ps+4)=0;
puts(s);
}
中的第一行是空行)( B )
n/No
/No
n/NO
Yes Yes Yes /No
No /No Yes
(34) 有以下程序
in()
;
int b=-1;
=b;
;
}
)
-1
65535
32767
-32768
(35) 有以下程序
,int i,int j)
{ int t;
if(i<j)
[i];a[i]=a[j];a[j]=t;
i++; j--;
,i,j);
}
}
in()
[]={2,6,1,8},i;
fun(x,0,3);
[i]);
\n");
}
)
219 B)221 C)229 D)231
。
数据库系统是一个独立的系统,不需要操作系统的支持
数据库技术的根本目标是要决数据的共享问题
数据库管理系统就是数据库系统
以上三种说法都不对
)。
为了建立一个关系,首先要构造数据的逻辑关系
表示关系的二维表中各元组[7]的每一个分量还可以分成若干数据项[8]
一个关系的属性名表称为关系模式[9]
一个关系可以包括多个二维表
语言源程序[10]名的后缀是( B)。
.exe
.C C).obj D).cp
程序中用作用户标识[11]符的一组标识符[12]是(A )。
and
Date
_2007 y-m-d
Hi D)case
r.Tom Bigl
语言数值常量[13]是(B )。
028
12.
23
.0xf 4.5e0
.177
0x8A
4e1.5 10,000
bc 3.e5
)。
C 语言程序将从源程序中第一个函数开始执行
可以在程序中由用户指定任意一个函数作为主函数,程序将从此开始执行
语言规定必须用main 作为主函数名,程序将从此开始执行,在此结束
main 可作为用户标识符,用以命名任意一个函数作为主函数
,b,c,*p=c;之后,接着执行下列选[14]项中的语句,则能正确执行的语句是(C )。
scanf("%d",a,b,c);
scanf("%d%d%d",a,b,c);
scanf("%d",p); D)scanf("%d",p);
。
均占4 个字节
根据数据的大小来决定所占内存的字节数
由用户自己定义
由C 语言编译系统决定
语言赋值语句[15]是(A )。
x = y = = 5;
x = n%2.5;
x + n = i;
x = 5 = 4+ 1;
(18)有下列程序段[16]:
t y;char name[50] ;
nf("%2d%f%s",j,y,name);
bc 后,y 的值为(
。
55566.0
566.0
7777.0
566777.0
(19)若变量已正确定义,有下列程序段:
i=0;
hile(i+ +);
\n",i) ;
)。
0,0
0,1
1,1
程序进入无限循环
(20)有下列计算公式:
th.h 文件,不能够正确计算上述公式的程序段是(
)。
if(x>=0) y=sqrt(x);
y=sqrt(x);
lse y=sqrt(-x) ; if(x<0) y=sqrt(-x);
if(x>=0) y=sqrt(x) ;
y=sqrt(x>=0? x:-x);
if(x<0) y=sqrt(-x);
XP)?i+ +:j--,则下列表达式中与(EXP)完全等价的是(B )。
(EXP= =0)
(EXP! =0)
(EXP= =1)
(EXP! =1)
(22)有下列程序:
h>
in( )
{ int y=9;
or(;y>0;y--)
if(y%3= =0) printf("%d",--y);
}
。
741
963
852
875421
r c;,程序前面已在命令行中包含ctype.h 文件,不能用于判断c 中的字符是否为大写字母的表达式是(
;,程序前面已在命令行中包含ctype.h 文件,不能用于判断c 中的字符是否为大写字母的表达式是(B )。
isupper(c)
'A'<=c<='Z'
'A'<=cc<='Z'
c<=('z'-32)('a'-32)<=c
(24)有下列程序:
h>
in( )
{ int i,j,m=55;
or(i=1;i<=3;i+ +)
or(j=3;j<=i;j+ +) m=m%j;
\n",m);
}
)。
1
2 D)3
)。
函数的实参[17]和其对应的形参共占同一存储单元[18]
形参只是形式上的存在,不占用具体存储单元
同名的实参和形参占同一存储单元
函数的形参和实参分别占用不同的存储单元
'的ASCII 代码值是65,字符变量cl 的值是'A',c2 的值是'D'。执行语句printf("%d,%d",c1,c2-2) ;后,输出结果是(C )。
A,B
A,68 C)65,66 D)65,68
)。
改变函数形参的值,不会改变对应实参的值
函数可以返回地址值
可以给指针变量赋一个整数作为地址值
当在程序的开头包含头文件[19]stdio.h 时,可以给指针变量赋NULL
)。
"\\\"
'abc'
Games
" "
。
sizeof(p)
sizeof(char)
sizeof(*q)
sizeof(p[0])
(30)有下列函数:
aa(char *s)
r *t=s;
hile( *t+ +);
t - -;
return(t-s);
}
函数的功能的叙述正确的是(A )。
求字符串s 的长度
比较两个串的大小
将串s 复制到串t
求字符串s 所占字节数
数组的第10 个元素是(
。
a[0][4]
a[1][3]
a[0][3]
a[1][4]
(32)有下列程序:
h>
r * *p)
\n", *p);}
in( )
r *a[ ]=("Morning","Afternoon","Evening","Night");
;
}
)。
Afternoon
fternoon
Morning
orning
[2][3],*p[3];,则下列语句中正确的是(
)。
p=a;
p[0]=a;
p[0]=a[1][2];
p[1]=a;
(34)有下列程序:
h>
所指数组元素从大到小排序*/
{ int t,i,j;
or(i=0;i<n-1;j+ +)
or(j=i+1;j<n;j+ +)
[i]<a[j]) { t=a[i];a[i]=a[j];a[j]=t;}
}
in( )
[10]={1,2,3,4,5,6,7,8,9,0},i;
un(c+4,6);
[i]);
\n");
}
)。
1,2,3,4,5,6,7,8,9,0,
0,9,8,7,6,5,1,2,3,4,
0,9,8,7,6,5,4,3,2,1,
1,2,3,4,9,8,7,6,5,0,
(35)有下列程序:
h>
r s[ ])
{ int n=0;
hile(*s<='9'*s>='0') {n=10*n+*s-'0';s+ +;}
return(n);
}
in( )
r s[10]={'6','1','*','4','*','9','*','0','*'};
\n",fun(s));
}
)。
9
61490 C)61 D)5
)。
scanf( )
getchar( )
gets( ) D)getc( )
。
C 语言中有字符串类型的常量和变量
两个字符串中的字符个数相同时才能进行字符串大小的比较
可以用关系运算符对字符串的大小进行比较
空串[20]一定比空格打头的字符串小
(38)有下列程序:
h>
r *t,char *s)
hile(*t! =0) t+ +;
hile((*t+ + =*s+ +)! =0);
}
in( )
r ss[10]="acc",aa[10]="bbxxyy";
; printf("%s,%s\n",ss,aa);
}
)。
accxyy,bbxxyy
acc,bbxxyy
accxxyy,bbxxyy
accbbxxyy,bbxxyy
(39)有下列程序:
h>
h>
r s[ ][10],int n)
r t; int i,j;
or(i=0;i<n-1;i+ +)
or(j=i+1;j<n;j+ +)
/* 比较字符串的首字符大小,并交换字符串的首字符*/
[i][0]>s[j][0]){t=s[i][0];s[i][0]=s[j][0];s[j][0]=t;}
}
in( )
r ss[5][10]={"bcc","bbcc","xy","aaaacc","aabcc"};
\n",ss[0],ss[4]);
}
。
xy,aaaacc
aaaacc,xy C)xcc,aabcc D)acc,xabcc
源程序文件中所定义的全局变量[21],其作用域[22]为(
)。
所在文件的全部范围
所在程序的全部范围
所在函数的全部范围
由具体定义位置和extern 说明来决定范围
(41)有下列程序:
h>
=1;
int f(int c)
tic int a=2;
=c+1;
+ +)+c;
}
in( )
{ int i,k=0;
;}
;
\n",k);
}
)。
14
15
16
17
(42)有下列程序:
h>
void fun(int n,int *p)
{ int f1,f2;
if(n= =1||n= =2) *p=1;
lse
{ fun(n-1,f1); fun(n-2,f2);
*p=f1+f2;
}
}
in( )
{ int s;
\n",s);
}
)。
2
3
4
5
N 100,则下列叙述中正确的是(B )。
宏定义行中定义了标识符N 的值为整数100
在编译程序[23]对C 源程序进行预处理时用100 替换标识符N
源程序进行编译时[24]用100 替换标识符N
在运行时用100 替换标识符N
)。
用typedef 可以增加新类型
typedef 只是将已存在的类型用一个新的名字来代表
用typedef 可以为各种类型说明一个新名,但不能用来为变量说明一个新名
用typedef 为类型说明一个新名,通常可以增加程序的可读性
(45)有下列程序:
h>
struct tt
{ int x;struct tt *y;}*p;
[4]={20,a+1,15,a+2,30,a+3,17,a};
in( )
{ int i;
;
or(i=1;i<=2;i+ +) {printf("%d,",p->x);p=p->y;}
}
)。
20,30,
30,17
15,30,
20,15,
(46)有下列程序:
h>
h>
r name[9];char sex;float score[2]; }STU;
STU f(STU a)
STU b={"Zhao",'m',85.0,90.0};int i;
name,b.name);
sex=b.sex;
score[i]=b.score[i];
;
}
in( )
STU c={"Qian",'f',95.0,92.0},d;
\n",d.neme,d.sex,d.score[0],d.score[1]);
}
。
Qian,f,95,92
Qian,m,85,90
Zhao,m,85,90
Zhao,f,95,92
(47)设有下列定义:
ta
t d2;}demo;
)。
变量demo 与成员d2 所占的内存字节数相同
变量demo 中各成员的地址相同
变量demo 和各成员的地址相同
若给demo.d1 赋99 后,demo.d2 中的值是99.0
(48)有下列程序:
h>
in( )
=1,b=2,c=3,x;
^b)c; printf("%d\n",x);
}
)。
1
2
3
d(buffer,size,count,fp);,其中buffer 代表的是( C)。
一个文件指针,指向待读取的文件
一个整型变量,代表待读取的数据的字节数
一个内存块的首地址,代表读入数据存放的地址
一个内存块的字节数
(50)有下列程序:
h>
in( )
ILE *fp; int a[10]={1,2,3,0,0},i;
t","wb");
,sizeof(int),5,fp);
,sizeof(int),5,fp);
close(fp);
t","rb");
d(a,sizeof(int),10,fp);
close(fp);
[i] );
}
。
1,2,3,0,0,0,0,0,0,0,
1,2,3,1,2,3,0,0,0,0,
123,0,0,0,0,123,0,0,0,0,
1,2,3,0,0,1,2,3,0,0,
2008 年4 月全国计算机等级考试笔试试卷
题目解答
答案
D