2012年9月计算机等级考试二级C模拟试题(8)

日期:05-05| http://www.59wj.com |C模拟题|人气:980

2012年9月计算机等级考试二级C模拟试题(8)

 

一 、选择题
(1)循环链表的主要优点是
A)不再需要头指针了
B)从表中任一结点出发都能访问到整个链表
C)在进行插入、删除运算时,能更好的保证链表不断开
        D)已知某个结点的位置后,能够容易的找到它的直接前件
正确答案:  B

(2)栈底至栈顶依次存放元素A、B、C、D,在第五个元素E入栈前,栈中元素可以出栈,则出栈序列可能是
A)ABCED       B)DCBEA
C)DBCEA       D)CDABE
正确答案:  B

(3)n个顶点的强连通图的边数至少有
A)n-1        B)n(n-1)
C)n        D)n+1
正确答案:  C

(4)在结构化程序设计思想提出之前,在程序设计中曾强调程序的效率,现在,与程序的效率相比,人们更重视程序的
A)安全性      B)一致性
C)可理解性      D)合理性
正确答案:  C

(5)模块独立性是软件模块化所提出的要求,衡量模块独立性的度量标准则是模块的
A)抽象和信息隐蔽     B)局部化和封装化
C)内聚性和耦合性     D)激活机制和控制方法
正确答案:  C

(6)软件开发的结构化生命周期方法将软件生命周期划分成
A)定义、开发、运行维护
B)设计阶段、编程阶段、测试阶段
C)总体设计、详细设计、编程调试
D)需求分析、功能定义、系统设计
正确答案:  A

(7)在软件工程中,白箱测试法可用于测试程序的内部结构。此方法将程序看做是
A)路径的集合      B)循环的集合
C)目标的集合      D)地址的集合
正确答案:  A

(8)在数据管理技术发展过程中,文件系统与数据库系统的主要区别是数据库系统具有
A)特定的数据模型     B)数据无冗余
C)数据可共享      D)专门的数据管理软件
正确答案:  A

(9)数据库设计包括两个方面的设计内容,它们是
A)概念设计和逻辑设计
B)模式设计和内模式设计
C)内模式设计和物理设计
D)结构特性设计和行为特性设计
正确答案:  A

(10)实体是信息世界中广泛使用的一个术语,它用于表示
A)有生命的事物     B)无生命的事物
C)实际存在的事物    D)一切事物
正确答案:  C

希望与更多计算机等级考试的网友交流,

.

www.59wj.com

 

(11)以下说法错误的是
A)一个算法应包含有限个步骤
B)在计算机上实现的算法是用来处理数据对象的
C)算法中指定的操作,不能通过已经实现的基本运算执行有限次后实现
D)算法的目的是为了求解
正确答案:  C

(12)下列选项中不是结构化程序基本结构的是
A)顺序结构 
B)跳转分支结构
C)选择结构
D)循环结构
正确答案:  B

(13)已知int k,m=1;执行语句k=-m++;后,k的值是
A)-1
B)0
C)1
D)2
正确答案:  A

(14)已知int m;float k;正确的语句是
A)(int k)%m
B)int(k)%m
C)int(k%m)
D)(int)k%m
正确答案:  D

(15)下面各选项中,均是C语言标识符的选项组是
A)33   we   auto
B)_23  me   _3ew
C)_43  3e_   else
D)ER   -DF  32
正确答案:  B

(16)已知int k;float m=-3;执行语句k=m%2;后,变量k的值是
A)-1
B)0
C)1
D)语句有错误
正确答案:  D

(17)不能进行++和--运算的数据类型为
A)指针
B)整型
C)长整型
D)常量
正确答案:  D

(18)已知int k=10,m=3,n;则下列语句输出结果是
printf("%d\n",n=(k%m,k/m));
A)2
B)3
C)4
D)5
正确答案:  B

(19)已知int a;float b;所用的scanf调用语句格式为:
scanf("a//%d,b=%f",&a,&b);
为了将数据3和25.08分别赋给x和y,正确的输入应当是
A)3,25.08<Enter>
B)a=3,b=25.08<Enter>
C)a//3,b=25.08<Enter>
D)a//3<Enter>b=25.08<Enter>
正确答案:  C

(20)当k的值不为0时,在下列选项中能够将k的值赋给变量m,n的是
A)m=k=n
B)(m=k)&&(n=k)
C)(m=k)||(n=k)
D)(k=m)&&(n=k)
正确答案:  B

希望与更多计算机等级考试的网友交流,

.

www.59wj.com

(21)下列程序的运行结果是
#include "stdio.h"
main()
{ int x=-9,y=5,z=8;
if(x<y)
if(y<0)z=0; 
else z+=1;
printf("%d\n",z);}
A)6
B)7
C)8
D)9
正确答案:  D

(22)现有定义int k=1;则执行语句while(++k<4);后,k的值为
A)4
B)5
C)6
D)8
正确答案:  A

(23)以下程序的运行结果为
#include "stdio.h"
main()
{int m,n;
for(m=0,n=10;m<n;m+=3,n--);
printf("%d,%d\n",m,n);}
A)6,7
B)7,6
C)9,7
D)7,9
正确答案:  C

(24)阅读下列程序,程序的输出结果是
#include "stdio.h"
main()
{
  int m,n;
  float k;
for(m=6;m>2;m--)
 { k=0;
for(n=m;n>1;n--)
k=k+m*n;
 }
printf("%f\n",k);
}
A)5.000000
B)15.000000
C)25.000000
D)35.000000
正确答案:  B

(25)下列程序的输出结果是
#include "stdio.h"
main()
{int i,a=0,b=0;
for(i=1;i<10;i++)
{if(i%2==0)
{a++;
continue;}
b++;}
printf("a=%d,b=%d",a,b);}
A)a=4,b=4
B)a=4,b=5
C)a=5,b=4
D)a=5,b=5
正确答案:  B

(26)下列选项可以正确表示字符型常量的是
A)′\r′
B)"a"
C)"\897"
D)296
正确答案:  A

(27)下面对C语言的描述中,正确的是
A)函数一定有返回值,否则无法使用函数
B)C语言函数既可以嵌套定义又可以递归调用
C)在C语言中,调用函数时,只能将实参的值传递给形参
D)C语言程序中有调用关系的所有函数都必须放在同一源程序文件中
正确答案:  C

(28)阅读下面程序段,则执行后的结果为
#include "stdio.h"
main()
{int m=4,n=2,k;
k=fun(m,n);
printf("%d\n",k);}
fun(int m,int n)
{return(m*m*m-n*n*n);}
A)64
B)8
C)56
D)0
正确答案:  C

(29)阅读下面程序段,则执行后输出的结果是
#include "stdio.h"
main()
{ char fun(char,int);
 char a=′A′;
 int b=13;
 a=fun(a,b);
 putchar(a);}
char fun(char a,int b)
{char k;
 k=a+b;
 return k;}
A)A
B)M
C)N
D)L
正确答案:  C

(30)编写求两个双精度数之和的函数,选项中正确的是
A)double  add(double a,double b)
{double s;
 s=a+b;
 return s; }
B)double  add(double a,b)
{double s;
 s=a+b;
 return (s);}
C)double  add(double a double b)
{double s;
s=a+b;
returns;}
D)double  add(a,b)
  {double a,b,s;
s=a+b;
return (s);}
正确答案:  A www.59wj.com

(31)已知int a;则下面的说明指针变量p的语句正确的是
A)int p=&a
B)int *p=a
C)int *p=&a
D)int *p=*a
正确答案:  C

(32)已知char **t;则变量t是
A)指向char变量的指针
B)指向指针的char变量
C)指向指针的指针
D)以上说法都不对
正确答案:  C

(33)阅读下面程序,执行后的结果为
#include "stdio.h"
void fun(int *a,int *b)
{ int k;
 k=5;
 *a=k;
 *b=*a+k;}
main()
{ int *a,*b,x=10,y=15;
a=&x;
b=&y;
fun(a,b);
printf("%d,%d\n",*a,*b);}
A)10,15
B)5,15
C)5,10
D)15,10
正确答案:  C

(34)阅读下面程序,在程序执行后的结果为
#include "stdio.h"
int *fun(int *a,int *b)
{ int m;
m=*a;
m+=*b-3;
return(&m);}
main()
{int x=21,y=35,*a=&x,*b=&y;
int *k;
k=fun(a,b);
printf("%d\n",*k);}
A)53
B)21
C)35
D)14
正确答案:  A

(35)已知int a[10];则对a数组元素的正确引用是
A)a[10]
B)a
C)a+5
D)a[10-10]
正确答案:  D

(36)在C语言中,一维数组的定义方法为
类型说明符 数组名
A)[常量表达式]
B)[整型常量]
C)[整型变量]
D)[整型常量]或[整型表达式]
正确答案:  A

(37)阅读下列程序,则运行结果为
#include "stdio.h"
fun()
{ static  int x=5;
 x++;
 return x;}
main()
{  int i,x;
 for(i=0;i<3;i++)
 x=fun();
 printf("%d\n",x);}
A)5
B)6
C)7
D)8
正确答案:  D

(38)下列程序的输出结果是
#include "stdio.h"
#defineM(x,y)x%y
main()
{  int a,m=12,n=100;
a=M(n,m);
printf("%d\n",a--);}
A)2
B)3
C)4
D)5
正确答案:  C

(39)阅读下面程序,则程序段的功能是
#include "stdio.h"
main()
{  int c[]={23,1,56,234,7,0,34},i,j,t;
for(i=1;i<7;i++)
{  t=c[i];j=i-1;
while(j>=0 && t>c[j])
{c[j+1]=c[j];j--;}
c[j+1]=t;}
for(i=0;i<7;i++)
printf("%d ",c[i]);
putchar(′\n′);}
A)对数组元素的升序排列
B)对数组元素的降序排列
C)对数组元素的倒序排列
D)对数组元素的随机排列
正确答案:  B

(40)阅读下列程序,则执行后的结果为
#include "stdio.h"
main()
{ int c[][4]={1,2,3,4,5,6,7,34,213,56,62,3,23,12,34,56};
printf("%x,%x\n",c[2][2],*(*(c+1)+1));}
A)3e,6
B)62,5
C)56,5
D)3E,6
正确答案:  A www.59wj.com

(41)下列选项中错误的说明语句是
A)char a[]={′t′,′o′,′y′,′o′,′u′,′\0′};
B)char a[]={"toyou\0"};
C)char a[]="toyou\0";
D)char a[]=′toyou\0′;
正确答案:  D

(42)下述对C语言字符数组的描述中错误的是
A)字符数组的下标从0开始
B)字符数组中的字符串可以进行整体输入/输出
C)可以在赋值语句中通过赋值运算符"="对字符数组整体赋值
D)字符数组可以存放字符串
正确答案:  C

(43)阅读下列程序,则在执行后,程序的运行结果为
#include "stdio.h"
#include "string.h"
main()
{char a[30]="nice to meet you!";
strcpy(a+strlen(a)/2,"you");
printf("%s\n",a);}
A)nice to meet you you
B)nice to
C)meet you you
D)nice to you
正确答案:  D

(44)阅读下面程序,则执行后的结果是
#include "stdio.h"
main()
{char str[]="tomeetme",*p;
for(p=str;p<str+7;p+=2)putchar(*p);
printf("\n");}
A)tomeetme
B)tmem
C)oete
D)tome
正确答案:  B

(45)下面程序的文件名为t.exe,在DOS下输入的命令行参数如下:t to meet me<回车>
则程序输出的结果是
#include "stdio.h"
main(argc,argv)
int argc;char *argv[];
{int i;
printf("%d\n",argc);}
A)3
B)4
C)2
D)以上答案都不正确
正确答案:  B

(46)阅读下面程序,则执行后的结果为
#include "stdio.h"
long fun(int n)
{if(n>2)
return(fun(n-1)+fun(n-2));
else return(2);}
main()
{printf("%ld\n",fun(5));}
A)10
B)15
C)20
D)以上3个答案都不正确
正确答案:  A

(47)已知如下定义,则sizeof(a)的值是
struct{int i;
char c;
double a; } a;
A)8
B)9
C)10
D)11
正确答案:  D

(48)已知函数的原形如下,其中结构体a为已经定义过的结构,且有下列变量定义
struct a *f(int t1,int *t2,strcut a t3,struct a *t4)
struct a p,*p1;int i;
则正确的函数调用语句为
A)&p=f(10,&i,p,p1);
B)p1=f(i++,(int *)p1,p,&p);
C)p=f(i+1,&(i+2),*p,p);
D)f(i+1,&i,p,p);
正确答案:  B

(49)下面程序段的输出为
#include "stdio.h"
main()
{ printf("%d\n",12<<2);}
A)0
B)47
C)48
D)24
正确答案:  C

(50)假定当前盘符下有两个文本文件,如下
文件名  a1.txt   a2.txt
内容    123#    321#
则下面程序段执行后的结果为
#include "stdio.h"
void fc(FILE *p)
{  char c;
 while((c=fgetc(p))!=′#′)putchar(c);}
main()
{  FILE *fp;
fp=fopen("a1.txt","r");
fc(fp);
fclose(fp);
fp=fopen("a2.txt","r");
fc(fp);
fclose(fp);
putchar(′\n′);}
A)123321
B)123
C)321
D)以上答案都不正确
正确答案:  A www.59wj.com
二 、填空题
(1)常用的黑箱测试有等价分类法、 【1】 、因果图法和错误推测法4种。
正确答案:  1.(边值分析法)

(2)测试的目的是暴露错误,评价程序的可靠性;而 【2】 的目的是发现错误的位置并改正错误。
正确答案:  1.(调试)

(3)软件维护活动包括以下几类:改正性维护、适应性维护、 【3】 维护和预防性维护。
正确答案:  1.(完善性)

(4)在面向对象的设计中,用来请求对象执行某一处理或回答某些信息的要求称为【4】 。
正确答案:  1.(消息)

(5)关键字ASC和DESC分别表示 【5】 的含义。
正确答案:  1.(升序排列和降序排列)

(6)定义int a=5,b;,则执行表达式b=++a*--a之后,变量b的值为 【6】 。
正确答案:  1.(25)

(7)以下程序的输出结果是 【7】 。
#include "stdio.h"
main()
{int a=065;
 printf("%d\n",--a);
}
正确答案:  1.(52)

(8)阅读下面程序,则执行后的输出结果是 【8】 。
#include "stdio.h"
main()
{int x,y,z;
x=1;y=2;z=3;
if(x>y)if(x>z)printf("%d",x);
else printf("%d",y);
printf("%d\n",z);
}
正确答案:  1.(3)

(9)如下语句printf("%c\n",′B′+40);在执行后的输出结果是 【9】 。
正确答案:  1.(j) www.59wj.com

(10)阅读下面程序,则程序的执行结果为 【10】 。
#include "stdio.h"
main()
{int a=30,b=20,z;
z=fun(a+b,a-b);
printf("%d\n",z);
}
fun(int a,int b)
{int z;
z=a/b;
return z;
}
正确答案:  1.(5)

(11)下面的程序实现的是指针p所指向的地址的n个数中,求出最大的和最小的数据,请填空。
fun(int *p,int n)
{int *q;
 int max,min;
 max=min=*p;
 for(q=p; 【11】 ;q++)
 if( 【12】 )max=*q;
 else if( 【13】 )min=*q;
}
正确答案:  1.(q<p+n) 2.(*q>max) 3.(*q<min)

(12)下面的函数fun的功能是将形参x的值转换成二进制数,所得二进制数的每一位放在一维数组中返回,二进制的最低位放在下标为0的元素中,其他依次类推,请填空。
 fun(int x,int b[])
{ int k=0,r;
do{
 r=x% 【14】 ;
 b[ 【15】 ]=r;
 x/= 【16】 ;
}while(x);
}
正确答案:  1.(2) 2.(k++) 3.(2)

(13)下面函数的功能是将一个字符串的内容颠倒过来,请填空。
void fun(char str[])
{int i,j, 【17】 ;
 for(i=0,j= 【18】 ;i<j;i++,j--)
 { k=str[i];
str[i]=str[j];
str[j]=k;
}
}
正确答案:  1.(k) 2.(strlen(str)-1)

(14)阅读下面程序,则程序的执行结果为【19】。
#include "stdio.h"
fun(int k,int *p)
{ int a,b;
if(k==1||k==2)
   *p=1;
else{  fun(k-1,&a);
fun(k-2,&b);
*p=a+b;
 }
}
main()
{  int x;
   fun(6,&x);
   printf("%d\n",x);
}
正确答案:  1.(8)

(15)阅读下列程序,则程序的输出结果为【20】。
#include "stdio.h"
struct ty
{int data;
 char c;
};
main()
{  struct ty a={30,′x′};
 fun(a);
 printf("%d%c",a.data,a.c);
}
fun(struct ty b)
{ b.data=20;
b.c=′y′;
}
正确答案:  1.(30x)

希望与更多计算机等级考试的网友交流,

.

www.59wj.com 如果觉得《2012年9月计算机等级考试二级C模拟试题(8)》C模拟题,jsj不错,可以推荐给好友哦。
本文Tags: 计算机等级考试 - 模拟试题 - 计算机二级模拟试题 - C模拟题,jsj,
在百度中搜索相关文章:2012年9月计算机等级考试二级C模拟试题(8)
在谷歌中搜索相关文章:2012年9月计算机等级考试二级C模拟试题(8)
在soso中搜索相关文章:2012年9月计算机等级考试二级C模拟试题(8)
在搜狗中搜索相关文章:2012年9月计算机等级考试二级C模拟试题(8)
相关分类导航|
热门推荐|