二级c语言真题及标准答案.docx
- 文档编号:23623883
- 上传时间:2023-05-19
- 格式:DOCX
- 页数:142
- 大小:137.64KB
二级c语言真题及标准答案.docx
《二级c语言真题及标准答案.docx》由会员分享,可在线阅读,更多相关《二级c语言真题及标准答案.docx(142页珍藏版)》请在冰豆网上搜索。
二级c语言真题及标准答案
2011年9月二级C语言笔试真题
选择题(每小题2分,共70分)下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的。
1、下列叙述正确的是()
A.算法就是程序B设计算法时只需要考虑数据结构的设计
C.设计算法时只需要考虑结果的可靠性D以上三种说法都不对
2、下列关于线性链表的叙述中,正确的是()
A.各数据结点的存储空间可以不连续,但它们的存储循序与逻辑循序必须一致
B.各数据结点的存储顺序与逻辑顺序可以不一致,但它们的存储空间必须连续
C.进行插入与删除时,不需要移动表中的元素
D.以上三种说法都不对
3、下列关于二叉树的叙述中,正确的是()
A.叶子结点总是比度为2的结点少一个B叶子结点总是比度为2的结点多一个
C.叶子结点数是度为2的结点数的两倍D度为2的结点数是度为1的结点数的两倍
4、软件按功能可以分为应用软件、系统软件和支撑软件(或工具软件)。
下面属于应用软件的是()
A.学生成绩管理系统BC语言编译程序
C.UNIX操作系统D数据库管理系统
5、某系统总体结构图如下图所示:
该系统总体结构图的深度是()
A.7B6C3D2
6、程序调试的任务是()
A.设计测试用例B验证程序的正确性
C.发现程序中的错误D诊断和改正程序中的错误
7、下列关于数据库设计的叙述中,正确的是()
A.在需求分析阶段监理数据字典B在概念设计阶段监理数据字典
C.在逻辑设计阶段监理数据字典D在物理设计阶段监理数据字典
8、数据库系统的三级模式不包括()
A.概念模式B内模式C外模式D数据模式
9、有三个关系R、S和T如下:
则由关系R和S得到关系T的操作是()
A.自然连接B差C交D并
10、下列选项中属于面向对象设计方法主要特征的是()
A.继承B自顶向下C模块化D逐步求精
11、以下叙述中错误的是()
A.C语言编写的函数源程序,其文件名后缀可以是C
B.C语言编写的函数都可以作为一个独立的源程序文件
C.C语言编写的每个函数都可以进行独立的编译并执行
D.一个C语言程序只能有个一主函数
12、以下选项中关于程序模块化的叙述错误的是()
A.把程序分成若干相对独立的模块可便于编码和调试
B.把程序分成若干相对独立,功能单一的模块,可便于重复使用这些模块
C.可采用自底向上、逐步细化的设计方法把若干独立模块组装成所需要的程序
D.可采用自顶向下、逐步细化的设计方法把若干独立模块组装成所需要的程序
13、以下选项中关于C语言常量的叙述错误的是()
A.所谓常量,是指在程序运行过程中,其值不能被改变的量
B.常量分为整型常量、实行常量、字符常量和字符串常量
C.常量可分为数值型常量和非数值型常量
D.经常被使用的变量可定义成常量
14、若有定义语句:
inta=10;doubleb=3.14,则表达式’A’+a+b值的类型是()
A.charBintCdoubleDfloat
15、如有定义语句:
intx=12,y=8,z;,在其后执行语句z=0.9+x/y,则z的值为()
A.1.9B1C2D2.4
16、若有定义:
inta,b;,通过语句scanf(“%d;%d”,&a,&b);,能把整数3赋给变量a,5赋给变量b的输入数据是()
A35B3,5C3;5D35
17、若有定义语句:
intk1=10,k2=20;,执行表达式(k1=k1>k2)&&(k2=k2>k1)后,k1和k2的值分别为()
A0和1B0和20C10和1D10和20
18、有以下程序
#include
main()
{inta=1,b=0;
If(--a)b++;
elseif(a==0)b+=2;
elseb+=3;
printf(“%d\n”,b);
}
程序运行后的输出结果是()
A0B1C2D3
19、下列条件语句中输出结果与其它语句不同的是()
Aif(a)printf(“%d\n”,x);elseprintf(“%d\n”,y);
Bif(a==0)printf(“%d\n”,y);elseprintf(“%d\n”,x);
Cif(a!
=0)printf(“%d\n”,x);elseprintf(“%d\n”,y);
Dif(a==0)printf(“%d\n”,x);elseprintf(“%d\n”,y);
20、有以下程序:
#include
main()
{inta=7;
while(a--);
printf(“%d\n”,a);
}
程序运行后的输出结果是()
A.-1B0C1D7
21、以下不能输出字符A的语句是( )(注:
字符A的ASCII码值为65,字符a的ASCII码值为97)
A.printf(“%c\n”,’A’-32);Bprintf(“%d\n”,’A’);
C.printf(“%c\n”,65);Dprintf(“%c\n”,’B’-1);
22、有以下程序(注:
字符a的ASCII码值为97)
#include
main()
{char*s={“abc”};
do
{printf(“%d”,*s%10);s++;}
while(*s);
}
程序运行后的输出结果是()
AabcB789C7890D979898
23、若有定义语句:
doublea,*p=&a;以下叙述中错误的是()
A.定义语句中的*号是一个地址运算符
B.定义语句中的*号只是一个说明符
C.定义语句中的p只能存放double类型变量的地址
D.定义语句中,*p=&a把变量a的地址作为初值赋给指针变量p
24、有以下程序:
#include
doublef(doublex);
main()
{doublea=0;inti;
for(i=0;i<30;i+=10)a+=f((double)i);
printf(“%5,0f\n”,a);
}
doublef(doublex)
{returnx*x+1;}
程序运行后输出结果是()
A.503B401C500D1404
25、若定义语句:
intyear=2009,*p=&year;,以下不能使变量year中的值增至2010的语句是()
A.*p+=1;B(*p)++C++(*p);D*p++;
26、以下定义数组的语句中错误的是()
Aintnum[]={1,2,3,4,5,6};
Bintnum[][3]={{1,2},3,4,5,6};
Cintnum[2][4]={{1,2},{3,4},{5,6}};
Dintnum[][4]={1,2,3,4,5,6};
27、有以下程序:
#include
voidfun(int*p)
{printf(“%d\n”,p[5]);}
main()
{inta[10]={1,2,3,4,5,6,7,8,9,10};
fun(&a[3]);
}
程序运行后的输出结果是()
A5B6C8D9
28、有以下程序
#include
#defineN4
voidfun(inta[][N],intb[])
{inti;
for(i=0;i } main() {intx[N][N]={{1,2,3,4},{5,6,7,8},{9,10,11,12},{13,14,15,16}},y[N],i; fun(x,y); for(i=0;i 程序运行后的输出结果是() A-12,-3,0,0,B-3,-1,1,3, C,0,1,2,3,D-3,-3,-3,-3, 29、有以下函数 Intfun(char*x,char*y) (intn=0; while((*x=*y)&&*x! =’\0’){x++;y++;n++;} returnn; } 函数的功能是() A查找x和y所指字符串中是否有’\0’ B统计x和y所指字符串中最前面连续相同的字符个数 C将y所指字符串赋给x所值存储空间 D统计x和y所指字符串中相同的字符个数 30、若有定义语句: char*s1=”ok”;*s2=”ok”;,以下选项中,能够输出”ok”的语句是() Aif(stremp(s1,s2)==0)puts(s1); Bif(stremp(s1,s2)! =0)puts(s2); Cif(stremp(s1,s2)==1)puts(s1); Dif(stremp(s1,s2)! =0)puts(s1); 31、以下程序的主函数中调用了在其前面定义的fun函数 #include main() {doublea[15],k; k=fun(a); : } 则以下选项错误的fun函数首部是() Adoublefun(doublea[15]) Bdoublefun(double*a) Cdoublefun(doublea[]) Ddoublefun(doublea) 35、有以下程序: #include #include main() {chara[5][10]={“china”,”beijing”,”you”,”tiananmen”,”welcome”}; IntI,j;chart[10]; for(i=0;i<4;i++) for(j=i+1;j<5;j++) if(stremp(a[i],a[j])>0) {strepy(t,a[i]);strepy(a[i],a[j]);strepy(a[i],t);} puts(a[3]); } 程序运行后的输出结果是() AbeijingBchinaCwelcomeDTiananmen 36、有以下程序: #include Intf(intm) {staticintn=0; n+=m; returnn; } main() {intn=0; printf(“%d,”,f(++n)); printf(“%d\n”,f(n++)); 程序运行后的输出结果是() A1,2B1,1C2,3D3,3 34、有以下程序 #include main() {charch[3][5]={“AAAA”,”BBB”,”CC”} printf(“%s\n”,ch[1]); } 程序运行后的输出结果是() AAAAABCCCBBBCCDBBB 35、有以下程序 #include #include voidfun(char*u,intn) {charx,*y1,*y2; Y1=u;Y2=u+n-1; while(y1 } main() {chara[]=”1,2,3,4,5,6”; fun(a,strem(a));puts(a); } 程序运行后的输出结果是() A654321B115611C153525D123456 36、有以下程序: #include #include typedefstruct{charname[];charsex;intscore[2]}STU; STUf(STUi) {STUi={“zhao”,”m”,85,90}; Inti; strcpy(aname,bname); asex=bsex; for(i=0;i<2;i++)ascor[i]=bscore[i]; returna; } main() STUc={“Qian”,”f”,95,92},d; d=f(c); prinft(“%s,%c,%d,%d,”,d.name,d.sex,d.score[0],d.score[1]); prinft(“%s,%c,%d,%d\n”,c.name,c.sex,c.score[0],c.score[1]); } 程序运行后的输出结果是() Azhao,m,85,90,Qian,f,95.92Bzhao,m,85,90,zhao,m,85,90 CQian,f,95,92,Qian,f,95.92DQian,f,95,92,zhao,m,85.90 37、在以下程序 #include main() {structnode{inta;structnode*next;}*p; structnodex[3]={{2,x+1},{4,x+2},{6,NULL}}; p=x; printf(“%d,”,p>a); printf(“%d\n”,p>next>a); 程序运行后的输出结果是() A2,3B2,4C3,4D4,6 38、有以下程序: #include<> main() {inta=2,b; b=a<<2;printf(“%d\n”,b); } 程序运行后的输出结果是() A2B4C6D8 39、以下选项中叙述错误的是() AC程序函数中定义的赋有初始值的静态变量,每调动一次函数,赋一次初值 B在C程序的同一函数中,各复合语句内可以定义变量,其作用域仅限本复合语句内 CC程序函数中定义的自动变量,系统不能自动赋确定的初值 DC程序函数的形参不可以说明为static型变量 40、有以下程序 #include main() {FILE*fp; Intk,n,i,a[6]={1,2,3,4,5,6}; fp=fopen(“d2,dat”,”w”); for(i=0;i<6;i++)fprintf(fp,”%d\n”,a[i]); fclose(fp); fp=fopen(“d2,dat”,”r”); for(i=0;i<3;i++)fscanf(fp,”%d%d”,&k,&n); fclose(fp); printf(“%d,%d\n”,k,n); } 程序运行后的输出结果是() A1,2B3,4C5,6D123,456 填空题(每空2分,共30分)请将每空的正确答案写在答题卡【1】至【15】序号的横线上,答在试卷上不得分。 1、数据结构分为线性结构和非线性结构,带链的栈属于()。 2、在长度为n的顺序存储的线性表中插入一个元素,最坏情况下需要移动表中的()。 3、常见的软件开发方法有结构化方法和面向对象方法,对某应用系统经过需要分析建立数据流图(DFD),则应采用()方法。 4、数据库系统的核心是()。 5、在进行关系数据库的逻辑设计时,E-R图中的属性常被转换为关系中的属性,联系通常被转换为() 6、若程序中已给整型变量a和b赋值10和20,请写出按以下格式输出a和b值的语句() *****a=10,b=20***** 7、以下程序运行后的输出结果是() #include main() {inta=37; a%=9;printf(“%d\n”,a); } 8、以下程序运行后的输出结果是() #include main() inti,j; for(i=6;i>3;i--)j=i; printf(“%d%d\n”,i,j); } 9、以下程序运行后的输出结果是() #include main() {intj,n[]={0,0,0,0,0}; for(j=1;i<=2;i++) {n[j]=n[i-1]*3+1; printf(“%d”,n[j]); } printf(“\n”); } 10、以下程序运行后的输出结果是() #include main() {chara; for(a=0;a<15;a+=5) {prtchar(“A”);} printf(“a”); } 11、以下程序运行后的输出结果是() #include voidfun(intx) {if(x/5>0)fun(x/5)); printf(“%d”,x); } main() {fun(11);printf(“\n”);} 12、有以下程序 #include main() {intc[3]={0},k,i; while((k=getchar())! =’a’) c[k-‘A’]++; for(i=0;i<3;i++) printf(“%d”,c[i]); printf(“\n”); } 若程序运行时对从键盘输入ABCACC<回车>,则输出结果为() 13、以下程序运行后的输出结果是() #include main() {intn[2],i,j; for(i=0;i<2;i++)n[i]=0; for(i=0;i<2;i++) For(j=0;j<2;j++)n[j]=n[i]+1; printf(“%d\n”,n[i]); } 14、以下程序调用fun函数把x中的值插入到a数组下标为k的数组元素中。 主函数中n存放a数组中数据的值的填空。 #include voidfun(ints[],int*n,intk,intx) {inti; for(i=*n-1;i>=k;i--)s[_______________]=s[i]; s[k]=x; *n=*n+______________; } main() {inta[20]={1,2,3,4,5,6,7,8,9,10,11},i,x=0,k=6,n=11; fun(a,&n,k,x); for(i=0;i<6;i++) printf(“%4d”,a[i]); printf(“\n”); } 答案: 选择: 1~10DCBACDCDBA11~20CCDCBCBCDA 21~30BBAADCDBBD31~40DCADAABDAC 填空: 1、线性结构 2、n 3、结构化 4、数据库管理系统 5、关系 6、printf(“*****a=%d,b=%d*****”,a,b); 7、1 8、34 9、14 10、AFK 11、211 12、213 13、3 14、i+11 2011年3月计算机等级考试二级C语言笔试: 一、选择题 (1)下列关于栈叙述正确的是 A)栈顶元素最先能被删除 B)栈顶元素最后才能被删除 C)栈底元素永远不能被删除 D)以上三种说法都不对 (2)下列叙述中正确的是 A)有一个以上根结点的数据结构不一定是非线性结构 B)只有一个根结点的数据结构不一定是线性结构 C)循环链表是非线性结构 D)双向链表是非线性结构 (3)某二叉树共有7个结点,其中叶子结点只有1个,则该二叉树的深度为(假设根结点在第1层) A)3B)4C)6D)7 (4)在软件开发中,需求分析阶段产生的主要文档是 A)软件集成测试计划B)软件详细设计说明书 C)用户手册D)软件需求规格说明书 (5)结构化程序所要求的基本结构不包括 A)顺序结构B)GOTO跳转 C)选择(分支)结构D)重复(循环)结构 (6)下面描述中错误的是 A)系统总体结构图支持软件系统的详细设计 B)软件设计是将软件需求转换为软件表示的过程 C)数据结构与数据库设计是软件设计的任务之一 D)PAD图是软件详细设计的表示工具 (7)负责数据库中查询操作的数据库语言是 A)数据定义语言 B)数据管理语言 C)数据操纵语言 D)数据控制语言 (8)一个教师可讲授多门课程,一门课程可由多个教师讲授。 则实体教师和课程间的联系是 A)1: 1联系B)1: m联系 C)m: 1联系D)m: n联系 (9)有三个关系R、S和T如下: 则由关系R和S得到关系T的操作是 A)自然连接B)交C)除D)并 (10)定义无符号整数类为UInt,下面可以作为类UInt实例化值的是 A)-369B)369C)0.369D)整数集合{1,2,3,4,5} (11)计算机高级语言程序的运行方法有编译执行和解释执行两种,以下叙述中正确的是 A)C语言程序仅可以编译执行 B)C语言程序仅可以解释执行 C)C语言程序既可以编译执行又可以解释执行 D)以上说法都不对 (12)以下叙述中错误的是 A)C语言的可执行程序是由一系列机器指令构成的 B)用C语言编写的源程序不能直接在计算机上运行 C)通过编译得到的二进制目标程序需要连接才可以运行 D)在没有安装C语言集成开发环境的机器上不能运行C源程序生成的.exe文件 (13)以下选项中不能用作C程序合法常量的是 A)1,234B)'1' C)123D)"\x7G" (14)以下选项中可用作C程序合法实数的是 A).1e0B)3.0e0.2 C)E9D)9.12E (15)若有定义语句: inta=3,b=2,c=1;,以下选项中错误的赋值表达式是 A)a=(b=4)=3;B)a=b=c+1; C)a=(b=4)+c;D)a=1+(b=c=4); (16)有以下程序段 charname[20]; intnum; scanf("name=%snum=%d",name;&num); 当执行上述程序段,并从键盘输入: name=Lilinum=1001<回车>后,name的值为 A)Lili B)name=Lili C)Lilinum= D)name=Lilinum=1001 (17)if语句的基本形式是: if(表达式)语句,以下关于“表达式”值的叙述中正确的是 A)必须是逻辑值B)必须是整数值 C)必须是正数D)可以是任意合法的数值 18)有以下程序 #
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 二级 语言 标准答案