二级C笔试题易错题总结 .doc
1.下列叙述中II?:确的是。
A、一组对象所具有的相似性质
B、一个对象具有另一个对象的性质
C、各对象之间的共同性质
D、类之间共亨属性和操作的机制
2软件测试的目的是。
A、评估软件可靠性
B、发现并改正程序中的错误
C、改正程序中的错误
D、发现程序中的错误
3下列叙述中正确的是。
A、线性表的链式存储结构与顺序存储结构所需要的存储空间是相同的
B、线性表的链式存储结构所需要的存储空间一般要多于顺序存储结构
C、线性表的链式存储结构所耑要的存储空间一般要少于顺序存储结构
1)、上述三种说法都不对
4冇三个关系K、S和T如下:
A、自然连接
B、交
C、投影
I)、并
5宥以下程序,程序屮库函数islowcHch)用以判断ch屮的字母是否为小写字母 #io. h>
^include
void fun(char*p )
{ int i=0;
while(p[i])
{ if (plower (p[i~l])) p[i—l]=p[i-l]」a’+’A’ ; i++;
1
}
main ()
{ char sl[100]="ab cd EFG !〃;
fun(si); printf("%s\n〃,si);
1
TOC \o "1-5" \h \z 程序运行后的输出结果是。
A、abcdEFG!
B、AbCdEFg!
C、aBcDEFG!
D、abcdEEg!
6有以下程序
#io. h>
void f(int *p);
main()
{ int a[5] = {l,2, 3, 4, 5}, *r=a;
f(r):printf C%d\n",*r);
}
voidf(int *p)
{p=p+3; printf(〃%d, ", *p) ;}
TOC \o "1-5" \h \z 程序运行后的输出结果是。
A、1,4
B、4,4
C、3, 1
D、4, 1
7冇以下程序,程序中库阐数islower(Ch)用以判断ch中的字母足否为小写字母
#inch>
ctype. h>
voidfun(char *p)
{ int i=0: while(p[i])
{ if (p[iwer(p[i-l]))p[i-l]=p[i-l]-’a’+’A,;
i++;
}
main ()
{ charsl [100]=,/abcd EEG !*;
fun(si); printf("%s\n' si);
}
TOC \o "1-5" \h \z 程序运行后的输出结果是。
A、abcdEFG!
BsAbCdEFg!
C、aBcDEFG!
I)、abcdEFg!
8冇以下程序
#inch>
void f(int*p);
main ()
{int a[5] = {l, 2, 3,4, 5}, *r=a;
f(r); printf(〃%d\n〃,*r);
}
void f(int *p)
{ P=P+3; printf("%d,",*p);}
TOC \o "1-5" \h \z 程序运行后的输出结果是。
A、1,4
B、4,4
C、3, 1
D、4, 1
本题的考齊点是指针作为函数参数。
在main函数中,语句、r=a/使得指针r指向数组a的起始地址,然后凋用f函数,在f函数中语句"p =P+3;"是将p的指针后移3位,则p指向的是a[3]的偾,即4。但是f函数改变的是形参的指针位置,实参变 ft的指针位罝并未改变,则打的值仍为&[0]的值1,所以运行结果为:4,1。
故木题答案为D。
9有以下程序
#in. h>
舞include
main ()
{ char x[]="STRTNG〃: x[0]=0;x[l]=’\0’ ; x[2]=’O’ ;
printf(〃%d%d\n 〃,sizeof(x), strlen(x));
}
TOC \o "1-5" \h \z 程序运行后的输出结果是。
As 6 1
B、7 0
C、6 3
D、7 1
本题的考查点是字符数组。
C语言中字符中以’\0’字符结束的,且strlenO函数计算的是’\0’字符前的所冇字符的个数、’ \0’字 符的ASCTT值为0。所以"x[0]=0;"使得数组x的第一个元素为字符屮结束符。所以本题中strlen(x)应为0。 数组定义以后系统就为其分配相应大小的内存空间,而不论其中有没有内容。sizeof ()函数是计算变量或 数组的所分配到的内存空间的大小。其屮字符串的结束标志’\0’,也占一个存储空间,所以本题的siz eof(x)为7。
故本题答案为B。
10有以下程序
dio. h>
#inclu>
main()
{ int*d,*b,*c;
a=b=c