TOP

2010计算机等级考试二级C语言笔试模拟题三
2010-09-11 11:41:26 来源: 作者: 【 】 浏览:702次 评论:0
微信搜索关注"91考试网"公众号,领30元,获取公务员、事业编、教师等考试资料40G!

 

一、填空题:
每小题1分,共17分
1、算法的复杂度主要包括___[1]____复杂度和空间复杂度。

自评分 
     
2、在面向对象方法中,允许作用于某个对象上的操作称为____[2]____。

自评分 
     
3、   软件生命周期包括8个阶段。为了使各时期的任务更明确,又可分为3个时期:软件定义期、软件
   开发期、软件维护期。编码和测试属于_____[3]_____期。

自评分 
     
4、   如果一个工人可管理多个设备,而一个设备只被一个工人管理,则实体工人与实体设备之
   间存在_____[4]____关系。

自评分 
     
5、关系数据库管理系统能实现的专门关系运算包括选择、连接和_____[5]______。

自评分 
     
6、   若有语句:
   int i=一19,j=i%4;
   printf(%d ,j);
   则输出结果是_____[6]_____。

自评分 
     
7、   若有如下程序:
   =#includestdio.h
   main()
   {char s[30];
   strcpy(&s[0],adc);
   strcpy(&s[1],def);
   strcpy(&S[2],gh);
   printf(%S ,s);
   则程序运行后的输出结果是____[7]____。

自评分 
     
8、   以下程序运行后的输出结果是_____[8]______。
   main(   )
{   int P[7]fll,13,1 4,15,16,17,18);
   int i=0,j:0;
   while(i<7&&P[i]%2:=1)j+=p[i++];
   printf(%d ,j);
   }

自评分 
     
9、   有以下程序
   main(   )
{   int n=0,m=1,x=2;
   if(!n)x-=1;
   if(m)X-=2;
   if(x)x-=3;
   printf(%d ,x);
   }
   执行后输出的结果是____[9]____。

自评分 
     
10、   执行以下程序后,输出#号的个数是____[10]____。
   #include<studio.h>
   main( )
   {int i,j;
   for(i=1;i<5; i++)
   for(j=2;j<=i;j++)putchar(#);
   }

自评分 
     
11、   函数sub的功能是根据下面近似分式求n的值。
   (π*π)/6=1+l/(2*2)+1/(3*3)+…+1/(n*n)
   现在请在下面的函数中填空,完成求x值的功能。
   #includemath.h
   double sub(10ng m)
   {double sum=0.0,t;long n;
   for(n=1;n<=m;n++)   sum+=_____[11]____;
   t=sqrt(6*sum);
   return(t);
   }

自评分 
     
12、   执行以下程序后sum的值是____[12]_____。
   main( )
   {
   int i,sum;
   for(i=1;i<6; i++)
   sum+=i;
   printf(%d ,sum);
   }

自评分 
     
13、   下列程序的输出结果是_____[13]_____。
   void fun(int*n)
   (while((*n)-);
   printf(%d,++(*n));
   }
   main( )
   (int a=1000;
   fun(&a);
   }

自评分 
     
14、   下面程序用来输出结构体变量a所占存储单元的字节数,请填空。
   main( )
   {Struct stu
   {char x[20];float y;)a;
   printf(ra size:%d ,sizeof(___[14]_____));
   }

自评分 
     
15、   下面程序的功能是将字符串a下标值为偶数的元素由小到大排序,其他元素不变,请填空。
   {}include<stdio.h>
   main()
   {char a[ ]=labchmfye,t;
   int i,j;
   for(i=0;i<7;i+=2)
   for(j=i+2;j<9;_____[15]_____)
   if([16])
   {t=a[i];   a[i]--a[j];   a[j]=t;j++;}
   puts([A].;
   printf( );
   }

自评分 
     
16、   以下程序中,函数SumColumMin的功能是:求出M行N列二维数组每列元素中的最小值,并计算,
   它们的和值。和值通过形参传回主函数输出。请填空。
   #define M 2
   {}define N 4
   void SumColumMin(int   a[M]IN],int *sum)
   {int i,j,k,s=0
   for(i=0;i<N;i++)
   {k=0;
   for(j=1;j<M;j++)
   if(a[k][i]>a[j][i])k=j;
   s+=____[17]____;
   _____[18]____=s;
   }
   main(   )
   {int x[M][N]:{3,2,5,1,4,1,8,3),s,
   SumColumMin(_____[19]_____);
   printf(%d ,s),
   }

自评分 
     
17、   若有如下程序:
   main(   )
   {int a[][2]={1,2,6,9,11},(*t)[2];
   t=a;
   printf(%d,%dkn,*(t[1]+1),(*t)[1]);
   }
   则程序运行后输出的结果是____[20]____。

自评分 
     
二、单选题:
每小题1分,共50分
1、下面叙述正确的是(   )。
 A.算法的执行效率与数据的存储结构无关
 B.算法的空间复杂度是指算法程序中指令(或语句)的条数
 C.算法的有穷性是指算法必须能在执行有限个步骤之后终止
 D.以上三种描述都不对
     
2、下列关于栈的叙述正确的是(   )。
 A.在栈中只能插入数据
 B.在栈中只能删除数据
 C.栈是先进先出的线性表
 D.栈是先进后出的线性表
     
3、一棵二叉树中共有70个叶子结点与80个度为l的结点,则该二叉树中的总结点数为(   )。
 A.221
 B.219
 C.231
 D.229
     
4、下列叙述中正确的是(   )。
 A.线性链表中的各元素在存储空间中的位置必须是连续的
 B.线性链表中的表头元素一定存储在其他元素的前面
 C.线性链表中的各元素在存储空间中的位置不一定是连续的,但表头元素一定存储在其他元素的前面
 D.线性链表中的各元素在存储空间中的位置不一定是连续的,且各元素的存储顺序也是任意的
     
5、下面概念中,不属于面向对象方法的是(   )。
 A.对象
 B.继承
 C.类
 D.过程调用
     
6、在结构化方法中,用数据流程图(DFD).作为描述工具的软件开发阶段是(   )。
 A.~-行性分析
 B.需求分析
 C.详细设计
 D.程序编码
     
7、在软件开发中,下面任务不属于设计阶段的是(   )。
 A.数据结构设计
 B.给出系统模块结构
 C.定义模块算法
 D.定义需求并建立系统模型
     
8、下列关于关系运算的叙述中正确的是(   )。
 A.投影、选择、连接是从二维表的行的方向来进行运算
 B.并、交、差是从二维表的列的方向来进行运算
 C.投影、选择、连接是从二维表的列的方向来进行运算
 D.以上三种说法都不对
     
9、数据库设计包括两个方面的设计内容,它们是(   )。
 A.概念设计和逻辑设计
 B.模式设计和内模式设计
 C.内模式设计和物理设计
 D.结构特性设计和行为特性设计
     
10、下列模式中,能够给出数据库物理存储结构与物理存取方法的是(   )。
 A.内模式
 B.外模式
 C.概念模式
 D.逻辑模式
     
11、下列选项中不属于C语言的数据类型是(   )。
 A.复数型
 B.逻辑型
 C.双精度型
 D.集合型
     
12、以下合法的C语言赋值语句是(   )。
 A.a==58
 B.k=it(a-)
 C.a=58,=20
 D.++i
     
13、能正确表示逻辑关系a>=10或a<=0的C语言表达式是(   )。
 A.agt=10 or a=10
 B.agt=0alt=10
 C.agt=lOamamalt0
 D.agt=10alt=0
     
14、下列有关格式输入函数scanf的叙述中正确的是(   )。
 A.输入项可以是C语言中规定的任何变量,并且在任何变量前必须加地址符号am
 B.可以只有格式控制项,没有地址列表项
 C.在输入数据时,必须规定精度。如caf(%4.2f'',amd)
 D.当输入数据时,必须指明变量地址
     
15、   执行以下程序后,x的值为(   )。
   unsigned int x=65535;
   printf(%d ,x);
 A.65535
 B.1
 C.有错误
 D.-1
     
16、设有定义:float a=2,b=4,h=3;以下c语言表达式中与代数式1/2(a+[B].h计算结果不相符的是(   )。
 A.(a+)*h/2
 B.(1/2)*(a+)*h
 C.(a+)*h*1/2
 D.h/2*(a+)
     
17、   已知字母A的ASCII码为十进制的65,下面程序的输出结果是(   )。
   main(   )v
{ char chl,ch2;
   chl=''''A''''+''''5''''-''''3'''';
   ch2=''''A''''+''''6''''-''''3'''':
   printf(%d,%c ,chl,ch2);
   }
 A.67,D
 B.B,C
 C.C,D
 D.不确定的值
     
18、   以下程序的输出结果是(   )。
   main()
{   int x=11,y=11;
   printf(%d,%d ,x-,-y);
   }
 A.11,ll
 B.10,10
 C.10,11
 D.11,10
     
19、若变量已正确说明为float类型,要通过语句scanff''''''''%f%f%f'''',&a,&b,&c);给a赋予10.0,b赋予22.0,c赋予33.0,不正确的输入形式是(   )。
 A.10lt回车gt. 22lt回车gt
 B.10.0,22.0,33.0lt回车gt33lt回车gt
 C.10.0lt回车gt
 D.10 22lt回车gt22.0 33.Olt回车gt 33lt回车gt
     
20、以下正确的数组定义语句是(   )。
 A.ity[1][4]={l,2,3,4,5,}
 B.float x[3][]={{1),{2),{3}}
 C.log [2][3]={{1},f1,2}{1,2,3,}}
 D.doule t[][3]={0)
     
21、若X、a、b和c均是int型变量,则执行表达式x=(a=1,b=2)后X的结果为()。
 A.1
 B.2
 C.3
 D.不确定
     
22、   以下程序的输出结果是(   )。
   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(%d,P[i]);
   }
 A.5 2
 B.5 1
 C.5 3
 D.9 7
     
23、当a的值为0时,在下列选项中能正确将a的值赋给变量X、Y的是(   )。
 A.(x=[A].amam(y=a)
 B.x=a=y
 C.(y=[A].(x=a)
 D.a=x=y,
     
24、设有语句char a=''''72'''';则变量a( )。
 A.包含一个字符
 B.包含二个字符
 C.包含三个字符
 D.说明不合法
     
25、设char型变量X中的值为10100111,则表达式(2+x)∧(~3)的值是()。
 A.10101001
 B.10101000
 C.1111110l
 D.0101010l
     
26、   有以下程序:
   main( )
   {
   int i;
   for(i=0; i<3; i++)
   switch(i)
   {
   casel:printf(%d,i);
   case2:printf(%d,i);
   default:printf(%d,i);
   }
   }
   执行后输出结果是(   )。
 A.011122
 B.012
 C.012020
 D.120
     
27、   若有如下程序:
   main()  
   {int n=2;
   do
   {printf(%d,n--);}
   while(!(--n));
   }
   则程序运行后的输出结果是(   )。
 A.2
 B.11
 C.1
 D.20
     
28、   有以下程序:
   main()
{   int i=0,s=0;
   do{
   if(i%2)
   {
   i++;
   continue ;
      }
   i++;
   S+=i;
   }
   while(i<7);
   printf(%d ,S);
   }
   执行后输出结果是(   )。
 A.16
 B.12
 C.28
 D.21
     
29、   以下程序的输出结果为(   )。
   int a,b,C;
   a=10;
   b=50;
   c=30;
   if(a<b)a=b;
   b=c;
   c=a;
   printf(a=%d,b=%d,c=%d,a,b,c);
 A.a=50,=30,c=30
 B.a=10,=30,c=10
 C.a=50,=30,c=lO
 D.a=50,=30,c=50
     
30、若有说明:intn=2,*p:&n,*q=p;,则以下非法的赋值语句是(   )。
 A.=q
 B.*=*q
 C.=*q
 D.=
     
31、设有数组定义:char array[]=China;则数组army所占的空间为(   )个字节。
 A.4
 B.5
 C.6
 D.7
     
32、   下面程序的输出结果是(   )。
   func(int X)
f static int a=2;
   return(a+=x)}
   main()
   {int b=2,c=4,d;
   d=func(b);
   d=func(c);
   printf(%d ,d);
   }
 A.4
 B.6
 C.8
 D.12
     
33、   下列程序的运行结果是(   )。
   void fun(int*a,int*b)
   {
   int*k;
   k=a;a=b;b=k;
   }
   main()
   {
   int a=3,b=6,*x=&a,*y=&b;
   fun(x,y);
   printf(%d%d,a,b);
   }
 A.63
 B.36
 C.编译出错
 D.0 0
     
34、   有以下程序:
   int f(int n)
f   if   (n==1)   return 1;
   else return f(n-I)+1;
   }
   main(   )
{   int i,j=O;
   for(i=i;i<3;i++)J+=f(i);
   printf(%d ,j);
   }
   程序运行后的输出结果是(   )。
 A.4
 B.3
 C.2
 D.1
     
35、   下面程序的输出结果是(   )。
   void prty(int*X)
   {printf(%d ,++*X);}
   main(   )
   (int a=25;
   prty(&a);
   }
 A.23
 B.24
 C.25
 D.26
     
36、   下面程序的输出结果是(   )。
   #define SQR(X)2*X+1
   main( )
   {int a,b,C;
   a=3;b=2;c=1;
   a*=SQR(b+c)/SQR(b+c);
   printf(%d,a);
   }
 A.3
 B.18
 C.21
 D.24
     
37、   下面程序:
   void fdnc(int *a,int b[])
   {b[0]=*a+6;}
   main()
{   int a,b[5];
   a=0;b[0]=3;
   func(&a,b);
   printf(%d ,b[0]);
   }
   则程序运行后的输出结果是(   )。
 A.6
 B.7
 C.8
 D.9
     
38、   若有如下程序:
   void a(char *P,char c)
   {while(*p)
   {if(*p:=c) *p=c-''''b''''+''''B'''';   p++;   }
   }
   main()
f char S[50]=abcdeeffgee,b:''''e'''';
   a(s,b);printf(%s ,S);
   }
   则程序运行后的输出结果是(   )。
 A.Acdeeffgee
 B.ABCDeeFFGee
 C.acdEEffgEE
 D.ABCDEEFFGEE
     
39、   下面程序输出的结果是(   )。
   #include<stdio.h>
   main()
   {
   char *a=1234;
   fun(a);
   printf( );
   }
   fun(char *S)
   {
   char t;
   if(*S)
f t=*S++;fun(S);)
   else return;
   if(t!:'''''''')
   putchar(t);
   }
 A.1234
 B.4321
 C.1324
 D.4231
     
40、   有以下程序:
   #include<stdio.h>
   main( )
   {FILE *fp;int i=20,J=30,k,n;
   fp=fopen(d1.datW);
   fprintf(fp,%dkn,i); fprintf(fp,%d ,j);
   fclose(fp);
   fp=fopen(d1.dat,r);
   fp=fscanf(fp,%d%d,&k,&n);
   printf(%d%d ,k,n);
   fclose(fp);
   }
   程序运行后的输出结果是(   )。
 A.20 30
 B.20 50
 C.30 50
 D.30 20
     
41、   若有以下说明和语句:
   int C[4][5],(*p)[5];
   p=c;
   能够正确引用C数组元素的是()。
 A.+1
 B.*(+3)
 C.*(+1)+3
 D.*([0]+2)
     
42、若指针P已正确定义,要使P指向两个连续的整型动态存储单元,则正确的语句是(   )。
 A.=2*(it*)malloc(ixeof(it))
 B.=(it*)calloc(2*ixeof(it))
 C.=(it*)maUoc(2*izeotlit))
 D.=2*(it*)calloc(izeof(it))
     
43、   有以下程序:
   #include<stdio.h>
   main(   )
   {int C;
   while((c=getchar())!= '''')
   switch(c-''''2'''')
   {case 1:putchar(c+4);
   case 2:putchar(c+4);break;
   case 3:putchar(c+4);
   case 4:putchar(c+4);break;
   }
   printf( );
   }
   输入以下数据,<CR>代表一个回车符,
   2743<CR>
   程序的输出结果是(   )。
 A.877
 B.966
 C.778
 D.766
     
44、   若有如下程序:
   sub(int a,int b,int *Z)
   {*z=a+b;
   return;
   }
   main( )
   {int a=l,b=2,c=3,d,e;
   sub(a,b,&d);
   sub(C,d,&e);
   printf(%d,e);
   }
   则程序运行后的输出结果是(   )。
 A.3
 B.4
 C.5
 D.6
     
45、   若有如下程序:
   int S[3][3]={''''a'''',''''b'''',''''C'''',。d'''',''''e'''',''''f'''',''''g。,''''h'''',''''i''''),*t;
   main(   )
{ =(int*)malloc(Sizeof(int:));
   sub(t,S);
   printf(%c ,*t);
   }
   sub(int*P,int b[][3]);
   (*P=b[2][1];
   }
   则程序运行后的输出结果是(   )。
 A.d
 B.e
 C.h
 D.
     
46、   下列程序段的输出结果是(   )。
   char a=9,b=020;
   printf(%0 ,~a&b<<i);
 A.00100000
 B.8
 C.040
 D.077
     
47、   以下程序中函数f的功能是将n个字符串按由大到小的顺序进行排序:
   #include<string.h>
   void f(char P[][i0],int n)
   {char t[20]   int i,j ;
   for(i=0; i<n-1; i++)
   for(j=i+1;j<n;j++)
   if(strcmp(p[i],P[j])<O)
   {strcpy(t,P[i])strcpy(p[i],P[j]);strcpy(p[j],t);}
   }
   main()
   (char P[][10]={abc,aabdfg,abbd,dcdbe,cd}; int i;
   f(p,5);
   print:f(%d ,strlen(p[0]));
   }
   程序运行后的输出结果是(   )。
 A.6
 B.4
 C.5
 D.3
     
48、   以下程序的功能是(   )。
   #include<stdio.h>
   main( )
{ FILE*fpl;*fp2;
   fpl=fopen(filel,r);
   fp2=fopen(file2,w);
   while(!Feof(fp1))
   fputc(fgetc(fp1),fp2);
   fclose(fpl);fclose(fp2);
   }
 A.将磁盘文件的内容显示在屏幕上
 B.将两个磁盘文件合为一个
 C.将一个磁盘文件复制到另一个磁盘文件中
 D.将两个磁盘文件合并后送屏幕
     
49、C语言规定如果调用fputc函数输出成功,则返回值是(   )。
 A.1
 B.输出的字符
 C.0
 D.true
     
50、   在16位IBM.PC上使用C语言,如定义下列共用体类型变量:
   uniOn data
   {
   int i;
   char ch;
   float f;
   }a,b,c;
   则共用体变量a,b,c占用内存的字节数为(   )。
 A.1
 B.2
 C.4
 D.6

Tags:计算机二级模拟题 责任编辑:w48225117
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇2010计算机等级考试二级(JAVA)笔.. 下一篇2010计算机等级考试二级C语言笔试..

相关栏目

最新文章

推荐文章

网站客服QQ: 960335752 - 14613519 - 48225117