二级C考前强化班习题
更新时间:2024-07-11 05:13:01 阅读量: 综合文库 文档下载
- 计算机二级考试推荐度:
- 相关推荐
武汉光谷计算机学校 联系电话:027-62092619
计算机等级考试考前培训二级练习题(C语言部分)
选择结构(一)
1、语句:printf(\,(2)&&(-2));的输出结果是
A)无输出 B)结果不确定 C)-1 D)1 2、为表示关系x≥y≥z,应使用C语言表达式
A)(x>=y)&&(y>=z) B(x>=y)AND(y>=z) C)(x>=y>=z) D)(x>=y)&(y>=z) 3、若执行下面的程序时从键盘上输入5,则输出是
A) 7 B) 6 C) 5 D) 4 main()
{ int x;
scanf(\
if(x++>5) printf(\ else printf(\}
4、下面程序的输出是
A) 0 0 3 B) 0 1 2 C) 1 0 3 D) 1 1 2 main()
{ int a=-1, b=4,k;
k=(a++<=0)&&(!(b--<=0)); printf(\
5、当c的值不为0时,在下列选项中能正确将c的值赋给变量a、b的是 A)c=b=a; B)(a=c)‖(b=c); C)(a=c)&&(b=c); C)a=c=b; 6、能正确表示a和b同时为正或同时为负的逻辑表达式是
A)(a>=0‖b>=0)&&(a<0‖b<0) B)(a>=0&&b>=0)&&(a<0&&b<0) C)(a+b>0)&&(a+b<=0) D)a*b>0 7、能正确表示a≥10或a≤0的关系表达式是
A)a>=10 or a<=0 B)a>=10 | a<=0 C)a>=10 | | a<=0 D)a>=10 && a<=0 8、两次运行下面的程序,如果从键盘上分别输入6和4,则输出结果是
main( ) { int x; scanf(\
if(x + +> 5)printf(\ else printf(\
A)7和5 B)6和3 C)7和4 D)6和4 9、若执行下面的程序时从键盘上输入3和4,则输出是
A) 14 B) 16 C) 18 D) 20
main() {int a,b,s;
scanf(\ s=a;
if(a
printf(\
10、设 int b=2;表达式(b>>2)/(b>>1)的值是
A) 0 B) 2 C) 4 D) 8
11、与 y=(x>0?1:x<0?-1:0);的功能相同的if语句是
A) if (x>0) y=1; B) if(x) C) y=-1 D) y=0;
1
武汉光谷计算机学校 联系电话:027-62092619
else if(x<0)y=-1; if(x>0)y=1; if(x) if(x>=0) else y=0; else if(x<0)y=-1; if(x>0)y=1; if(x>0)y=1; else y=0; else if(x==0)y=0; else y=-1; else y=-1; 12、以下程序的输出结果是
A)-1 1 B)0 1 C)1 0 D)0 0 main( )
{ int a= -1,b=1,k;
if((++a<0)&& ! (b-- <=0)) printf(\,a,b);
else printf(\,b,a);} 13、若有以下定义:
float x;int a,b; 则正确的switch 语句是
A)switch(x) B)switch(x) C)switch (a+b) D)switch (a+b);
{ case1.0:printf(\ { case1,2:printf(\ { case 1:printf(\ { case 1:printf(.\ case2.0:printf(\ case3:printf(\ case 1+2:printf(\ case 2:printf(\ } } } } 14、假定所有变量均已正确说明,下列程序段运行后x的值是
a=b=c=0;x=35; if(!a)x--; else if(b); if(c)x=3; else x=4;
A)34 B)4 C)35 D)3
15、若要求在if后一对圆括号中表示a不等于0的关系,则能正确表示这一关系的表达式为
A)a<>0 B)!a C)a=0 D)a 16、下面程序的输出是
A) –1 B) 0 C) 1 D) 不确定的值 main()
{ int x=100, a=10, b=20, ok1=5, ok2=0; if(a
if(! ok1) x=1; else if(ok2)x=10; x=-1;
printf(\
17、若k是int型变量,且有下面的程序片段:
k=-3;
if(k<=0) printf(\else printf(\
上面程序片段的输出结果是
A) #### B) &&&& C) ####&&&& D) 有语法错误,无输出结果
计算机等级考试考前培训二级练习题(C语言部分)选择结构(二)
18、请读程序:
#include
2
武汉光谷计算机学校 联系电话:027-62092619
{ float x,y;
scanf(\ if(x<0.0) y=0.0
else if((x<5.0)&&(x!=2.0)) y=1.0/(x+2.0);
else if (x<10.0) y=1.0/x;
else y=10.0;
printf(\
若运行时从键盘上输入2.0
#include
main()
{ int x=1, y=0, a=0, b=0; switch(x)
{ case 1: switch(y)
{ case 0: a++; break; case 1: b++; break; }
case 2: a++; b++; break;
}
printf(\上面程序的输出结果是
A) a=2, b=1 B) a=1, b=1 C) a=1, b=0 D) a=2, b=2 20、设 int x=1, y=1; 表达式(!x||y--)的值是
A) 0 B) 1 C) 2 D) –1 21、表达式:10!=9的值是
A)true B)非零值 C)0 D)1 22、为表示关系x≥y≥z,应使用C语言表达式
A)(x>=y)&&(y>=z) B(x>=y)AND(y>=z) C)(x>=y>=z) D)(x>=y)&(y>=z)
23、设a、b和c都是int型变量,且a=3,b=4,c=5,则下面的表达式中,值为0的表达式是A) 'a'&&'b' B) a<=b C) a||(b+c)&&(b-c) D) !((a
A) 不定值 B) 4 C) 3 D) 1 25、若执行以下程序时从键盘上输入9,则输出结果是
A) 11 B) 10 C) 9 D) 8 main0 { int n;
scanf(\
if(n++<10) printf(\ else printf(\
26、能正确表示逻辑关系:“a≥10或a≤0”的C语言表达式是
A) a>=10 or a<=0 B) a>=0|a<=10 C) a>=10 &&a<=0 D) a>=10 || a<=0 27、有如下程序
main( )
{ int x=1,a=0,b=0;
switch(x){ case 0: b++; case 1: a++;
case 2: a++;b++;
3
武汉光谷计算机学校 联系电话:027-62092619
}
printf(“a=%d,b=%d\\n”,a,b); }
该程序的输出结果是
A) a=2,b=1 B) a=1,b=1 C) a=1,b=0 D) a=2,b=2 28、有如下程序
main( )
{ int a=2,b=-1,c=2; if(a) if(b<0) c=0; else c++;
printf(“%d\\n”,c); )
该程序的输出结果是
A} 0 B) 1 C) 2 D) 3
计算机等级考试考前培训二级练习题(C语言部分)循环结构(一)
4
武汉光谷计算机学校 联系电话:027-62092619
姓名____________ 班级___________ 学号____________
1、执行下面的程序后,a的值为
main() { int a,b;
for (a=1,b=1;a<=100;a++) { if(b>=20)break;
if(b%3==1) {b+=3; continue;} b-=5; } }
A)7 B)8 C)9 D)10 2、以下程序段的执行结果是
A) a=12 y=12 B) a=12 y=12 C) a=12 y=12 D) a=12 y=12 a=14 y=16 a=16 y=28 a=14 y=26 a=16 y=20 a=14 y=44 a=18 y=24 int a, y; a=10; y=0;
do{ a+=2; y+=a;
printf(\ if(y>20) break; }while(a==14); 3、以下程序的输出结果是
A)#*#*# B)##### C)***** D)*#*#* main( ) { int i;
for(i=1;i<6;i++)
{ if(i%2){printf(\;continue;} printf(\; } printf(\; }
4、下面程序的输出是
A) 741 B) 852 C) 963 D) 875421 main() { int y=9;
for( ; y>0; y--) {if(y%3==0) {printf(\}
5、请读程序:
#include
{ float x,y,z;
scanf(\ z=x/y;
while(1){ if(fabs(z)>1.0){ x=y; y=z; z=x/y;} else break; } printf(\
若运行时从键盘上输入3.6 2.4
6、以下程序的输出结果是
A)10 1 9 2 B)9 8 7 6 C)10 9 9 0 D)10 10 9 1
5
武汉光谷计算机学校 联系电话:027-62092619
main( )
{ int x=10,y=10,i; for(i=0;x>8;y=++i)
printf(\,%d \,x--,y);}
7、当有以下程序时,如果从键盘上输入:ABCdef<回车>,则输出为
A)ABCdef B)abcDEF C)abc D)DEF #include:”stdio.h” main( ) { char ch;
while((ch=getchar( ))!=?\\n?)
{ if(ch>=?A? && ch<=?Z?)ch=ch+32; else if(ch>=?a? && ch
main( )
{ int i,sum=0;
for(i=1;i<=3;sum++) sum+=i; printf(“%d\\n”,sum); }
该程序的执行结果是
A) 6 B) 3 C) 死循环 D) 0 9、有如下程序
main( )
{ int x=23;
do{ printf(“%d”,x--);}while(!x); }
该程序的执行结果是
A) 321 B) 23 C) 不输出任何内容 D) 陷入死循环 10、有如下程序
main( ) { int n=9;
while(n>6) {n--;printf(“%d”,n);} }
该程序段的输出结果是
A) 987 B) 876 C) 8765 D) 9876
计算机等级考试考前培训二级练习题(C语言部分)循环结构(二)1、以下程序的输出结果是
A)10 1 9 2 B)9 8 7 6 C)10 9 9 0 D)10 10 9 1 main( )
6
武汉光谷计算机学校 联系电话:027-62092619
{ int x=10,y=10,i;
for(i=0;x>8;y=++i) printf(\,%d \,x--,y);} 2、以下程序的输出结果是
A)2 0 B)3 1 C)3 2 1 D)2 1 0 main( ) { int n=4;
while(n--)printf(\,--n);} 3、以下循环体的执行次数是
A) 3 B) 2 C) 1 D) 0 main() { int i,j;
for(i=0,j=1; i<=j+1; i+=2, j--)printf(\4、以下叙述正确的是
A) do-while语句构成的循环不能用其它语句构成的循环来代替。 B) do-while语句构成的循环只能用break语句退出。
C) 用do-while语句构成的循环,在while后的表达式为非零时结束循环。 D) 用do-while语句构成的循环,在while后的表达式为零时结束循环。 5、若ij已定义为int类型,则以下程序段中内循环体的总的执行次数是
for (i=5;i;i--)
for(j=0;j<4;j++){...}
A)20 B)25 C)24 D)30 6、定义如下变量:
int n=10;
则下列循环的输出结果是 while(n>7) { n--;
printf(\
A)10 B)9 C)10 D)9 9 8 9 8 8 7 8 7 7 6
7、下面的程序
A) 输出的是1 B)输出的是1和-2 C)输出的是3和0 D)是死循环 main() {int x=3;
do {printf(\8、请读程序:
#include
{ int num=0;
while(num<=2){ num++; printf(\}
上面程序的输出结果是
A) 1 B) 1 C) 1 D) 1 2 2 2 3 3 4
9、执行下面程序片段的结果是
int x=23;
do{ printf(\
A) 打印出321 B) 打印出23 C) 不打印任何内容 D) 陷入死循环10、以下程序段的输出结果是
int x=3;
7
武汉光谷计算机学校 联系电话:027-62092619
do{ printf(\A)1 B)3 0 C)1-2 D)死循环 12、以下程序执行后sum的值是
A)15 B)14 C) 不确定 D)0 min()
{ int i , sum;
for(i=1;i<6;i++) sum+=i; printf(\}
13、当执行以下程序段时
A)循环体将执行一次 B)循环体将执行两次 C)循环体将执行无限次D)系统将提示有语法错误 x=-1;
do { x=x*x;} while(!x); 14、执行以下程序后,输出的结果是
A)-1 B)1 C)8 D)0 main( ) { int y=10;
do {y--;} while(--y); printf(“%d\\n”,y--); }
15、在下列选项中,没有构成死循环的程序段是
A) int i=100 B) for(;;); C)int k=1000; D)int s=36 while (1) do{++k} while (k>=1000) while(s) --s; {i=i0+1; if(i>100)break; }
16、执行语句:for(i=1;i++<4;)后;变量i的值是
A)3 B)4 C)5 D)不定
计算机等级考试考前培训二级练习题(C语言部分)
8
武汉光谷计算机学校 联系电话:027-62092619
数组(一)
姓名____________ 班级___________ 学号____________
1、 当调用函数时,实参是一个数组名,则向函数传送的是
A) 数组的长度 B) 数组的首地址 C) 数组每一个元素的地址 D) 数组每个元素中的值 2、 下列程序的输出结果是
A) 非法 B)a[4]的地址 C)5 D)3 main()
{ char a[10]={9,8,7,6,5,4,3,2,1,0},*p=a+5; printf(\}
3、下面程序的输出结果是
A) 0 B) 1 C) 10 D) 9 main()
{ int a[ ]={1,2,3,4,5,6,7,8,9,0,},*p; p=a;
printf(\}
4、执行下面的程序段后,变量k中的值为
A) 不定值 B) 33 C) 30 D) 10 int k=3, s[2];
s[0]=k; k=s[1]*10; 5、若已定义:
int a[ ]={0,1,2,3,4,5,6,7,8,9}, *p=a,i; 其中 0≤i≤9, 则对a数组元素不正确的引用上 A) a[p-a] B) *(&a[i]) C) p[i] D) a[10]
6、若已定义:int a[9],*p=a;并在以后的语句中未改变p的值,不能表示a[1] 地址的表达式是
A)p+1 B)a+1 C)a++ D)++p
7、若有以下的说明和语句,则在执行for语句后,*(*(pt+l)+2)表示的数组元素是
A)t[2][0] B)t[2][2] C)t[l][2] D)t[2][l] int t[3][3], *pt[3], k;
for (k=0;k<3;k++) pt[k]=&t[k][0]; 8、若有以下定义和语句:
int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a; 则不能表示a数组元素的表达式是 A)*p B)a[10] C)*a D)a[p-a] 9、定义如下变题和数组:
int i;
int x[3][3]={1,2,3,4,5,6,7,8,9}; 则下面语句的输出结果是
for(i=0;i<3;i++) printf(\
A)1 5 9 B)1 4 7 C)3 5 7 D)3 6 9 10、下面程序的输出是
A) 3 B) 4 C) 1 D) 2 main()
{ int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a; printf(\11、若有以下的定义:
int a[]={1,2,3,4,5,6,7,88,9,10}, *p=a; 则值为3的表式是
A)p+=2, *(p++) B)p+=2,*++p C)p+=3, *p++ D)p+=2,++*p 12、若有以下的说明和语句:
main()
9
武汉光谷计算机学校 联系电话:027-62092619
{int t[3][2], *pt[3],k;
fpr(k=o; k<3;k++)pt[k]=t[k]; }
则以一选项中能正确表示t数组元素地址的表达式是
A)&t[3][2] B)*pt[0] C)*(pt+1) D)&pt[2] 13、下面程序输出数组中的最大值,由s指针指向该元素.
main()
{int a[10]={6,7,2,9,1,10,5,8,4,3,},*p,*s; for(p=a, s=a; p-a<10; p++) if(---?---)s=p;
printf(\}
则在if语句中的判断表达式应该是
A)p>s B)*p>*s C)a[p]>a[s] D)p-a>p-s
14、以下程序段给数组所有的元素输入数据,请选择正确答案填入。
#include
{ int a[10],i=0;
while(i<10) scanf(\ ……}
A) a+(i++) B) &a[i+1] C) a+i D) &a[++i] 15、下列程序执行后的输出结果是
A) 6 B) 7 C) 8 D) 9 void func(int *a,int b[]) { b[0]=*a+6; } main()
{ int a,b[5]; a=0; b[0]=3;
func(&a,b); printf(\}
16、以下程序的输出结果是
A) 1,5,9 B) 1,4,7 C) 3,5,7 D)3,6,9 main()
{ int i, x[3][3]={1,2,3,4,5,6,7,8,9};
for(i=0;i<3;i++) printf(\}
17、若有以下定义和语句:
int w[2][3],(*pw)[3]; pw=w;
则对w数组元素非法引用是
A)*(w[0]+2) B)*(pw+1)[2] C)pw[0][0] D)*(pw[1]+2) 18、若有以下说明:
int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a; 则数值为6的表达式是
A)*p+6 B)*(p+6) C)*p+=5 D)p+5 19、若有以下说明:
int w[3][4]o={{0,1},{2,4},{5,8}}; int(*p)[4]=w;
则数值为4的表达式是
A)*w[1]+1 B)p++,*(p+1) C)w[2][2] D)p[1][1]
计算机等级考试考前培训二级练习题(C语言部分)
10
武汉光谷计算机学校 联系电话:027-62092619
数组(二)
姓名____________ 班级___________ 学号____________
1、以下程序的输出结果是
A)20 B) 21 C) 22 D)23 main()
{ int i, k, a[10], p[3]; k=5;
for (i=0;i<10;i++) a[i ]=i;
for (i=0;i<3;i++) p[i ]=a[i *(i+1)]; for (i=0;i<3;i++) k+=p[i] *2; printf(\}
2、以下程序的输出结果是
A) 18 B) 19 C) 20 D)21 main()
{ int a[3][3]={ {1,2},{3,4},{5,6} },i,j,s=0; for(i=1;i<3;i++)
for(j=0;j<=i;j++)s+=a[i][j]; printf(\}
3、下列程序执行后的输出结果是
A) 3 B) 6 C) 9 D) 随机数 main()
{ int a[3][3], *p,i; p=&a[0][0];
for(i=0; i<9; i++) p[i]=i+1; printf(\}
4、下面程序的输出是
main()
{ char *s=\ int k=0, a=0, b=0; do { k++;
if(k%2==0) {a=a+s[k]-'0'; continue;} b=b+s[k]-'0'; a=a+s[k]-'0'; }while (s[k+1]);
printf(\
A)k=3 a=2 b=3 B)k=3 a=3 b=2 C)k=2 a=3 b=2 5、请选出以下程序的输出结果
#include
fun(int *s, int n1,int n2) { int i, j, t; i=n1; j=n2; while(i { t= *(s+i); *(s+i)= *(s+j); *(s+j)=t; i++; j--; } } main() { int a[10]={1,2,3,4,5,6,7,8,9,0},i, *p=a; fun(p,0,3); fun(p,4,9); fun(p,0,9); D)k=2 a=2 b=3 11 武汉光谷计算机学校 联系电话:027-62092619 for(i=0; i<10; i++) printf(\ printf(\} A) 0 9 8 7 6 5 4 3 2 1 B) 4 3 2 1 0 9 8 7 6 5 C) 5 6 7 8 9 0 1 2 3 4 D) 0 9 8 7 6 5 1 2 3 4 6、以下程序的运行结果是 A)运行后报错 B)6 6 C)6 12 D)5 5 #include \main( ) { int a[ ]={1,2,3,4,5,6,7,8,9,10,11,12,}; int *p=a+5, *q=NULL; * q=*(p+5); printf(\,*p,*q); } 7、阅读程序: #include main() {int a[10]={1,2,3,4,5,6,7,8,9,0},*p; p=a; printf(\ printf(\} 该程序有两个printf 语句, 如果第一个printf 语句输出的是194, 则第二个printf语句的输出结果是 A)203 B)204 C)1a4 D)1a6 8、设有以下定义: int a[4][3]={1,2,3,4,5,6,7,8,9,10,11,12}; int (*prt)[3]=a,*p=a[0] 则下列能够正确表示数组元素a[1][2]的表达式是 A)*((*prt+1)[2]) B)*(*(p+5)) C)(*prt+1)+2 D)*(*(a+1)+2) 9、阅读下列程序: main( ) { int n[3],i,j,k; for(i=0;I<3;i++) n[i]=0; k=2; for (i=0;I for (j=0;j 下述程序运行后输出结果是 A)2 B)1 C)0 D)3 10、执行以下程序后,y的值是 main ( ) { int a[]={2,4,6,8,10}; int y=1,x,*p; p=&a[1]; for(x=0;x<3;x++) y + = * (p + x); printf(\} A)17 B)18 C)19 D)20 计算机等级考试考前培训二级练习题(C语言部分)数组(三) 1、下面程序的输出是 12 武汉光谷计算机学校 联系电话:027-62092619 A) 23 B) 26 C) 33 D) 36 int aa[3][3]={{2},{4},{6}}; main() { int i, * p=&aa[0][0]; for(i=0; i<2;i++) { if(i==0) aa[i][i+1]=*p+1; else ++p; printf(\} 2、请读程序: #include int *p=a; for(i=0;i<4;i++) a[i]=*p++; printf(\} 上面程序的输出结果是 A) 6 B) 8 C) 4 D) 2 3、请读程序: #include for(i=0; i<=n; i++) r=r*b[i]; return r; } main() { int x, a[]={ 2,3,4,5,6,7,8,9}; x=f(a, 3); printf(\} 上面程序的输出结果是 A) 720 B) 120 C) 24 D) 6 4、 若有以下说明和语句,请选出哪个是对c数组元素的正确引用 int c[4][5], (*cp)[5]; cp=c; A) cp+1 B) *(cp+3) C) *(cp+1)+3 D) *(*cp+2) 5、 若有以下调用语句,则不正确的fun函数的首部是 A) void fun(int m, int x[]) B) void fun(int s, int h[41]) C) void fun(int p, int *s) D) void fun(int n, int a) main() { int a[50],n; fun(n, &a[9]); ? } 6、以下程序的输出结果是 A)5 2 B)5 1 C)5 3 D)9 7 main( ) { int i,x[3][3]={9,8,7,6,5,4,3,2,1},*p=&x[1][1]; for(i=0;i<4;i+=2)printf(\,p[i]); } 7、下面程序把数组元素中的最大值放入a[0]中。则在if 语句中的条件表达式应该是 A)p>a B)*p>a[0] C)*p>*a[0] D)*p[0]> *a[0] main( ) 13 武汉光谷计算机学校 联系电话:027-62092619 { int a[10]={6,7,2,9,1,10,5,8,4,3},*p=a,I; for(i=0;i<10;i++,p++) if(________) *a=*p; printf(\,*a); } 8、下列程序的输出结果是 main( ) { int a[5]={2,4,6,8,10},*P,* *k; p=a; k=&p; printf(\ printf(\} A)4 4 B)2 2 C)2 4 D)4 6 9、以下程序的输出结果是 fut (int**s,int p[2][3]) { **s=p[1][1]; } main( ) { int a[2][3]={1,3,5,7,9,11},*p; p=(int*)malloc(sizeof(int)); fut(&p,a); primtf(\} A)1 B)7 C)9 D)11 10、下面程序的输出是 A) 60 B) 68 C) 99 D) 108 main() { int a[3][4]={ 1,3,5,7,9,11,13,15,17,19,21,23}; int ( *p)[4]=a,i,j,k=0; for(i=0; i<3; i++) for(j=0; j<2; j++) k=k+*( *(p+i)+j); printf(\11、若有下面的程序片段: int a[12]={0}, *p[3], **pp, i; for(i=0; i<3; i++) p[i]=&a[i*4]; pp=p; 则对数组元素的错误引用是 A) pp[0][1] B) a[10] C) p[3][1] D) *(*(p+2)+2) 12、以下程序的输出结果是________ main() { int a=1, b=2; a=a+b; b=a-b; a=a-b; printf(\ } 13、下列程序的输出结果是16.00,请填空。。 main() { int a=9, b=2; float x=________, y=1.1,z; z=a/2+b*x/y+1/2; printf(\ 2004年9月全国计算机等级考试二级C语言笔试试题及参考解答 一、选择题 14 武汉光谷计算机学校 联系电话:027-62092619 1.与十进制数200等值的十六进制数为 A) A8 B)A4 C)C8 D)C4 2.DOS文件系统的组织结构属于 A)星形结构 B)网形结构 C) 环形结构 D)树形结构 3. 对存储器按字节进行编址,若某存储器芯片共有10根地址线,则该存储器芯片的存储容量为 A)1KB B)2KB C)4KB D)8KB 4. 在DOS环境下,代表键盘和显示器的设备文件名为 A)PRN B)CON C)NUL D)LPT 5. 计算机网络的主要特点是 A) 运算速度快 B)运算精度高 C)资源共享 D)人机交互 6.磁盘处于写保护状态时其中的数据 A)不能读出,不能删改 B)可以读出,不能删改 C)不能读出,可以删改 D)可以读出,可以删改 7.从Windows环境进入MS-DOS方式后,返回Windows环境的DOS命令为 A)EXIT B)QUIT C)RET D)MSDO 8. 在Windows环境下,若资源管理器左宣传品中的某文件夹左边标有“+”标记,则表示 A)该文件夹为空 B)该文件夹中含有子文件夹 C)该文件夹中只包含有可执行文件 D)该文件夹中包含系统文件 9.在Windows菜单中,暗淡的命令名项目表示该命令 A)暂时不能用 B)正在执行 C)包含下一层菜单 D)包含对话框 10.在Windows环境下,单击当前宣传品中的按钮“ ”,其功能是 A)将当前应用程序转为后台运行 B)退出Windows后再关机 C)终止当前应用程序的运行 D)退出Windows后重新启动计算机 11.用C语言编写的代码程序 A)可立即执行 B)是一个源程序 C)经过编译即可执行 D)经过编译解释才能执行 12.结构化程序由三种基本结构组成,三种基本结构组成的算法 A)可以完成任何复杂的任务 B)只能完成部分复杂的任务 C)只能完成符合结构化的任务 D)只能完成一些简单的任务 13. 以下定义语句中正确的是 A)char a=\\'A\\'b=\\'B\\'; B)float a=b=10.0; C)int a=10,*b=&a; D)float *a,b=&a; 14.下列选项中,不能用作标识符的是 A)_1234_ B)_1_2 C)int_2_ D)2_int_ 15.有以下定义语句 double a,b; int w; long c; 若各变量已正确赋值,则下列选项中正确的表达式是 A)a=a+b=b++ B)w%(int)a+b) C)(c+w)%(int)a D)w=a==b; 16.有以下程序 main() { int m=3,n=4,x; x=-m++; x=x+8/++n; printf(\ 15 武汉光谷计算机学校 联系电话:027-62092619 } 程序运行后的输出结果是 A)3 B)5 C)-1 D)-2 17.有以下程序 main() { char a=\\'a\\',b; print(\ printf(\} 程序运行后的输出结果是 A)b,b B)b,c C)a,b D)a,c 18.有以下程序 main() { int m=0256,n=256; printf(\} 程序运行后的输出结果是 A)0256 0400 B)0256 256 C)256 400 D)400 400 19.有以下程序 main() { int a=666,b=888; printf(\} 程序运行后的输出结果是 A)错误信息 B)666 C)888 D)666,888 20.有以下程序 main() { int i; for(i=0;i<3;i++) switch(i) { case 0:printf(\ case 2:printf(\ default:printf(\ } } 程序运行后的输出结果是 A)022111 B)021021 C)000122 D)012 21.若x和y代表整型数,以下表达式中不能正确表示数学关系|x-y|<10的是 A)abs(x-y)<10 B)x-y>-10&& x-y<10 C)@(x-y)<-10||!(y-x)>10 D)(x-y)*(x-y)<100 22.有以下程序 main() { int a=3,b=4,c=5,d=2; if(a>b) 16 武汉光谷计算机学校 联系电话:027-62092619 if(b>c) printf(\ else printf(\ printf(\} 程序运行后的输出结果是 A)2 B)3 C)43 D)44 23.下列条件语句中,功能与其他语句不同的是 A) if(a) printf(\B) if(a==0) printf(\C) if (a!=0) printf(\D) if(a==0) printf(\24.有以下程序 main() { int i=0,x=0; for (;;) { if(i==3||i==5) continue; if (i==6) break; i++; s+=i; }; printf(\} 程序运行后的输出结果是 A)10 B)13 C)21 D)程序进入死循环 25.若变量已正确定义,要求程序段完成求5!的计算,不能完成此*作的程序段是 A)for(i=1,p=1;i<=5;i++) p*=i; B)for(i=1;i<=5;i++){ p=1; p*=i;} C)i=1;p=1;while(i<=5){p*=i; i++;} D)i=1;p=1;do{p*=i; i++; }while(i<=5); 26.有以下程序 main() { char a,b,c,d; scanf(\ printf(\} 若运行时从键盘上输入:6,5,65,66<回车>。则输出结果是 A)6,5,A,B B)6,5,65,66 C)6,5,6,5 D)6,5,6,6 27.以下能正确定义二维数组的是 A)int a[][3]; B)int a[][3]=2{2*3}; C)int a[][3]={}; D)int a[2][3]={{1},{2},{3,4}}; 28. 有以下程序 int f(int a) { return a%2; } 17 武汉光谷计算机学校 联系电话:027-62092619 main() { int s[8]={1,3,5,2,4,6},i,d=0; for (i=0;f(s);i++) d+=s; printf(\} 程序运行后的输出结果是 A)9 B)11 C)19 D)21 29.若有以下说明和语句 int c[4][5],(*p)[5]; p=c; 能够正确引用c数组元素的是 A) p+1 B) *(p+3) C) *(p+1)+3 D) *(p[0]+2) 30.有以下程序 main() { int a=7,b=8,*p,*q,*r; p=&a;q=&b; r=p; p=q;q=r; printf(\} 程序运行后的输出结果是 A)8,7,8,7 B)7,8,7,8 C)8,7,7,8 D)7,8,8,7 31.s12和s2已正确定义并分别指向两个字符串。若要求:当s1所指串大于s2所指串时,执行语句S;则以下选项中正确的是 A)if(s1>s2)S; B)if(strcmp(s1,s2))S; C)if(strcmp(s2,s1)>0)S; D)if(strcmp(s1,s2)>0)S; 32.设有定义语句 int x[6]={2,4,6,8,5,7},*p=x,i; 要求依次输出x数组6个元素中的值,不能完成此*作的语句是 A)for(i=0;i<6;i++) printf(\B)for(i=0;i<6;i++) printf(\C)for(i=0;i<6;i++) printf(\D)for(i=0;i<6;i++) printf(\33.有以下程序 #include {int a[]={1,2,3,4,5,6,7,8,9,10,11,12,},*p=a+5,*q=NULL; *q=*(p+5); printf(\} 程序运行后的输出结果是 A)运行后报错 B)6 6 C)6 11 D)5 10 34.有以下定义和语句 int a[3][2]={1,2,3,4,5,6,},*p[3]; p[0]=a[1]; 则*p[0]+1)所代表的数组元素是 A)a[0][1] B)a[1][0] C)a[1][1] D)a[1][2] 18 武汉光谷计算机学校 联系电话:027-62092619 35.有以下程序 main() {char str[][10]={\ printf(\} 程序运行后的输出结果是 A) China B)Bejing C)ng D)ing 36. 有以下程序 main() {char s[]=\ for(p=s+1;p 程序运行后的输出结果是 A) ABCD B)A C)B D)BCD BCD B C CD CD C D D D D 37.在函数调用过程中,如果函数funA调用了函数 funB,函数funB又调用了函数funA,则 A)称为函数的直接递归调用 B)称为函数的间接递归调用 C)称为函数的循环调用 D)C语言中不允许这样的递归调用 38.已有定义:int i,a[10],*p;,则合法的赋值语句是 A)p=100; B)p=a[5]; C)p=a[2]+2; D)p=a+2; 39.以下叙述中正确的是 A)局部变量说明为static存储数,其生存期将得到延长 B)全局变量说明为static存储类,其作用域将被扩大 C)任何存储类的变量在未赋初值时,其值都是不确定的 D)形参可以使用的存储类说明符与局部变量完全相同 40.设有定义语句:char c1=92,c2=92;,则以下表达式中值为零的是 A)c1^c2 B)c1&c2 C)~c2 D)c1|c2 41.程序中对fun函数有如下说明 void *fun(); 此说明的含义是: A)fun了数无返回值 B)fun函数的返回值可以是任意的数据类型 C)fun函数的返回值是无值型的指针类型 D)指针fun指向一个函数,该函数无返回值 42.有以下程序 main() { char s[]\ puts(ps+4); *(ps+4)=0; puts(s); } 程序运行后的输出结果是(选项D中的第一行是空行) A)n/No B)/No C)n/NO D) 19 武汉光谷计算机学校 联系电话:027-62092619 Yes Yes Yes /No /No /No 43.有以下程序 main() { unsigned int a; int b=-1; a=b; printf(\} 程序运行后的输出结果是 A)-1 B)65535 C)32767 D)-32768 44.有以下程序 void fun(int *a,int i,int j) { int t; if(i { t=a;a=a[j];a[j]=t; i++; j--; fun(a,i,j); } } main() { int x[]={2,6,18},i; fun(x,0,3); for(i=0;i<4;i++) printf(\ printf(\} 程序运行后的输出结果是 A)1 2 6 8 B) 8 6 2 1 C) 8 1 6 2 D)8 6 1 2 45.有以下说明和定义语句 struct student { int age; char num[8];}; struct student stu[3]={{20,\struct student *p=stu; 以下选项中引用结构体变量成员的表达式错误的是 A) (p++)->num B)p->num C)(*p).num D)stu[3].age 46.有以下程序 mina() { int x[]={1,3,5,7,2,4,6,0},i,j,k; for(i=0;i<3;i++) for (j=2;j>=i;j--) if(x[j+1]>x[j]){ k=x[j];x[j]=x[j+1];x[j+1]=k;} for(i=0;i<3;i++) for(j=4;j<7-i;j++) if(x[j+1]>x[j]){ k=x[j];x[j]=x[j+1];x[j+1]=k;} for (i=0;i<3;i++) for(j=4;j<7-i;j++) 20 武汉光谷计算机学校 联系电话:027-62092619 if(x[j]>x[j+1]){ k=x[j];x[j]=x[j+1];x[j+1]=k;} for (i=0;i<8;i++) printf(\ printf(\} 程序运行后的输出结果是: A)75310246 B)01234567 C)76310462 D)13570246 47.有如下程序 #include {FILE *fp1; fp1=fopen(\ fprintf(fp1,\ fclose(fp1); } 若文本文件f1.txt中原有内容为:good,则运行以上程序后文件f1.txt中的内容为 A)goodabc B)abcd C)abc D)abcgood 48~50.以下程序的功能是:建立一个带有头结点的单向链表,并将存储在数组中的 字符依次转储到链表的各个结点中,请从与下划线处号码对应的一组选若中选择出 正确的选项。 #include { char data; struct node *next;}; (48) CreatList(char *s) { struct node *h,*p,*q}; h=(struct node *) malloc(sizeof(struct node)); p=q=h; while(*s!=\\'\\\\0\\') { p=(struct node *) malloc(sizeof(struct node)); p->data= (49) ; q->next=p; q= (50) ; s++; } p->next=\\'\\\\0\\'; return h; } main() { char str[]=\ struct node *head; head=CreatList(str); ... } (48)A)char * B)struct node C) struct node* D) char (49)A)*s B)s C)*s++ D)(*s)++ (50)A)p->next B)p C)s D)s->next 21 武汉光谷计算机学校 联系电话:027-62092619 二、填空题 1.在64位高档微机中,CPU能同时处理 [ ] 个字节的二进制数据。 2.E-mail地址由域名和用户名两部分组成,它们之间用@分隔,其中在@后面的部分]是 [ ] 3.Windows窗口一般由标题栏、菜单栏、控制按钮等部分组成。为了移动窗口,则要 用鼠标拖动 [ ] 。 4.计算机软件分为系统软件和应用软件,UNIX系统属于 [ ] 。 5.在Windows环境下,为了将屏幕内容存入剪贴板,应按 [ ] 键。 6.以下程序段的输出结果是 [ ] int i=9; printf(\ 7.以下程序运行后的输出结果是 [ ] 。 main() { int a,b,c; a=25; b=025; c=0x25; printf(\} 8.以下程序运行后的输出结果是 [ ] 。 main() { int p[7]={11,13,14,15,16,17,18}; int i=0,j=0; while(i<7 && p%2==1) j+=p[i++]; printf(\} 9.以下程序运行后的输出结果是 [ ] 。 main() { int x=1,y=0,a=0,b=0; switch(x) {case 1:switch(y) { case 0:a++; break; case 1:b++; break; } case 2:a++;b++; break; } printf(\} 10.以下程序运行后的输出结果是 [ ] 。 main() { int a[4][4]={{1,2,3,4},{5,6,7,8},{11,12,13,14},{15,16,17,18}}; int i=0,j=0,s=0; while(i++<4) { if(i==2||i==4) continue; j=0; do{ s+= a[j]; j++; } while(j<4); } 22 武汉光谷计算机学校 联系电话:027-62092619 printf(\} 11.以下程序运行后的输出结果是 [ ] 。 main () { char a[]=\ char *p1,*p2; int k; p1=a; p2=b; for(k=0;k<=7;k++) if(*p1+k)==*(p2+k)} printf(\ } 12.以下程序运行后的输出结果是 [ ] 。这到题还有一种是if(i%2==1) 结果是*2*4*6*8* main() { char a[]=\ p=a; while(*p) { if(i%2==0) *p=\\'*\ p++;i++; } puts(a); } 13.以下程序中, for循环体执行的次数是 [ ] 。 #define N 2 #define M N+1 #define K M+1*M/2 main() { int i; for(i=1;i 14.以下程序通过函数SunFun求f(0)+f(1)+f(2)+...+f(10)。这里f(x)=x*x+1,由F函数实现。请填空。main() { printf(\SunFun(int n) {int x, s=0; for(x=0;x<=n; x++) s+=F([ ]); return s; } F(int x) {return ([ ]);} 15. 以下程序从终端读入数据到数组中,统计其中正数的个数,并计算它们之和。 请填空。 main() { int i,a[20],sun,count; suum=count=0; 23 武汉光谷计算机学校 联系电话:027-62092619 for(i=0;i<20;i++) scanf(\ fro(i=0;i<20;i++) { if(a>0) { count++; sum+= [ ] ; } } printf(\} 16.以下程序中,函数 sumColumM的功能是:求出M行N列二维数组每列元素中的最小值,并计算它们的和值。和值通过形参传回主函数输出。请填空。 #define M 2 #define N 4 void SumColumMin(int a[M][N],int *sum) { int i,j,k,s=0; for(i=0;i for(j=1;j [ ] =s; } main() { int x[M][N]={3,2,5,1,4,1,8,3},s; SumColumMin( [ ] ); printf(\} 数据结构与算法(一) 一、选择题 24 武汉光谷计算机学校 联系电话:027-62092619 1.算法的时间复杂度是指 A) 执行算法程序所需要的时间 B) 算法程序的长度 C) 算法执行过程中所需要的基本运算次数 D) 算法程序中的指令条数 2.算法的空间复杂度是指 A)算法程序的长度 B)算法程序中的指令条数 C)算法程序所占的存储空间 D)算法执行过程中所需要的存储空间 3.下列叙述中正确的是 A)线性表是线性结构 B)栈与队列是非线性结构 C)线性链表是非线性结构 D)二叉树是线性结构 4.数据的存储结构是指 A)数据所占的存储空间量 B)数据的逻辑结构在计算机中的表示 C)数据在计算机中的顺序存储方式 D)存储在外存中的数据 5.下列关于队列的叙述中正确的是 A)在队列中只能插入数据 B)在队列中只能删除数据 C)队列是先进先出的线性表 D)队列是先进后出的线性表 6.下列关于栈的叙述中正确的是 A)在栈中只能插入数据 B)在栈中只能删除数据 C)栈是先进先出的线性表 D)栈是先进后出的线性表 7.设有下列二叉树: A B C D E 对此二叉树中遍历的结果为 F A)ABCDEF B)DBEAFC C)ABDECF D)DEBFCA 8.在深度为5的满二叉树中,叶子结点的个数为 A)32 B)31 C)16 D)15 9.对长度为n的线性表进行顺序查找,在最坏的情况下所需要的比较次数为 A)n+1 B)n C) (n+1)/2 D) n/2 10.设树T的度为4,其中度为1,2,3,4的结点个数分别为4,2,1,1。则T中的叶子结点数为 A)8 B)7 C)6 D)5 二、填空题 1.在长度为n的有序线性表中进行二分查找,需要的比较次数为_____________. 2.设一棵完全二叉树共有700个结点,则在该二叉树中有_________个叶子结点. 3.设一棵二叉树的中序遍历结果为DBEAFC,前序遍历结果为ABDECF,则后序遍历结果为________ 4.在最坏的情况下,冒泡排序的时间复杂度为_________________. 5.在一个容量为15的循环队列中,若头指针front=6,尾指针rear=9,则该循环队列中共有_____个元素. 25 武汉光谷计算机学校 联系电话:027-62092619 程序设计基础(一) 一、选择题 1.结构化程序设计主要强调的是 A)程序的规模 B)程序的易读性 C)程序的执行效率 D)程序的可移植性 2.对建立良好的程序设计风格,下面描述正确的是 A)程序应简单、清晰、可读性好 B)符号名的命名只要符合语法 C)充分考虑程序的执行效率 D)程序的注释可有可无 3.在面向对象方法中,一个对象请求另一个对象为其服务的方式是通过发送 A)调用语句 B)命令 C)口令 D)消息 4.信息隐蔽的概念与下述哪一种概念直接相关? A)软件结构定义 B)模块独立性 C)模块类型划分 D)模块耦合度 5.下面对对象概念描述错误的是 A)任何对象都必须有继承性 B)对象是属性和方法封装体 C)对象间的通讯靠消息传递 D)操作是对象的动态属性 二、填空题 1.结构化程序设计的三种基本逻辑结构为顺序、选择和_________________。 2.源程序文档化要求程序应加注释。注释一般分为序言性注释和________________。 3.在面向对象方法中,信息隐蔽是通过对象的__________性来实现的。 4.类是一个支持集成的抽象数据类型,而对象是类的___________。 5.在面向对象方法中,类之间共享属性和操作的机制称为______________。 软件工程基础(一) 一、选择题 1.在软件生命周期中,能准确地确定软件系统必须做什么和必须具备哪些功能的阶段是 A)概要设计 B)详细设计 C)可行性分析 D)需求分析 2.下面不属于软件工程的3个要素的是 A)工具 B)过程 C)方法 D)环境 3.检查软件产品是否符合需求定义的过程称为 A)确认测试 B)集成测试 C)验证测试 D)验收测试 4.数据流图用于抽象描述一个软件的逻辑模型,数据流图由一些特定的图符构成。下列图符名标识的图符不属于数据流图合法图符的是 A)控制流 B)加工 C)数据存储 D)源和潭 5.下面不属于软件设计原则的是 A)抽象 B)模块化 C)自底向上 D)信息隐蔽 6.程序流程图(PFD)中的箭头代表的是 A)数据流 B)控制流 C)调用关系 D)组成关系 7.下列工具中为需求分析常用工具的是 A)PAD B)PFD C)N-S D)DFD 8.在结构化方法中,软件功能分解属于下列软件开发中的阶段是 A)详细设计 B)需求分析 C)总体设计 D)编程调试 26 武汉光谷计算机学校 联系电话:027-62092619 9.软件测试的目的是 A)发现错误 B)改正错误 C)改善软件的性能 D)挖掘软件的潜能 10.软件需求分析阶段的工作,可以分为四个方面:需求获取,需求分析,编写需求规格说明书,以及 A)阶段性报告 B)需求评审 C)总结 D)都不正确 二、填空题 1.软件是程序、数据和___________的集合。 2.Jackson方法是一种面向___________的结构化方法。 3.软件工程研究的内容主要包括:________技术和软件工程管理。 4.数据流图的类型有_________和事务型。 5.软件开发环境是全面支持软件开发全过程的___________集合。 数据库设计基础(一) 一、选择题 1.在数据管理技术的发展过程中,经历了人工管理阶段、文件系统阶段和数据库系统阶段。其中数据独立性最高的阶段是 A)数据库系统 B)文件系统 C)人工管理 D)数据项管理 2.下述关于数据库系统的叙述中正确的是 A)数据库系统减少了数据冗余 B)数据库系统避免了一切冗余 C)数据库系统中数据的一致性是指数据类型一致 D)数据库系统比文件系统能管理更多的数据 3.数据库系统的核心是 A)数据库 B)数据库管理系统 C)数据模型 D)软件工具 4.用树形结构来表示实体之间联系的模型称为 A)关系模型 B)层次模型 C)网状模型 D)数据模型 5.关系表中的每一横行称为一个 A)元组 B)字段 C)属性 D)码 6.按条件f对关系R进行选择,其关系代数表达式是 A)R|╳|R B)R|╳|R C)σf(R) D)πf(R) f 7.关系数据库管理系统能实现的专门关系运算包括 A)排序、索引、统计 B)选择、投影、连接 C)关联、更新、排序 D)显示、打印、制表 8.在关系数据库中,用来表示实体之间联系的是 A)树结构 B)网结构 C)线性表 D)二维表 9.数据库设计包括两个方面的设计内容,它们是 A)概念设计和逻辑设计 B)模式设计和内模式设计 C)内模式设计和物理设计 D)结构特性设计和行为特性设计 10.将E-R图转换到关系模式时,实体与联系都可以表示成 A)属性 B)关系 C)键 D)域 二、填空题 1.一个项目具有一个项目主管,一个项目主管可管理多个项目,则实体“项目主管”与实体“项目”的联系属于______的联系。 2.数据独立性分为逻辑独立性与物理独立性。当数据的存储结构改变时,其逻辑结构可以不变, 27 武汉光谷计算机学校 联系电话:027-62092619 因此,基于逻辑结构的应用程序不必修改,成为______________。 3.数据库系统中实现各种数据管理功能的核心称为__________________。 4.关系模型的完整性规则时对关系的某种约束条件,包括实体完整性、____________和自定义完整性。 5.在关系模型中,把数据看成一个二维表,每一个二维表称为一个______________。 参考答案: 数据结构与算法:一、选择:1-5 CDABC 6-10 DBBBA 二、填空:1.log2n 2.350 3.DEBFCA 4.n(n-1)/2 5.3 程序设计方法:一、选择:1-5 BADBA 二、填空:1.重复(或循环)2.功能性 3.封装4.实例 5.继承 软件工程基础:一、选择:1-5 DDAAC 6-10 BDCBB 二、填空:1.文档 2.数据流 3.软件开发 4.变换型 5.软件工具 数据库设计基础:一、选择:1-5 AABBA 6-10 CBDAB 二、填空: 1.一对多(或1:N) 2.逻辑独立性 3.数据库管理系统 4.参照完整性 5.关系 数据结构与算法(二) 一、选择题 1.下列叙述中,错误的是() A)数据的存储结构与数据处理的效率密切相关。 B)数据的存储结构与数据处理的效率无关。 C)数据的存储结构在计算机中所占的空间不一定是连接的。 D)一种数据的逻辑结构可以有多种存储结构。 2.下列叙述中,正确的是() A)线性链表中的各元素在存储空间中的位置必须是连续的。 B)线性链表中的表头元素一定存储在其他元素的前面。 C)线性链表中的各元素在存储空间中的位置不一定是连续的,但表头元素一定存储在其他元素的前面。 D)线性链表中的各元素在存储空间中的位置不一定是连续的,且各元素的存储顺序也是任意的。 3.设栈S和队列Q的初始状态为空,元素a,b,c,d,e,f依次通过栈S,并且一个元素出栈后即进入队列Q,若出队的顺序为b,d,c,f,e,a,则栈S的容量至少应该为() A)3 B)4 C)5 D)6 4.在下列数据结构中,不是线性结构的是() A)线性链表 B)带链的栈 C)带链的队列 D)二叉链表 5.在下列数据结构中按先进后出原则组织数据的是() A)循环队列 B)栈 C)循环链表 D)顺序表 6.下列数据结构具有记忆功能的是() A)队列 B)循环队列 C)栈 D)顺序表 7.设有下列二叉树 T A X B C P 对此二叉树前序遍历的结果为() Z Y A)ZBTYCPXA B)ATBZXCYP C)ZBTACYXP D)ATBZXCPY 28 武汉光谷计算机学校 联系电话:027-62092619 8.设一棵二叉树中有3个叶子结点,有8个度为1的结点,则该二叉树中总的结点数为() A)12 B)13 C)14 D)15 9.在最坏的情况下,下列排序方法中时间复杂度最小的是() A)冒泡排序 B)快速排序 C)插入排序 D)堆排序 10.在长度为n的有序线性表中进行二分查找,需要的比较次数为() A)log2n B)nlog2n C)n/2 D)(n+1)/2 二、填空题 1.数据结构分为逻辑结构与存储结构,线性链表属于 。 2.在一个容量为25的循环队列中,若头指针front=16,尾指针rear=9,则该循环队列中共有 个元素。 3.在长度为n的线性表中查找一个表中不存在的元素,需要的比较次数为 。 4.设一棵完全二叉树共有739个结点,则在该二叉树中有 个叶子结点。 5.在深度为5的完全二叉树中,度为2的结点数最多为 。 程序设计基础(二) 一、选择题 1.结构化程序设计的主要特点是() A)模块化 B)每个控制结构具有封装性 C)每个控制结构具有独立性 D)每个控制结构只有一个入口和一个出口 2.在模块化程序设计中,按功能划分模块的原则是() A)各模块的功能尽量单一,且各模块之间的联系尽量少 B)各模块的功能尽量单一,且各模块之间的联系尽量紧密 C)各模块应包括尽量多的功能 D)各模块应包括尽量多的输入输出操作 3.下列叙述中,正确的是() A)在模块化程序设计中,一个模块应尽量多地包括与其他模块联系的信息 B)在自顶向下、逐步细化的设计过程中,首先应设计解决问题的每一个细节 C)在模块化程序设计中,一个模块内部的控制结构也要符合结构化原则 D)在程序设计过程中,不能同时采用结构化程序设计方法与模块化程序设计方法 4.下列叙述中,正确的是() A)在面向对象的程序设计中,各个对象之间相对独立,相互依赖性小 B)在面向对象的程序设计中,各个对象之间具有密切的联系 C) 在面向对象的程序设计中,各个对象都是公用的 D)上述3种说法都不对 5.下列叙述中,正确的是() A)自己编写的程序主要是给自己使用的 B)当前编写的程序主要是为当前使用的 C)运行结果正确的程序一定具有易读性 D)上述3种说法都不对 二、填空题 1.符合结构化原则的3种基本控制结构为:顺序结构、选择结构和 。 29 武汉光谷计算机学校 联系电话:027-62092619 2.在面向对象的程序设计中,类描述是具有相似性质的一组 。 3.在面向对象的程序设计中,用来请求对象执行某一处理或回答某些信息的要求称为 。 软件工程基础(二) 一、选择题 1.下列叙述中,正确的是() A) 软件就是程序清单 B)软件就是存放在计算机中的文件 C)软件应包括程序清单以及运行结果 D)软件包括程序和文档 2.下列叙述中,正确的是() A)软件维护是指修腹程序中被破坏的指令 B)软件一旦交会使用就不需要再进行维护 C)软件交付使用后还需要进行维护 D)软件交付使用后其生命周期就结束 3.下列叙述中,正确的是() A)软件测试的目的是证明程序是否正确 B)软件测试的目的是尽可能多地发现程序中的错误 C)软件测试的目的是使程序运行结果正确 D)软件测试的目的是使程序符合结构化原则 4.软件调试的目的是() A)改正程序中的错误 B)提高程序的执行效率 C)增加程序的功能 D)调整程序的控制结构 5.在数据流图(DFD)中,带有名字的箭头表示() A)模块之间的调用关系 B)程序的组成成分 C)控制程序的执行顺序 D)数据的流向 6.在结构化设计方法中生成的结构图(SC)中,带有箭头的连线表示() A)模块之间的调用关系 B)程序的组成成分 C)控制程序执行顺序 D)数据的流向 7.为了使模块尽可能独立,要求() A)模块的内聚程度要尽量高且耦合程度要尽量强 B)模块的内聚程度要尽量高且耦合程度要尽量弱 C)模块的内聚程度要尽量低且耦合程度要尽量弱 D)模块的内聚程度要尽量低且耦合程度要尽量强 8.下列叙述中,正确的() A)接口复杂的模块,其耦合程度一定低 B)耦合程度弱的模块,其内聚程度一定低 C)耦合程度弱的模块,其内聚程度一定高 D)上述3种说法都不对 9.下列叙述中,正确的是() A)测试与调试工作必须由程序编制者自己完成 B)测试用例和调试用例必须一致 C)一个程序经调试改正错误后,一般不必再进行测试 D)上述3种说法不对 30 武汉光谷计算机学校 联系电话:027-62092619 10.下列叙述中,正确的是() A)黑箱测试方法完全不考虑程序的内部结构和内部特征 B)黑箱测试的方法主要考虑程序的内部结构和内部特征 C)白箱测试主要考虑程序内部的逻辑结构 D)上述3种说法都不对 二、填空题 1.数据流图有两种典型的结构形式,它们分别是变换型和 。 2.耦合和内聚是评价模块独立性的两个主要标准,其中 反映了模块内各成分之间的联系。 3.在结构化分析方法中,用于描述系统中所用到的全部数据和文件的文档称为 4.测试的目的是暴露错误,评价程序的可靠性;而 的目的归现错误的位置并改正错误。 5.程序的测试方法发分为静态分析和动态分析。使用测试用例在计算机上运行程序,使程序运行过程中暴露错误,这种方法称为 。 数据库设计基础(二) 一、选择题 1.下列叙述中,正确的是() A) 数据库系统是一个独立的系统,不需要操作系统的支持 B)数据库技术的根本要解决数据的共享问题 C)数据库管理系统就是数据库系统 D)以上三种说法都不对 2.下列叙述中,正确的是() A)实体集之间一对一的联系实际上就是一一对应的关系B)关系模型只能处理实体集之间一对一的联系 C)关系模型属于格式化模型 D)以上三种说法都不对 3.下列关于关系运算的叙述中,正确的是() A)设影、选择、连接是从二维表的行的方向来进行运算 B)并、交、差是从二维表的列的方向来进行运算 C)投影、选择、连接是从二维表的列的方向进行运算 D)以上三种说法都不对 4.下列叙述中,正确的是() A)数据库设计是指设计数据库系统 B)数据库设计是指设计数据库管理系统 C)数据库设计是指在已有数据库管理系统的基础上建立数据库 D)以上三种说法都不对 5.数据独立性是数据库技术的重要特点之一,所谓数据独立性是指() A)数据与程序独立存放 B)不同的数据被存放在不同的文件中 C)不同的数据只能被对应的应用程序所使用 D)以上三种说法都不对 6.下列叙述中,正确的是() A)用E-R图能够表示实体集之间一对一的联系、一对多的联系,多对多的联系 B)用E-R图只能表示实体集之间一对一的联系 C)用E-R图只能表示实体集之间一对多的联系 D)用E-R图表示的要领数据模型只能转换为关系数据模型 31 武汉光谷计算机学校 联系电话:027-62092619 7.在关系模型中,下列叙述中正确的是() A)为了建立一个关系,首先要构造数据的逻辑关系 B)表示关系的二维表中各元组的每一个分量还要以分成若干数据项 C)一个关系的属性名表称为关系模式 D)一个关系可以包括多个二维表 8.下列数据模型中,具有坚实理论基础的是() A)层次模型 B)网状模型 C)关系模型 D)以上三个都是 9.下列关系运算中,能使经运算后得到的新关系中属性个数多于原来关系中属性个数的是() A)选择 B)连接 C)投影 D)并 10.下列关系运算中,能使经运算后得到的新关系中元组个数少于原来关系中元组个数的是() A)选择 B)连接 C)投影 D)并 二、填空题 1.数据独立性分为逻辑独立性与物理独立性。当数据的存储结构改变时,其逻辑结构可以不变,因此,基于逻辑结构的应用程序不必修改;称为 _____。 2.数据库系统中实现种数据管理功能的核心软件称为 _ 。 3.数据模型分为格式化模型与非格式化模型,层次模型与网状模型属于 ___。 4.在关系模型中,把数据看成一个二维表,每一个二维表称为一个 ____ 。 5.实体之间的联系可以归结为一对一的联系,一对多的联系与多对多的联系。如果一个学校有许多教师,而一个教师只归属于一个学校,则实体集学校与实体集教师之间的联系属于 __的联系。 计算机等级考试考前培训二级练习题(C语言部分) 32 武汉光谷计算机学校 联系电话:027-62092619 字符串 姓名____________ 班级___________ 学号____________ 1、语句printf(\的输出结果是 A) a\\bre\\'hi\\'y\\\\\\bou B) a\\bre\\'hi\\'y\\bou C) re'hi'you D) abre'hi'y\\bou (说明:'\\b'是退格符) 2、设有数组定义: char array [ ]=\则数组 array所占的空间为 A) 4个字节 B) 5个字节 C) 6个字节 D) 7个字节 3、下列程序执行后的输出结果是 A) -32767 B) FFFE C) –1 D) –32768 main() { char x=0xFFFF; printf(\4、下列程序执行后的输出结果是 A) you&ne B) you C) me D) err mai() { char arr[2][4]; strcpy(arr,\ arr[0][3]='&'; printf(\ 5、下列程序执行后的输出结果是 A) hello B) hel C) hlo D) hlm void func1(int i); void func2(int i); char st[]=\void func1(int i) { printf(\ if(i<3){i+=2;func2(i);}} void func2(int i) { printf(\ if(i<3){i+=2;func1(i);}} main() { int i=0; func1(i); printf(\ 6、设已有定义: char *st=\下列程序段中正确的是 A) char a[11], *p; strcpy(p=a+1,&st[4]); B) char a[11]; strcpy(++a, st); C) char a[11]; strcpy(a, st); D) char a[], *p; strcpy(p=&a[1],st+2); 7、执行下列程序时输入:123<空格>456<空格>789<回车>,输出结果是 A) 123,456,789 B) 1,456,789 C) 1,23,456,789 D) 1,23,456 main() { char s[100]; int c, i; scanf(\ printf(\8、下列描述中不正确的是 A)字符型数组中可以存放字符串 B)可以对字符型数组进行整体输入、输出 C)可以对整型数组进行整体输入、输出 D)不能在赋值语句中通过赋值运算符\对字符型数组进行整体赋值 9、以下程序的输出结果是 A)6 B)6789 C)'6' D)789 main( ) { char a[10]={'1','2','3','4','5','6','7','8','9',0},*p; int i=8; p=a+I; printf(\,p-3);} 10、以下程序的输出结果是 33 武汉光谷计算机学校 联系电话:027-62092619 A)17,021,0x11 B)17,17,17 B)17,0x11,021 D)17,21,11 main( ) { int k=17; printf(\,%o,%x \\n\,k,k,k);} 11、略 12、以下程序的输出结果是 A)123456780 B)123 456 780 C)12345678 D)147 main( ) { char ch[3][4]={\,\,\, *p[3]; int i; for(i=0;i<3;i++) p[i]=ch[i]; for(i=0;i<3;i++) printf(\,p[i]);} 13、以下程序的输出结果是 A)4 2 1 1 B)0 0 0 8 C)4 6 7 8 D)8 8 8 8 main( ) { char *s=\; int v[4]={0,0,0,0},k,i; for(k=0;s[k];k++) { switch(s[k]) { case '1':i=0; case '2':i=1; case '3':i=2; case '4':i=3; } v[i]++; } for(k=0;k<4;k++) printf(\,v[k]);} 14、以下程序的输出结果是 A)AfghdEFG B)Abfhd C)Afghd D)Afgd #include main( ) { char *p1,*p2,str[50]=\; p1=\; p2=\; strcpy(str+1,p2+1); strcpy(str+3,p1+3); printf(\,str);} 15、以下程序的输出结果是 A)编译不通过,无输出 B)aceg C)acegi D)abcdefghi main( ) { int i; for(i='A';i<'I';i++,i++) printf(\,i+32); printf(\;} 16、在C语言中,合法的字符常量是 A)'\\084' B)'\\x43' C)'ab' D)\17、合法的数组定义是 A)int a[]=\ B)int a[5]={0,1,2,3,4,5}; C)vhst s=\ D)char a[]={0,1,2,3,4,5}; 18、若有定义和语句: char s[10]; s=\ 则结果是(以下u代表空格) A)输出abcd B)输出a C)输出abcduuuuu D)编译不通过 19、若有以下定义和语句 char c1='b',c2='e'; printf(\则输出结果是: A)2,M B)3,E C)2,E D)输出项与对应的格式控制不一致,输出结果不确定 20、若有以下定义: char s[20]=\ 则不能代表字符o的表达式是 A)ps+2 B)s[2] C)ps[2] D)ps+=2,*ps 34 武汉光谷计算机学校 联系电话:027-62092619 21、若有以下定义和语句: char *s1=\ printf(\则输出结果是 A)4 B)5 C)9 D)10 22、若有定义:int x,y;char a,b,c;并有以下输入数据(此处< CR> 代表换行符,/u代表空格): 1u2 AuBuC 则能给x赋整数1,给y赋整数2,给a赋字符A,给b赋字符B,给c赋字符C 的正确程序段是 A)scanf(\B)scanf(\C)scanf(\ D)scanf(\,&x,&y,&a,&a,&b,&b,&c,&c); 23、若有以下程序片段: char str[]=\ printf(“%d\ 上面程序片段的输出结果是 A)3 B)4 C)6 D)12 24、函数调用:strcat(strcpy(str1,str2),str3)的功能是 A)将串str1复制到串str2中后再连接到串str3之后 B)将串str1连接到串str2之后再复制到串str3之后 C)将串str2复制到串str1中后再将串str3连接到串str1之后 D)将串str2连接到串str1之后再将串str1复制到串str3中 25、以下程序的输出结果是 #include subl(char a,char b) {char c; c=a;a=b;b=c;} sub2(char* a,char b) {char c; c=*a;*a=b;b=c;} sub3(char* a,char*b) {char c; c=*a;*a=*b;*b=c;} main() { char a,b; a='A';b='B';sub3(&a,&b);putchar(a);putchar(b); a='A';b='B';sub2(&a,b);putchar(a);prtchar(b); a='A';b='B';sub1(a,b);putchar(a);putchar(b); } A)BABBAB B)ABBBBA C)BABABA D)BAABBA 26、不能把字符串:Hello!赋给数组b的语句是 A)char b[10]={'H','e','l','l','o','!'}; B)char b[10];b=\C)char b[10];strcpy(b,\ D)char b[10]=\27、若有以下说明: int a[12]={1,2,3,4,5,6,7,8,9,10,11,12}; char c='a',d,g; 则数值为4的表达式是 A)a[g-c] B)a[4] C)a['d'-'c'] D)a['d'-c] 28、下述对C语言字符数组的描术中错误的是 A)字符数组可以存放字符串 B)字符数组中的字符串可以整体输入、输出 C)可以在赋值语句中通过赋值运算符\对字符数组整体赋值 D)不可以用关系运算符对字符数组中的字符串进行比较 29、设有如下定义: char *aa[2]={\ 则以下就法中正确的是 A)aa数组成元素的值分别是\和ABCD\ B)aa是指针变量,它指向含有两个数组元素的字符型一维数组 C)aa数组的两个元素分别存放的是含有4个字符的一维字符数组的首地址 D)aa数组的两个元素中各自存放了字符'a'和'A'的地址 30、下列程序的输出结果是 main( ) { char*p1,*p2,str[50]=\ p1=\ 35
正在阅读:
二级C考前强化班习题07-11
李小荣脉学笔记109-22
综合实践活动总结通用8篇04-02
组合逻辑电路设计例题05-30
《学生体质健康标准》的测试项目包括哪些内容,其中哪些是必选?05-27
劳斯莱斯幻影车身造型艺术性04-24
和书中人物做朋友作文400字06-17
商用车车架常用横梁的力学性能研究05-15
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- 强化班
- 考前
- 习题
- 二级
- 通信电路(第二版)高频 - 沈伟慈 - 课后习题答案 - 图文
- 微信伤感说说短句
- 18(邻近)营业线施工安全应急预案
- 甲级单位编制光学眼境项目可行性报告(立项可研+贷款+用地+2013
- 新建年产6万吨绿色无公害优质大米加工生产线建设项目可行性研究
- 发酵工艺实验 - 图文
- 4水工建筑工程单元工程施工质量评定表 - 图文
- 辅助生产费用归集练习
- 论冲突与规范—以新闻自由与隐私权为研究视角
- 青年员工扎根一线成长成才的研究
- 有3Q品质的教师,才会成就教学“高富帅”-精品文档
- 工程测量在桥梁中的应用毕业论文设计(范文)
- 11年第一期法语初级笔试试卷
- 工程建设项目全套流程图 历史上最牛的全套 25个
- 中国石油天然气集团公司应急预案编制通则
- 原始点疗法
- 15万吨天城市污水处理工艺设计 - 图文
- 经典诵读教案 - 图文
- 卵石地段顶管方案 - 图文
- 大学有机化学推断结构试题(C)及答案解析