二级C语言笔试模拟36.docx
- 文档编号:18240262
- 上传时间:2023-08-14
- 格式:DOCX
- 页数:24
- 大小:28.35KB
二级C语言笔试模拟36.docx
《二级C语言笔试模拟36.docx》由会员分享,可在线阅读,更多相关《二级C语言笔试模拟36.docx(24页珍藏版)》请在冰点文库上搜索。
二级C语言笔试模拟36
二级C语言笔试模拟36
一、选择题
1、下列叙述中正确的是
A)对长度为n的有序链表进行查找,最坏情况下需要的比较次数为n
B)对长度为n的有序链表进行对分查找,最坏情况下需要的比较次数为(n/2)
C)对长度为n的有序链表进行对分查找,最坏情况下需要的比较次数为(log2n)
D)对长度为n的有序链表进行对分查找,最坏情况下需要的比较次数为(nlog2n)
2、若某二叉树的前序遍历访问顺序是abdgcefh,中序遍历访问顺序是dgbaechf,则其后序遍历的结点访问顺序是( )。
A)bdgcefha B)gdbecfha C)bdgaechf D)gdbehfca
3、软件调试的目的是
A)发现错误 B)改正错误
C)改善软件的性能 D)验证软件的正确性
4、下列叙述中正确的是______。
A)程序设计就是编制程序 B)程序测试必须由程序员自己去做
C)程序经调试改错后还应进行再测试 D)程序经调度改错后不必进行再测试
5、下列关于线性链表的描述中正确的是( )。
A)存储空间不一定连续,且各元素的存储顺序是任意的
B)存储空间不一定连续,且前件元素一定存储在后件元素的前面
C)存储空间必须连续,且各前件元素一定存储在后件元素的前面
D)存储空间必须连续,且各元素的存储顺序是任意的
6、软件生命周期可分为定义阶段、开发阶段和维护阶段。
详细设计属于
A)定义阶段 B)开发阶段 C)维护阶段 D)上述3个阶段
7、下列选项中不属于结构化程序设计方法的是______。
A)自顶向下 B)逐步求精
C)模块化 D)可复用
8、有以下程序:
main()
{ chara,b,c,d;
scanf("%c,%c,%d,%d",&a,&b,&c,&d);
printf("%c,%c,%c,%c\n",a,b,c,d);
}
若运行时从键盘上输入:
6,5,65,66<回车>,则输出结果是______。
A)6,5,A,B B)6,5,65,66 C)6,5,6,5 D)6,5,6,6
9、有三个关系R,S和T如下:
其中关系T由关系R和S通过某种操作得到,该操作为( )。
A.选择 B.投影
C.交 D.并
10、以下叙述中正确的是______。
A)用C语言实现的算法必须要有输入和输出操作
B)用C语言实现的算法可以没有输出但必须要有输入
C)用C语言程序实现的算法可以没有输入但必须要有输出
D)用C语言程序实现的算法可以既没有输入也没有输出
11、以下选项中与if(a==1)a++;elsea=b;语句功能不同的语句是( )。
A)switch(a)
{ease0:
a=b;break;
default:
a++;
}
B)switch(a==1)
{case0:
a++:
default:
a=b;
}
C) switch(a)
{default:
a=b;break;
case1:
a++;
}
D)a=(a==1)?
(a++):
b
12、下列程序的输出结果是( )。
main()
{ inta=1,b=2;
printf("%d,%d\n",--a,++b);
}
A)1,2 B)1,3 C)0,2 D)0,3
13、请选出可用作C语言用户标识符的是( )。
A)void,define,WORD B)a3_b3,_123,IF
C)FOR,-abc,Case D)2a,Do,$izeof
14、下列叙述中错误的是______。
A)计算机不能直接执行用C语言编写的源程序
B)C程序经C编译后,生成后缀为.obj的文件是一个二进制文件
C)后缀为.obj的文件,经连接程序生成后缀为.exe的文件是一个二进制文件
D)后缀为.obj和.exe的二进制文件都可以直接运行
15、若变量已正确定义并赋值,以下符合C语言语法的表达式是
A)a:
=b+1 B)a=b=c+2 C)int18.5%3 D)a=a+7=c+b
16、设有以下语句:
inta=1,b=2,c;
c=a^(b<<2);
执行后,c的值为( )。
A.6 B.7 C.8 D.9
17、在16位编译系统上,若有定义inta[]={10,20,30},*p=&a;,当执行p++;后,下列说法错误的是
A)p向高地址移了一个字节 B)p向高地址移了一个存储单元
C)p向高地址移了两个字节 D)p与a+1等价
18、若变量已正确定义,有下列程序段:
inta=3,b=5,c=7;
if(a>B)a=b;c=a;
if(c!
=A)c=b;
printf("%d,%d,%d\n",a,b,C);
其输出结果是( )。
A)程序段有语法错 B)3,5,3
C)3,5,5 D)3,5,7
19、若有定义floatx=1.5;inta=1,b=3,c=2;,则正确的switch语句是
A)swimh(x)
{case1.0:
printf("*\n");
case2.0:
printf("**\n");}
B)switch((int)x);
{case1:
printf("*\n");
case2:
printf("**\n");}
C)switch(a+b)
{case1:
pfintf("*\n");
case2+1:
pfintf("**\n");}
D)switch(a-I-b)
{case1:
pfintf("*\n");
casec:
printf("**\n");}
20、有以下程序
#include <stdio.h>
main()
{ int a[]={1,2,3,4},y,*p=&a[3];
--p; y=*p;printf("y=%d\n",y);
}
程序的运行结果是
A)y=0 B)y=1 C)y=2 D)y=3
21、有下列程序:
main()
{chars[]="abcde";
S+=2;
printf("%d\n",s[0]);
}
执行后的结果是( )。
A)输出字符a的ASCII码 B)输出字符c的ASCII码
C)输出字符c D)程序出错
22、有以下程序
#include<stdio.h>
intfun(inta,intb)
{if(b=0)returna;
else return(fun(--a,--b));
}
main()
{pdntf("%d\n",fun(4,2));}
程序的运行结果是( )。
A)1 B)2 C)3 D)4
23、下列字符数组初始化语句中,不正确的是( )。
A)charc[]='goodmorning'; B)char,c[20]="goodmoming";
C)charc[]={'a','b','c','d'}; D)charc[]={"goodmoming"};
24、以下程序段给数组所有的元素输入数据,请选择正确答案填入。
#include<stdio.h>
main()
{
inta[10]=0;
while(i<10)scan("%d"______);
:
:
}
A)a+(i++) B)&a[i+1] C)a+i D)&a[++i]
25、阅读下面程序段,则执行后的结果为
#inclide"stdio.h"
main()
{ intm=4,n=2,k;
k=fun(m,n);
printf("%d\n",k);}
fun(intm,intn)
{ return(m*m*m-n*n*n);}
A)64 B)8 C)56 D)0
26、若有以下定义,则对x数组元素的正确应用是
intx[10],*pt=x;
A)*&x[10] B)*(x+3) C)*(pt+10) D)pt+3
27、有以下程序
main()
{char ch[]="uvwxyz",*pc;
pc=ch; printf("%c\n",*(pc+5));
}
程序运行后的输出结果是______。
(A)z
(B)0
(C)元素ch[5]地址
(D)字符y的地址
28、设已执行预编译命令#include<string.h>,以下程序段的输出结果是
chars[]=" anapple" ;
printf("%d\n",strlen(s));
A)7 B)8 C)9 D)10
29、以下程序的输出结果是( )。
#include <stdio.h>
main()
{ intn=4;
while(n--)printf("%d ",--n);
}
A)2 0 B)3 1 C)3 2 1 D)2 1 0
30、以下程序的主函数中调用了在其前面定义的fun函数
#include<stdio.h>
┇
main()
{doublea[15],k;
k=fun(a);
┇
}
则以下选项中错误的fun函数受部是( )。
A)doublefun(doublea[15]) B)doublefun(double*a)
C)doublefun(doublea[]) D)doublefun(doublea)
31、下列的程序用来输出两个字符串前7个字符中对应相等的字符及其位置号,程序空白处应该填写的是( )。
#include<stdio.h>
main()
{ chars1[]="chinese",s2[]="japnese";
inti;
for(i=0;s1[i]!
='\0'&&s2[i]!
='\0';i++)
if(s1[i]==s2[i]&&i<7)
______,
}
A)putchar(s2[i]);putchar(i) B)puts(s1([i],i)
C)printf("%c%d\n",s2[i],i) D)printf("%c",s1[i]);printf("%d\n",i)
32、字符串"\\\"ABCDEF\"\\"的长度是( )。
A)15 B)10 C)7 D)8
33、设有定义:
charp[]={'1','2','3'},*q=p;,以下不能计算出一个char型数据所占字节数的表达式是
A)sizeof(p) B)sizeof(char) C)sizeof(*q) D)sizeof(p[0])
34、以下叙述中错误的是______。
A)C语言程序中的#include和#define行均不是C语句
B)除逗号运算符外,赋值运算符的优先级最低
C)C语言程序中,j++;是赋值语句
D) C语言程序中,+、-、*、/、%号是算术运算符,可用于整型和实型数的运算
35、下述程序的输出结果是( )。
#include<stdio.h>
main()
{inti;
for(i=1;i<=10;i++)
{if(i*i>=20)&&(i*i<=100))
break;
}
printf("%d\n",i*i);
}
A.49 B.36 C.25 D.64
36、有下列程序:
#include<stdio.h>
intfun(int(*s)[4],intn,intk)
{intm,i;
m=s[0][k];
for(i=1;i<n;i++)if(s[i][k]>m)m=s[i][k];
returnm;
}
main()
{inta[4][4]={{1,2,3,4},{11,12,13,14},{21,22,23,24},{31,32,33,34}};
printf("%d\n",fun(a,4,0));
}
程序的运行结果是( )。
A.4 B.34 C.31 D.32
37、假定int类型变量占用两个字节,若有定义:
intx[10]{0,2,4};,则数组x在内存中所占字节数是______。
A)3 B)6 C)10 D)20
38、已知一个文件中存放若干工人档案记录,其数据结构如下:
structa
{charnumber[100];
intage;
floatp[6];
};
定义一个数组:
structanumber[10];
假定文件已正确打开,不能正确地从文件中读入10名工人数据到数组b中的是( )。
A)fread(b,sizeof(structa),10,fp);
B)for(i=0;i<10;i++)
fread(b[i],sizeof(structa),1,fp);
C)for(i=0;i<10;i++)
fread(b+i,sizeof(structa),1,fp);
D)for(i=0;i<5;i+=2)
fread(b+i,sezeof(structa),2,fp);
39、有以下程序
#include
main()
{FILE*fp;inti,k,n;
fp=fopen("data.dat","w+");
for(i=1;i<6;i++)
{fprintf(fp,"%d",i);
if(i%3==0)fprintf(fp,"\n");
}
rewind(fp);
fscanf(fp,"%d%d",&k,&n);printf("%d%d\n",k,n);
fclose(fp);
}
程序运行后的输出结果是______。
(A)00
(B)12345
(C)14
(D)12
40、下列叙述正确的是( )。
A.C语言中的文件是流式文件,因此只能顺序存取数据
B.打开一个已存在的文件并进行了写操作后,原有文件中的全部数据必定被覆盖
C.在一个程序中当对文件进了写操作后,必须先关闭该文件然后再打开,才能读到第1个数据
D.当对文件的读(写)操作完成之后,必须将它关闭,否则可能导致数据丢失
二、填空题
41、数据字典是各类数据描述的集合,它通常包括5个部分,即数据项、数据结构、数据流、______和处理过程。
42、注释说明了程序的功能,它分为 注释和功能性注释。
43、一棵二叉树第六层(根结点为第一层)的结点数最多为个______。
44、用树型结构表示实体类型及实体间联系的数据模型称为______。
45、若a=l,b=2,则表达式!
(x=a)||y=b)&&0的值是______。
46、有以下程序
#include<stdio.h>
main()
{intx,y;
scarf("%2d%1d",&x,&y);printf("%d\n",x+y);
}
程序运行时输入:
1234567,程序的运行结果是 。
47、以下程序运行后的输出结果是 。
#include<stdio,h>
main()
{ inta=1,b=2,c=3;
if(c=a)printf("%d\n",c);
elseprintf("%d\n",b);}
48、在C语言中,while和do…while循环的主要区别是______的循环至少被执行一次。
49、写出下列程序的输出结果______。
main()
{ int=0;
while(n++<=1);
printf("%d,",n);
printf("%d",n++);
}
50、以下程序的输出结果是 。
main()
{chars[]="ABCD",*p;
for(p=s+1;p<s+4;p++)printf("%s\n",p);}
51、以下程序运行后的输出结果是 。
#include<stdio.h>
main()
{ inta,b,c;
a=25;b=025;e=0x25;
prinff("%d %d %d\n",a,h,c);
}
52、“printf("%d\n",strlen("\t\"023\xABC\n");”语句的输出结果是______。
53、执行下列语句段后,x的值是______。
int*p,x;
x=100;
p=&x;
x=*p+50;
54、以下程序中函数fun的功能是:
统计person所指结构体数组中所有性别(sex)为M的记录的个数,存入变量n中,并作为函数值返回。
请填空:
#include<stdio.h>
#defineN3
typedefstruct
{intnum;charname[10];charsex;)SS;
intfun(SSperson[])
{inti,n=0;
for(i=0;i<N;i++)
if(______='M')n++;
returnn;
}
main()
(SSW[N]={{1,'AA','F'},{2,'BB','M'},{3,'CC','M'}};intn;
n=fun(W);printf("n=%d\n",n);
}
55、以下程序运行后的输出结果是______。
main()
{ chara[]="123456789",*p;
int i=0;
p=a;
while(*p)
{ if(i%2==0) *p='*';
p++;
i++;
}
puts(a);
}
答案:
一、选择题
1、A
[解析]有序链表中定位元素需要通过指针逐个查找,所以对分查找的意义不大。
选项A正确。
2、D
[解析]前序遍历的第一个结点a为树的根结点;中序遍历中a左边的结点为a的左子树,a右边的结点为a的右子树;再分别对a的左右子树进行上述两步处理,直到每个结点都找到正确的位置。
3、B
[解析]软件测试与软件调试是两个不同的概念:
软件测试的目的是发现错误,而软件调试的目的是发现错误导致程序失效的原因,并修改程序以修正错误,调试是测试之后的活动。
4、C
[解析]软件测试包括需求分析、结构功能模块设计、编制程序等阶段。
程序的测试可以由专门的测试人员来完成。
程序经调试改错后还应进行再测试。
5、A
[解析]线性表的链式存储结构中的结点空间是动态生成的,它们在内存中的地址可能是连续的,也可能是不连续的。
6、B
[解析]软件生命周期由软件定义、软件开发和软件维护3个时期组成。
软件定义可分为软件系统的可行性研究和需求分析两个阶段。
软件开发时期由5个阶段组成:
概要设计、详细设计、编写代码、组装测试和确认测试。
软件维护时期的主要任务是使软件持久地满足用户的需要。
7、D
[解析]结构化程序设计方法的主要原则可以概括为:
自顶向下,逐步求精,模块化,限制使用goto语句。
8、A
[解析]char型数据类型以%d的形式输入时,输入的是ASCII值。
65是字符A的ASCII码值,66是字符B的ASCII值。
9、D
[解析]关系的并运算是指由结构相同的两个关系合并,形成一个新的关系,其中包含两个关系中的所有元素。
由题可以看出,T是R和S的并运算得到的。
10、C
[解析]一个算法应该具有以下5个特性:
有穷性、确定性、可行性、有零个或多个输入、有一个或多个输出。
因此一个算法可以没有输入(程序的功能确定),但必须要有输出,没有输出的算法是没有意义的。
11、B
[解析]ifelse语句的含义是,如果变量a的值等于1,变量a的值加1,否则,则把变量b的值赋给变量a。
在本题的4个选项中,与其含义不同的是选项B),因为没有break语句,当a=1的时候,会顺序执行两条语句,最终结果是将b的值赋给a。
12、D
[解析]本题主要考查自加(++)、自减(--)运算符的使用。
“++i,--i”在使用i之前,先使i的值加1或者减1,然后再使用i此时的值参与运算;“i++,i--”是在使用i参与表达式运算之后,再使i的值加1或者减1。
本题中--a和++b是先执行a减1和b加1操作,再输出表达式的值。
13、B
[解析]C语言规定用户标识符由字母、数字和下划线组成,且第一个字符必须是字母或下划线,可见选项C),D)是错误的;此外,C
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 二级 语言 笔试 模拟 36