计算机等级考试二级C语言模拟试题(8)
一、选择题(每题2分,共70分)
1。循环链表的主要优点是
A)不再需要头指针
B)可以从表中的任意节点访问整个链表
C)在插入和删除时,链表可以更好地保持打开状态[很容易找到它的直接前身
2 .从堆栈底部到顶部存储元素A、B、C和D。在第五个元素E进入堆栈之前,堆栈中的元素可以被释放。那么栈序列可能是
a)abced b)dcbea
c)DBC EAD)cdabe
3。具有n个顶点的强连通图至少有
a) n-1b) n (n-1)。4.在结构化程序设计的思想被提出之前,程序的效率在程序设计中是被强调的。现在比起程序的效率,人们更看重
A)安全性b)一致性
C)可理解性d)合理性。资料来源:www.examda.com。模块独立性是软件模块化的要求。模块独立性的度量是
A)抽象和信息隐藏;b)本地化和封装;
C)内聚性和耦合性;d)激活机制和控制方法。
6.软件开发的结构化生命周期法将软件生命周期分为
A)定义、开发、运行和维护
B)设计阶段、编程阶段和测试阶段
C)总体设计、详细设计、编程和调试
D)需求分析、功能定义和系统设计[该方法将程序视为
A)路径集B)循环集C)目标集D)地址集
8 .在数据管理技术的发展过程中,文件系统和数据库系统的主要区别在于:数据库系统具有
A)特定的数据模型b)数据没有冗余
C)数据共享d)专用的数据管理软件
9 .数据库设计包括两个方面。分别是
A)概念设计和逻辑设计
B)模式设计和内部模式设计
C)内部模式设计和物理设计
D)结构特性设计和行为特性设计
10 .实体是信息世界中广泛使用的一个术语,它用来表示
A)有生命的东西b)无生命的东西
C)实际存在的东西d)一切11。c语言提供的关键字是
a)switch b)cher
c)case d)default
[/合法组是
a)for-subcase b)4d posize
c)F2 _ G3 if ABC d)word void
13 .如果定义:int a=8,b=5,c;执行语句c = a/b+0.4;c的值是
a)1.4b)1
c)2.0d)2
14。变量的类型已知如下
int i=8,k,a,b;
无符号长整型w = 5;
double x=1.42,y = 5.2
那么下面符合C语言语法的表达式是
a)a+= a-=(b = 4)*(a = 3)b)a = a * 3+2
C)x %(-3)d)y = float(I为I和F分别赋值100和765.12,正确的输入是
a) 100 765.12
b) I = 100,f = 765
16.下面这个程序的输出结果是
main()
{
int a = 2;a % = 4-1;
printf("%d ",a);a+= a * = a-= a * = 3;
printf("\n%d ",a);
}
a) 2,12b)-1,12
c) 1,0d) 2,0
17。如果下面的程序
main()[/br
m =(k+= I * = k);printf("%d,%d\n ",m,I);
}
执行后的输出结果是
a) 8,6b) 8,3
c) 6,4d) 7,4
18。下列不正确的if语句形式是[/br]= y);
B)if(x = = y)x+= y;
C)if(x!=y)scanf("%d ",&x)else scanf("%d ",& y);
D)if(x
19。以下程序中循环的总执行次数为
int i,j;
for(I = 6;I > 1;I-)
for(j = 0;j {…}
a)20b)261
c)15d)25
20。对于下面的程序,正确的说法是
main()
{[/]
if(x = y+z)printf(" x = y+z ");
else printf("x!= y+z”);
}
A)无法编译b)输出6
C)输出X!=y+z D)输出x=y+z
21。下面这个程序的输出结果是
main()
{
int a[3],I,j,k = 2;
for(I = 0;ifor(I = 0;ifor(j = 0;ja[j]= a[I];
printf("%d\n ",a[2]);
}
a)2b)3
c)1d)0
22。标准库函数fgets(buf,n,fp的函数)就是要
A)从fp指向的文件中读取一个长度为n的字符串并存入buf
B)从fp指向的文件中读取一个长度不超过n-1的字符串并存入buf
C)从fp指向的文件中读取n个字符串并存入buf
D)从fp指向的文件中读取长度为n-1的字符串并存入下面这个程序的执行结果是
main()
{
static int a[]= { 1,7,3,9,...。
int * p = a;
*(p+3)+= 4;
printf("%d,%d ",*p,*(p+3));
}
a) 1,13b) 1,16
c) 3,13d) 1,14
24。下面程序的输出是
int b = 3;
fun(int * k)
{
int b = 2;
b = *(k++)* b;
return(b);
}
main()
{
int a[]= { 11,12,13,14,15,16 };
b = fun(& a[1])* b;
printf("%d\n ",b);
}
a)24b)72
c)11d)33
25。执行下面的程序段,结果是
int x = 40;
char y =′C′;
int n;
n =(x & 0x ff)& &(y >’B’);
printf("%d\n ",n);
A)0 B)1
C)2 D)326。下列能正确初始化二维数组A的语句有
a) int a [2] [] = {{1,0,1},{5,2,3 } };
B)int a[][3]={{1,2,3},{4,5,6 } };
C)int a[2][4]={{1,2,3},{4,5},{ 6 } };
D)int a[][]={{1,0,1}{},{1,1 } };
]27。以下程序的执行结果是
union un
{
int I;
char c[2];
}
main()
{
union un x;
x . c[0]= 10;
x . c[1]= 1;
printf("%d ",x . I);
}
a)266 b)11
c)265d)138来源:www.examda.com
28。而y=(x>0?1:xA)if(x > 0)y = 1;
else if(xel se y = 0;
B)if(x)
if(x > 0)y = 1;
else if(xC)y =-1
if(x)
if(x > 0)y = 1;
else if(x = = 0)y = 0;
else y =-1;
D)y = 0;
if(x > = 0)
if(x > 0)y = 1;else y =-1;[br/]29。下面这个程序的执行结果是
# define sum(x)x * x
main()
{
int a = 6;int i=1,j = 2;
a+= SUM(I+j)/SUM(I+j);
printf("%d\n ",a);
}
a)15b)2
c)7d)0
30。下面这个程序段的输出结果是
void fun (int * x,int * y)[/br * x = 3;* y = 4;}
main()
{
int x = 1,y = 2;
fun(&y,& x);
printf("%d %d ",x,y);
}
A)2 1 4 3B)1 2 1 2
C)1 2 3 4D)2 1 2 31。下面这个函数的作用是转换字符串ss中特定位置的字母(如果位置不是字母,就不转换)。
# include
# include
void fun(char * ss)
{
int I;
for(I = 0;ss[i]!=′[4]′;i++){
if(I % 2 = = 1 & & ss[I]> =′a′& & ss[I]ss[I]= ss[I]-32;
}
}
main()
{
char TT[51];
clrscr();
printf("请输入50个字符以内的字符串:\ n ");
gets(TT);
printf(" \ n \ n更改后,字符串\n %s ",TT);
乐趣(TT);
printf("\nbecomes\n \%s ",TT);
}
如果输入abc4Efg,应该输出
A)ABC 4 EFG B)ABC 4 EFG
C)ABC 4 EFG D)ABC 4 dfg
32。下面这个程序的输出结果是[/br
a* = x;
返回一个;
}
main()
{
int x = 2,y=1,n;
n = fun(x);
n = fun(y);
printf("%d\n ",n);
}
a)2b)4
c)3d)8
33。下面这个程序的输出结果是
main()
{
char
int x1 = 0,x2=0,x3=0,x4=0,I;
for(I = 0;str[i]!=′[4]′;i++)
switch(str[I])
{
case ' 1 ':x4++;
case’2’:x3++;
case ' 3 ':x2++;
case’4’:x1++;
}
printf("%d,%d,%d,%d\n ",x1,x2,x3,x4);
}
A) 8,6,4,1b) 8,6,3,2
C) 8,8,4,1d) 8,6,4,2
34
long * q;
q =(long *)p;
q++;
r =(char *)q;
printf("%s\n ",r);
}
a)defg b)cdef
c)ghab d)efgh
35 .下面这个函数的作用是计算并输出下面的多项式值:
sn = ∑ ni = 0 (2.02注:要求n的值大于1但不大于100。下划线处应填写的选项为
# include
double fun(int n)
{
int I;
双s = 0.0
for(I = 1;is = s+;
return s;
}
main()
{
int n;双s;
printf(" \ n输入n:");scanf("%d ",& n);
s = fun(n);
printf("\ns=%f\n ",s);
}
A)1.0/(2 * I-1)-1.0/(2 * I)B)1.0/(2 * I-1)
C)1.0/(2 * I)D)1.0/(2 * I)-1.0/(2 * I-1)
二。填写空题(每题2分空,共30分)
1。常用的黑盒测试有四种:等价分类、[1]、因果图和错误猜测。
输入中间没有空的答案:
2。测试的目的是暴露错误和评估程序的可靠性;[2]的目的是找到错误的位置并纠正它。
输入中间没有空的答案:
3。软件维护活动包括以下几类:纠正性维护、适应性维护、[3]维护和预防性维护。
输入中间没有空的答案:
4。在面向对象的设计中,要求对象执行某个过程或回答某些信息的请求称为[4]。
输入中间没有空的答案:
5。关键字ASC和DESC分别表示[5]的含义。
输入中间没有空的答案:
6。下面这个程序的执行结果是[6]。
main()
{
int i,j,k;
for(i=0,j = 5;iprintf("k=%d ",k = I+j);
}
输入中间不带空的答案:
7。设置了以下变量定义,并赋予了某个值
char w;int x;浮动y;双z;
那么表达式w*x+z-y得到的数据类型就是[7]。来源:www.examda.com
输入中间不带空的答案:
8。下面这个程序的输出结果是[8]。
main()
{
char s[]= " abcdef ";
s[3]= '\ 0 ';
printf("%s\n ",s);
}
输入中间不带空的答案:
9。以下程序运行后的输出结果是[9]。
void fun(int x,int y)
{
x = x+y;y = x-y;x = x-y;
printf("%d,%d,",x,y);
}
main()
{
int x = 2,y = 3;
fun(x,y);
printf("%d,%d\n ",x,y);
}
输入中间不带空的答案:
10。下面这个程序的作用是从键盘输入几个字符(以回车结束)组成一个字符串,存储在一个字符数组中,然后输出字符数组中的字符串。请填写空。
# include
# include
main()
{
char str[81],* sptr
int I;
for(I = 0;I { str[I]= getchar();if(str[I]= = ' \ n ')break;}
str[I]=【10】;sptr = str
while(* sptr)put char(* sptr【11】);
}
输入中间不带空的答案:11。如果提供了定义“#define F(N)2*N”,则表达式F(2+3)的值为[12]。
输入中间不带空的答案:
12。如果在程序中使用了“putchar()”函数,那么include命令[13]应该写在程序的开头。如果程序中使用了“strlen()”函数,include命令[14]
输入中间没有空的答案:
13。以下程序用于统计文件中的字符数,请填写空。
# include
main()
{
FILE * FP;
long num = 0;
if ((fp=fopen("fname.dat "," r ")= = NULL)
{ printf("打不开文件!\ n ");退出(0);}
while(【15】){ fgetc(FP);num++;}
printf("num=%ld\n ",num);
f close(FP);
}
0条评论