TOP

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

 

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

自评分 
     
2、数据的物理结构在计算机存储空间中的存放形式称为数据的 __2__   。

自评分 
     
3、若按功能划分,软件测试的方法通常分为   __3__   测试方法和黑盒测试方法。

自评分 
     
4、数据库三级模式体系结构的划分,有利于保持数据库的 ___4___   。

自评分 
     
5、在关系运算中,查找满足一定条件的元组的运算称之为   ___5___   。

自评分 
     
6、   在C语言中(以16位PC机为例),一个float型数据在内存中所占的字节数为4:一个double型数据在内存中所
   占的字节数为   ___6___   。

自评分 
     
7、   设有以下变量定义,并已赋确定的值,
   char w;int x;floaty;double Z;
   则表达式:w*x+z-y所求得的数据类型为上   ___7___   。

自评分 
     
8、   若运行时给变量x输入12,则以下程序的运行结果是   ___8___   ;
   main(){
   int x,y;
   scanf(%d,&x);
   y=x>12?x+10:x-12;
   printf(%d ,y);
   }

自评分 
     
9、四条语句:x++;、++x;、x=x+1;、x=1+x;,执行后都使变量x中的值增1,请写出一条同一功能的赋值语句(不得与列举的相同)   ___9___   。

自评分 
     
10、   设有以下定义和语句,则*(*(P+2)+1)的值为   ___10___   。
   int[3][2]={10,20,30,40,50,60},(*p)[2];
   p=a;

自评分 
     
11、   若要使指针p指向一个double类型的动态存储单元,请填空。
   p=   ___11___   malloc(sizeof(double));

自评分 
     
12、   下面程序的功能:输出100以内能被3整除且个位数为6的所有整数,请补充完整。
   main()
   {   int i,j;
   for(i=0;   __12___   ;i++)
   {   j=i*10+6;
   if( ___13___ )continue;
   printf(%d,j);
   } }

自评分 
     
13、   函数mycmp(char*s,char*t)的功能提比较字符串s和t的大小,当s等于t时返回0,当s>t返回正值,当s<t时返回负值。请填空。
   mycmp(char*s,char*t)
   { while(*s==*t)
   { if(*s=='''''''')return0;
   ++s;++t;
   }
   return(   ___14___   )
   }

自评分 
     
14、   以下程序运行后的输出结果是   ___15___   。
   void fun()
   {
      static int a=0;
      a+=2;
      printf(%d,a) ;
   }
      main()
   {   int cc;
      for(cc=1;cc<4,cc++)fun();
      printf( );
   }

自评分 
     
15、   下列程序的运行结果是 ___16___ 。
   main()
   { union EXAMPLE
   { struct
   { int x;int y;}in;
      int a;
      int b;
   } e:
      e.a=1;e.b=2;
      e.in.x=e.a*e.b;
      e.in.y=e.a+e.b;
      printf(%d,%d ,e.in.x,e.in.y);
   }

自评分 
     
16、在对文件进行操作的过程中,若要求文件的位置回到文件的开头,应当调用的函数是 ___17___ 函数。

自评分 
     
17、   以下函数用于求出一个2×4矩阵中的最大元素值。
   max_value(arr)
   int arr[][4];
   {
   int i,j,max;
   max=arr[O][0];
   for(i=0;i<2;i++)
   for(j=0;   ___18___   ;j++)
   if( ___19___   >max)max=   ___20___   ;
   return(max);
   }

自评分 
     
二、单选题:
每小题1分,共49分
1、下面叙述正确的是_______。
 A.算法的执行效率与数据的存储结构无关
 B.算法的空间复杂度是指算法程序中指令(或语句)的条数
 C.算法的有穷性是指算法必须能在执行有限个步骤之后终止
 D.算法的时间复杂度是指执行算法程序所需要的时间
     
2、以下数据结构属于非线性数据结构的是_______。
 A.队列
 B.线性表
 C.二叉树
 D.栈
     
3、在一棵二叉树上第8层的结点数最多是_______。
 A.8
 B.16
 C.128
 D.256
     
4、下面描述中,不符合结构化程序计风格的是_______。
 A.使用顺序、选择和重复(循环)三种基本控制结构表示程序的控制逻辑
 B.自顶向下
 C.注重提高程序的执行效率
 D.限制使用goto语句
     
5、以下概念中,不属于面向对象方法的是_______。
 A.对象、消息
 B.继承、多态
 C.类、封装
 D.过程调用
     
6、在结构化方法中,用数据流程图(DFD) 作为描述工具的软件开发阶段是_______。
 A.可行性分析
 B.需求分析
 C.详细设计
 D.程序编码
     
7、软件生命周期中所花费用最多的阶段是_______。
 A.详细设计
 B.软件编码
 C.软件测试
 D.软件维护
     
8、数据库系统的核心是_______。
 A.数据模型
 B.DBMS
 C.软件工具
 D.数据库
     
9、下列叙述中正确的是_______。
 A.数据处理是将信息转化为数据的过程
 B.数据库设计是指设计数据库管理系统
 C.如果一个关系中的属性或属性组并非该关系的关键字,但它是另一个关系的关键字,则称其为本关系的外关键字
 D.关系中的每列称为元组,一个元组就是一个字段
     
10、下列模式中,_______是用户模式。
 A.内模式
 B.外模式
 C.概念模式
 D.逻辑模式
     
11、C语言规定,程序中各函数之间_______。
 A.既允许直接递归调用也允许间接递归调用
 B.不允许直接递归调用也不允许间接递归调用
 C.允许直接递归调用不允许间接递归调用
 D.不允许直接递归调用允许间接递归调用
     
12、在使用程序流程图来表示算法时,菱形用来表示_______。
 A.输入与输出
 B.子程序
 C.判断分支
 D.循环边界
     
13、C语言中下列叙述正确的是_______。
 A.不能使用do...while语句构成的循环
 B.do...while语句构成的循环,必须用reak语句才能退出
 C.do...while语句构成的循环,当while语句中的表达式值为非零时结束循环
 D.do...while语句构成的循环,当while语句中的表达式值为零时结束循环
     
14、以下选项中属于C语言的数据类型是_______。
 A.复数型
 B.逻辑型
 C.双精度型
 D.集合型
     
15、在C语言中,不正确的int类型的常数是_______。
 A.32768
 B.0
 C.037
 D.0xAF
     
16、   以下程序输出的结果是_______。
   main()
   {
   int a=65535;
   printf(%d%u,a,a) ;
   }
 A.-1-1
 B.65535 65535
 C.-1 65535
 D.65535-1
     
17、下列描述中不正确的是_______。
 A.字符型数组中可以存放字符串
 B.可以对字符型数组进行整体输入、输出
 C.可以对整型数组进行整体输入、输出
 D.不能在赋值语句中通过赋值运算符“=”对字符型数组进行整体赋值
     
18、   以下程序的输出结果是_______。
   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
     
19、下列可用于C语言标识符的一组是_______。
 A.void WORD defie
 B.a 6$y For
 C.2a izeof ac
 D.It defie izeof
     
20、   以下程序的运行结果是_______。
   #include   stdio.h
   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(%d   %d ,*p,*q);
   }
 A.运行后报错
 B.6 6
 C.6 12
 D.5 5
     
21、以下说法中正确的是_______。
 A.C语言程序总是从第一个函数开始执行
 B.在C语言程序中,要调用函数必须在mai()函数中定义
 C.C语言程序总是从mai()函数开始执行
 D.C语言程序中的mai()函数必须放在程序的开始部分
     
22、   有如下程序
   float fun (int x,int y){return(x+y);}
   main()
   {
   int a=2,b=5,c=8;
   printf(%3.Of ,fun((int)fun(a+c,b) ,(a-c)))
   }
   程序运行后的输出结果为_______。
 A.编译出错
 B.9
 C.21
 D.9.0
     
23、能正确表示a和b同时为正或同时为负的逻辑表达式是_______。
 A.(agt=0gt=0)amam(alt0=0)
 B.(agt0amamgt=0)amam(alt0amamlt0)
 C.(a+gt0)amam(a+lt=0)
 D.a*gt0
     
24、若已定义:int a[9],*p=a;并在以后的语句中未改变p的值,不能表示a[1]地址的表达式是 _______。
 A.+1
 B.a+1
 C.a++
 D.++
     
25、   以下程序的输出结果是_______。
   main()
   { int a=-1,b=1,k;
   if(++a<0)&&!(b-<=0))
   printf(%d   %d ,a,b) ;
   else
   printf(%d   %d ,b,a) ;
   }
 A.-1 1
 B.0 1
 C.1 0
 D.0 0
     
26、   下面程序的输出结果是_______。
   #define P1(x)printf(x)
   main()
   {
   char d[]=p;
   P1(d) ;
   P1(d);
   }
 A.d
 B.dd
 C.d
 D.d
     
27、以下选项中,能定义s为合法的结构件变量的是_______。
 A.tyedef truct ac{ doule a;char [10]; };
 B.truct{ doule a;char [10]; }
 C.truct ABC{ doule a;char [10];}ABC;
 D.tyedef ABC{ doule a;char [10];}ABC;
     
28、   请读程序:
   #include<stdio.h>
   #include<string.h>
   main()
   {
   char*s1=AbCdEf,*s2=aB;
   s1++;s2++;
   printf(%d ,strcmp(s1,s2));
   }
   上面程序的输出结果是_______。
 A.正数
 B.负数
 C.零
 D.不确定的值
     
29、   请读程序:
   #include<stdio.h>
   main()
   {
   int a=5,b=7,c=9;
   pintf(%d,%d,a,b,c) ;
   printf(%d,%d,a,d) ;
   } 上面程序的输出结果是_______。
 A.5,7,9,5,7
 B.5,7,5,7
 C.5,7,不定7,9
 D.5,7,5,7,不定
     
30、   请读程序:
   #include<stdio.h>
   func(int a,int b) {
   int c;
   c=a+b;
   return c;
   }
   main(){
   int x=6,y=7,z=8,r,
   r=func((x-,y++,x+y),z-);
   printf(%d ,r);
   }
   上面程序的输出结果是_______。
 A.11
 B.20
 C.21
 D.31
     
31、   请读程序:
   #include<stdio.h>
   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;
   }
   printf(%d ,a) ;
   } 上面程序的输出结果是_______。
 A.7
 B.8
 C.9
 D.10
     
32、设变量x为float型且已经赋值,则以下语句中能够将x中的数值保留到小数点后面两位,并将第三位四舍五入的是_______。
 A.x=x*l00+0.5/100.0
 B.x=(x*100+O.5)/100
 C.x=(it)(x*100+0.5)/100.0
 D.x=(x/100+0.5)*100.0
     
33、   请读程序片段(字符串内没有空格字符):
   printf(%d ,strlen(ATS 0121\));上面程序片段的输出结果是_______。
 A.11
 B.10
 C.9
 D.8
     
34、   运行以下程序后,如果从键盘上输入china#<回车>,贝愉出结果为_______。
   #include<stdio.h>
   main()
   {
   int v1=0,v2=O;char ch;
   while((ch=getchar())!=''''#'''')
   switch(ch)
   {
   case''''a'''':
   case''''h'''':
   default:v1++;
   case''''O'''':v2++;
   }
   printf(%d,%d ,v1,v2);
   }
 A.2,0
 B.5,0
 C.5,5
 D.2,5
     
35、请选出司用作C语言用户标识符的一组标识符_______。
 A.void defie WORD
 B.a3 3 _123 IF
 C.For _ae cae
 D.2a DO izeof
     
36、下面能正确定义数组,并正确赋值的语句是_______。
 A.it N=5,[N][N]
 B.it a[1][2]={{1},{3}}
 C.it c[2][]={{1,2},{3,4}}
 D.it d[3][2]={{1,2},{34}}
     
37、   请选出以下程序的输出结果_______。
   #include<stdio.h>
   sub(int*s,inty)
   { static int t=3,
   y=s[t];t-;
   }
   main()
   { int a[]={1,2,3,4},i,x=0;
   for(i=0;i<4;i++){
   sub(a,x);printf(%d,x);}
   printf( );
   }
 A.1234
 B.4321
 C.0000
 D.4444
     
38、   假定下面程序可执行文件名prg.exe,则该程序所在的子目录下输入命令行:prg hello good<回车>后,
   程序的输出结果是_______。
   main(int argc,char*argv[])
   {
   int i;
   for(i=1;i<argc;i++)printf(%c,argv[i]);
   }
 A.hello good
 B.hg
 C.hel
 D.hellogood
     
39、   若有以下说明和语句,请选出哪个是对c数组元素的正确引用_______。
   int c[4][5],(*cp)[5];
   cp=c;
 A.c+1
 B.*(c+3)
 C.*(c+1)+3
 D.*(*c+2)
     
40、下列选项中不能正确定义结构体的是_______。
 A.tyedef truct {it red it gree it lue }COLOR COLORcl
 B.truct colorcl {itred itgree it lue }
 C.truct color {it red it gree it lue }cl
 D.truct { it red it gree it lue }cl
     
41、   设有以下语句
   char a=3,b=6,c;
   c=a^b<<2;
   则c的二进制值是_______。
 A.00011011
 B.00010100
 C.00011100
 D.00011000
     
42、   设有如下定义
   struct ss
   { char name [10];
   int age;
   char sex;
   }std[3],*p=std;
   下列各输入语句中错误的是_______。
 A.caf(%d,am(*).age);
 B.caf(%,amtd.ame);
 C.caf(%c,amtd[0].ex);
 D.caf(%c,am(-gtex));
     
43、   设有   static char str[]=Beijing;
   则执行
   printf(%d ,strlen(strcpy(str,China)));
   后的输出结果为_______。
 A.5
 B.7
 C.12
 D.14
     
44、   以下程序的输出结果是_______。
   #include<stdio.h>
   main()
   { int i;
      for(i=1;i<5;i++)
      {
      if(i%2)printf(*);
      else continue;
      printf(#);
      }
      printf($ );
   }
 A.*#*#*#$
 B.#*#*#*$
 C.*#*#$
 D.#*#*$
     
45、   库函数strcpy用以复制字符串,若有以下定义和语句:
   char str1[]=china,str2[10],*str3,*str4=china;
   则对库函数strcpy的正确的调用是_______。
 A.trcy(trl,eole);
 B.trcy(tr2,eole)
 C.trcy(tr3,eole);
 D.trcy(tr4,eole)
     
46、   有以下程序
   #include<stdio.h>
   main()
   { int c;
   while((c=getchar())!='''' '''')
      {   switch(c-''''2'''')
      {   case O:case1:putchar(c+4);
   case 2:putchar(c+4);braeak;
   case3:putchar(c+3);
   default:putchar(c+2);break;}
      }
   }
   从第一列开始输入以下数据,↓代表一个回车符。
   2473↓
   程序的输出结果是_______。
 A.668977
 B.668966
 C.66778777
 D.6688766
     
47、   下面程序的输出结果是_______。
   union un
   { int a[4];
   long b;
   char c[6];}
   main()
   {
   union un u;
   printf(%d%d,sizeof(u),sizeof(ua) );
   }
 A.82
 B.88
 C.188
 D.182
     
48、   以下程序的输出结果是_______。
   main()
   {   int w=5;fun(w);printf( );}
   fun(int k)
   {   if(k>0) fun(k-1);
   printf(%d,k);
   }
 A.5 4 3 2 1
 B.0 l 2 3 4 5
 C.1 2 3 4 5
 D.5 4 3 2 1 0
     
49、若fp是指向某文件的指针,且已读到此文件的末尾,则函数feof(fp)的返回值是_______。
 A.EOF
 B.0
 C.非零值
 D.NULL

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

相关栏目

最新文章

推荐文章

网站客服QQ: 960335752 - 14613519 - 48225117