计算机等级考试二级C语言模拟试题(6)

日期:12-29| http://www.59wj.com |C模拟题|人气:645

计算机等级考试二级C语言模拟试题(6)

一、选择题(每题2分,共计70分)
1.假设线性表的长度为n,则在最坏情况下,冒泡排序需要的比较次数为
A)log2n
B)n2
C)O(n1.5)
D)n(n-1)/2
 
2.算法分析的目的是
A)找出数据结构的合理性
B)找出算法中输入和输出之间的关系
C)分析算法的易懂性和可靠性
D)分析算法的效率以求改进
 
3.线性表L=(a1,a2,a3,…ai,…an),下列说法正确的是
A)每个元素都有一个直接前件和直接后件
B)线性表中至少要有一个元素
C)表中诸元素的排列顺序必须是由小到大或由大到小
D)除第一个元素和最后一个元素外,其余每个元素都有一个且只有一个直接前件和直接后件
 
4.在单链表中,增加头结点的目的是
A)方便运算的实现
B)使单链表至少有一个结点
C)标识表结点中首结点的位置
D)说明单链表是线性表的链式存储实现 mda.com 
 
5.软件工程的出现是由于
A)程序设计方法学的影响
B)软件产业化的需要
C)软件危机的出现
D)计算机的发展
 
A   B   C   D 
6.软件开发离不开系统环境资源的支持,其中必要的测试数据属于
A)硬件资源
B)通信资源
C)支持软件
D)辅助资源
 
7.在数据流图(DFD)中,带有名字的箭头表示
A)模块之间的调用关系
B)程序的组成成分
C)控制程序的执行顺序
D)数据的流向
 
8.分布式数据库系统不具有的特点是
A)数据分布性和逻辑整体性
B)位置透明性和复制透明性
C)分布性
D)数据冗余
 
9.关系表中的每一横行称为一个
A)元组
B)字段
C)属性
D)码
 
10.下列数据模型中,具有坚实理论基础的是
A)层次模型
B)网状模型
C)关系模型
D)以上3个都是

www.59wj.com

11.以下叙述不正确的是
A)一个C源程序可由一个或多个函数组成
B)一个C源程序必须包含一个main函数
C)C程序的基本组成单位是函数
D)在C程序中,注释说明只能位于一条语句的后面
 
12.在C语言中,int,char和short三种类型数据在内存中所占用的字节数
A)由用户自己定义
B)均为2个字节
C)是任意的
D)由所用机器的机器字长决定
 
13.以下叙述正确的是
A)在C程序中,每行中只能写一条语句
B)若a是实型变量,C程序中允许赋值a=10,因此实型变量中允许存放整型数
C)在C程序中,无论是整数还是实数,都能被准确无误地表示
D)在C程序中,%是只能用于整数运算的运算符
 
14.C语言中的标识符只能由字母,数字和下划线三种字符组成,且第一个字符
A)必须为字母
B)必须为下划线
C)必须为字母或下划线
D)可以是字母,数字和下划线中任一字符
 
15.已知各变量的类型说明如下:
int k,a,b;
unsigned long w=5;
double x=1.42;
则以下不符合C语言语法的表达式是
A)x%(-3)
B)w+=-2
C)k=(a=2,b=3,a+b)
D)a+=a-=(b=4)*(a=3) 
A   B   C   D
16.x,y,z被定义为int型变量,若从键盘给x,y,z输入数据,正确的输入语句是
A)INPUT x,y,z;
B)scanf("%d%d%d",&x,&y,&z);
C)scanf("%d%d%d",x,y,z);
D)read("%d%d%d",&x,&y,&z);
 
17.设x,y均为整型变量,且x=10 y=3,则以下语句的输出结果是
printf("%d,%d\n",x--,--y);
A)10,3
B)9,3
C)9,2
D)10,2
 
18.以下程序的输出结果是
main()
{ int a=4,b=5,c=0,d;
d=!a&&!b||!c;
printf("%d\n",d);
}
A)1
B)0
C)非0的数
D)-1
 
19.执行下列程序时输入123<空格>456<空格>789<回车> 输出结果是
main()
{ char s[100]; int c, i;
scanf("%c",&c); scanf("%d",&i); scanf("%s",s);
printf("%c,%d,%s\n",c,i,s);
}
A)123,456,789
B)1,456,789
C)1,23,456,789
D)1,23,456
 
20.下面有关for循环的正确描述是
A)for循环只能用于循环次数已经确定的情况
B)for循环是先执行循环体语句,后判断表达式
C)在for循环中,不能用break语句跳出循环体
D)for循环的循环体语句中,可以包含多条语句,但必须用花括号括起来

www.59wj.com

21.以下程序的输出结果是
main()
{ int i,j,x=0;
for(i=0;i<2;i++)
{ x++;
for(j=0;j<3;j++)
{ if(j%2)continue;
x++;
}
x++;
}
printf("x=%d\n",x);
}
A)x=4
B)x=8
C)x=6
D)x=12
 
22.设有以下程序段
int x=0,s=0;
while(!x!=0)s+=++x;
printf("%d",s);

A)运行程序段后输出0
B)运行程序段后输出1
C)程序段中的控制表达式是非法的
D)程序段执行无限次 mda.com 
 
23.若有以下定义,则能使值为3的表达式是
int k=7,x=12;
A)x%=(k%=5)
B)x%=(k-k%5)
C)x%=k-k%5
D)(x%=k)-(k%=5)
 
24.以下描述中正确的是
A)由于do-while循环中循环体语句只能是一条可执行语句,所以循环体内不能使用复合语句
B)do-while循环由do开始,用while结束,在while(表达式)后面不能写分号
C)在do-while循环体中,是先执行一次循环,再进行判断
D)do-while循环中,根据情况可以省略while
 
25.以下叙述正确的是
A)函数可以嵌套定义但不能嵌套调用
B)函数既可以嵌套调用也可以嵌套定义
C)函数既不可以嵌套定义也不可以嵌套调用
D)函数可以嵌套调用但不可以嵌套定义

www.59wj.com

26.以下程序的运行结果是
sub(int x,int y,int *z)
{*z=y-x;}
main()
{ int a,b,c;
sub(10,5,&a);
sub(7,a,&b);
sub(a,b,&c);
printf("M,M,M\n",a,b,c);
}
A)5,2,3
B)-5,-12,-7
C)-5,-12,-17
D)5,-2,-7
 
27.下列说法正确的是
int i,x;
for(i=0,x=0;i<=9 &&x!=876;i++)scanf("%d",x);
A)最多的执行10次
B)最多执行9次
C)是无限循环
D)循环体一次也不执行
 
28.对下面程序描述正确的一项是 (每行程序前面的数字表示行号)
① main()
② {
③ float a[3]={0.0};
④ int i;
⑤ for(i=0;i<3;i++)scanf("%d",&a[i]);
⑥ for(i=1;i<3;i++)a[0]=a[0]+a[i];
⑦ printf("%f\n",a[0]);
⑧ }
A)没有错误
B)第3行有错误
C)第5行有错误
D)第7行有错误
 
29.下面程序的输出结果为
main()
{ int a,b;b=(a=3*5,a*4,a*5);
printf("%d",b);
}
A)60
B)75
C)65
D)无确定值
 
30.下面程序的输出结果是
struct st
{ int x;
int *y;
} *p;
int dt[4]={10,20,30,40};
struct st aa[4]={50,&dt[0],60,&dt[1],70,&dt[2],80,&dt[3]};
main()
{ p=aa;
printf("%d\n",++p->x);
printf("%d\n",(++p)->x);
printf("%d\n",++(*p->y));
}
A)10 20 20
B)50 60 21
C)51 60 21
D)60 70 31
31.下面程序的输出结果是
#include
#include
main()
{ char *p1="abc",*p2="ABC",str[50]= "xyz";
strcpy(str+2,strcat(p1,p2));
printf("%s\n",str);}
A)xyzabcABC
B)zabcABC
C)xyabcABC
D)yzabcABC
 
32.以下程序的输出结果是
long fun( int n)
{ long s;
if(n==1||n==2)s=2;
else s=n-fun(n-1);
return s;}
main()
{ printf("%ld\n", fun(3)); }
A)1
B)2
C)3
D)4
 
33.有如下程序
main()
{ char ch[2][5]={"6937","8254"},*p[2];
int i,j,s=0;
for(i=0;i<2;i++)p[i]=ch[i];
for(i=0;i<2;i++)
for(j=0;p[i][j]>′\0′;j+=2)
s=10*s+p[i][j]-′0′;
printf("%d\n",s);}
该程序的输出结果是
A)69825
B)63825
C)6385
D)693825
 
34.以下程序的输出结果是
union myun
{ struct
{ int x, y, z; } u;
int k;
} a;
main()
{ a.u.x=4; a.u.y=5; a.u.z=6;
a.k=0;
printf("%d\n",a.u.x);}
A)4
B)5
C)6
D)0
 
35.下面的程序执行后,文件test中的内容是
#include
void fun(char *fname,char *st)
{ FILE *myf; int i;
myf=fopen(fname,"w" );
for(i=0;ifclose(myf);
}
main()
{ fun("test","new world"); fun("test","hello,");}
A)hello,
B)new worldhello,
C)new world
D)hello, rld

www.59wj.com

二、填空题(每空2分,共计30分)
1.在算法正确的前提下,评价一个算法的两个标准是 【1】 。
2.将代数式 Z=√(x2+y2)÷a+b 转换成程序设计中的表达式为 【2】 。 
输入答案,中间不含空格:  
3.软件危机出现于60年代末,为了解决软件危机,人们提出了 【3】 的原理来设计软件,这就是软件工程诞生的基础。
4. 【4】 是数据库设计的核心。 
输入答案,中间不含空格:  
5.在关系模型中,把数据看成一个二维表,每一个二维表称为一个 【5】 。
6.以下程序段的输出结果是 【6】 。
int x=17,y=26;
printf ("%d",y/=(x%=6));
7.下面程序的输出结果 【7】 。
main ()
{ enum team {y1=4,y2,y3};
printf ("%d",y3);} 
输入答案,中间不含空格:  
8.若有以下程序段:
int c1=1,c2=2,c3;
c3=1.0/c2*c1;
则执行后,c3中的值是 【8】 。 mda.com
9.若有以下定义:
char a;int b;
float c; double d;
则表达式a*b+d-c值的类型为 【9】 。 
输入答案,中间不含空格:  
10.以下函数用来在w数组中插入x。n所指向的存储单元中存放w数组中字符个数。数组w中的字符已按从小到大的顺序排列,插入后数组w中的字符仍有序。请填空。
void fun(char *w, char x, int *n)
{ int i, p;
p=0;
w[*n]= x;
while(x > w[p])p++;
for(i=*n; i>p; i--)w[i]= 【10】 ;
w[p]=x;
++*n;
}

www.59wj.com

11.以下程序的输出结果是 【11】 。
main()
{ int x=100, a=10, b=20, ok1=5, ok2=0;
if(a else if(ok2)x=10;
else x=-1;
printf("%d\n", x);
}
12.以下程序的输出结果是 【12】 。
main()
{ int y=9;
for(; y>0; y--)
if (y%3==0)
{ printf("%d", --y); continue;}
}
13.以下函数的功能是 【13】 。
float av(a, n)
float a[];
int n;
{ int i; float s;
for(i=0, s=0; i return s/n;
}
14.以下程序的输出结果是 【14】 。
#define PR(ar)printf("%d,",ar)
main()
{ int j, a[]={1, 3, 5, 7, 9, 11, 15}, *p=a+5;
for(j=3; j; j--)
switch(j)
{ case 1:
case 2: PR(*p++); break;
case 3:PR(*(--p));
}
printf("\n");
}
15.以下程序的功能是处理由学号和成绩组成的学生记录,N名学生的数据已在主函数中放入结构体数组s中,它的功能是把分数最高的学生数据放在h所指的数组中,注意:分数高的学生可能不只一个,函数返回分数最高学生的人数。请填空。
#include
#define N 16
typedef struct
{ char num[10];
int s ;
} STREC;
int fun (STREC *a, STREC *b)
{ int i,j=0,max=a[0].s;
for(i=0;i if(max for(i=0;i if( 【15】 )b[j++]=a[i];
return j;
}
main ()
{ STREC s[N]={{ "GA005",85},{"GA003",76},{"GA002",69},{"GA004",85},
{"GA001",91},{"GA007",72},{"GA008",64},{"GA006",87},
{"GA015",85},{"GA013",91},{"GA012",64},{"GA014",91},
{"GA011",66},{"GA017",64},{"GA018",64},{"GA016",72}
};
STREC h[N];
int i, n;FILE *out;
n=fun(s,h);
printf("The %d highest score :\n",n);
for (i=0; i printf("%s M\n ",h[i].num,h[i].s);
printf("\n");
out=fopen("out15.dat", "w");
fprintf(out, "%d\n",n);
for(i=0; i fprintf(out, "M\n ",h[i].s);
fclose(out);
}

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