二级C语言真题.docx
- 文档编号:4960322
- 上传时间:2022-12-12
- 格式:DOCX
- 页数:14
- 大小:26.27KB
二级C语言真题.docx
《二级C语言真题.docx》由会员分享,可在线阅读,更多相关《二级C语言真题.docx(14页珍藏版)》请在冰豆网上搜索。
二级C语言真题
二级C语言真题2012年03月
一、单选题
1、下列叙述中正确的是()。
A)循环队列是队列的一种顺序存储结构B)循环队列是队列的一种链式存储结构
C)循环队列是非线性结构D)循环队列是一种逻辑结构
2、下列叙述中正确的是()。
A)栈是一种先进先出的线性表B)队列是一种后进先出的线性表
C)栈与队列都是非线性结构D)以上三种说法都不对
3、一棵二叉树共有25个结点,其中5个是叶子结点,则度为1的结点数为()。
A)4B)6C)10D)16
4、在下列模式中,能够给出数据库物理存储结构与物理存取方法的是()。
A)内模式B)外模式
C)概念模式D)逻辑模式
5、在满足实体完整性约束的条件下()。
A)一个关系中可以没有候选关键字B)一个关系中只能有一个候选关键字
C)一个关系中必须有多个候选关键字D)一个关系中应该有一个或多个候选关键字
6、有三个关系R、S和T如下:
则由关系R和S得到关系T的操作是()。
A)自然连接B)并C)差D)交
7、软件生命周期中的活动不包括()。
A)软件维护B)市场调研
C)软件测试D)需求分析
8、下面不属于需求分析阶段任务的是()。
A)确定软件系统的功能需求B)确定软件系统的性能需求
C)制定软件集成测试计划D)需求规格说明书评审
9、在黑盒测试方法中,设计测试用例的主要根据是()。
A)程序外部功能B)程序内部逻辑
C)程序数据结构D)程序流程图
10、在软件设计中不使用的工具是()。
A)系统结构图B)程序流程图
C)PAD图D)数据流图(DFD图)
11、针对简单程序设计,以下叙述的实施步骤顺序正确的是()。
A)确定算法和数据结构、编码、调试、整理文档
B)编码、确定算法和数据结构、调试、整理文档
C)整理文档、确定算法和数据结构、编码、调试
D)确定算法和数据结构、调试、编码、整理文档
12、关于C语言中数的表示,以下叙述中正确的是()。
A)只有整型数在允许范围内能精确无误的表示,实型数会有误差
B)只要在允许范围内整型数和实型数都能精确的表示
C)只有实型数在允许范围内能精确无误的表示,整型数会有误差
D)只有用八进制表示的数才不会有误差
13、以下关于算法的叙述中错误的是()。
A)算法可以用伪代码、流程图等多种形式来描述
B)一个正确的算法必须有输入
C)一个正确的算法必须有输出
D)用流程图描述的算法可以用任何一种计算机高级语言编写成程序代码
14、以下叙述中错误的是()。
A)一个C程序中可以包含多个不同名的函数
B)一个C程序只能有一个主函数
C)C程序在书写时,有严格的缩进要求,否则不能编译通过
D)C程序的主函数必须用main作为函数名
15、设有以下语句:
charch1,ch2;scanf("%c%c",&ch1,&ch2);
若要为变量ch1和ch2分别输入字符A和B,正确的输入形式应该是()。
A)A和B之间用逗号间隔B)A和B之间不能有任何间隔符
C)A和B之间可以用回车间隔D)A和B之间用空格间隔
16、以下选项中非法的字符常量是()。
A)'\101'B)'\65'C)'\xff'D)'\019'
17、有以下程序:
#include
main()
{inta=0,b=0,C=0;
c=(a-=a-5);(a=b,b+=4);
printf("%d,%d,%d\n",a,b,c);
}
程序运行后的输出结果是()。
A)0,4,5B)4,4,5C)4,4,4D)0,0,0
18、设变量均已正确定义并赋值,以下与其他三组输出结果不同的一组语句是()。
A)x++;printf("%d\n",x);B)n=++x;printf("%d\n",n);
C)++x;printf("%d\n",x);D)n=x++;printf("%d\n",n);
19、以下选项中,能表示逻辑值“假”的是()。
A)1B)0.000001C)0D)100.0
20、有以下程序:
#include
main()
{inta;
scanf("%d",a);
if(a++<9)printf("%d\n";a);
elseprintf("%d\n",a--);
}
程序运行时从键盘输入9<回车>,则输出结果是()。
A)10B)11C)9D)8
21、有以下程序:
#include
main()
{ints=0,n;
for(n=0;n<3;n++)
{switc(s)
{case0:
case1:
s+=1:
case2:
s+=2;break;
case3:
s+=3:
default:
s+=4:
}
printf("%d,",s);
}
}
程序运行后的输出结果是()。
A)1,2,4,B)1,3,6,
C)3,10,14,D)3,6,10,
22、若k是int类型变量,且有以下for语句:
for(k=-1;k<0;k++)printf("****\n");
下面关于语句执行情况的叙述中正确的是()。
A)循环体执行一次B)循环体执行两次
C)循环体一次也不执行D)构成无限循环
23、有以下程序:
#include
main()
{chara,b,c;
b='1';c='A';
for(a=0;a<6;a++)
{if(a%2)putchar(b+a);
elseputchar(c+a);
}
}
程序运行后的输出结果是()。
A)183D5FB)ABCDEF
C)A2C4E6D)123456
24、设有如下定义语句:
intm[]={2,4,6,8,10},*k=m;
以下选项中,表达式的值为6的是()。
A)+(k+2)B)k+2
C)*k+2D)*k+=2
25、fun函数的功能是:
通过键盘输入给x所指的整型数组所有元素赋值。
在下划线处应填写的是()。
#include
#defineN5
voidfun(intx(N))
{intm;
fol(m=N-1;m>=0;m--)scanf("%d",______):
}
A)&x[++m]B)&x[m+1]
C)x+(m++)D)x+m
26、若有函数
voidfun(doublea[],int*n)
[……]
以下叙述中正确的是()。
A)调用fun函数时只有数组执行按值传送,其他实参和形参之间执行按地址传送
B)形参a和n都是指针变量
C)形参a是一个数组名,n是指针变最
D)调用fun函数时将把double型实参数组元素一一对应地传送给形参a数组
27、有以下程序:
#include
main()
{inta,b,k,m,*p1,*p2;
k=1,m=8;
p1=&k,p2=&m;
a2/*p1-m;b=+p1+*p2+6;
printf("%d",a);printf("%d\n",b);
}
编译时编译器提示错误信息,你认为出错的语句是()。
A)a:
/*p1-m;B)b=*p1+p2+6;
C)k=1,m=8;D)p1=&k,p2=&m;
28、以下选项中有语法错误的是()。
A)char*str[]=("guest");B)charstr[][10]=("guest");
C)char*str[3];str[1]="guest";D)charstr[3][10];str[1]="guest";
29、avg函数的功能是求整型数组中的前若干个元素的平均值,设数组元素个数最多不超过10,则下列函数说明语句错误的是()。
A)intavg(int*a,intn);B)intavg(inta[10],intn);
C)intavg(inta,intn);D)intavg(inta[],intn);
30、有以下程序:
#include
#include
main()
{printf("%d\n",strlen("ATS\n012\1"));}
程序运行后的输出结果是()。
A)3B)8C)4D)9
31、有以下程序:
#include
main()
{chara[20],b[20],c[20];
scanf("%s%s",a,b);
gets(c);
printf("%s%s%s\n",a,b,c);
}
程序运行时从第一列开始输入:
Thisisacat!
<回车>
则输出结果是()。
A)Thisisacat!
B)Thisisa
C)Thisisacat!
D)Thisisacat!
32、有以下程序:
#include
voidfun(charc)
{iflc>'x')fun(c-1);
printf("%c",c);
}
main()
{ffin('z');}
程库运行后的输出结果是()。
A)xyzB)wxyzC)zyxwD)zyx
33、有以下程序:
#include
voidfunc(intn)
{inti;
for(i=0;i<=n;i++)printf("*");
printf("#");
}
main()
{func(3),printf("?
?
?
?
");func(4);printf("\n");}
程序运行后的输出结果是()。
A)****#?
?
?
?
***#B)***#?
?
?
?
****#
C)**#?
?
?
?
*****#D)****#?
?
?
?
*****#
34、有以下程序:
#include
voidfun(int*s)
{staticintj=0;
do{s[j]=s[j]+s[j+1];}while(++j<2);
}
main()
{intk,a[10]={1,2,3,4,5};
for(k=1;k<3;k++)fun(a);
for(k=0;k<5;k++)printf("%d",a[k]);
printf("\n");
}
程序运行后的输山结果是()。
A)12345B)23445C)34756D)35745
35、有以下程序:
#include
#defineS(x)(x)*x*2
main()
{intk=5,j-2;
printf("%d,",S(k+j));printf("%d\n",S((k-j)));
}
程序运行后的输出结果是()。
A)98,18B)39,11C)39,18D)98,11
36、有以下程序:
#include
voidexch(intt[]).
{t[0]=f[5];}
main()
{intx[10]={1,2,3,4,5,6,7,8,9,10},i=0;
while(1<=4){exch(&x[i]);i++;}
for(i=0;1<5;1++)printf("%d",x[i]);
printf("\n");
}
程序运行后输出的结果是()。
A)246810B)13579
C)12345D)678910
37、设有以下程序段:
structMP3
{charname[20];
charcolor;
floatprice;
}std,*ptr;
ptr=&std;
若要引用结构体变量std中的color成员,写法错误的是()。
A)std.colorB)ptr→color
C)std→colorD)(*ptr).color
38、有以下程序:
#include
structstu
{intnum;charname[10];intage:
};
voidfun(structstu*p)
{printf("%s\n",p->name);}
main()
{structstux[3]={{01,"2hang",20},{02,"Wang",19},{03,"2hao",18}};
fun(x+2);
}
程序运行后的输出结果是()。
A)ZhangB)ZhaoC)WangD)19
39、有以下程序:
#include
main()
{inta=12,c;
C=(a<<2)<<1;
printf("%d\n",c);
}
程序运行后的输出结果是()。
A)3B)50C)2D)96
40、以下函数不能用于向文件中写入数据的是()。
A)ftellB)fwriteC)fputcD)fprintf
二、填空题
1、在长度为n的顺序存储的线性表中删除一个元素,最坏情况下需要移动表中的元素个数为______。
2、设循环队列的存储空间为Q(1:
30),初始状态为front=rear=30。
现经过一系列入队与退队运算后,front=16,rear=15,则循环队列中有______个元素。
3、数据库管理系统提供的数据语言中,负责数据的增、删、改和查询的是______。
4、在将E-R图转换到关系模式时,实体和联系都可以表示成______。
5、常见的软件工程方法有结构化方法和面向对象方法,类、继承以及多态性等概念属于______。
6、设变量a和b已定义为int类型,若要通过scanf("a=%d,b=%d",&a,&b);语句分别给a和b输入1和2,则正确的数据输入内容是______。
7、以下程序的输出结果是______。
#include
main()
{inta=37;
a+=a%=9;printf("%d\n",a);
}
8、设a、b、c都是整型变量,如果a的值为1,b的值为2,则执行c=a++||b++;语句后,变量b的值是______。
9、有以下程序段:
s=1.0;
for(k=1;k<=n;k++)s=s+1.0/(k*(k+1));
printf("%f\n",s);
请填空,使以下程序段的功能与上面的程序段完全相同。
S=10;k=1;
while______
{s=s+1.0/(k*(k+1));k=k+1;}
printf("%f\n",s);
10、以下程序的输出结果是______。
#include
main()
{chara,b;
for(a=0;a<20;a+=7){b=a%10;putchar(b+'0');}
}
11、以下程序的输出结果是______。
#include
main()
{char*ch[4]=("red","green","blue");
inti=0;
while(ch[i])
{putchar(ch[i][0]);i++;}
}
12、有以下程序:
#include
main()
{intarr[]={1,3,5,7,2,4,6,8},i,start:
scanf("%d",&start);
for(i=0;1<3;i++)
printf("%d",arr[(start+i)%8]);
}
若在程序运行时输入整数10<回车>,则输出结果为______。
13、以下程序的功能是输出a数组中所有字符串,请填空。
#include
main()
(char*a[]={"ABC","DEFGH","IJ","KLMNOP"};
inti=0;
for(;i<4;i++)printf("%s\n",______;
}
14、以下程序的输出结果是______。
#include
#include
#include
main()
{char*p,*q,*r;
p=q=r=(char*)malloc(sizeof(char)*20);
strcpy(p,"attaboy,welcome!
");
printf("%C%c%c\n",p[11],q[3],r[4]);
free(p);
}
15、设文件test.txt中原已写入字符串Begin,执行以下程序后,文件中的内容为______。
#include
main()
{FILE*fp;
fp=fopen("test.txt","w+");
fputs("test",fp);
fcloset(p);
}
答案:
一、单选题
1、A
[解析]循环队列是一种顺序存储的线性结构。
所以,“循环队列是队列的一种链式存储结构”、“循环队列是非线性结构”和“循环队列是一种逻辑结构”的说法都是错误的。
2、D
[解析]栈和队列都是线性结构,并且栈是后进先出,队列是先进先出,所以三种说法都不对。
3、D
[解析]根据公式n0=n2+1,叶子结点个数为5,则度为2的结点数为4,那么度为I的结点数n1=n-n0-n2=25-5-4=16。
4、A
[解析]数据库系统在其内部具有三级模式:
概念模式、内部模式与外部模式。
其中,内模式(又称物理模式)给出了数据库物理存储结构与物理存取方法,如数据存储的文件结构、索引、集簇及hash等存取方式与存取路径,内模式的物理特性主要体现在操作系统及文件级上,它还未深入到设备级(如磁盘及磁盘操作)上。
概念模式是数据库系统中全局数据逻辑结构的描述,是全体用户(应用)的公共数据视图,主要描述数据的概念记录类型以及它们之间的关系,它还包括一些数据间的语义约束。
外模式(子模式或用户模式)是用户的数据视图,也就是用户所见到的数据模式,它由概念模式推导而出,在一般的DBMS中都提供相关的外模式描述语言{外模式DDL}。
5、D
[解析]在关系R中如记录完全函数依赖于属性(组)X,则称X为关系R中的一个候选关键字。
候选关键字的性质有:
①在一个关系中,候选关键字可以有多个;②对于任何两条记录,候选关键字的值都是不相同的;③关键字可能由一个属性构成,也可能由多个属性构成;④在任何关系中至少有一个关键字。
所以,在满足实体完整性约束的条件下,一个关系中应该有一个或多个候选关键字。
6、C
[解析]自然连接是二元运算,其结果是得到两个关系中公共属性名字上相等的所有元组的组合;并是指将两个关系中的元素全部合并到一个新的关系之中;交是指将那些同时属于两个关系的元素组成一个新的关系;差是指将属于前一个集合但不属于后一个集合的元素组成新的关系。
由图中可以看出,关系T是由属于R但不属于S的元组组成的集合,所以答案为差。
7、B
[解析]一个软件产品或软件系统通常要经历孕育、诞生、成长、成熟、衰亡等阶段,一般称为软件生存周期。
通常而言,软件生命周期可以划分为六个阶段:
问题的定义及规划、需求分析、软件设计、编码、软件测试、运行维护。
所以,软件生命周期中的活动不包括市场调研。
8、C
[解析]需求分析的基本任务是:
①问题识别,双方确定对问题的综合需求,这些需求包括功能需求、性能需求、环境需求、用户界面需求;②分析与综合,导出软件的逻辑模型:
③编写文档,包括编写需求规格说明书、编写初步用户使用手册、确认测试计划、修改完善软件开发计划。
制定软件集成测试计划属于概要设计。
9、A
[解析]通常,软件的测试方法包括白盒测试与黑盒测试。
白盒测试也称结构测试或逻辑驱动测试,它是按照程序内部的结构测试程序。
黑盒测试也称功能测试,它是通过测试来检测每个功能是否都能正常使用。
黑盒测试着眼于程序外部结构,不考虑内部逻辑结构,把程序看作一个不能打开的黑盒子,主要针对软件界面和软件功能进行测试。
10、D
[解析]软件设计包括概要设计和详细设计。
在软件概要设计中,面向数据流的设计方法有变换型系统结构图和事务型数据流两种。
在软件详细设计中,程序流程图(PDF)和PAD(问题分析图)是过程设计的常用工具。
数据流图是结构化分析方法中使用的工具,它以图形的方式描绘数据在系统中流动和处理的过程,由于它只反映系统必须完成的逻辑功能,所以它是一种功能模型,是在可行性研究阶段用到的。
11、A
[解析]程序设计的实施步骤为确定算法和数据结构、编码、调试、整理文档。
12、B
[解析]只要在允许范围内,整型数和实型数都可以精确的表示一个数。
13、B
[解析]一个正确的算法有零个或多个输入,必须要有一个或多个输出。
所以选项B)说法错误。
14、C
[解析]程序在书写时,缩进要求是为了增加程序的可读性,没有严格按照缩进要求,不会影响编译和运行。
15、B
[解析]在scanf语句里,%C比较特殊,它是输入单个字符,此处输入格式为“%C%C”,所以输入字符A和B时,不能有间隔。
16、D
[解析]“\”后需八进制数据,不能出现数据“9”,所以选项D)错误。
17、A
[解析]根据优先级,a-=a-5即a=a-(a-5)=5;又c=(a-=a-5)=5;再根据a=b得,a=0;又b+=4得b=b+4=4。
经计算,a=0,b=4,c=5。
18、D
[解析]A、B、C输出的均是x+1,而D选项输出的是x。
19、C
[解析]在逻辑表示中,所有非0值均表示逻辑值“真”,“0”表示逻辑值“真”。
20、A
[解析]a的初始值为9,执行a++<9时,为假,a加1,此时,a=10;执行else语句,输出a--,即先输出a的值(此时,a=10),a的值再减1。
21、C
[解析]第一次循环:
s=0,n=0,执行swith语句中的case1和case2语句,输出3;
第二次循环:
s=3,n=1.执行swith语句中的case3和default语句,输出10;
第三次循环:
s=10,n=2,执行swith语句中的default语句,输出14。
故,输出结果为:
3,10,14。
22、A
[解析]第一次k=-1小于0,执行循环体;第二次执行k++,k=0,此时k<0不成立,退出循环。
23、C
[解析]第一钦循环:
a%2=0执行else中语句,输出A;
第二次循环
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 二级 语言
![提示](https://static.bdocx.com/images/bang_tan.gif)